domql 1.5.109 → 1.5.110
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/index.cjs.js +2 -2
- package/dist/index.cjs.js.map +2 -2
- package/package.json +1 -1
- package/src/element/create.js +3 -0
package/dist/index.cjs.js
CHANGED
|
@@ -2201,8 +2201,7 @@ var resolveExtends = (element, parent, options) => {
|
|
|
2201
2201
|
__ref.__exec = {};
|
|
2202
2202
|
if (!__ref.__attr)
|
|
2203
2203
|
__ref.__attr = {};
|
|
2204
|
-
|
|
2205
|
-
props_default(element, parent);
|
|
2204
|
+
element.props = props_default(element, parent);
|
|
2206
2205
|
element.state = state_default(element, parent, { skip: true });
|
|
2207
2206
|
throughInitialExec(element);
|
|
2208
2207
|
for (const param in element) {
|
|
@@ -2222,6 +2221,7 @@ var resolveExtends = (element, parent, options) => {
|
|
|
2222
2221
|
delete element.update;
|
|
2223
2222
|
delete element.__element;
|
|
2224
2223
|
delete element.__props;
|
|
2224
|
+
delete element.props.props;
|
|
2225
2225
|
delete element.state.__element;
|
|
2226
2226
|
delete element.state.__element;
|
|
2227
2227
|
delete element.__hasRootState;
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../node_modules/@domql/utils/dist/index.cjs.js", "../src/index.js", "../node_modules/@domql/globals/index.js", "../node_modules/@domql/report/index.js", "../src/element/root.js", "../src/element/tree.js", "../src/element/cache.js", "../src/event/on.js", "../src/event/can.js", "../node_modules/@domql/registry/methods.js", "../node_modules/@domql/registry/tags.js", "../src/utils/object.js", "../src/utils/extendUtils.js", "../src/element/create.js", "../src/element/node.js", "../src/element/iterate.js", "../src/element/methods.js", "../src/element/mixins/attr.js", "../src/element/mixins/classList.js", "../src/element/set.js", "../src/element/options.js", "../src/element/mixins/content.js", "../src/element/mixins/data.js", "../src/element/mixins/html.js", "../src/element/mixins/style.js", "../src/element/mixins/text.js", "../src/element/mixins/state.js", "../src/element/state.js", "../src/element/mixins/registry.js", "../src/element/assign.js", "../src/element/extend.js", "../src/element/props.js", "../src/element/update.js", "../src/element/define.js", "../src/element/parse.js"],
|
|
4
|
-
"sourcesContent": ["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// index.js\nvar utils_exports = {};\n__export(utils_exports, {\n TYPES: () => TYPES,\n cleanWithNode: () => cleanWithNode,\n clone: () => clone,\n createID: () => createID,\n createSnapshotId: () => createSnapshotId,\n debounce: () => debounce,\n deepClone: () => deepClone,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge,\n deepStringify: () => deepStringify,\n diff: () => diff,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n is: () => is,\n isArray: () => isArray,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined,\n isEqualDeep: () => isEqualDeep,\n isFunction: () => isFunction,\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject,\n isObjectLike: () => isObjectLike,\n isString: () => isString,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag,\n logGroupIf: () => logGroupIf,\n logIf: () => logIf,\n map: () => map,\n memoize: () => memoize,\n merge: () => merge,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteObj: () => overwriteObj\n});\nmodule.exports = __toCommonJS(utils_exports);\n\n// ../globals/index.js\nvar window = globalThis;\nvar document = window.document;\n\n// ../tags/htmlTags.js\nvar HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n};\n\n// types.js\nvar isValidHtmlTag = (arg) => HTML_TAGS.body.indexOf(arg);\nvar isObject = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n};\nvar isString = (arg) => typeof arg === \"string\";\nvar isNumber = (arg) => typeof arg === \"number\";\nvar isFunction = (arg) => typeof arg === \"function\";\nvar isBoolean = (arg) => arg === true || arg === false;\nvar isNull = (arg) => arg === null;\nvar isArray = (arg) => Array.isArray(arg);\nvar isObjectLike = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n};\nvar isNode = (obj2) => {\n return typeof window.Node === \"object\" ? obj2 instanceof window.Node : obj2 && typeof obj2 === \"object\" && typeof obj2.nodeType === \"number\" && typeof obj2.nodeName === \"string\";\n};\nvar isHtmlElement = (obj2) => {\n return typeof window.HTMLElement === \"object\" ? obj2 instanceof window.HTMLElement : obj2 && typeof obj2 === \"object\" && obj2 !== null && obj2.nodeType === 1 && typeof obj2.nodeName === \"string\";\n};\nvar isDefined = (arg) => {\n return isObject(arg) || isObjectLike(arg) || isString(arg) || isNumber(arg) || isFunction(arg) || isArray(arg) || isObjectLike(arg) || isBoolean(arg) || isNull(arg);\n};\nvar isUndefined = (arg) => {\n return arg === void 0;\n};\nvar TYPES = {\n boolean: isBoolean,\n array: isArray,\n object: isObject,\n string: isString,\n number: isNumber,\n null: isNull,\n function: isFunction,\n objectLike: isObjectLike,\n node: isNode,\n htmlElement: isHtmlElement,\n defined: isDefined\n};\nvar is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n};\nvar isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n};\n\n// object.js\nvar exec = (param, element, state) => {\n if (isFunction(param))\n return param(element, state || element.state);\n return param;\n};\nvar map = (obj2, extention, element) => {\n for (const e in extention) {\n obj2[e] = exec(extention[e], element);\n }\n};\nvar merge = (element, obj2) => {\n for (const e in obj2) {\n const elementProp = element[e];\n const objProp2 = obj2[e];\n if (elementProp === void 0) {\n element[e] = objProp2;\n }\n }\n return element;\n};\nvar deepMerge = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e];\n const extendProp = extend[e];\n if (e === \"parent\" || e === \"props\")\n continue;\n if (elementProp === void 0) {\n element[e] = extendProp;\n } else if (isObjectLike(elementProp) && isObject(extendProp)) {\n deepMerge(elementProp, extendProp);\n }\n }\n return element;\n};\nvar clone = (obj2) => {\n const o = {};\n for (const prop2 in obj2) {\n if (prop2 === \"node\")\n continue;\n o[prop2] = obj2[prop2];\n }\n return o;\n};\nvar deepCloneExclude = (obj2, exclude = []) => {\n if (isArray(obj2)) {\n return obj2.map((x) => deepCloneExclude(x, exclude));\n }\n const o = {};\n for (const k in obj2) {\n if (exclude.indexOf(k) > -1)\n continue;\n let v = obj2[k];\n if (k === \"extend\" && isArray(v)) {\n v = mergeArrayExclude(v, exclude);\n }\n if (isArray(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, exclude));\n } else if (isObject(v)) {\n o[k] = deepCloneExclude(v, exclude);\n } else\n o[k] = v;\n }\n return o;\n};\nvar mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge(acc, deepCloneExclude(curr, excl)), {});\n};\nvar deepClone = (obj2) => {\n if (isArray(obj2)) {\n return obj2.map(deepClone);\n }\n const o = {};\n for (const prop2 in obj2) {\n let objProp2 = obj2[prop2];\n if (prop2 === \"extend\" && isArray(objProp2)) {\n objProp2 = mergeArray(objProp2);\n }\n if (isArray(objProp2)) {\n o[prop2] = objProp2.map((v) => isObject(v) ? deepClone(v) : v);\n } else if (isObject(objProp2)) {\n o[prop2] = deepClone(objProp2);\n } else\n o[prop2] = objProp2;\n }\n return o;\n};\nvar deepStringify = (obj2, stringified2 = {}) => {\n for (const prop2 in obj2) {\n const objProp2 = obj2[prop2];\n if (isFunction(objProp2)) {\n stringified2[prop2] = objProp2.toString();\n } else if (isObject(objProp2)) {\n stringified2[prop2] = {};\n deepStringify(objProp2[prop2], stringified2[prop2]);\n } else if (isArray(objProp2)) {\n stringified2[prop2] = [];\n objProp2.map((v, i) => deepStringify(v, stringified2[prop2][i]));\n } else\n stringified2[prop2] = objProp2;\n }\n return stringified2;\n};\nvar deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if (isString(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp[0] === \"(\") {\n try {\n const evalProp = eval(objProp);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n }\n } else\n stringified[prop] = objProp;\n if (isObject(objProp))\n deepDestringify(stringified[prop], stringified[prop]);\n }\n return stringified;\n};\nvar overwrite = (element, params, options) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (e === \"props\")\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n};\nvar diff = (obj2, original, cache) => {\n const changes = cache || {};\n for (const e in obj2) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objProp2 = obj2[e];\n if (isObjectLike(originalProp) && isObjectLike(objProp2)) {\n changes[e] = {};\n diff(originalProp, objProp2, changes[e]);\n } else if (objProp2 !== void 0) {\n changes[e] = objProp2;\n }\n }\n return changes;\n};\nvar overwriteObj = (params, obj2) => {\n const changes = {};\n for (const e in params) {\n const objProp2 = obj2[e];\n const paramsProp = params[e];\n if (paramsProp) {\n obj2[e] = changes[e] = objProp2;\n }\n }\n return changes;\n};\nvar overwriteDeep = (params, obj2) => {\n for (const e in params) {\n const objProp2 = obj2[e];\n const paramsProp = params[e];\n if (isObjectLike(objProp2) && isObjectLike(paramsProp)) {\n overwriteDeep(objProp2, paramsProp);\n } else if (paramsProp !== void 0) {\n obj2[e] = paramsProp;\n }\n }\n return obj2;\n};\nvar mergeIfExisted = (a, b) => {\n if (isObjectLike(a) && isObjectLike(b))\n return deepMerge(a, b);\n return a || b;\n};\nvar mergeArray = (arr) => {\n return arr.reduce((a, c) => deepMerge(a, deepClone(c)), {});\n};\nvar mergeAndCloneIfArray = (obj2) => {\n return isArray(obj2) ? mergeArray(obj2) : deepClone(obj2);\n};\nvar flattenRecursive = (param, prop2, stack = []) => {\n const objectized = mergeAndCloneIfArray(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop2];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop2, stack);\n delete objectized[prop2];\n return stack;\n};\nvar isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop2 in param) {\n const paramProp = param[prop2];\n const elementProp = element[prop2];\n if (isObjectLike(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n};\n\n// function.js\nvar debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n};\nvar memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n};\n\n// node.js\nvar cleanWithNode = (extend) => delete extend.node && extend;\nvar createID = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n}();\nvar createSnapshotId = createID;\n\n// log.js\nvar logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n};\nvar logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n};\n", "'use strict'\n\nimport { window } from '@domql/globals'\nimport { create, parse, set, define, tree } from './element'\n\nconst ENV = process.env.NODE_ENV\nif (ENV === 'test' || ENV === 'development') window.tree = tree\n\nexport default {\n create,\n parse,\n set,\n define,\n tree\n}\n", "'use strict'\n\nconst global = globalThis\nconst self = globalThis\nconst window = globalThis\nconst document = window.document // eslint-disable-line\n\nexport { global, self, window, document }\n", "'use strict'\n\nexport const ERRORS_REGISTRY = {\n en: {\n DocumentNotDefined: {\n title: 'Document is undefined',\n description: 'To tweak with DOM, you should use browser.'\n },\n OverwriteToBuiltin: {\n title: 'Overwriting to builtin method',\n description: 'Overwriting a builtin method in the window define is not possible, please choose different name'\n },\n BrowserNotDefined: {\n title: 'Can\\'t recognize environment',\n description: 'Environment should be browser application, that can run Javascript'\n },\n SetQuickPreferancesIsNotObject: {\n title: 'Quick preferances object is required',\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n InvalidParams: {\n title: 'Params are invalid',\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n CantCreateWithoutNode: {\n title: 'You must provide node',\n description: 'Can\\'t create DOM element without setting node or text'\n },\n HTMLInvalidTag: {\n title: 'Element tag name (or DOM nodeName) is invalid',\n description: 'To create element, you must provide valid DOM node. See full list of them at here: http://www.w3schools.com/tags/'\n },\n HTMLInvalidAttr: {\n title: 'Attibutes object is invalid',\n description: 'Please pass a valid plain object to apply as an attributes for a DOM node'\n },\n HTMLInvalidData: {\n title: 'Data object is invalid',\n description: 'Please pass a valid plain object to apply as an dataset for a DOM node'\n },\n HTMLInvalidStyles: {\n title: 'Styles object is invalid',\n description: 'Please pass a valid plain object to apply as an style for a DOM node'\n },\n HTMLInvalidText: {\n title: 'Text string is invalid',\n description: 'Please pass a valid string to apply text to DOM node'\n }\n }\n}\n\nexport const report = (err, arg, element) => {\n const currentLang = 'en'\n let errObj\n if (err && typeof err === 'string') errObj = ERRORS_REGISTRY[currentLang][err]\n\n return new Error(\n `\"${err}\", \"${arg}\"\\n\\n`,\n `${errObj.description}`,\n element ? `\\n\\n${element}` : ''\n )\n}\n", "'use strict'\n\nimport { document } from '@domql/globals'\nimport { report } from '@domql/report'\n\nconst root = {\n key: ':root',\n node: document ? document.body : report('DocumentNotDefined', document)\n}\n\nexport default root\n", "'use strict'\n\nimport root from './root'\n\nexport default root\n", "'use strict'\n\nimport { document } from '@domql/globals'\nimport { exec, isString } from '@domql/utils'\nimport { report } from '@domql/report'\n\nimport { can } from '../event'\nimport { isTagRegistered } from '../utils'\n\nconst cachedElements = {}\n\nconst createNode = (element) => {\n const { tag } = element\n if (tag) {\n if (tag === 'string') return document.createTextNode(element.text)\n else if (tag === 'fragment') {\n return document.createDocumentFragment()\n } else if (tag === 'svg' || tag === 'path') { // change that\n return document.createElementNS('http://www.w3.org/2000/svg', tag)\n } else return document.createElement(tag)\n } else {\n return document.createElement('div')\n }\n}\n\nexport const detectTag = element => {\n let { tag, key } = element\n tag = exec(tag, element)\n\n if (tag === true) tag = key\n\n if (isString(tag)) {\n const tagExists = isTagRegistered(tag) > -1\n if (tagExists) return tag\n } else {\n const isKeyATag = isTagRegistered(key) > -1\n if (isKeyATag) return key\n }\n\n return 'div'\n}\n\nexport default (element) => {\n const tag = element.tag = detectTag(element)\n\n if (!can.render(element)) {\n return report('HTMLInvalidTag')\n }\n\n let cachedTag = cachedElements[tag]\n if (!cachedTag) cachedTag = cachedElements[tag] = createNode(element)\n\n const clonedNode = cachedTag.cloneNode(true)\n if (tag === 'string') clonedNode.nodeValue = element.text\n return clonedNode\n}\n", "'use strict'\n\nexport const beforeClassAssign = (param, element, state) => {\n return param(element, state)\n}\n\nexport const init = (param, element, state) => {\n return param(element, state)\n}\n\nexport const render = (param, element, state) => {\n return param(element, state)\n}\n\nexport const initUpdate = (param, element, state) => {\n return param(element, state)\n}\n\nexport const attachNode = (param, element, state) => {\n return param(element, state)\n}\n\nexport const stateInit = (param, element, state) => {\n return param(element, state)\n}\n\nexport const stateCreated = (param, element, state) => {\n return param(element, state)\n}\n\nexport const initStateUpdated = (param, element, state, changes) => {\n return param(element, state, changes)\n}\n\nexport const stateUpdated = (param, element, state, changes) => {\n return param(element, state, changes)\n}\n\nexport const update = (param, element, state) => {\n return param(element, state)\n}\n", "'use strict'\n\nimport { TAGS } from '@domql/registry'\nimport { report } from '@domql/report'\n\nexport const render = (element) => {\n const tag = element.tag || 'div'\n const isValid = TAGS.body.indexOf(tag) > -1\n return isValid || report('HTMLInvalidTag')\n}\n", "'use strict'\n\nimport { exec } from '@domql/utils'\n\nexport const DEFAULT_METHODS = {\n key: {},\n tag: {},\n\n if: {},\n define: {},\n\n attr: {},\n style: {},\n\n content: {},\n class: {},\n\n props: {},\n state: {},\n\n method: {},\n transform: {},\n\n on: {},\n\n ref: {},\n\n extend: {},\n childExtends: {},\n text: (element, state) => {\n element.ref.text = {\n tag: 'text',\n text: exec(element.text, element, state)\n }\n },\n\n innerHTML: {},\n\n set: {},\n update: {},\n remove: {}\n}\n\n// log: {}\n// value: {},\n// text: {},\n// html: {},\n// path: {},\n// data: {},\n// if: {},\n// __hash: {},\n// __cache: {},\n// __defined: {},\n// __exec: {},\n// __changes: {},\n// __trash: {},\n// __root: {},\n// __props: {},\n// __extend: {},\n// __ifFragment: {},\n// __ifFalsy: {},\n// parent: {},\n// node: {},\n// lookup: {},\n// keys: {},\n// parse: {},\n// parseDeep: {},\n", "'use strict'\n\nexport const TAGS = {\n root: [\n 'body',\n 'html'\n ],\n\n head: [\n 'title',\n 'base',\n 'meta',\n 'style'\n ],\n\n body: [\n 'string',\n 'fragment',\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'applet',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'basefont',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'meter',\n 'nav',\n 'noframes',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strike',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n\n // SVG\n 'svg',\n 'path'\n ]\n}\n", "'use strict'\n\nimport { TAGS } from '@domql/registry'\nimport { isArray, isObject, isObjectLike } from '@domql/utils'\n\nexport const isTagRegistered = arg => TAGS.body.indexOf(arg)\n\nexport const merge = (element, obj) => {\n for (const e in obj) {\n const elementProp = element[e]\n const objProp = obj[e]\n if (elementProp === undefined) {\n element[e] = objProp\n }\n }\n return element\n}\n\nexport const deepMerge = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e]\n const extendProp = extend[e]\n // const cachedProps = cache.props\n if (e === 'parent' || e === 'props' || e === 'state') continue\n if (elementProp === undefined) {\n element[e] = extendProp\n } else if (isObjectLike(elementProp) && isObject(extendProp)) {\n deepMerge(elementProp, extendProp)\n }\n }\n return element\n}\n\nexport const clone = obj => {\n const o = {}\n for (const prop in obj) {\n if (prop === 'node') continue\n o[prop] = obj[prop]\n }\n return o\n}\n\n/**\n * Deep cloning of object\n */\nexport const deepClone = (obj, excluding = ['parent', 'node', '__element', 'state', 'context', 'extend', '__ref']) => {\n const o = isArray(obj) ? [] : {}\n for (const prop in obj) {\n if (excluding.indexOf(prop) > -1) continue\n let objProp = obj[prop]\n if (prop === 'extend' && isArray(objProp)) {\n objProp = mergeArray(objProp, excluding)\n }\n if (isObjectLike(objProp)) {\n o[prop] = deepClone(objProp, excluding)\n } else o[prop] = objProp\n }\n return o\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const overwrite = (element, params, options) => {\n const changes = {}\n const { __ref } = element\n const { __exec, __cached } = __ref\n\n for (const e in params) {\n if (e === 'props' || e === 'state' || e === '__ref') continue\n\n const elementProp = element[e]\n const paramsProp = params[e]\n\n if (paramsProp !== undefined) {\n __cached[e] = changes[e] = elementProp\n element[e] = paramsProp\n }\n\n if (options.cleanExec) delete __exec[e]\n }\n\n return changes\n}\n\nexport const overwriteShallow = (obj, params, excluding = ['node', '__ref']) => {\n for (const e in params) {\n if (excluding.indexOf(e) > -1) continue\n obj[e] = params[e]\n }\n return obj\n}\n\n/**\n * Overwrites DEEPly object properties with another\n */\nexport const overwriteDeep = (obj, params, excluding = ['node', '__ref']) => {\n for (const e in params) {\n if (excluding.indexOf(e) > -1) continue\n const objProp = obj[e]\n const paramsProp = params[e]\n if (isObjectLike(objProp) && isObjectLike(paramsProp)) {\n overwriteDeep(objProp, paramsProp)\n } else if (paramsProp !== undefined) {\n obj[e] = paramsProp\n }\n }\n return obj\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const mergeIfExisted = (a, b) => {\n if (isObjectLike(a) && isObjectLike(b)) return deepMerge(a, b)\n return a || b\n}\n\n/**\n * Merges array extends\n */\nexport const mergeArray = (arr, excluding = ['parent', 'node', '__element', 'state', 'context', '__ref']) => {\n return arr.reduce((a, c) => deepMerge(a, deepClone(c, excluding)), {})\n}\n\n/**\n * Merges array extends\n */\nexport const mergeAndCloneIfArray = obj => {\n return isArray(obj) ? mergeArray(obj) : deepClone(obj)\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const flattenRecursive = (param, prop, stack = []) => {\n const objectized = mergeAndCloneIfArray(param)\n stack.push(objectized)\n\n const extendOfExtend = objectized[prop]\n if (extendOfExtend) flattenRecursive(extendOfExtend, prop, stack)\n\n delete objectized[prop]\n\n return stack\n}\n", "'use strict'\n\nimport { isArray, isFunction, isObject } from '@domql/utils'\n\nexport const generateHash = () => Math.random().toString(36).substring(2)\n\n// hashing\nexport const extendStackRegistry = {}\nexport const extendCachedRegistry = {}\n\nexport const getHashedExtend = extend => {\n return extendStackRegistry[extend.__hash]\n}\n\nexport const setHashedExtend = (extend, stack) => {\n const hash = generateHash()\n extend.__hash = hash\n extendStackRegistry[hash] = stack\n return stack\n}\n\nexport const getExtendStackRegistry = (extend, stack) => {\n if (extend.__hash) { return stack.concat(getHashedExtend(extend)) }\n return setHashedExtend(extend, stack) // stack .concat(hashedExtend)\n}\n\n// stacking\nexport const extractArrayExtend = (extend, stack) => {\n extend.forEach(each => flattenExtend(each, stack))\n return stack\n}\n\nexport const deepExtend = (extend, stack) => {\n const extendOflattenExtend = extend.extend\n if (extendOflattenExtend) {\n flattenExtend(extendOflattenExtend, stack)\n }\n return stack\n}\n\nexport const flattenExtend = (extend, stack) => {\n if (!extend) return stack\n if (isArray(extend)) return extractArrayExtend(extend, stack)\n stack.push(extend)\n if (extend.extend) deepExtend(extend, stack)\n return stack\n}\n\n// merging\nexport const deepCloneExtend = obj => {\n const o = {}\n for (const prop in obj) {\n if (['parent', 'node', '__element'].indexOf(prop) > -1) continue\n const objProp = obj[prop]\n if (isObject(objProp)) {\n o[prop] = deepCloneExtend(objProp)\n } else if (isArray(objProp)) {\n o[prop] = objProp.map(x => x)\n } else o[prop] = objProp\n }\n return o\n}\n\nexport const deepMergeExtend = (element, extend) => {\n for (const e in extend) {\n if (['parent', 'node', '__element'].indexOf(e) > -1) continue\n const elementProp = element[e]\n const extendProp = extend[e]\n if (elementProp === undefined) {\n element[e] = extendProp\n } else if (isObject(elementProp) && isObject(extendProp)) {\n deepMergeExtend(elementProp, extendProp)\n } else if (isArray(elementProp) && isArray(extendProp)) {\n element[e] = elementProp.concat(extendProp)\n } else if (isArray(elementProp) && isObject(extendProp)) {\n const obj = deepMergeExtend({}, elementProp)\n element[e] = deepMergeExtend(obj, extendProp)\n } else if (elementProp === undefined && isFunction(extendProp)) {\n element[e] = extendProp\n }\n }\n return element\n}\n\nexport const cloneAndMergeArrayExtend = stack => {\n return stack.reduce((a, c) => {\n return deepMergeExtend(a, deepCloneExtend(c))\n }, {})\n}\n\n// joint stacks\nexport const jointStacks = (extendStack, childExtendStack) => {\n return []\n .concat(extendStack.slice(0, 1))\n .concat(childExtendStack.slice(0, 1))\n .concat(extendStack.slice(1))\n .concat(childExtendStack.slice(1))\n}\n\n// init\nexport const getExtendStack = extend => {\n if (!extend) return []\n if (extend.__hash) return getHashedExtend(extend) || []\n const stack = flattenExtend(extend, [])\n return getExtendStackRegistry(extend, stack)\n}\n\nexport const getExtendMerged = extend => {\n const stack = getExtendStack(extend)\n return cloneAndMergeArrayExtend(stack)\n}\n", "'use strict'\n\nimport { isObject, isFunction, isString, createID, isNode, exec, is } from '@domql/utils'\nimport { TAGS } from '@domql/registry'\n\nimport root from './root'\nimport createNode from './node'\nimport { appendNode, assignNode } from './assign'\nimport { applyExtend } from './extend'\nimport set, { removeContentElement } from './set'\nimport createState from './state'\nimport createProps from './props'\nimport update from './update'\nimport { on } from '../event'\nimport { assignClass } from './mixins/classList'\nimport { remove, lookup, setProps, log, keys, parse, parseDeep, spotByPath, nextElement, previousElement, isMethod } from './methods'\nimport cacheNode, { detectTag } from './cache'\nimport { registry } from './mixins'\nimport { throughInitialExec } from './iterate'\nimport OPTIONS from './options'\n// import { overwrite, clone, fillTheRest } from '../utils'\n\nconst ENV = process.env.NODE_ENV\n\n/**\n * Creating a domQL element using passed parameters\n */\nconst create = (element, parent, key, options = OPTIONS.create || {}) => {\n if (options && !OPTIONS.create) OPTIONS.create = options\n\n // if ELEMENT is not given\n if (element === undefined) {\n if (ENV === 'test' || ENV === 'development') {\n console.warn(key, 'element is undefined in', parent && parent.__ref && parent.__ref.path)\n }\n element = {}\n }\n if (isString(key) && key.slice(0, 2 === '__')) {\n if (ENV === 'test' || ENV === 'development') {\n console.warn(key, 'seems like to be in __ref')\n }\n }\n if (element === null) return\n if (element === true) element = { text: true }\n\n // if element is extend\n if (element.__hash) {\n element = { extend: element }\n }\n\n // if PARENT is not given\n if (!parent) parent = root\n if (isNode(parent)) parent = root[`${key}_parent`] = { key: ':root', node: parent }\n\n // if element is STRING\n if (checkIfPrimitive(element)) {\n element = applyValueAsText(element, parent, key)\n }\n\n // define KEY\n const assignedKey = (element.key || key || createID()).toString()\n\n if (checkIfKeyIsComponent(assignedKey)) {\n element = applyKeyComponentAsExtend(element, parent, assignedKey)\n }\n\n // Responsive rendering\n // TODO: move as define plugin\n if (checkIfMedia(assignedKey)) {\n element = applyMediaProps(element, parent, assignedKey)\n }\n\n if (element.__ref) element.__ref.origin = element\n else element.__ref = { origin: element } // eslint-disable-line \n const __ref = element.__ref\n\n // assign context\n applyContext(element, parent, options)\n const { context } = element\n\n if (context && context.components) applyComponentFromContext(element, parent, options)\n\n // create EXTEND inheritance\n applyExtend(element, parent, options)\n\n // create and assign a KEY\n element.key = assignedKey\n\n // Only resolve extends, skip everything else\n if (options.onlyResolveExtends) return resolveExtends(element, parent, options)\n\n if (Object.keys(options).length) {\n registry.defaultOptions = options\n if (options.ignoreChildExtend) delete options.ignoreChildExtend\n }\n\n addCaching(element, parent)\n\n addMethods(element, parent)\n\n // enable STATE\n element.state = createState(element, parent)\n\n // don't render IF in condition\n checkIf(element, parent)\n\n // if it already HAS a NODE\n if (element.node && __ref.__if) { // TODO: check on if\n return assignNode(element, parent, assignedKey)\n }\n\n // apply props settings\n if (__ref.__if) createProps(element, parent)\n\n // run `on.init`\n if (element.on && isFunction(element.on.init)) {\n on.init(element.on.init, element, element.state)\n }\n\n // run `on.beforeClassAssign`\n if (element.on && isFunction(element.on.beforeClassAssign)) {\n on.beforeClassAssign(element.on.beforeClassAssign, element, element.state)\n }\n\n // generate a CLASS name\n assignClass(element)\n\n // CREATE a real NODE\n createNode(element, options)\n\n if (!__ref.__if) return element\n\n // assign NODE\n assignNode(element, parent, key)\n\n // run `on.render`\n if (element.on && isFunction(element.on.render)) {\n on.render(element.on.render, element, element.state)\n }\n\n if (parent.__ref && parent.__ref.__children) parent.__ref.__children.push(element.key)\n // console.groupEnd(element.key)\n\n return element\n}\n\nconst checkIfPrimitive = (element) => {\n return is(element)('string', 'number')\n}\n\nconst applyValueAsText = (element, parent, key) => {\n const extendTag = element.extend && element.extend.tag\n const childExtendTag = parent.childExtend && parent.childExtend.tag\n const isKeyValidHTMLTag = ((TAGS.body.indexOf(key) > -1) && key)\n return {\n text: element,\n tag: extendTag || childExtendTag || isKeyValidHTMLTag || 'string'\n }\n}\n\nconst addMethods = (element, parent) => {\n // assign METHODS\n element.set = set\n element.update = update\n element.remove = remove\n element.removeContent = removeContentElement\n element.setProps = setProps\n element.lookup = lookup\n element.spotByPath = spotByPath\n element.parse = parse\n element.parseDeep = parseDeep\n element.keys = keys\n element.nextElement = nextElement\n element.previousElement = previousElement\n if (ENV === 'test' || ENV === 'development') {\n element.log = log\n }\n}\n\nconst applyContext = (element, parent, options) => {\n if (options.context && !root.context && !element.context) root.context = options.context\n if (!element.context) element.context = parent.context || options.context || root.context\n}\n\nconst checkIf = (element, parent) => {\n const { __ref } = element\n\n if (isFunction(element.if)) {\n // TODO: move as fragment\n const ifPassed = element.if(element, element.state)\n if (!ifPassed) {\n const ifFragment = cacheNode({ tag: 'fragment' })\n __ref.__ifFragment = appendNode(ifFragment, parent.node)\n delete __ref.__if\n } else __ref.__if = true\n } else __ref.__if = true\n}\n\nconst addCaching = (element, parent) => {\n const { __ref } = element\n let { __ref: __parentRef } = parent\n\n // enable TRANSFORM in data\n if (!element.transform) element.transform = {}\n\n // enable CACHING\n if (!__ref.__cached) __ref.__cached = {}\n\n // enable EXEC\n if (!__ref.__exec) __ref.__exec = {}\n\n // enable CLASS CACHING\n if (!__ref.__class) __ref.__class = {}\n if (!__ref.__classNames) __ref.__classNames = {}\n\n // enable CLASS CACHING\n if (!__ref.__attr) __ref.__attr = {}\n\n // enable CHANGES storing\n if (!__ref.__changes) __ref.__changes = []\n\n // enable CHANGES storing\n if (!__ref.__children) __ref.__children = []\n\n // Add _root element property\n const hasRoot = parent && parent.key === ':root'\n if (!__ref.__root) __ref.__root = hasRoot ? element : parent.__ref.__root\n\n // set the PATH array\n if (ENV === 'test' || ENV === 'development') {\n if (!__parentRef) __parentRef = parent.__ref = {}\n if (!__parentRef.__path) __parentRef.__path = []\n __ref.__path = __parentRef.__path.concat(element.key)\n }\n}\n\nconst resolveExtends = (element, parent, options) => {\n const { __ref } = element\n element.tag = detectTag(element)\n\n if (!__ref.__exec) __ref.__exec = {}\n if (!__ref.__attr) __ref.__attr = {}\n if (__ref.__if) createProps(element, parent)\n element.state = createState(element, parent, { skip: true })\n\n throughInitialExec(element)\n\n for (const param in element) {\n const prop = element[param]\n if (isMethod(param) || isObject(registry[param]) || prop === undefined) continue\n\n const hasDefined = element.define && element.define[param]\n const ourParam = registry[param]\n const hasOptionsDefine = options.define && options.define[param]\n if (ourParam && !hasOptionsDefine) {\n continue // if (isFunction(ourParam)) ourParam(prop, element, element.node, options)\n } else if (element[param] && !hasDefined && !hasOptionsDefine) {\n create(exec(prop, element), element, param, options)\n }\n }\n\n // createNode(element, options)\n\n delete element.parent\n delete element.update\n delete element.__element\n\n // added by createProps\n delete element.__props // TODO: check with @Nikaoto and remove\n\n // added by createState\n delete element.state.__element\n delete element.state.__element\n delete element.__hasRootState // TODO: check with @Nikaoto and remove\n delete element.__ref\n\n return element\n}\n\nconst checkIfKeyIsComponent = (key) => {\n const isFirstKeyString = isString(key)\n if (!isFirstKeyString) return\n\n const firstCharKey = key.slice(0, 1)\n\n return /^[A-Z]*$/.test(firstCharKey)\n}\n\nconst extendizeByKey = (element, parent, key) => {\n const { extend, props, state, childExtend, childProps } = element\n const hasComponentAttrs = extend || childExtend || props || state || element.on\n const componentKey = key.split('_')[0]\n if (!hasComponentAttrs || childProps) {\n return {\n extend: componentKey || key,\n props: { ...element }\n }\n } else if (!extend || extend === true) {\n return {\n ...element,\n extend: componentKey || key\n }\n }\n}\n\nconst applyKeyComponentAsExtend = (element, parent, key) => {\n return extendizeByKey(element, parent, key) || element\n}\n\nconst applyComponentFromContext = (element, parent, options) => {\n const { context } = element\n const { components } = context\n const { extend } = element\n const execExtend = exec(extend, element)\n if (isString(execExtend)) {\n if (components[execExtend]) element.extend = components[execExtend]\n else {\n if ((ENV === 'test' || ENV === 'development') && options.verbose) {\n console.warn(execExtend, 'is not in library', components, element)\n console.warn('replacing with ', {})\n }\n element.extend = {}\n }\n }\n}\n\nconst checkIfMedia = (key) => key.slice(0, 1) === '@'\n\nconst applyMediaProps = (element, parent, key) => {\n const { props } = element\n if (props) {\n props.display = 'none'\n if (props[key]) props[key].display = props.display\n else props[key] = { display: props.display || 'block' }\n return element\n } else {\n return {\n ...element,\n props: {\n display: 'none',\n [key]: { display: 'block' }\n }\n }\n }\n}\n\nexport default create\n", "'use strict'\n\nimport { exec, isFunction, isObject } from '@domql/utils'\nimport create from './create'\nimport cacheNode from './cache'\nimport * as on from '../event/on'\n\nimport {\n throughInitialDefine,\n throughInitialExec,\n applyEvents\n} from './iterate'\nimport { registry } from './mixins'\nimport { isMethod } from './methods'\n// import { defineSetter } from './methods'\n\nconst ENV = process.env.NODE_ENV\n\n// const defineSetter = (element, key) => Object.defineProperty(element, key, {\n// get: function () {\n// console.log('GET', key)\n// return element.__data[key]\n// },\n// set: function (new_value) {\n// console.log('SET', key, new_value)\n// element.__data[key] = new_value\n// element.__data['modified'] = (new Date()).getTime()\n// }\n// })\n\nexport const createNode = (element, options) => {\n // create and assign a node\n let { node, tag, context, __ref } = element\n\n let isNewNode\n\n if (!node) {\n isNewNode = true\n\n if (!__ref.__if) return element\n\n if (tag === 'shadow') {\n node = element.node = element.parent.node.attachShadow({ mode: 'open' })\n } else node = element.node = cacheNode(element)\n\n // run `on.attachNode`\n if (element.on && isFunction(element.on.attachNode)) {\n on.attachNode(element.on.attachNode, element, element.state)\n }\n }\n\n // node.dataset // .key = element.key\n\n if (ENV === 'test' || ENV === 'development') {\n node.ref = element\n if (isFunction(node.setAttribute)) node.setAttribute('key', element.key)\n }\n\n if (!__ref.__if) return element\n\n // iterate through all given params\n if (element.tag !== 'string' || element.tag !== 'fragment') {\n // iterate through define\n throughInitialDefine(element)\n\n // iterate through exec\n throughInitialExec(element)\n\n // apply events\n if (isNewNode && isObject(element.on)) applyEvents(element)\n\n for (const param in element) {\n const prop = element[param]\n\n if (isMethod(param) || isObject(registry[param]) || prop === undefined) continue\n\n const DOMQLProperty = registry[param]\n const DOMQLPropertyFromContext = context && context.registry && context.registry[param]\n const isGlobalTransformer = DOMQLPropertyFromContext || DOMQLProperty\n\n const hasDefine = element.define && element.define[param]\n const hasContextDefine = context && context.define && context.define[param]\n\n // Check if param is in our method registry\n if (isGlobalTransformer && !hasContextDefine) {\n if (isFunction(isGlobalTransformer)) isGlobalTransformer(prop, element, node, options)\n } else if (element[param] && !hasDefine && !hasContextDefine) {\n // Create element\n create(exec(prop, element), element, param, options)\n }\n }\n }\n\n // node.dataset.key = key\n return element\n}\n\nexport default createNode\n", "'use strict'\n\nimport { isObject, exec, isFunction, isNumber, isString } from '@domql/utils'\nimport { overwrite } from '../utils'\nimport { isMethod } from './methods'\n\nexport const applyEvents = element => {\n const { node, on } = element\n for (const param in on) {\n if (\n param === 'init' ||\n param === 'render' ||\n param === 'update'\n ) continue\n\n const appliedFunction = element.on[param]\n if (isFunction(appliedFunction)) {\n node.addEventListener(param, event =>\n appliedFunction(event, element, element.state),\n true)\n }\n }\n}\n\nexport const throughInitialExec = element => {\n const { __ref } = element\n const { __exec } = __ref\n for (const param in element) {\n const prop = element[param]\n if (isFunction(prop) && !isMethod(param)) {\n __exec[param] = prop\n element[param] = prop(element, element.state)\n }\n }\n}\n\nexport const throughUpdatedExec = (element, options) => {\n const { __ref } = element\n const { __exec, __cached } = __ref\n const changes = {}\n\n for (const param in __exec) {\n const prop = element[param]\n const newExec = __exec[param](element, element.state)\n\n // if element is string\n if (prop && prop.node && (isString(newExec) || isNumber(newExec))) {\n overwrite(prop, { text: newExec }, options)\n } else if (newExec !== prop) {\n __cached[param] = changes[param] = prop\n element[param] = newExec\n }\n }\n\n return changes\n}\n\nexport const throughInitialDefine = (element) => {\n const { define, context, __ref } = element\n const { __exec, __cached } = __ref\n\n let obj = {}\n if (isObject(define)) obj = { ...define }\n if (context && isObject(context.define)) obj = { ...obj, ...context.define }\n\n for (const param in obj) {\n let prop = element[param]\n\n if (isFunction(prop) && !isMethod(param)) {\n __exec[param] = prop\n element[param] = prop = exec(prop, element)\n }\n\n __cached[param] = prop\n element[param] = obj[param](prop, element, element.state)\n }\n return element\n}\n\nexport const throughUpdatedDefine = (element) => {\n const { context, define, __ref } = element\n const { __exec, __cached } = __ref\n const changes = {}\n\n let obj = {}\n if (isObject(define)) obj = { ...define }\n if (isObject(context && context.define)) obj = { ...obj, ...context.define }\n\n for (const param in obj) {\n const execParam = __exec[param]\n if (execParam) __cached[param] = execParam(element, element.state)\n const cached = exec(__cached[param], element)\n element[param] = obj[param](cached, element, element.state)\n }\n return changes\n}\n", "'use strict'\n\nimport { isFunction, isObjectLike } from '@domql/utils'\nimport { parseFilters, registry } from './mixins'\nimport root from './root'\n\nconst ENV = process.env.NODE_ENV\n\n// TODO: update these files\nexport const lookup = function (key) {\n const element = this\n let { parent } = element\n\n while (parent.key !== key) {\n if (parent[key]) return parent[key]\n parent = parent.parent\n if (!parent) return\n }\n\n return parent\n}\n\n// TODO: update these files\nexport const spotByPath = function (path) {\n const element = this\n const arr = [].concat(path)\n let active = root[arr[0]]\n\n if (!arr || !arr.length) return console.log(arr, 'on', element.key, 'is undefined')\n\n while (active.key === arr[0]) {\n arr.shift()\n if (!arr.length) break\n active = active[arr[0]]\n if (!active) return\n }\n\n return active\n}\n\nexport const remove = function (params) {\n const element = this\n if (isFunction(element.node.remove)) element.node.remove()\n else if (ENV === 'test' || ENV === 'development') {\n console.warn('This item cant be removed')\n element.log()\n }\n delete element.parent[element.key]\n}\n\nexport const get = function (param) {\n const element = this\n return element[param]\n}\n\nexport const set = function () {\n}\n\nexport const update = function () {\n}\n\nexport const setProps = function (param, options) {\n const element = this\n if (!param || !element.props) return\n element.update({ props: param }, options)\n return element\n}\n\nexport const defineSetter = (element, key, get, set) =>\n Object.defineProperty(element, key, { get, set })\n\nexport const keys = function () {\n const element = this\n const keys = []\n for (const param in element) {\n if (registry[param] && !parseFilters.elementKeys.includes(param)) { continue }\n keys.push(param)\n }\n return keys\n}\n\nexport const parse = function () {\n const element = this\n const obj = {}\n const keyList = keys.call(element)\n keyList.forEach(v => (obj[v] = element[v]))\n return obj\n}\n\nexport const parseDeep = function () {\n const element = this\n const obj = parse.call(element)\n for (const k in obj) {\n if (isObjectLike(obj[k])) { obj[k] = parseDeep.call(obj[k]) }\n }\n return obj\n}\n\nexport const log = function (...args) {\n const element = this\n const { __ref } = element\n console.group(element.key)\n if (args.length) {\n args.forEach(v => console.log(`%c${v}:\\n`, 'font-weight: bold', element[v]))\n } else {\n console.log(__ref.path)\n const keys = element.keys()\n keys.forEach(v => console.log(`%c${v}:\\n`, 'font-weight: bold', element[v]))\n }\n console.groupEnd(element.key)\n return element\n}\n\nexport const isMethod = function (param) {\n return param === 'set' ||\n param === 'update' ||\n param === 'remove' ||\n param === 'removeContent' ||\n param === 'lookup' ||\n param === 'spotByPath' ||\n param === 'keys' ||\n param === 'parse' ||\n param === 'setProps' ||\n param === 'parseDeep' ||\n param === 'if' ||\n param === 'log' ||\n param === 'nextElement' ||\n param === 'previousElement'\n}\n\nexport const nextElement = function () {\n const element = this\n const { key, parent } = element\n const { __children } = parent.__ref\n\n const currentIndex = __children.indexOf(key)\n const nextChild = __children[currentIndex + 1]\n console.log(nextChild)\n\n return parent[nextChild]\n}\n\nexport const previousElement = function (el) {\n const element = el || this\n const { key, parent } = element\n const { __children } = parent.__ref\n\n if (!__children) return\n\n const currentIndex = __children.indexOf(key)\n return parent[__children[currentIndex - 1]]\n}\n", "'use strict'\n\nimport { exec, isNot } from '@domql/utils'\nimport { report } from '@domql/report'\n\n/**\n * Recursively add attributes to a DOM node\n */\nexport default (params, element, node) => {\n const { __ref } = element\n const { __attr } = __ref\n if (isNot('object')) report('HTMLInvalidAttr', params)\n if (params) {\n for (const attr in params) {\n const val = exec(params[attr], element)\n // if (__attr[attr] === val) return\n if (val && node.setAttribute) node.setAttribute(attr, val)\n else if (node.removeAttribute) node.removeAttribute(attr)\n __attr[attr] = val\n }\n }\n console.groupEnd(params, __attr)\n}\n", "'use strict'\n\nimport { exec, isObject, isString } from '@domql/utils'\n\nexport const assignClass = (element) => {\n const { key } = element\n if (element.class === true) element.class = key\n else if (!element.class && typeof key === 'string' && key.charAt(0) === '_' && key.charAt(1) !== '_') {\n element.class = key.slice(1)\n }\n}\n\n// stringifies class object\nexport const classify = (obj, element) => {\n let className = ''\n for (const item in obj) {\n const param = obj[item]\n if (typeof param === 'boolean' && param) className += ` ${item}`\n else if (typeof param === 'string') className += ` ${param}`\n else if (typeof param === 'function') {\n className += ` ${exec(param, element)}`\n }\n }\n return className\n}\n\nexport default (params, element, node, live) => {\n if (!params) return\n const { key } = element // eslint-disable-line\n if (params === true) params = element.class = { key }\n if (isString(params)) params = element.class = { default: params }\n if (isObject(params)) params = classify(params, element)\n // TODO: fails on string\n const className = params.replace(/\\s+/g, ' ').trim()\n node.classList = className\n return className\n}\n", "'use strict'\n\nimport { isEqualDeep, isFunction } from '@domql/utils'\nimport create from './create'\nimport { registry } from './mixins'\nimport OPTIONS from './options'\n\nexport const removeContentElement = function (el) {\n const element = el || this\n const { __ref } = element\n\n if (element.content) {\n if (element.content.node) {\n if (element.content.tag === 'fragment') element.node.innerHTML = ''\n else element.node.removeChild(element.content.node)\n }\n\n const { __cached } = __ref\n if (__cached && __cached.content) {\n if (__cached.content.tag === 'fragment') __cached.content.parent.node.innerHTML = ''\n else if (__cached.content && isFunction(__cached.content.remove)) __cached.content.remove()\n }\n\n delete element.content\n }\n}\n\nconst set = function (params, options = {}, el) {\n const element = el || this\n const __contentRef = element.content && element.content.__ref\n\n const isEqual = isEqualDeep(params, element.content)\n // console.error(params)\n if (isEqual && __contentRef && __contentRef.__cached) return element\n removeContentElement(element)\n\n if (params) {\n const { childExtend } = params\n if (!childExtend && element.childExtend) params.childExtend = element.childExtend\n create(params, element, 'content', {\n ignoreChildExtend: true,\n ...registry.defaultOptions,\n ...OPTIONS.create,\n ...options\n })\n }\n\n return element\n}\n\nexport default set\n", "'use strict'\n\nexport default {}\n", "'use strict'\n\nimport set from '../set'\n\n/**\n * Appends anything as content\n * an original one as a child\n */\nexport default (param, element, node, options) => {\n if (param && element) {\n if (param.__hash === element.content.__hash && element.content.update) {\n if (!element.content.__ref) element.content.__ref = {}\n element.content.update(param)\n } else {\n set.call(element, param, options)\n }\n }\n}\n", "'use strict'\n\nimport { exec, isObject } from '@domql/utils'\nimport { report } from '@domql/report'\n\n/**\n * Apply data parameters on the DOM nodes\n * this should only work if `showOnNode: true` is passed\n */\nexport default (params, element, node) => {\n if (params && params.showOnNode) {\n if (!isObject(params)) report('HTMLInvalidData', params)\n\n // Apply data params on node\n for (const dataset in params) {\n if (dataset !== 'showOnNode') {\n node.dataset[dataset] = exec(params[dataset], element)\n }\n }\n }\n}\n", "'use strict'\n\nimport { exec } from '@domql/utils'\n\n/**\n * Appends raw HTML as content\n * an original one as a child\n */\nexport default (param, element, node) => {\n const prop = exec(param, element)\n const { __ref } = element\n if (prop !== __ref.__html) {\n // const parser = new window.DOMParser()\n // param = parser.parseFromString(param, 'text/html')\n if (node.nodeName === 'SVG') node.textContent = prop\n else node.innerHTML = prop\n\n __ref.__html = prop\n }\n}\n", "'use strict'\n\nimport { isObject, map } from '@domql/utils'\nimport { report } from '@domql/report'\n\n/**\n * Recursively add styles to a DOM node\n */\nexport default (params, element, node) => {\n if (params) {\n if (isObject(params)) map(node.style, params, element)\n else report('HTMLInvalidStyles', params)\n }\n}\n", "'use strict'\n\nimport { create } from '..'\nimport { exec } from '@domql/utils'\n\n/**\n * Creates a text node and appends into\n * an original one as a child\n */\nexport const asd = (param, element, node) => {\n const prop = exec(param, element)\n if (element.tag === 'string') {\n node.nodeValue = prop\n } else if (param !== undefined || param !== null) {\n if (element.__text && element.__text.text !== prop) return\n element.__text.text = prop\n if (element.__text.node) element.__text.node.nodeValue = prop\n else create({ tag: 'string', text: prop }, element, '__text')\n }\n}\n\nexport default (param, element, node) => {\n const prop = exec(param, element)\n if (element.tag === 'string') {\n if (element.text === prop) return\n node.nodeValue = prop\n } else if (param !== undefined || param !== null) {\n if (element.__text) {\n if (element.__text.text === prop) return\n element.__text.text = prop\n if (element.__text.node) element.__text.node.nodeValue = prop\n } else create({ tag: 'string', text: prop }, element, '__text')\n }\n}\n", "'use strict'\n\nimport { exec, isObject } from '@domql/utils'\nimport { IGNORE_STATE_PARAMS } from '../state'\n\nexport default (params, element, node) => {\n const state = exec(params, element)\n\n if (isObject(state)) {\n for (const param in state) {\n if (IGNORE_STATE_PARAMS.includes(param)) continue\n element.state[param] = exec(state[param], element)\n }\n }\n\n return element\n}\n", "'use strict'\n\nimport { on } from '../event'\nimport { is, isObject, exec, isFunction, isUndefined } from '@domql/utils'\nimport { deepClone, overwriteShallow, overwriteDeep } from '../utils'\n\nexport const IGNORE_STATE_PARAMS = [\n 'update', 'parse', 'clean', 'create', 'parent', '__element', '__depends', '__ref', '__root',\n '__components',\n '__projectSystem', '__projectState', '__projectComponents', '__projectPages', '__projectSnippets',\n 'projectStateUpdate', 'projectSystemUpdate'\n]\n\nexport const parseState = function () {\n const state = this\n const parseState = {}\n for (const param in state) {\n if (!IGNORE_STATE_PARAMS.includes(param)) {\n parseState[param] = state[param]\n }\n }\n return parseState\n}\n\nexport const cleanState = function () {\n const state = this\n for (const param in state) {\n if (!IGNORE_STATE_PARAMS.includes(param)) {\n delete state[param]\n }\n }\n return state\n}\n\nexport const projectSystemUpdate = function (obj, options = {}) {\n const state = this\n if (!state) return\n const rootState = (state.__element.__ref.__root || state.__element).state\n rootState.update({ PROJECT_SYSTEM: obj }, options)\n return state\n}\n\nexport const projectStateUpdate = function (obj, options = {}) {\n const state = this\n if (!state) return\n const rootState = (state.__element.__ref.__root || state.__element).state\n rootState.update({ PROJECT_STATE: obj }, options)\n return state\n}\n\nexport const updateState = function (obj, options = {}) {\n const state = this\n const element = state.__element\n const __elementRef = element.__ref\n state.parent = element.parent.state\n\n if (!state.__element) createState(element, element.parent)\n\n // run `on.stateUpdated`\n if (element.on && isFunction(element.on.initStateUpdated)) {\n const initReturns = on.initStateUpdated(element.on.initStateUpdated, element, state, obj)\n if (initReturns === false) return\n }\n\n const stateKey = __elementRef.__state\n if (stateKey) {\n // TODO: check for double parent\n if (state.parent && state.parent[stateKey]) {\n const keyInParentState = state.parent[stateKey]\n if (keyInParentState && !options.stopStatePropogation) {\n if (__elementRef.__stateType === 'string') {\n return state.parent.update({ [stateKey]: obj.value }, options)\n }\n return state.parent.update({ [stateKey]: obj }, options)\n }\n }\n } else {\n if (options && options.shallow) {\n overwriteShallow(state, obj, IGNORE_STATE_PARAMS)\n } else {\n overwriteDeep(state, obj, IGNORE_STATE_PARAMS)\n }\n }\n\n // TODO: try debounce\n if (!options.preventUpdate) { element.update({}, options) } else if (options.preventUpdate === 'recursive') { element.update({}, { ...options, preventUpdate: true }) }\n\n if (state.__depends) {\n for (const el in state.__depends) {\n const findElement = state.__depends[el]\n findElement.clean().update(state.parse(), options)\n }\n }\n\n if (!options.preventUpdateListener && element.on && isFunction(element.on.stateUpdated)) {\n on.stateUpdated(element.on.stateUpdated, element, state, obj)\n }\n}\n\nexport const createState = function (element, parent, opts) {\n const skip = (opts && opts.skip) ? opts.skip : false\n\n let { state, __ref: __elementRef } = element\n\n if (isFunction(state)) state = exec(state, element)\n\n if (is(state)('string', 'number')) {\n __elementRef.__state = state\n state = {}\n }\n if (state === true) {\n __elementRef.__state = element.key\n state = {}\n }\n\n if (!state) {\n if (parent && parent.state) return parent.state\n return {}\n } else {\n __elementRef.__hasRootState = true\n }\n\n // run `on.init`\n if (element.on && isFunction(element.on.stateInit)) {\n on.stateInit(element.on.stateInit, element, element.state)\n }\n\n let stateKey = __elementRef.__state\n if (stateKey) {\n let parentState = parent.state\n const parentKeysArr = stateKey.split('../')\n for (let i = 1; i < parentKeysArr.length; i++) {\n stateKey = parentKeysArr[i]\n parentState = parentState.parent\n }\n const childrenKeysArr = stateKey.split('.')\n for (let i = 0; i < childrenKeysArr.length; i++) {\n const childKey = childrenKeysArr[i]\n const grandChildKey = childrenKeysArr[i + 1]\n const childInParent = parentState[childKey]\n if (childInParent && childInParent[grandChildKey]) {\n stateKey = grandChildKey\n parentState = childInParent\n }\n }\n if (parentState && parentState[stateKey]) {\n const keyInParentState = parentState[stateKey]\n if (is(keyInParentState)('object', 'array')) {\n state = deepClone(keyInParentState)\n } else if (is(keyInParentState)('string', 'number')) {\n state = { value: keyInParentState }\n __elementRef.__stateType = 'string'\n } else if (isUndefined(keyInParentState)) {\n console.warn(stateKey, 'is not in present', 'replacing with ', {})\n state = {}\n }\n }\n }\n\n // reference other state\n const { __ref } = state\n if (__ref) {\n state = deepClone(__ref, IGNORE_STATE_PARAMS)\n if (isObject(__ref.__depends)) {\n __ref.__depends[element.key] = state\n } else __ref.__depends = { [element.key]: state }\n } else {\n state = deepClone(state, IGNORE_STATE_PARAMS)\n }\n\n element.state = state\n\n // NOTE: Only true when 'onlyResolveExtends' option is set to true\n if (skip) return state\n\n state.clean = cleanState\n state.parse = parseState\n state.update = updateState\n state.create = createState\n state.parent = element.parent.state\n state.__element = element\n state.__root = __elementRef.__root ? __elementRef.__root.state : state\n\n // editor stuff\n state.projectSystemUpdate = projectSystemUpdate\n state.projectStateUpdate = projectStateUpdate\n state.__components = state.__root.COMPONENTS\n state.__projectSystem = state.__root.PROJECT_SYSTEM\n state.__projectState = state.__root.PROJECT_STATE\n state.__projectComponents = state.__root.PROJECT_COMPONENTS\n state.__projectPages = state.__root.PROJECT_PAGES\n state.__projectSnippets = state.__root.PROJECT_SNIPPETS\n\n // run `on.stateCreated`\n if (element.on && isFunction(element.on.stateCreated)) {\n on.stateCreated(element.on.stateCreated, element, state)\n }\n\n return state\n}\n\nexport default createState\n", "'use strict'\n\nimport {\n attr, classList, content,\n data, html, state, style,\n text\n} from '.'\n\nexport default {\n attr,\n style,\n text,\n html,\n content,\n data,\n class: classList,\n state,\n\n extend: {},\n childExtend: {},\n childExtendRecursive: {},\n props: {},\n path: {},\n if: {},\n define: {},\n transform: {},\n __ref: {},\n __hash: {},\n __text: {},\n nextElement: {},\n previousElement: {},\n key: {},\n tag: {},\n query: {},\n parent: {},\n node: {},\n set: {},\n update: {},\n setProps: {},\n remove: {},\n removeContent: {},\n lookup: {},\n spotByPath: {},\n keys: {},\n log: {},\n parse: {},\n parseDeep: {},\n on: {},\n component: {},\n context: {}\n}\n\n// List of keys for .parse() and .parseDeep() to include in the result.\n// Keys not in the array are excluded.\nexport const parseFilters = {\n elementKeys: [\n 'tag', 'text', 'style', 'attr', 'class', 'state', 'class',\n 'data', 'content', 'html', 'on'\n // TODO: 'props' ?\n ],\n propsKeys: ['__element'],\n stateKeys: []\n}\n", "'use strict'\n\n/**\n * Receives child and parent nodes as parametes\n * and assigns them into real DOM tree\n */\nexport const appendNode = (node, parentNode) => {\n parentNode.appendChild(node)\n return node\n}\n\n/**\n * Receives elements and assigns the first\n * parameter as a child of the second one\n */\nexport const assignNode = (element, parent, key) => {\n parent[key || element.key] = element\n if (element.tag !== 'shadow') {\n appendNode(element.node, parent.node)\n }\n return element\n}\n", "'use strict'\n\nimport { isFunction, exec, isString } from '@domql/utils'\nimport { getExtendStack, jointStacks, cloneAndMergeArrayExtend, deepMergeExtend } from '../utils'\n\nconst ENV = process.env.NODE_ENV\n\n/**\n * Checks whether element has `extend` or is a part\n * of parent's `childExtend` extend\n */\nexport const applyExtend = (element, parent, options = {}) => {\n if (isFunction(element)) element = exec(element, parent)\n\n let { extend, props, context, __ref } = element\n const COMPONENTS = (context && context.components) || options.components\n\n if (isString(extend)) extend = COMPONENTS[extend]\n const extendStack = getExtendStack(extend)\n\n if (ENV !== 'test' || ENV !== 'development') delete element.extend\n\n let childExtendStack = []\n if (parent) {\n // Assign parent attr to the element\n element.parent = parent\n if (!options.ignoreChildExtend) {\n if (props && props.ignoreChildExtend) return\n\n childExtendStack = getExtendStack(parent.childExtend)\n\n if (parent.childExtendRecursive) {\n const childExtendRecursiveStack = getExtendStack(parent.childExtendRecursive)\n childExtendStack = childExtendStack.concat(childExtendRecursiveStack)\n element.childExtendRecursive = parent.childExtendRecursive\n }\n }\n }\n\n const extendLength = extendStack.length\n const childExtendLength = childExtendStack.length\n\n let stack = []\n if (extendLength && childExtendLength) {\n stack = jointStacks(extendStack, childExtendStack)\n } else if (extendLength) {\n stack = extendStack\n } else if (childExtendLength) {\n stack = childExtendStack\n } else if (!options.extend) return element\n\n if (options.extend) {\n const defaultOptionsExtend = getExtendStack(options.extend)\n stack = [].concat(stack, defaultOptionsExtend)\n }\n\n __ref.__extend = stack\n let mergedExtend = cloneAndMergeArrayExtend(stack)\n\n const component = exec(element.component || mergedExtend.component, element)\n if (component && COMPONENTS && COMPONENTS[component]) {\n const componentExtend = cloneAndMergeArrayExtend(getExtendStack(COMPONENTS[component]))\n mergedExtend = deepMergeExtend(componentExtend, mergedExtend)\n }\n\n return deepMergeExtend(element, mergedExtend)\n}\n", "'use strict'\n\nimport { exec, isArray, isObject, isString } from '@domql/utils'\nimport { deepClone, deepMerge } from '../utils'\n\nconst createPropsStack = (element, parent) => {\n const { props, __ref } = element\n const propsStack = __ref.propsStack = []\n\n const isMatch = isString(props) && props.indexOf('match') > -1\n const matchParent = parent.props && parent.props[element.key]\n const matchParentChild = parent.props && parent.props.childProps\n\n const objectizeStringProperty = propValue => {\n if (isString(propValue)) return { inheritedString: propValue }\n return propValue\n }\n\n if (matchParent && props !== 'match') propsStack.push(matchParent)\n if (matchParentChild) propsStack.push(matchParentChild)\n\n if (isObject(props)) {\n propsStack.push(props)\n }\n\n if (props === 'inherit') {\n if (parent.props) propsStack.push(parent.props)\n } else if (isMatch) {\n const hasArg = props.split(' ')\n let matchParentValue\n // console.log('hasArg', hasArg)\n if (hasArg[1] && parent.props[hasArg[1]]) {\n const secondArgasParentMatchProp = parent.props[hasArg[1]]\n propsStack.push(\n objectizeStringProperty(secondArgasParentMatchProp)\n )\n } else if (matchParent) {\n propsStack.push(\n objectizeStringProperty(matchParent)\n )\n }\n propsStack.push(matchParentValue)\n } else if (props) propsStack.push(props)\n\n if (isArray(__ref.__extend)) {\n __ref.__extend.map(extend => {\n if (extend.props) propsStack.push(extend.props)\n return extend.props\n })\n }\n\n return propsStack\n}\n\nconst inheritProps = (element, parent) => {\n element.props = (parent && parent.props) || { update, __element: element }\n}\n\nexport const syncProps = (props, element) => {\n element.props = {}\n const mergedProps = { update, __element: element }\n props.forEach(v => {\n if (v === 'update' || v === '__element') return\n const execProps = exec(v, element)\n if (isObject(execProps) && execProps.__element) return\n element.props = deepMerge(mergedProps, deepClone(execProps))\n })\n element.props = mergedProps\n return element.props\n}\n\nconst createProps = function (element, parent, cached) {\n const propsStack = cached || createPropsStack(element, parent)\n const { __ref } = element\n\n if (propsStack.length) {\n __ref.__props = propsStack\n syncProps(propsStack, element)\n element.props.update = update\n } else inheritProps(element, parent)\n\n return element\n}\n\nexport const updateProps = (newProps, element, parent) => {\n const { __ref } = element\n let propsStack = __ref.__props\n\n if (newProps) propsStack = __ref.__props = [].concat(newProps, propsStack)\n\n if (propsStack) syncProps(propsStack, element)\n else inheritProps(element, parent)\n\n // console.log(cachedProps)\n return element\n}\n\nfunction update (props, options) {\n const element = this.__element\n // element.update({ props })\n element.update({ props }, options)\n}\n\nexport default createProps\n", "'use strict'\n\nimport { window } from '@domql/globals'\nimport { diff, isFunction, isNumber, isObject, isString, createSnapshotId } from '@domql/utils'\nimport { merge, overwrite } from '../utils'\n\nimport { on } from '../event'\nimport create from './create'\nimport { throughUpdatedDefine, throughUpdatedExec } from './iterate'\nimport { isMethod } from './methods'\nimport { registry } from './mixins'\nimport { updateProps } from './props'\nimport createState from './state'\n\nconst snapshot = {\n snapshotId: createSnapshotId\n}\n\nconst UPDATE_DEFAULT_OPTIONS = {\n stackChanges: false,\n cleanExec: true,\n preventRecursive: false,\n currentSnapshot: false,\n calleeElement: false\n}\n\nconst update = function (params = {}, options = UPDATE_DEFAULT_OPTIONS) {\n const element = this\n const { parent, node, context } = element\n\n let __ref = element.__ref\n if (!__ref) __ref = element.__ref = {}\n\n const { currentSnapshot, calleeElement } = options\n if (!calleeElement) {\n __ref.__currentSnapshot = snapshot.snapshotId()\n }\n\n const snapshotOnCallee = __ref.__currentSnapshot ||\n (calleeElement && calleeElement.__ref && calleeElement.__currentSnapshot)\n if (snapshotOnCallee && currentSnapshot < snapshotOnCallee) {\n // TODO: stop previous update\n }\n\n if (isString(params) || isNumber(params)) {\n params = { text: params }\n }\n\n if (isFunction(element.if)) {\n // TODO: move as fragment\n const ifPassed = element.if(element, element.state)\n const itWasFalse = !__ref.__if\n\n if (ifPassed) __ref.__if = true\n if (itWasFalse && ifPassed) {\n delete element.__hash\n if (!__ref.__hasRootState) delete element.state\n if (__ref.__state) element.state = __ref.__state\n const created = create(element, element.parent, element.key)\n if (!options.preventUpdate && element.on && isFunction(element.on.update)) {\n on.update(element.on.update, created, created.state)\n }\n return created\n } else if (element.node && !ifPassed) {\n element.node.remove()\n delete __ref.__if\n }\n }\n\n if (__ref.__state) {\n const keyInParentState = parent.state[__ref.__state]\n if (keyInParentState) {\n const newState = __ref.__stateType === 'string'\n ? createState(element, parent)\n : createState(element, parent)\n const changes = diff(newState.parse(), element.state.parse())\n\n // run `on.stateUpdated`\n if (element.on && isFunction(element.on.initStateUpdated)) {\n const initReturns = on.initStateUpdated(element.on.initStateUpdated, element, element.state, changes)\n if (initReturns === false) return\n }\n\n element.state = newState\n\n if (!options.preventUpdateListener && element.on && isFunction(element.on.stateUpdated)) {\n on.stateUpdated(element.on.stateUpdated, element, element.state, changes)\n }\n }\n } else if (!__ref.__hasRootState) element.state = (parent && parent.state) || {}\n\n if (__ref.__if && !options.preventPropsUpdate) updateProps(params.props, element, parent)\n\n if (element.on && isFunction(element.on.initUpdate) && !options.ignoreInitUpdate) {\n const whatinitreturns = on.initUpdate(element.on.initUpdate, element, element.state)\n if (whatinitreturns === false) return\n }\n\n const overwriteChanges = overwrite(element, params, UPDATE_DEFAULT_OPTIONS)\n const execChanges = throughUpdatedExec(element, UPDATE_DEFAULT_OPTIONS)\n const definedChanges = throughUpdatedDefine(element)\n\n if (options.stackChanges && element.__stackChanges) {\n const stackChanges = merge(definedChanges, merge(execChanges, overwriteChanges))\n element.__stackChanges.push(stackChanges)\n }\n\n if (!__ref.__if) return false\n if (!node) {\n // return createNode(element, options)\n return\n }\n\n for (const param in element) {\n const prop = element[param]\n\n if (\n options.preventDefineUpdate === true ||\n options.preventDefineUpdate === param ||\n (options.preventContentUpdate && param === 'content') ||\n (options.preventStateUpdate && param) === 'state' ||\n isMethod(param) || isObject(registry[param]) || prop === undefined\n ) continue\n if (options.preventStateUpdate === 'once') options.preventStateUpdate = false\n\n const DOMQLProperty = registry[param]\n const DOMQLPropertyFromContext = context && context.registry && context.registry[param]\n const isGlobalTransformer = DOMQLPropertyFromContext || DOMQLProperty\n\n const hasDefine = element.define && element.define[param]\n const hasContextDefine = context && context.define && context.define[param]\n\n if (isGlobalTransformer && !hasContextDefine) {\n if (isFunction(isGlobalTransformer)) isGlobalTransformer(prop, element, node, options)\n } else if (prop && isObject(prop) && !hasDefine && !hasContextDefine) {\n if (!options.preventRecursive) {\n const childUpdateCall = () => update.call(prop, params[prop], {\n ...options,\n currentSnapshot: snapshotOnCallee,\n calleeElement: element\n })\n if (element.props.lazyLoad || options.lazyLoad) {\n window.requestAnimationFrame(() => childUpdateCall())\n } else childUpdateCall()\n }\n }\n }\n\n if (!options.preventUpdate && element.on && isFunction(element.on.update)) {\n on.update(element.on.update, element, element.state)\n }\n}\n\nexport default update\n", "'use strict'\n\nimport { report } from '@domql/report'\nimport { registry } from './mixins'\n\nexport default (params, options = {}) => {\n const { overwrite } = options\n for (const param in params) {\n if (registry[param] && !overwrite) {\n report('OverwriteToBuiltin', param)\n } else registry[param] = params[param]\n }\n}\n", "'use strict'\n\nimport create from './create'\nimport { assignNode } from './assign'\n\nconst parse = (element) => {\n const virtualTree = {\n node: document.createElement('div')\n }\n\n if (element && element.node) assignNode(element, virtualTree)\n else create(element, virtualTree)\n\n return virtualTree.node.innerHTML\n}\n\nexport default parse\n"],
|
|
5
|
-
"mappings": "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AA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,EACF;AACF;;;AFrIO,IAAMC,UAAS,CAAC,YAAY;AACjC,QAAM,MAAM,QAAQ,OAAO;AA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",
|
|
4
|
+
"sourcesContent": ["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// index.js\nvar utils_exports = {};\n__export(utils_exports, {\n TYPES: () => TYPES,\n cleanWithNode: () => cleanWithNode,\n clone: () => clone,\n createID: () => createID,\n createSnapshotId: () => createSnapshotId,\n debounce: () => debounce,\n deepClone: () => deepClone,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge,\n deepStringify: () => deepStringify,\n diff: () => diff,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n is: () => is,\n isArray: () => isArray,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined,\n isEqualDeep: () => isEqualDeep,\n isFunction: () => isFunction,\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject,\n isObjectLike: () => isObjectLike,\n isString: () => isString,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag,\n logGroupIf: () => logGroupIf,\n logIf: () => logIf,\n map: () => map,\n memoize: () => memoize,\n merge: () => merge,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteObj: () => overwriteObj\n});\nmodule.exports = __toCommonJS(utils_exports);\n\n// ../globals/index.js\nvar window = globalThis;\nvar document = window.document;\n\n// ../tags/htmlTags.js\nvar HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n};\n\n// types.js\nvar isValidHtmlTag = (arg) => HTML_TAGS.body.indexOf(arg);\nvar isObject = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n};\nvar isString = (arg) => typeof arg === \"string\";\nvar isNumber = (arg) => typeof arg === \"number\";\nvar isFunction = (arg) => typeof arg === \"function\";\nvar isBoolean = (arg) => arg === true || arg === false;\nvar isNull = (arg) => arg === null;\nvar isArray = (arg) => Array.isArray(arg);\nvar isObjectLike = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n};\nvar isNode = (obj2) => {\n return typeof window.Node === \"object\" ? obj2 instanceof window.Node : obj2 && typeof obj2 === \"object\" && typeof obj2.nodeType === \"number\" && typeof obj2.nodeName === \"string\";\n};\nvar isHtmlElement = (obj2) => {\n return typeof window.HTMLElement === \"object\" ? obj2 instanceof window.HTMLElement : obj2 && typeof obj2 === \"object\" && obj2 !== null && obj2.nodeType === 1 && typeof obj2.nodeName === \"string\";\n};\nvar isDefined = (arg) => {\n return isObject(arg) || isObjectLike(arg) || isString(arg) || isNumber(arg) || isFunction(arg) || isArray(arg) || isObjectLike(arg) || isBoolean(arg) || isNull(arg);\n};\nvar isUndefined = (arg) => {\n return arg === void 0;\n};\nvar TYPES = {\n boolean: isBoolean,\n array: isArray,\n object: isObject,\n string: isString,\n number: isNumber,\n null: isNull,\n function: isFunction,\n objectLike: isObjectLike,\n node: isNode,\n htmlElement: isHtmlElement,\n defined: isDefined\n};\nvar is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n};\nvar isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n};\n\n// object.js\nvar exec = (param, element, state) => {\n if (isFunction(param))\n return param(element, state || element.state);\n return param;\n};\nvar map = (obj2, extention, element) => {\n for (const e in extention) {\n obj2[e] = exec(extention[e], element);\n }\n};\nvar merge = (element, obj2) => {\n for (const e in obj2) {\n const elementProp = element[e];\n const objProp2 = obj2[e];\n if (elementProp === void 0) {\n element[e] = objProp2;\n }\n }\n return element;\n};\nvar deepMerge = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e];\n const extendProp = extend[e];\n if (e === \"parent\" || e === \"props\")\n continue;\n if (elementProp === void 0) {\n element[e] = extendProp;\n } else if (isObjectLike(elementProp) && isObject(extendProp)) {\n deepMerge(elementProp, extendProp);\n }\n }\n return element;\n};\nvar clone = (obj2) => {\n const o = {};\n for (const prop2 in obj2) {\n if (prop2 === \"node\")\n continue;\n o[prop2] = obj2[prop2];\n }\n return o;\n};\nvar deepCloneExclude = (obj2, exclude = []) => {\n if (isArray(obj2)) {\n return obj2.map((x) => deepCloneExclude(x, exclude));\n }\n const o = {};\n for (const k in obj2) {\n if (exclude.indexOf(k) > -1)\n continue;\n let v = obj2[k];\n if (k === \"extend\" && isArray(v)) {\n v = mergeArrayExclude(v, exclude);\n }\n if (isArray(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, exclude));\n } else if (isObject(v)) {\n o[k] = deepCloneExclude(v, exclude);\n } else\n o[k] = v;\n }\n return o;\n};\nvar mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge(acc, deepCloneExclude(curr, excl)), {});\n};\nvar deepClone = (obj2) => {\n if (isArray(obj2)) {\n return obj2.map(deepClone);\n }\n const o = {};\n for (const prop2 in obj2) {\n let objProp2 = obj2[prop2];\n if (prop2 === \"extend\" && isArray(objProp2)) {\n objProp2 = mergeArray(objProp2);\n }\n if (isArray(objProp2)) {\n o[prop2] = objProp2.map((v) => isObject(v) ? deepClone(v) : v);\n } else if (isObject(objProp2)) {\n o[prop2] = deepClone(objProp2);\n } else\n o[prop2] = objProp2;\n }\n return o;\n};\nvar deepStringify = (obj2, stringified2 = {}) => {\n for (const prop2 in obj2) {\n const objProp2 = obj2[prop2];\n if (isFunction(objProp2)) {\n stringified2[prop2] = objProp2.toString();\n } else if (isObject(objProp2)) {\n stringified2[prop2] = {};\n deepStringify(objProp2[prop2], stringified2[prop2]);\n } else if (isArray(objProp2)) {\n stringified2[prop2] = [];\n objProp2.map((v, i) => deepStringify(v, stringified2[prop2][i]));\n } else\n stringified2[prop2] = objProp2;\n }\n return stringified2;\n};\nvar deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if (isString(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp[0] === \"(\") {\n try {\n const evalProp = eval(objProp);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n }\n } else\n stringified[prop] = objProp;\n if (isObject(objProp))\n deepDestringify(stringified[prop], stringified[prop]);\n }\n return stringified;\n};\nvar overwrite = (element, params, options) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (e === \"props\")\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n};\nvar diff = (obj2, original, cache) => {\n const changes = cache || {};\n for (const e in obj2) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objProp2 = obj2[e];\n if (isObjectLike(originalProp) && isObjectLike(objProp2)) {\n changes[e] = {};\n diff(originalProp, objProp2, changes[e]);\n } else if (objProp2 !== void 0) {\n changes[e] = objProp2;\n }\n }\n return changes;\n};\nvar overwriteObj = (params, obj2) => {\n const changes = {};\n for (const e in params) {\n const objProp2 = obj2[e];\n const paramsProp = params[e];\n if (paramsProp) {\n obj2[e] = changes[e] = objProp2;\n }\n }\n return changes;\n};\nvar overwriteDeep = (params, obj2) => {\n for (const e in params) {\n const objProp2 = obj2[e];\n const paramsProp = params[e];\n if (isObjectLike(objProp2) && isObjectLike(paramsProp)) {\n overwriteDeep(objProp2, paramsProp);\n } else if (paramsProp !== void 0) {\n obj2[e] = paramsProp;\n }\n }\n return obj2;\n};\nvar mergeIfExisted = (a, b) => {\n if (isObjectLike(a) && isObjectLike(b))\n return deepMerge(a, b);\n return a || b;\n};\nvar mergeArray = (arr) => {\n return arr.reduce((a, c) => deepMerge(a, deepClone(c)), {});\n};\nvar mergeAndCloneIfArray = (obj2) => {\n return isArray(obj2) ? mergeArray(obj2) : deepClone(obj2);\n};\nvar flattenRecursive = (param, prop2, stack = []) => {\n const objectized = mergeAndCloneIfArray(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop2];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop2, stack);\n delete objectized[prop2];\n return stack;\n};\nvar isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop2 in param) {\n const paramProp = param[prop2];\n const elementProp = element[prop2];\n if (isObjectLike(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n};\n\n// function.js\nvar debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n};\nvar memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n};\n\n// node.js\nvar cleanWithNode = (extend) => delete extend.node && extend;\nvar createID = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n}();\nvar createSnapshotId = createID;\n\n// log.js\nvar logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n};\nvar logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n};\n", "'use strict'\n\nimport { window } from '@domql/globals'\nimport { create, parse, set, define, tree } from './element'\n\nconst ENV = process.env.NODE_ENV\nif (ENV === 'test' || ENV === 'development') window.tree = tree\n\nexport default {\n create,\n parse,\n set,\n define,\n tree\n}\n", "'use strict'\n\nconst global = globalThis\nconst self = globalThis\nconst window = globalThis\nconst document = window.document // eslint-disable-line\n\nexport { global, self, window, document }\n", "'use strict'\n\nexport const ERRORS_REGISTRY = {\n en: {\n DocumentNotDefined: {\n title: 'Document is undefined',\n description: 'To tweak with DOM, you should use browser.'\n },\n OverwriteToBuiltin: {\n title: 'Overwriting to builtin method',\n description: 'Overwriting a builtin method in the window define is not possible, please choose different name'\n },\n BrowserNotDefined: {\n title: 'Can\\'t recognize environment',\n description: 'Environment should be browser application, that can run Javascript'\n },\n SetQuickPreferancesIsNotObject: {\n title: 'Quick preferances object is required',\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n InvalidParams: {\n title: 'Params are invalid',\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n CantCreateWithoutNode: {\n title: 'You must provide node',\n description: 'Can\\'t create DOM element without setting node or text'\n },\n HTMLInvalidTag: {\n title: 'Element tag name (or DOM nodeName) is invalid',\n description: 'To create element, you must provide valid DOM node. See full list of them at here: http://www.w3schools.com/tags/'\n },\n HTMLInvalidAttr: {\n title: 'Attibutes object is invalid',\n description: 'Please pass a valid plain object to apply as an attributes for a DOM node'\n },\n HTMLInvalidData: {\n title: 'Data object is invalid',\n description: 'Please pass a valid plain object to apply as an dataset for a DOM node'\n },\n HTMLInvalidStyles: {\n title: 'Styles object is invalid',\n description: 'Please pass a valid plain object to apply as an style for a DOM node'\n },\n HTMLInvalidText: {\n title: 'Text string is invalid',\n description: 'Please pass a valid string to apply text to DOM node'\n }\n }\n}\n\nexport const report = (err, arg, element) => {\n const currentLang = 'en'\n let errObj\n if (err && typeof err === 'string') errObj = ERRORS_REGISTRY[currentLang][err]\n\n return new Error(\n `\"${err}\", \"${arg}\"\\n\\n`,\n `${errObj.description}`,\n element ? `\\n\\n${element}` : ''\n )\n}\n", "'use strict'\n\nimport { document } from '@domql/globals'\nimport { report } from '@domql/report'\n\nconst root = {\n key: ':root',\n node: document ? document.body : report('DocumentNotDefined', document)\n}\n\nexport default root\n", "'use strict'\n\nimport root from './root'\n\nexport default root\n", "'use strict'\n\nimport { document } from '@domql/globals'\nimport { exec, isString } from '@domql/utils'\nimport { report } from '@domql/report'\n\nimport { can } from '../event'\nimport { isTagRegistered } from '../utils'\n\nconst cachedElements = {}\n\nconst createNode = (element) => {\n const { tag } = element\n if (tag) {\n if (tag === 'string') return document.createTextNode(element.text)\n else if (tag === 'fragment') {\n return document.createDocumentFragment()\n } else if (tag === 'svg' || tag === 'path') { // change that\n return document.createElementNS('http://www.w3.org/2000/svg', tag)\n } else return document.createElement(tag)\n } else {\n return document.createElement('div')\n }\n}\n\nexport const detectTag = element => {\n let { tag, key } = element\n tag = exec(tag, element)\n\n if (tag === true) tag = key\n\n if (isString(tag)) {\n const tagExists = isTagRegistered(tag) > -1\n if (tagExists) return tag\n } else {\n const isKeyATag = isTagRegistered(key) > -1\n if (isKeyATag) return key\n }\n\n return 'div'\n}\n\nexport default (element) => {\n const tag = element.tag = detectTag(element)\n\n if (!can.render(element)) {\n return report('HTMLInvalidTag')\n }\n\n let cachedTag = cachedElements[tag]\n if (!cachedTag) cachedTag = cachedElements[tag] = createNode(element)\n\n const clonedNode = cachedTag.cloneNode(true)\n if (tag === 'string') clonedNode.nodeValue = element.text\n return clonedNode\n}\n", "'use strict'\n\nexport const beforeClassAssign = (param, element, state) => {\n return param(element, state)\n}\n\nexport const init = (param, element, state) => {\n return param(element, state)\n}\n\nexport const render = (param, element, state) => {\n return param(element, state)\n}\n\nexport const initUpdate = (param, element, state) => {\n return param(element, state)\n}\n\nexport const attachNode = (param, element, state) => {\n return param(element, state)\n}\n\nexport const stateInit = (param, element, state) => {\n return param(element, state)\n}\n\nexport const stateCreated = (param, element, state) => {\n return param(element, state)\n}\n\nexport const initStateUpdated = (param, element, state, changes) => {\n return param(element, state, changes)\n}\n\nexport const stateUpdated = (param, element, state, changes) => {\n return param(element, state, changes)\n}\n\nexport const update = (param, element, state) => {\n return param(element, state)\n}\n", "'use strict'\n\nimport { TAGS } from '@domql/registry'\nimport { report } from '@domql/report'\n\nexport const render = (element) => {\n const tag = element.tag || 'div'\n const isValid = TAGS.body.indexOf(tag) > -1\n return isValid || report('HTMLInvalidTag')\n}\n", "'use strict'\n\nimport { exec } from '@domql/utils'\n\nexport const DEFAULT_METHODS = {\n key: {},\n tag: {},\n\n if: {},\n define: {},\n\n attr: {},\n style: {},\n\n content: {},\n class: {},\n\n props: {},\n state: {},\n\n method: {},\n transform: {},\n\n on: {},\n\n ref: {},\n\n extend: {},\n childExtends: {},\n text: (element, state) => {\n element.ref.text = {\n tag: 'text',\n text: exec(element.text, element, state)\n }\n },\n\n innerHTML: {},\n\n set: {},\n update: {},\n remove: {}\n}\n\n// log: {}\n// value: {},\n// text: {},\n// html: {},\n// path: {},\n// data: {},\n// if: {},\n// __hash: {},\n// __cache: {},\n// __defined: {},\n// __exec: {},\n// __changes: {},\n// __trash: {},\n// __root: {},\n// __props: {},\n// __extend: {},\n// __ifFragment: {},\n// __ifFalsy: {},\n// parent: {},\n// node: {},\n// lookup: {},\n// keys: {},\n// parse: {},\n// parseDeep: {},\n", "'use strict'\n\nexport const TAGS = {\n root: [\n 'body',\n 'html'\n ],\n\n head: [\n 'title',\n 'base',\n 'meta',\n 'style'\n ],\n\n body: [\n 'string',\n 'fragment',\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'applet',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'basefont',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'meter',\n 'nav',\n 'noframes',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strike',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n\n // SVG\n 'svg',\n 'path'\n ]\n}\n", "'use strict'\n\nimport { TAGS } from '@domql/registry'\nimport { isArray, isObject, isObjectLike } from '@domql/utils'\n\nexport const isTagRegistered = arg => TAGS.body.indexOf(arg)\n\nexport const merge = (element, obj) => {\n for (const e in obj) {\n const elementProp = element[e]\n const objProp = obj[e]\n if (elementProp === undefined) {\n element[e] = objProp\n }\n }\n return element\n}\n\nexport const deepMerge = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e]\n const extendProp = extend[e]\n // const cachedProps = cache.props\n if (e === 'parent' || e === 'props' || e === 'state') continue\n if (elementProp === undefined) {\n element[e] = extendProp\n } else if (isObjectLike(elementProp) && isObject(extendProp)) {\n deepMerge(elementProp, extendProp)\n }\n }\n return element\n}\n\nexport const clone = obj => {\n const o = {}\n for (const prop in obj) {\n if (prop === 'node') continue\n o[prop] = obj[prop]\n }\n return o\n}\n\n/**\n * Deep cloning of object\n */\nexport const deepClone = (obj, excluding = ['parent', 'node', '__element', 'state', 'context', 'extend', '__ref']) => {\n const o = isArray(obj) ? [] : {}\n for (const prop in obj) {\n if (excluding.indexOf(prop) > -1) continue\n let objProp = obj[prop]\n if (prop === 'extend' && isArray(objProp)) {\n objProp = mergeArray(objProp, excluding)\n }\n if (isObjectLike(objProp)) {\n o[prop] = deepClone(objProp, excluding)\n } else o[prop] = objProp\n }\n return o\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const overwrite = (element, params, options) => {\n const changes = {}\n const { __ref } = element\n const { __exec, __cached } = __ref\n\n for (const e in params) {\n if (e === 'props' || e === 'state' || e === '__ref') continue\n\n const elementProp = element[e]\n const paramsProp = params[e]\n\n if (paramsProp !== undefined) {\n __cached[e] = changes[e] = elementProp\n element[e] = paramsProp\n }\n\n if (options.cleanExec) delete __exec[e]\n }\n\n return changes\n}\n\nexport const overwriteShallow = (obj, params, excluding = ['node', '__ref']) => {\n for (const e in params) {\n if (excluding.indexOf(e) > -1) continue\n obj[e] = params[e]\n }\n return obj\n}\n\n/**\n * Overwrites DEEPly object properties with another\n */\nexport const overwriteDeep = (obj, params, excluding = ['node', '__ref']) => {\n for (const e in params) {\n if (excluding.indexOf(e) > -1) continue\n const objProp = obj[e]\n const paramsProp = params[e]\n if (isObjectLike(objProp) && isObjectLike(paramsProp)) {\n overwriteDeep(objProp, paramsProp)\n } else if (paramsProp !== undefined) {\n obj[e] = paramsProp\n }\n }\n return obj\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const mergeIfExisted = (a, b) => {\n if (isObjectLike(a) && isObjectLike(b)) return deepMerge(a, b)\n return a || b\n}\n\n/**\n * Merges array extends\n */\nexport const mergeArray = (arr, excluding = ['parent', 'node', '__element', 'state', 'context', '__ref']) => {\n return arr.reduce((a, c) => deepMerge(a, deepClone(c, excluding)), {})\n}\n\n/**\n * Merges array extends\n */\nexport const mergeAndCloneIfArray = obj => {\n return isArray(obj) ? mergeArray(obj) : deepClone(obj)\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const flattenRecursive = (param, prop, stack = []) => {\n const objectized = mergeAndCloneIfArray(param)\n stack.push(objectized)\n\n const extendOfExtend = objectized[prop]\n if (extendOfExtend) flattenRecursive(extendOfExtend, prop, stack)\n\n delete objectized[prop]\n\n return stack\n}\n", "'use strict'\n\nimport { isArray, isFunction, isObject } from '@domql/utils'\n\nexport const generateHash = () => Math.random().toString(36).substring(2)\n\n// hashing\nexport const extendStackRegistry = {}\nexport const extendCachedRegistry = {}\n\nexport const getHashedExtend = extend => {\n return extendStackRegistry[extend.__hash]\n}\n\nexport const setHashedExtend = (extend, stack) => {\n const hash = generateHash()\n extend.__hash = hash\n extendStackRegistry[hash] = stack\n return stack\n}\n\nexport const getExtendStackRegistry = (extend, stack) => {\n if (extend.__hash) { return stack.concat(getHashedExtend(extend)) }\n return setHashedExtend(extend, stack) // stack .concat(hashedExtend)\n}\n\n// stacking\nexport const extractArrayExtend = (extend, stack) => {\n extend.forEach(each => flattenExtend(each, stack))\n return stack\n}\n\nexport const deepExtend = (extend, stack) => {\n const extendOflattenExtend = extend.extend\n if (extendOflattenExtend) {\n flattenExtend(extendOflattenExtend, stack)\n }\n return stack\n}\n\nexport const flattenExtend = (extend, stack) => {\n if (!extend) return stack\n if (isArray(extend)) return extractArrayExtend(extend, stack)\n stack.push(extend)\n if (extend.extend) deepExtend(extend, stack)\n return stack\n}\n\n// merging\nexport const deepCloneExtend = obj => {\n const o = {}\n for (const prop in obj) {\n if (['parent', 'node', '__element'].indexOf(prop) > -1) continue\n const objProp = obj[prop]\n if (isObject(objProp)) {\n o[prop] = deepCloneExtend(objProp)\n } else if (isArray(objProp)) {\n o[prop] = objProp.map(x => x)\n } else o[prop] = objProp\n }\n return o\n}\n\nexport const deepMergeExtend = (element, extend) => {\n for (const e in extend) {\n if (['parent', 'node', '__element'].indexOf(e) > -1) continue\n const elementProp = element[e]\n const extendProp = extend[e]\n if (elementProp === undefined) {\n element[e] = extendProp\n } else if (isObject(elementProp) && isObject(extendProp)) {\n deepMergeExtend(elementProp, extendProp)\n } else if (isArray(elementProp) && isArray(extendProp)) {\n element[e] = elementProp.concat(extendProp)\n } else if (isArray(elementProp) && isObject(extendProp)) {\n const obj = deepMergeExtend({}, elementProp)\n element[e] = deepMergeExtend(obj, extendProp)\n } else if (elementProp === undefined && isFunction(extendProp)) {\n element[e] = extendProp\n }\n }\n return element\n}\n\nexport const cloneAndMergeArrayExtend = stack => {\n return stack.reduce((a, c) => {\n return deepMergeExtend(a, deepCloneExtend(c))\n }, {})\n}\n\n// joint stacks\nexport const jointStacks = (extendStack, childExtendStack) => {\n return []\n .concat(extendStack.slice(0, 1))\n .concat(childExtendStack.slice(0, 1))\n .concat(extendStack.slice(1))\n .concat(childExtendStack.slice(1))\n}\n\n// init\nexport const getExtendStack = extend => {\n if (!extend) return []\n if (extend.__hash) return getHashedExtend(extend) || []\n const stack = flattenExtend(extend, [])\n return getExtendStackRegistry(extend, stack)\n}\n\nexport const getExtendMerged = extend => {\n const stack = getExtendStack(extend)\n return cloneAndMergeArrayExtend(stack)\n}\n", "'use strict'\n\nimport { isObject, isFunction, isString, createID, isNode, exec, is } from '@domql/utils'\nimport { TAGS } from '@domql/registry'\n\nimport root from './root'\nimport createNode from './node'\nimport { appendNode, assignNode } from './assign'\nimport { applyExtend } from './extend'\nimport set, { removeContentElement } from './set'\nimport createState from './state'\nimport createProps from './props'\nimport update from './update'\nimport { on } from '../event'\nimport { assignClass } from './mixins/classList'\nimport { remove, lookup, setProps, log, keys, parse, parseDeep, spotByPath, nextElement, previousElement, isMethod } from './methods'\nimport cacheNode, { detectTag } from './cache'\nimport { registry } from './mixins'\nimport { throughInitialExec } from './iterate'\nimport OPTIONS from './options'\n// import { overwrite, clone, fillTheRest } from '../utils'\n\nconst ENV = process.env.NODE_ENV\n\n/**\n * Creating a domQL element using passed parameters\n */\nconst create = (element, parent, key, options = OPTIONS.create || {}) => {\n if (options && !OPTIONS.create) OPTIONS.create = options\n\n // if ELEMENT is not given\n if (element === undefined) {\n if (ENV === 'test' || ENV === 'development') {\n console.warn(key, 'element is undefined in', parent && parent.__ref && parent.__ref.path)\n }\n element = {}\n }\n if (isString(key) && key.slice(0, 2 === '__')) {\n if (ENV === 'test' || ENV === 'development') {\n console.warn(key, 'seems like to be in __ref')\n }\n }\n if (element === null) return\n if (element === true) element = { text: true }\n\n // if element is extend\n if (element.__hash) {\n element = { extend: element }\n }\n\n // if PARENT is not given\n if (!parent) parent = root\n if (isNode(parent)) parent = root[`${key}_parent`] = { key: ':root', node: parent }\n\n // if element is STRING\n if (checkIfPrimitive(element)) {\n element = applyValueAsText(element, parent, key)\n }\n\n // define KEY\n const assignedKey = (element.key || key || createID()).toString()\n\n if (checkIfKeyIsComponent(assignedKey)) {\n element = applyKeyComponentAsExtend(element, parent, assignedKey)\n }\n\n // Responsive rendering\n // TODO: move as define plugin\n if (checkIfMedia(assignedKey)) {\n element = applyMediaProps(element, parent, assignedKey)\n }\n\n if (element.__ref) element.__ref.origin = element\n else element.__ref = { origin: element } // eslint-disable-line \n const __ref = element.__ref\n\n // assign context\n applyContext(element, parent, options)\n const { context } = element\n\n if (context && context.components) applyComponentFromContext(element, parent, options)\n\n // create EXTEND inheritance\n applyExtend(element, parent, options)\n\n // create and assign a KEY\n element.key = assignedKey\n\n // Only resolve extends, skip everything else\n if (options.onlyResolveExtends) return resolveExtends(element, parent, options)\n\n if (Object.keys(options).length) {\n registry.defaultOptions = options\n if (options.ignoreChildExtend) delete options.ignoreChildExtend\n }\n\n addCaching(element, parent)\n\n addMethods(element, parent)\n\n // enable STATE\n element.state = createState(element, parent)\n\n // don't render IF in condition\n checkIf(element, parent)\n\n // if it already HAS a NODE\n if (element.node && __ref.__if) { // TODO: check on if\n return assignNode(element, parent, assignedKey)\n }\n\n // apply props settings\n if (__ref.__if) createProps(element, parent)\n\n // run `on.init`\n if (element.on && isFunction(element.on.init)) {\n on.init(element.on.init, element, element.state)\n }\n\n // run `on.beforeClassAssign`\n if (element.on && isFunction(element.on.beforeClassAssign)) {\n on.beforeClassAssign(element.on.beforeClassAssign, element, element.state)\n }\n\n // generate a CLASS name\n assignClass(element)\n\n // CREATE a real NODE\n createNode(element, options)\n\n if (!__ref.__if) return element\n\n // assign NODE\n assignNode(element, parent, key)\n\n // run `on.render`\n if (element.on && isFunction(element.on.render)) {\n on.render(element.on.render, element, element.state)\n }\n\n if (parent.__ref && parent.__ref.__children) parent.__ref.__children.push(element.key)\n // console.groupEnd(element.key)\n\n return element\n}\n\nconst checkIfPrimitive = (element) => {\n return is(element)('string', 'number')\n}\n\nconst applyValueAsText = (element, parent, key) => {\n const extendTag = element.extend && element.extend.tag\n const childExtendTag = parent.childExtend && parent.childExtend.tag\n const isKeyValidHTMLTag = ((TAGS.body.indexOf(key) > -1) && key)\n return {\n text: element,\n tag: extendTag || childExtendTag || isKeyValidHTMLTag || 'string'\n }\n}\n\nconst addMethods = (element, parent) => {\n // assign METHODS\n element.set = set\n element.update = update\n element.remove = remove\n element.removeContent = removeContentElement\n element.setProps = setProps\n element.lookup = lookup\n element.spotByPath = spotByPath\n element.parse = parse\n element.parseDeep = parseDeep\n element.keys = keys\n element.nextElement = nextElement\n element.previousElement = previousElement\n if (ENV === 'test' || ENV === 'development') {\n element.log = log\n }\n}\n\nconst applyContext = (element, parent, options) => {\n if (options.context && !root.context && !element.context) root.context = options.context\n if (!element.context) element.context = parent.context || options.context || root.context\n}\n\nconst checkIf = (element, parent) => {\n const { __ref } = element\n\n if (isFunction(element.if)) {\n // TODO: move as fragment\n const ifPassed = element.if(element, element.state)\n if (!ifPassed) {\n const ifFragment = cacheNode({ tag: 'fragment' })\n __ref.__ifFragment = appendNode(ifFragment, parent.node)\n delete __ref.__if\n } else __ref.__if = true\n } else __ref.__if = true\n}\n\nconst addCaching = (element, parent) => {\n const { __ref } = element\n let { __ref: __parentRef } = parent\n\n // enable TRANSFORM in data\n if (!element.transform) element.transform = {}\n\n // enable CACHING\n if (!__ref.__cached) __ref.__cached = {}\n\n // enable EXEC\n if (!__ref.__exec) __ref.__exec = {}\n\n // enable CLASS CACHING\n if (!__ref.__class) __ref.__class = {}\n if (!__ref.__classNames) __ref.__classNames = {}\n\n // enable CLASS CACHING\n if (!__ref.__attr) __ref.__attr = {}\n\n // enable CHANGES storing\n if (!__ref.__changes) __ref.__changes = []\n\n // enable CHANGES storing\n if (!__ref.__children) __ref.__children = []\n\n // Add _root element property\n const hasRoot = parent && parent.key === ':root'\n if (!__ref.__root) __ref.__root = hasRoot ? element : parent.__ref.__root\n\n // set the PATH array\n if (ENV === 'test' || ENV === 'development') {\n if (!__parentRef) __parentRef = parent.__ref = {}\n if (!__parentRef.__path) __parentRef.__path = []\n __ref.__path = __parentRef.__path.concat(element.key)\n }\n}\n\nconst resolveExtends = (element, parent, options) => {\n const { __ref } = element\n element.tag = detectTag(element)\n\n if (!__ref.__exec) __ref.__exec = {}\n if (!__ref.__attr) __ref.__attr = {}\n\n element.props = createProps(element, parent)\n element.state = createState(element, parent, { skip: true })\n\n throughInitialExec(element)\n\n for (const param in element) {\n const prop = element[param]\n if (isMethod(param) || isObject(registry[param]) || prop === undefined) continue\n\n const hasDefined = element.define && element.define[param]\n const ourParam = registry[param]\n const hasOptionsDefine = options.define && options.define[param]\n if (ourParam && !hasOptionsDefine) {\n continue // if (isFunction(ourParam)) ourParam(prop, element, element.node, options)\n } else if (element[param] && !hasDefined && !hasOptionsDefine) {\n create(exec(prop, element), element, param, options)\n }\n }\n\n // createNode(element, options)\n\n delete element.parent\n delete element.update\n delete element.__element\n\n // added by createProps\n delete element.__props // TODO: check with @Nikaoto and remove\n delete element.props.props\n\n // added by createState\n delete element.state.__element\n delete element.state.__element\n delete element.__hasRootState // TODO: check with @Nikaoto and remove\n delete element.__ref\n\n\n return element\n}\n\nconst checkIfKeyIsComponent = (key) => {\n const isFirstKeyString = isString(key)\n if (!isFirstKeyString) return\n\n const firstCharKey = key.slice(0, 1)\n\n return /^[A-Z]*$/.test(firstCharKey)\n}\n\nconst extendizeByKey = (element, parent, key) => {\n const { extend, props, state, childExtend, childProps } = element\n const hasComponentAttrs = extend || childExtend || props || state || element.on\n const componentKey = key.split('_')[0]\n if (!hasComponentAttrs || childProps) {\n return {\n extend: componentKey || key,\n props: { ...element }\n }\n } else if (!extend || extend === true) {\n return {\n ...element,\n extend: componentKey || key\n }\n }\n}\n\nconst applyKeyComponentAsExtend = (element, parent, key) => {\n return extendizeByKey(element, parent, key) || element\n}\n\nconst applyComponentFromContext = (element, parent, options) => {\n const { context } = element\n const { components } = context\n const { extend } = element\n const execExtend = exec(extend, element)\n if (isString(execExtend)) {\n if (components[execExtend]) element.extend = components[execExtend]\n else {\n if ((ENV === 'test' || ENV === 'development') && options.verbose) {\n console.warn(execExtend, 'is not in library', components, element)\n console.warn('replacing with ', {})\n }\n element.extend = {}\n }\n }\n}\n\nconst checkIfMedia = (key) => key.slice(0, 1) === '@'\n\nconst applyMediaProps = (element, parent, key) => {\n const { props } = element\n if (props) {\n props.display = 'none'\n if (props[key]) props[key].display = props.display\n else props[key] = { display: props.display || 'block' }\n return element\n } else {\n return {\n ...element,\n props: {\n display: 'none',\n [key]: { display: 'block' }\n }\n }\n }\n}\n\nexport default create\n", "'use strict'\n\nimport { exec, isFunction, isObject } from '@domql/utils'\nimport create from './create'\nimport cacheNode from './cache'\nimport * as on from '../event/on'\n\nimport {\n throughInitialDefine,\n throughInitialExec,\n applyEvents\n} from './iterate'\nimport { registry } from './mixins'\nimport { isMethod } from './methods'\n// import { defineSetter } from './methods'\n\nconst ENV = process.env.NODE_ENV\n\n// const defineSetter = (element, key) => Object.defineProperty(element, key, {\n// get: function () {\n// console.log('GET', key)\n// return element.__data[key]\n// },\n// set: function (new_value) {\n// console.log('SET', key, new_value)\n// element.__data[key] = new_value\n// element.__data['modified'] = (new Date()).getTime()\n// }\n// })\n\nexport const createNode = (element, options) => {\n // create and assign a node\n let { node, tag, context, __ref } = element\n\n let isNewNode\n\n if (!node) {\n isNewNode = true\n\n if (!__ref.__if) return element\n\n if (tag === 'shadow') {\n node = element.node = element.parent.node.attachShadow({ mode: 'open' })\n } else node = element.node = cacheNode(element)\n\n // run `on.attachNode`\n if (element.on && isFunction(element.on.attachNode)) {\n on.attachNode(element.on.attachNode, element, element.state)\n }\n }\n\n // node.dataset // .key = element.key\n\n if (ENV === 'test' || ENV === 'development') {\n node.ref = element\n if (isFunction(node.setAttribute)) node.setAttribute('key', element.key)\n }\n\n if (!__ref.__if) return element\n\n // iterate through all given params\n if (element.tag !== 'string' || element.tag !== 'fragment') {\n // iterate through define\n throughInitialDefine(element)\n\n // iterate through exec\n throughInitialExec(element)\n\n // apply events\n if (isNewNode && isObject(element.on)) applyEvents(element)\n\n for (const param in element) {\n const prop = element[param]\n\n if (isMethod(param) || isObject(registry[param]) || prop === undefined) continue\n\n const DOMQLProperty = registry[param]\n const DOMQLPropertyFromContext = context && context.registry && context.registry[param]\n const isGlobalTransformer = DOMQLPropertyFromContext || DOMQLProperty\n\n const hasDefine = element.define && element.define[param]\n const hasContextDefine = context && context.define && context.define[param]\n\n // Check if param is in our method registry\n if (isGlobalTransformer && !hasContextDefine) {\n if (isFunction(isGlobalTransformer)) isGlobalTransformer(prop, element, node, options)\n } else if (element[param] && !hasDefine && !hasContextDefine) {\n // Create element\n create(exec(prop, element), element, param, options)\n }\n }\n }\n\n // node.dataset.key = key\n return element\n}\n\nexport default createNode\n", "'use strict'\n\nimport { isObject, exec, isFunction, isNumber, isString } from '@domql/utils'\nimport { overwrite } from '../utils'\nimport { isMethod } from './methods'\n\nexport const applyEvents = element => {\n const { node, on } = element\n for (const param in on) {\n if (\n param === 'init' ||\n param === 'render' ||\n param === 'update'\n ) continue\n\n const appliedFunction = element.on[param]\n if (isFunction(appliedFunction)) {\n node.addEventListener(param, event =>\n appliedFunction(event, element, element.state),\n true)\n }\n }\n}\n\nexport const throughInitialExec = element => {\n const { __ref } = element\n const { __exec } = __ref\n for (const param in element) {\n const prop = element[param]\n if (isFunction(prop) && !isMethod(param)) {\n __exec[param] = prop\n element[param] = prop(element, element.state)\n }\n }\n}\n\nexport const throughUpdatedExec = (element, options) => {\n const { __ref } = element\n const { __exec, __cached } = __ref\n const changes = {}\n\n for (const param in __exec) {\n const prop = element[param]\n const newExec = __exec[param](element, element.state)\n\n // if element is string\n if (prop && prop.node && (isString(newExec) || isNumber(newExec))) {\n overwrite(prop, { text: newExec }, options)\n } else if (newExec !== prop) {\n __cached[param] = changes[param] = prop\n element[param] = newExec\n }\n }\n\n return changes\n}\n\nexport const throughInitialDefine = (element) => {\n const { define, context, __ref } = element\n const { __exec, __cached } = __ref\n\n let obj = {}\n if (isObject(define)) obj = { ...define }\n if (context && isObject(context.define)) obj = { ...obj, ...context.define }\n\n for (const param in obj) {\n let prop = element[param]\n\n if (isFunction(prop) && !isMethod(param)) {\n __exec[param] = prop\n element[param] = prop = exec(prop, element)\n }\n\n __cached[param] = prop\n element[param] = obj[param](prop, element, element.state)\n }\n return element\n}\n\nexport const throughUpdatedDefine = (element) => {\n const { context, define, __ref } = element\n const { __exec, __cached } = __ref\n const changes = {}\n\n let obj = {}\n if (isObject(define)) obj = { ...define }\n if (isObject(context && context.define)) obj = { ...obj, ...context.define }\n\n for (const param in obj) {\n const execParam = __exec[param]\n if (execParam) __cached[param] = execParam(element, element.state)\n const cached = exec(__cached[param], element)\n element[param] = obj[param](cached, element, element.state)\n }\n return changes\n}\n", "'use strict'\n\nimport { isFunction, isObjectLike } from '@domql/utils'\nimport { parseFilters, registry } from './mixins'\nimport root from './root'\n\nconst ENV = process.env.NODE_ENV\n\n// TODO: update these files\nexport const lookup = function (key) {\n const element = this\n let { parent } = element\n\n while (parent.key !== key) {\n if (parent[key]) return parent[key]\n parent = parent.parent\n if (!parent) return\n }\n\n return parent\n}\n\n// TODO: update these files\nexport const spotByPath = function (path) {\n const element = this\n const arr = [].concat(path)\n let active = root[arr[0]]\n\n if (!arr || !arr.length) return console.log(arr, 'on', element.key, 'is undefined')\n\n while (active.key === arr[0]) {\n arr.shift()\n if (!arr.length) break\n active = active[arr[0]]\n if (!active) return\n }\n\n return active\n}\n\nexport const remove = function (params) {\n const element = this\n if (isFunction(element.node.remove)) element.node.remove()\n else if (ENV === 'test' || ENV === 'development') {\n console.warn('This item cant be removed')\n element.log()\n }\n delete element.parent[element.key]\n}\n\nexport const get = function (param) {\n const element = this\n return element[param]\n}\n\nexport const set = function () {\n}\n\nexport const update = function () {\n}\n\nexport const setProps = function (param, options) {\n const element = this\n if (!param || !element.props) return\n element.update({ props: param }, options)\n return element\n}\n\nexport const defineSetter = (element, key, get, set) =>\n Object.defineProperty(element, key, { get, set })\n\nexport const keys = function () {\n const element = this\n const keys = []\n for (const param in element) {\n if (registry[param] && !parseFilters.elementKeys.includes(param)) { continue }\n keys.push(param)\n }\n return keys\n}\n\nexport const parse = function () {\n const element = this\n const obj = {}\n const keyList = keys.call(element)\n keyList.forEach(v => (obj[v] = element[v]))\n return obj\n}\n\nexport const parseDeep = function () {\n const element = this\n const obj = parse.call(element)\n for (const k in obj) {\n if (isObjectLike(obj[k])) { obj[k] = parseDeep.call(obj[k]) }\n }\n return obj\n}\n\nexport const log = function (...args) {\n const element = this\n const { __ref } = element\n console.group(element.key)\n if (args.length) {\n args.forEach(v => console.log(`%c${v}:\\n`, 'font-weight: bold', element[v]))\n } else {\n console.log(__ref.path)\n const keys = element.keys()\n keys.forEach(v => console.log(`%c${v}:\\n`, 'font-weight: bold', element[v]))\n }\n console.groupEnd(element.key)\n return element\n}\n\nexport const isMethod = function (param) {\n return param === 'set' ||\n param === 'update' ||\n param === 'remove' ||\n param === 'removeContent' ||\n param === 'lookup' ||\n param === 'spotByPath' ||\n param === 'keys' ||\n param === 'parse' ||\n param === 'setProps' ||\n param === 'parseDeep' ||\n param === 'if' ||\n param === 'log' ||\n param === 'nextElement' ||\n param === 'previousElement'\n}\n\nexport const nextElement = function () {\n const element = this\n const { key, parent } = element\n const { __children } = parent.__ref\n\n const currentIndex = __children.indexOf(key)\n const nextChild = __children[currentIndex + 1]\n console.log(nextChild)\n\n return parent[nextChild]\n}\n\nexport const previousElement = function (el) {\n const element = el || this\n const { key, parent } = element\n const { __children } = parent.__ref\n\n if (!__children) return\n\n const currentIndex = __children.indexOf(key)\n return parent[__children[currentIndex - 1]]\n}\n", "'use strict'\n\nimport { exec, isNot } from '@domql/utils'\nimport { report } from '@domql/report'\n\n/**\n * Recursively add attributes to a DOM node\n */\nexport default (params, element, node) => {\n const { __ref } = element\n const { __attr } = __ref\n if (isNot('object')) report('HTMLInvalidAttr', params)\n if (params) {\n for (const attr in params) {\n const val = exec(params[attr], element)\n // if (__attr[attr] === val) return\n if (val && node.setAttribute) node.setAttribute(attr, val)\n else if (node.removeAttribute) node.removeAttribute(attr)\n __attr[attr] = val\n }\n }\n console.groupEnd(params, __attr)\n}\n", "'use strict'\n\nimport { exec, isObject, isString } from '@domql/utils'\n\nexport const assignClass = (element) => {\n const { key } = element\n if (element.class === true) element.class = key\n else if (!element.class && typeof key === 'string' && key.charAt(0) === '_' && key.charAt(1) !== '_') {\n element.class = key.slice(1)\n }\n}\n\n// stringifies class object\nexport const classify = (obj, element) => {\n let className = ''\n for (const item in obj) {\n const param = obj[item]\n if (typeof param === 'boolean' && param) className += ` ${item}`\n else if (typeof param === 'string') className += ` ${param}`\n else if (typeof param === 'function') {\n className += ` ${exec(param, element)}`\n }\n }\n return className\n}\n\nexport default (params, element, node, live) => {\n if (!params) return\n const { key } = element // eslint-disable-line\n if (params === true) params = element.class = { key }\n if (isString(params)) params = element.class = { default: params }\n if (isObject(params)) params = classify(params, element)\n // TODO: fails on string\n const className = params.replace(/\\s+/g, ' ').trim()\n node.classList = className\n return className\n}\n", "'use strict'\n\nimport { isEqualDeep, isFunction } from '@domql/utils'\nimport create from './create'\nimport { registry } from './mixins'\nimport OPTIONS from './options'\n\nexport const removeContentElement = function (el) {\n const element = el || this\n const { __ref } = element\n\n if (element.content) {\n if (element.content.node) {\n if (element.content.tag === 'fragment') element.node.innerHTML = ''\n else element.node.removeChild(element.content.node)\n }\n\n const { __cached } = __ref\n if (__cached && __cached.content) {\n if (__cached.content.tag === 'fragment') __cached.content.parent.node.innerHTML = ''\n else if (__cached.content && isFunction(__cached.content.remove)) __cached.content.remove()\n }\n\n delete element.content\n }\n}\n\nconst set = function (params, options = {}, el) {\n const element = el || this\n const __contentRef = element.content && element.content.__ref\n\n const isEqual = isEqualDeep(params, element.content)\n // console.error(params)\n if (isEqual && __contentRef && __contentRef.__cached) return element\n removeContentElement(element)\n\n if (params) {\n const { childExtend } = params\n if (!childExtend && element.childExtend) params.childExtend = element.childExtend\n create(params, element, 'content', {\n ignoreChildExtend: true,\n ...registry.defaultOptions,\n ...OPTIONS.create,\n ...options\n })\n }\n\n return element\n}\n\nexport default set\n", "'use strict'\n\nexport default {}\n", "'use strict'\n\nimport set from '../set'\n\n/**\n * Appends anything as content\n * an original one as a child\n */\nexport default (param, element, node, options) => {\n if (param && element) {\n if (param.__hash === element.content.__hash && element.content.update) {\n if (!element.content.__ref) element.content.__ref = {}\n element.content.update(param)\n } else {\n set.call(element, param, options)\n }\n }\n}\n", "'use strict'\n\nimport { exec, isObject } from '@domql/utils'\nimport { report } from '@domql/report'\n\n/**\n * Apply data parameters on the DOM nodes\n * this should only work if `showOnNode: true` is passed\n */\nexport default (params, element, node) => {\n if (params && params.showOnNode) {\n if (!isObject(params)) report('HTMLInvalidData', params)\n\n // Apply data params on node\n for (const dataset in params) {\n if (dataset !== 'showOnNode') {\n node.dataset[dataset] = exec(params[dataset], element)\n }\n }\n }\n}\n", "'use strict'\n\nimport { exec } from '@domql/utils'\n\n/**\n * Appends raw HTML as content\n * an original one as a child\n */\nexport default (param, element, node) => {\n const prop = exec(param, element)\n const { __ref } = element\n if (prop !== __ref.__html) {\n // const parser = new window.DOMParser()\n // param = parser.parseFromString(param, 'text/html')\n if (node.nodeName === 'SVG') node.textContent = prop\n else node.innerHTML = prop\n\n __ref.__html = prop\n }\n}\n", "'use strict'\n\nimport { isObject, map } from '@domql/utils'\nimport { report } from '@domql/report'\n\n/**\n * Recursively add styles to a DOM node\n */\nexport default (params, element, node) => {\n if (params) {\n if (isObject(params)) map(node.style, params, element)\n else report('HTMLInvalidStyles', params)\n }\n}\n", "'use strict'\n\nimport { create } from '..'\nimport { exec } from '@domql/utils'\n\n/**\n * Creates a text node and appends into\n * an original one as a child\n */\nexport const asd = (param, element, node) => {\n const prop = exec(param, element)\n if (element.tag === 'string') {\n node.nodeValue = prop\n } else if (param !== undefined || param !== null) {\n if (element.__text && element.__text.text !== prop) return\n element.__text.text = prop\n if (element.__text.node) element.__text.node.nodeValue = prop\n else create({ tag: 'string', text: prop }, element, '__text')\n }\n}\n\nexport default (param, element, node) => {\n const prop = exec(param, element)\n if (element.tag === 'string') {\n if (element.text === prop) return\n node.nodeValue = prop\n } else if (param !== undefined || param !== null) {\n if (element.__text) {\n if (element.__text.text === prop) return\n element.__text.text = prop\n if (element.__text.node) element.__text.node.nodeValue = prop\n } else create({ tag: 'string', text: prop }, element, '__text')\n }\n}\n", "'use strict'\n\nimport { exec, isObject } from '@domql/utils'\nimport { IGNORE_STATE_PARAMS } from '../state'\n\nexport default (params, element, node) => {\n const state = exec(params, element)\n\n if (isObject(state)) {\n for (const param in state) {\n if (IGNORE_STATE_PARAMS.includes(param)) continue\n element.state[param] = exec(state[param], element)\n }\n }\n\n return element\n}\n", "'use strict'\n\nimport { on } from '../event'\nimport { is, isObject, exec, isFunction, isUndefined } from '@domql/utils'\nimport { deepClone, overwriteShallow, overwriteDeep } from '../utils'\n\nexport const IGNORE_STATE_PARAMS = [\n 'update', 'parse', 'clean', 'create', 'parent', '__element', '__depends', '__ref', '__root',\n '__components',\n '__projectSystem', '__projectState', '__projectComponents', '__projectPages', '__projectSnippets',\n 'projectStateUpdate', 'projectSystemUpdate'\n]\n\nexport const parseState = function () {\n const state = this\n const parseState = {}\n for (const param in state) {\n if (!IGNORE_STATE_PARAMS.includes(param)) {\n parseState[param] = state[param]\n }\n }\n return parseState\n}\n\nexport const cleanState = function () {\n const state = this\n for (const param in state) {\n if (!IGNORE_STATE_PARAMS.includes(param)) {\n delete state[param]\n }\n }\n return state\n}\n\nexport const projectSystemUpdate = function (obj, options = {}) {\n const state = this\n if (!state) return\n const rootState = (state.__element.__ref.__root || state.__element).state\n rootState.update({ PROJECT_SYSTEM: obj }, options)\n return state\n}\n\nexport const projectStateUpdate = function (obj, options = {}) {\n const state = this\n if (!state) return\n const rootState = (state.__element.__ref.__root || state.__element).state\n rootState.update({ PROJECT_STATE: obj }, options)\n return state\n}\n\nexport const updateState = function (obj, options = {}) {\n const state = this\n const element = state.__element\n const __elementRef = element.__ref\n state.parent = element.parent.state\n\n if (!state.__element) createState(element, element.parent)\n\n // run `on.stateUpdated`\n if (element.on && isFunction(element.on.initStateUpdated)) {\n const initReturns = on.initStateUpdated(element.on.initStateUpdated, element, state, obj)\n if (initReturns === false) return\n }\n\n const stateKey = __elementRef.__state\n if (stateKey) {\n // TODO: check for double parent\n if (state.parent && state.parent[stateKey]) {\n const keyInParentState = state.parent[stateKey]\n if (keyInParentState && !options.stopStatePropogation) {\n if (__elementRef.__stateType === 'string') {\n return state.parent.update({ [stateKey]: obj.value }, options)\n }\n return state.parent.update({ [stateKey]: obj }, options)\n }\n }\n } else {\n if (options && options.shallow) {\n overwriteShallow(state, obj, IGNORE_STATE_PARAMS)\n } else {\n overwriteDeep(state, obj, IGNORE_STATE_PARAMS)\n }\n }\n\n // TODO: try debounce\n if (!options.preventUpdate) { element.update({}, options) } else if (options.preventUpdate === 'recursive') { element.update({}, { ...options, preventUpdate: true }) }\n\n if (state.__depends) {\n for (const el in state.__depends) {\n const findElement = state.__depends[el]\n findElement.clean().update(state.parse(), options)\n }\n }\n\n if (!options.preventUpdateListener && element.on && isFunction(element.on.stateUpdated)) {\n on.stateUpdated(element.on.stateUpdated, element, state, obj)\n }\n}\n\nexport const createState = function (element, parent, opts) {\n const skip = (opts && opts.skip) ? opts.skip : false\n\n let { state, __ref: __elementRef } = element\n\n if (isFunction(state)) state = exec(state, element)\n\n if (is(state)('string', 'number')) {\n __elementRef.__state = state\n state = {}\n }\n if (state === true) {\n __elementRef.__state = element.key\n state = {}\n }\n\n if (!state) {\n if (parent && parent.state) return parent.state\n return {}\n } else {\n __elementRef.__hasRootState = true\n }\n\n // run `on.init`\n if (element.on && isFunction(element.on.stateInit)) {\n on.stateInit(element.on.stateInit, element, element.state)\n }\n\n let stateKey = __elementRef.__state\n if (stateKey) {\n let parentState = parent.state\n const parentKeysArr = stateKey.split('../')\n for (let i = 1; i < parentKeysArr.length; i++) {\n stateKey = parentKeysArr[i]\n parentState = parentState.parent\n }\n const childrenKeysArr = stateKey.split('.')\n for (let i = 0; i < childrenKeysArr.length; i++) {\n const childKey = childrenKeysArr[i]\n const grandChildKey = childrenKeysArr[i + 1]\n const childInParent = parentState[childKey]\n if (childInParent && childInParent[grandChildKey]) {\n stateKey = grandChildKey\n parentState = childInParent\n }\n }\n if (parentState && parentState[stateKey]) {\n const keyInParentState = parentState[stateKey]\n if (is(keyInParentState)('object', 'array')) {\n state = deepClone(keyInParentState)\n } else if (is(keyInParentState)('string', 'number')) {\n state = { value: keyInParentState }\n __elementRef.__stateType = 'string'\n } else if (isUndefined(keyInParentState)) {\n console.warn(stateKey, 'is not in present', 'replacing with ', {})\n state = {}\n }\n }\n }\n\n // reference other state\n const { __ref } = state\n if (__ref) {\n state = deepClone(__ref, IGNORE_STATE_PARAMS)\n if (isObject(__ref.__depends)) {\n __ref.__depends[element.key] = state\n } else __ref.__depends = { [element.key]: state }\n } else {\n state = deepClone(state, IGNORE_STATE_PARAMS)\n }\n\n element.state = state\n\n // NOTE: Only true when 'onlyResolveExtends' option is set to true\n if (skip) return state\n\n state.clean = cleanState\n state.parse = parseState\n state.update = updateState\n state.create = createState\n state.parent = element.parent.state\n state.__element = element\n state.__root = __elementRef.__root ? __elementRef.__root.state : state\n\n // editor stuff\n state.projectSystemUpdate = projectSystemUpdate\n state.projectStateUpdate = projectStateUpdate\n state.__components = state.__root.COMPONENTS\n state.__projectSystem = state.__root.PROJECT_SYSTEM\n state.__projectState = state.__root.PROJECT_STATE\n state.__projectComponents = state.__root.PROJECT_COMPONENTS\n state.__projectPages = state.__root.PROJECT_PAGES\n state.__projectSnippets = state.__root.PROJECT_SNIPPETS\n\n // run `on.stateCreated`\n if (element.on && isFunction(element.on.stateCreated)) {\n on.stateCreated(element.on.stateCreated, element, state)\n }\n\n return state\n}\n\nexport default createState\n", "'use strict'\n\nimport {\n attr, classList, content,\n data, html, state, style,\n text\n} from '.'\n\nexport default {\n attr,\n style,\n text,\n html,\n content,\n data,\n class: classList,\n state,\n\n extend: {},\n childExtend: {},\n childExtendRecursive: {},\n props: {},\n path: {},\n if: {},\n define: {},\n transform: {},\n __ref: {},\n __hash: {},\n __text: {},\n nextElement: {},\n previousElement: {},\n key: {},\n tag: {},\n query: {},\n parent: {},\n node: {},\n set: {},\n update: {},\n setProps: {},\n remove: {},\n removeContent: {},\n lookup: {},\n spotByPath: {},\n keys: {},\n log: {},\n parse: {},\n parseDeep: {},\n on: {},\n component: {},\n context: {}\n}\n\n// List of keys for .parse() and .parseDeep() to include in the result.\n// Keys not in the array are excluded.\nexport const parseFilters = {\n elementKeys: [\n 'tag', 'text', 'style', 'attr', 'class', 'state', 'class',\n 'data', 'content', 'html', 'on'\n // TODO: 'props' ?\n ],\n propsKeys: ['__element'],\n stateKeys: []\n}\n", "'use strict'\n\n/**\n * Receives child and parent nodes as parametes\n * and assigns them into real DOM tree\n */\nexport const appendNode = (node, parentNode) => {\n parentNode.appendChild(node)\n return node\n}\n\n/**\n * Receives elements and assigns the first\n * parameter as a child of the second one\n */\nexport const assignNode = (element, parent, key) => {\n parent[key || element.key] = element\n if (element.tag !== 'shadow') {\n appendNode(element.node, parent.node)\n }\n return element\n}\n", "'use strict'\n\nimport { isFunction, exec, isString } from '@domql/utils'\nimport { getExtendStack, jointStacks, cloneAndMergeArrayExtend, deepMergeExtend } from '../utils'\n\nconst ENV = process.env.NODE_ENV\n\n/**\n * Checks whether element has `extend` or is a part\n * of parent's `childExtend` extend\n */\nexport const applyExtend = (element, parent, options = {}) => {\n if (isFunction(element)) element = exec(element, parent)\n\n let { extend, props, context, __ref } = element\n const COMPONENTS = (context && context.components) || options.components\n\n if (isString(extend)) extend = COMPONENTS[extend]\n const extendStack = getExtendStack(extend)\n\n if (ENV !== 'test' || ENV !== 'development') delete element.extend\n\n let childExtendStack = []\n if (parent) {\n // Assign parent attr to the element\n element.parent = parent\n if (!options.ignoreChildExtend) {\n if (props && props.ignoreChildExtend) return\n\n childExtendStack = getExtendStack(parent.childExtend)\n\n if (parent.childExtendRecursive) {\n const childExtendRecursiveStack = getExtendStack(parent.childExtendRecursive)\n childExtendStack = childExtendStack.concat(childExtendRecursiveStack)\n element.childExtendRecursive = parent.childExtendRecursive\n }\n }\n }\n\n const extendLength = extendStack.length\n const childExtendLength = childExtendStack.length\n\n let stack = []\n if (extendLength && childExtendLength) {\n stack = jointStacks(extendStack, childExtendStack)\n } else if (extendLength) {\n stack = extendStack\n } else if (childExtendLength) {\n stack = childExtendStack\n } else if (!options.extend) return element\n\n if (options.extend) {\n const defaultOptionsExtend = getExtendStack(options.extend)\n stack = [].concat(stack, defaultOptionsExtend)\n }\n\n __ref.__extend = stack\n let mergedExtend = cloneAndMergeArrayExtend(stack)\n\n const component = exec(element.component || mergedExtend.component, element)\n if (component && COMPONENTS && COMPONENTS[component]) {\n const componentExtend = cloneAndMergeArrayExtend(getExtendStack(COMPONENTS[component]))\n mergedExtend = deepMergeExtend(componentExtend, mergedExtend)\n }\n\n return deepMergeExtend(element, mergedExtend)\n}\n", "'use strict'\n\nimport { exec, isArray, isObject, isString } from '@domql/utils'\nimport { deepClone, deepMerge } from '../utils'\n\nconst createPropsStack = (element, parent) => {\n const { props, __ref } = element\n const propsStack = __ref.propsStack = []\n\n const isMatch = isString(props) && props.indexOf('match') > -1\n const matchParent = parent.props && parent.props[element.key]\n const matchParentChild = parent.props && parent.props.childProps\n\n const objectizeStringProperty = propValue => {\n if (isString(propValue)) return { inheritedString: propValue }\n return propValue\n }\n\n if (matchParent && props !== 'match') propsStack.push(matchParent)\n if (matchParentChild) propsStack.push(matchParentChild)\n\n if (isObject(props)) {\n propsStack.push(props)\n }\n\n if (props === 'inherit') {\n if (parent.props) propsStack.push(parent.props)\n } else if (isMatch) {\n const hasArg = props.split(' ')\n let matchParentValue\n // console.log('hasArg', hasArg)\n if (hasArg[1] && parent.props[hasArg[1]]) {\n const secondArgasParentMatchProp = parent.props[hasArg[1]]\n propsStack.push(\n objectizeStringProperty(secondArgasParentMatchProp)\n )\n } else if (matchParent) {\n propsStack.push(\n objectizeStringProperty(matchParent)\n )\n }\n propsStack.push(matchParentValue)\n } else if (props) propsStack.push(props)\n\n if (isArray(__ref.__extend)) {\n __ref.__extend.map(extend => {\n if (extend.props) propsStack.push(extend.props)\n return extend.props\n })\n }\n\n return propsStack\n}\n\nconst inheritProps = (element, parent) => {\n element.props = (parent && parent.props) || { update, __element: element }\n}\n\nexport const syncProps = (props, element) => {\n element.props = {}\n const mergedProps = { update, __element: element }\n props.forEach(v => {\n if (v === 'update' || v === '__element') return\n const execProps = exec(v, element)\n if (isObject(execProps) && execProps.__element) return\n element.props = deepMerge(mergedProps, deepClone(execProps))\n })\n element.props = mergedProps\n return element.props\n}\n\nconst createProps = function (element, parent, cached) {\n const propsStack = cached || createPropsStack(element, parent)\n const { __ref } = element\n\n if (propsStack.length) {\n __ref.__props = propsStack\n syncProps(propsStack, element)\n element.props.update = update\n } else inheritProps(element, parent)\n\n return element\n}\n\nexport const updateProps = (newProps, element, parent) => {\n const { __ref } = element\n let propsStack = __ref.__props\n\n if (newProps) propsStack = __ref.__props = [].concat(newProps, propsStack)\n\n if (propsStack) syncProps(propsStack, element)\n else inheritProps(element, parent)\n\n // console.log(cachedProps)\n return element\n}\n\nfunction update (props, options) {\n const element = this.__element\n // element.update({ props })\n element.update({ props }, options)\n}\n\nexport default createProps\n", "'use strict'\n\nimport { window } from '@domql/globals'\nimport { diff, isFunction, isNumber, isObject, isString, createSnapshotId } from '@domql/utils'\nimport { merge, overwrite } from '../utils'\n\nimport { on } from '../event'\nimport create from './create'\nimport { throughUpdatedDefine, throughUpdatedExec } from './iterate'\nimport { isMethod } from './methods'\nimport { registry } from './mixins'\nimport { updateProps } from './props'\nimport createState from './state'\n\nconst snapshot = {\n snapshotId: createSnapshotId\n}\n\nconst UPDATE_DEFAULT_OPTIONS = {\n stackChanges: false,\n cleanExec: true,\n preventRecursive: false,\n currentSnapshot: false,\n calleeElement: false\n}\n\nconst update = function (params = {}, options = UPDATE_DEFAULT_OPTIONS) {\n const element = this\n const { parent, node, context } = element\n\n let __ref = element.__ref\n if (!__ref) __ref = element.__ref = {}\n\n const { currentSnapshot, calleeElement } = options\n if (!calleeElement) {\n __ref.__currentSnapshot = snapshot.snapshotId()\n }\n\n const snapshotOnCallee = __ref.__currentSnapshot ||\n (calleeElement && calleeElement.__ref && calleeElement.__currentSnapshot)\n if (snapshotOnCallee && currentSnapshot < snapshotOnCallee) {\n // TODO: stop previous update\n }\n\n if (isString(params) || isNumber(params)) {\n params = { text: params }\n }\n\n if (isFunction(element.if)) {\n // TODO: move as fragment\n const ifPassed = element.if(element, element.state)\n const itWasFalse = !__ref.__if\n\n if (ifPassed) __ref.__if = true\n if (itWasFalse && ifPassed) {\n delete element.__hash\n if (!__ref.__hasRootState) delete element.state\n if (__ref.__state) element.state = __ref.__state\n const created = create(element, element.parent, element.key)\n if (!options.preventUpdate && element.on && isFunction(element.on.update)) {\n on.update(element.on.update, created, created.state)\n }\n return created\n } else if (element.node && !ifPassed) {\n element.node.remove()\n delete __ref.__if\n }\n }\n\n if (__ref.__state) {\n const keyInParentState = parent.state[__ref.__state]\n if (keyInParentState) {\n const newState = __ref.__stateType === 'string'\n ? createState(element, parent)\n : createState(element, parent)\n const changes = diff(newState.parse(), element.state.parse())\n\n // run `on.stateUpdated`\n if (element.on && isFunction(element.on.initStateUpdated)) {\n const initReturns = on.initStateUpdated(element.on.initStateUpdated, element, element.state, changes)\n if (initReturns === false) return\n }\n\n element.state = newState\n\n if (!options.preventUpdateListener && element.on && isFunction(element.on.stateUpdated)) {\n on.stateUpdated(element.on.stateUpdated, element, element.state, changes)\n }\n }\n } else if (!__ref.__hasRootState) element.state = (parent && parent.state) || {}\n\n if (__ref.__if && !options.preventPropsUpdate) updateProps(params.props, element, parent)\n\n if (element.on && isFunction(element.on.initUpdate) && !options.ignoreInitUpdate) {\n const whatinitreturns = on.initUpdate(element.on.initUpdate, element, element.state)\n if (whatinitreturns === false) return\n }\n\n const overwriteChanges = overwrite(element, params, UPDATE_DEFAULT_OPTIONS)\n const execChanges = throughUpdatedExec(element, UPDATE_DEFAULT_OPTIONS)\n const definedChanges = throughUpdatedDefine(element)\n\n if (options.stackChanges && element.__stackChanges) {\n const stackChanges = merge(definedChanges, merge(execChanges, overwriteChanges))\n element.__stackChanges.push(stackChanges)\n }\n\n if (!__ref.__if) return false\n if (!node) {\n // return createNode(element, options)\n return\n }\n\n for (const param in element) {\n const prop = element[param]\n\n if (\n options.preventDefineUpdate === true ||\n options.preventDefineUpdate === param ||\n (options.preventContentUpdate && param === 'content') ||\n (options.preventStateUpdate && param) === 'state' ||\n isMethod(param) || isObject(registry[param]) || prop === undefined\n ) continue\n if (options.preventStateUpdate === 'once') options.preventStateUpdate = false\n\n const DOMQLProperty = registry[param]\n const DOMQLPropertyFromContext = context && context.registry && context.registry[param]\n const isGlobalTransformer = DOMQLPropertyFromContext || DOMQLProperty\n\n const hasDefine = element.define && element.define[param]\n const hasContextDefine = context && context.define && context.define[param]\n\n if (isGlobalTransformer && !hasContextDefine) {\n if (isFunction(isGlobalTransformer)) isGlobalTransformer(prop, element, node, options)\n } else if (prop && isObject(prop) && !hasDefine && !hasContextDefine) {\n if (!options.preventRecursive) {\n const childUpdateCall = () => update.call(prop, params[prop], {\n ...options,\n currentSnapshot: snapshotOnCallee,\n calleeElement: element\n })\n if (element.props.lazyLoad || options.lazyLoad) {\n window.requestAnimationFrame(() => childUpdateCall())\n } else childUpdateCall()\n }\n }\n }\n\n if (!options.preventUpdate && element.on && isFunction(element.on.update)) {\n on.update(element.on.update, element, element.state)\n }\n}\n\nexport default update\n", "'use strict'\n\nimport { report } from '@domql/report'\nimport { registry } from './mixins'\n\nexport default (params, options = {}) => {\n const { overwrite } = options\n for (const param in params) {\n if (registry[param] && !overwrite) {\n report('OverwriteToBuiltin', param)\n } else registry[param] = params[param]\n }\n}\n", "'use strict'\n\nimport create from './create'\nimport { assignNode } from './assign'\n\nconst parse = (element) => {\n const virtualTree = {\n node: document.createElement('div')\n }\n\n if (element && element.node) assignNode(element, virtualTree)\n else create(element, virtualTree)\n\n return virtualTree.node.innerHTML\n}\n\nexport default parse\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AACA,QAAI,YAAY,OAAO;AACvB,QAAI,mBAAmB,OAAO;AAC9B,QAAI,oBAAoB,OAAO;AAC/B,QAAI,eAAe,OAAO,UAAU;AACpC,QAAI,WAAW,CAAC,QAAQ,QAAQ;AAC9B,eAAS,QAAQ;AACf,kBAAU,QAAQ,MAAM,EAAE,KAAK,IAAI,OAAO,YAAY,KAAK,CAAC;AAAA,IAChE;AACA,QAAI,cAAc,CAAC,IAAI,MAAM,QAAQ,SAAS;AAC5C,UAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;AAClE,iBAAS,OAAO,kBAAkB,IAAI;AACpC,cAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ;AACzC,sBAAU,IAAI,KAAK,EAAE,KAAK,MAAM,KAAK,MAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,MACvH;AACA,aAAO;AAAA,IACT;AACA,QAAI,eAAe,CAAC,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAGzF,QAAI,gBAAgB,CAAC;AACrB,aAAS,eAAe;AAAA,MACtB,OAAO,MAAM;AAAA,MACb,eAAe,MAAM;AAAA,MACrB,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AAAA,MAChB,kBAAkB,MAAM;AAAA,MACxB,UAAU,MAAM;AAAA,MAChB,WAAW,MAAM;AAAA,MACjB,kBAAkB,MAAM;AAAA,MACxB,iBAAiB,MAAM;AAAA,MACvB,WAAW,MAAM;AAAA,MACjB,eAAe,MAAM;AAAA,MACrB,MAAM,MAAM;AAAA,MACZ,MAAM,MAAM;AAAA,MACZ,kBAAkB,MAAM;AAAA,MACxB,IAAI,MAAM;AAAA,MACV,SAAS,MAAM;AAAA,MACf,WAAW,MAAM;AAAA,MACjB,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,YAAY,MAAM;AAAA,MAClB,eAAe,MAAM;AAAA,MACrB,QAAQ,MAAM;AAAA,MACd,OAAO,MAAM;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,cAAc,MAAM;AAAA,MACpB,UAAU,MAAM;AAAA,MAChB,aAAa,MAAM;AAAA,MACnB,gBAAgB,MAAM;AAAA,MACtB,YAAY,MAAM;AAAA,MAClB,OAAO,MAAM;AAAA,MACb,KAAK,MAAM;AAAA,MACX,SAAS,MAAM;AAAA,MACf,OAAO,MAAM;AAAA,MACb,sBAAsB,MAAM;AAAA,MAC5B,YAAY,MAAM;AAAA,MAClB,mBAAmB,MAAM;AAAA,MACzB,gBAAgB,MAAM;AAAA,MACtB,WAAW,MAAM;AAAA,MACjB,eAAe,MAAM;AAAA,MACrB,cAAc,MAAM;AAAA,IACtB,CAAC;AACD,WAAO,UAAU,aAAa,aAAa;AAG3C,QAAI,SAAS;AACb,QAAI,WAAW,OAAO;AAGtB,QAAI,YAAY;AAAA,MACd,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAGA,QAAI,iBAAiB,CAAC,QAAQ,UAAU,KAAK,QAAQ,GAAG;AACxD,QAAI,WAAW,CAAC,QAAQ;AACtB,UAAI,QAAQ;AACV,eAAO;AACT,aAAO,OAAO,QAAQ,YAAY,IAAI,gBAAgB;AAAA,IACxD;AACA,QAAI,WAAW,CAAC,QAAQ,OAAO,QAAQ;AACvC,QAAI,WAAW,CAAC,QAAQ,OAAO,QAAQ;AACvC,QAAI,aAAa,CAAC,QAAQ,OAAO,QAAQ;AACzC,QAAI,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AACjD,QAAI,SAAS,CAAC,QAAQ,QAAQ;AAC9B,QAAI,UAAU,CAAC,QAAQ,MAAM,QAAQ,GAAG;AACxC,QAAI,eAAe,CAAC,QAAQ;AAC1B,UAAI,QAAQ;AACV,eAAO;AACT,aAAO,OAAO,QAAQ;AAAA,IACxB;AACA,QAAI,SAAS,CAAC,SAAS;AACrB,aAAO,OAAO,OAAO,SAAS,WAAW,gBAAgB,OAAO,OAAO,QAAQ,OAAO,SAAS,YAAY,OAAO,KAAK,aAAa,YAAY,OAAO,KAAK,aAAa;AAAA,IAC3K;AACA,QAAI,gBAAgB,CAAC,SAAS;AAC5B,aAAO,OAAO,OAAO,gBAAgB,WAAW,gBAAgB,OAAO,cAAc,QAAQ,OAAO,SAAS,YAAY,SAAS,QAAQ,KAAK,aAAa,KAAK,OAAO,KAAK,aAAa;AAAA,IAC5L;AACA,QAAI,YAAY,CAAC,QAAQ;AACvB,aAAO,SAAS,GAAG,KAAK,aAAa,GAAG,KAAK,SAAS,GAAG,KAAK,SAAS,GAAG,KAAK,WAAW,GAAG,KAAK,QAAQ,GAAG,KAAK,aAAa,GAAG,KAAK,UAAU,GAAG,KAAK,OAAO,GAAG;AAAA,IACrK;AACA,QAAI,cAAc,CAAC,QAAQ;AACzB,aAAO,QAAQ;AAAA,IACjB;AACA,QAAI,QAAQ;AAAA,MACV,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AACA,QAAI,KAAK,CAAC,QAAQ;AAChB,aAAO,IAAI,SAAS;AAClB,eAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS;AAAA,MACtE;AAAA,IACF;AACA,QAAI,QAAQ,CAAC,QAAQ;AACnB,aAAO,IAAI,SAAS;AAClB,eAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW;AAAA,MACxE;AAAA,IACF;AAGA,QAAI,OAAO,CAAC,OAAO,SAAS,UAAU;AACpC,UAAI,WAAW,KAAK;AAClB,eAAO,MAAM,SAAS,SAAS,QAAQ,KAAK;AAC9C,aAAO;AAAA,IACT;AACA,QAAI,MAAM,CAAC,MAAM,WAAW,YAAY;AACtC,iBAAW,KAAK,WAAW;AACzB,aAAK,KAAK,KAAK,UAAU,IAAI,OAAO;AAAA,MACtC;AAAA,IACF;AACA,QAAI,QAAQ,CAAC,SAAS,SAAS;AAC7B,iBAAW,KAAK,MAAM;AACpB,cAAM,cAAc,QAAQ;AAC5B,cAAM,WAAW,KAAK;AACtB,YAAI,gBAAgB,QAAQ;AAC1B,kBAAQ,KAAK;AAAA,QACf;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAI,YAAY,CAAC,SAAS,WAAW;AACnC,iBAAW,KAAK,QAAQ;AACtB,cAAM,cAAc,QAAQ;AAC5B,cAAM,aAAa,OAAO;AAC1B,YAAI,MAAM,YAAY,MAAM;AAC1B;AACF,YAAI,gBAAgB,QAAQ;AAC1B,kBAAQ,KAAK;AAAA,QACf,WAAW,aAAa,WAAW,KAAK,SAAS,UAAU,GAAG;AAC5D,oBAAU,aAAa,UAAU;AAAA,QACnC;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAI,QAAQ,CAAC,SAAS;AACpB,YAAM,IAAI,CAAC;AACX,iBAAW,SAAS,MAAM;AACxB,YAAI,UAAU;AACZ;AACF,UAAE,SAAS,KAAK;AAAA,MAClB;AACA,aAAO;AAAA,IACT;AACA,QAAI,mBAAmB,CAAC,MAAM,UAAU,CAAC,MAAM;AAC7C,UAAI,QAAQ,IAAI,GAAG;AACjB,eAAO,KAAK,IAAI,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAAA,MACrD;AACA,YAAM,IAAI,CAAC;AACX,iBAAW,KAAK,MAAM;AACpB,YAAI,QAAQ,QAAQ,CAAC,IAAI;AACvB;AACF,YAAI,IAAI,KAAK;AACb,YAAI,MAAM,YAAY,QAAQ,CAAC,GAAG;AAChC,cAAI,kBAAkB,GAAG,OAAO;AAAA,QAClC;AACA,YAAI,QAAQ,CAAC,GAAG;AACd,YAAE,KAAK,EAAE,IAAI,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAAA,QAClD,WAAW,SAAS,CAAC,GAAG;AACtB,YAAE,KAAK,iBAAiB,GAAG,OAAO;AAAA,QACpC;AACE,YAAE,KAAK;AAAA,MACX;AACA,aAAO;AAAA,IACT;AACA,QAAI,oBAAoB,CAAC,KAAK,OAAO,CAAC,MAAM;AAC1C,aAAO,IAAI,OAAO,CAAC,KAAK,SAAS,UAAU,KAAK,iBAAiB,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAAA,IACnF;AACA,QAAI,YAAY,CAAC,SAAS;AACxB,UAAI,QAAQ,IAAI,GAAG;AACjB,eAAO,KAAK,IAAI,SAAS;AAAA,MAC3B;AACA,YAAM,IAAI,CAAC;AACX,iBAAW,SAAS,MAAM;AACxB,YAAI,WAAW,KAAK;AACpB,YAAI,UAAU,YAAY,QAAQ,QAAQ,GAAG;AAC3C,qBAAW,WAAW,QAAQ;AAAA,QAChC;AACA,YAAI,QAAQ,QAAQ,GAAG;AACrB,YAAE,SAAS,SAAS,IAAI,CAAC,MAAM,SAAS,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;AAAA,QAC/D,WAAW,SAAS,QAAQ,GAAG;AAC7B,YAAE,SAAS,UAAU,QAAQ;AAAA,QAC/B;AACE,YAAE,SAAS;AAAA,MACf;AACA,aAAO;AAAA,IACT;AACA,QAAI,gBAAgB,CAAC,MAAM,eAAe,CAAC,MAAM;AAC/C,iBAAW,SAAS,MAAM;AACxB,cAAM,WAAW,KAAK;AACtB,YAAI,WAAW,QAAQ,GAAG;AACxB,uBAAa,SAAS,SAAS,SAAS;AAAA,QAC1C,WAAW,SAAS,QAAQ,GAAG;AAC7B,uBAAa,SAAS,CAAC;AACvB,wBAAc,SAAS,QAAQ,aAAa,MAAM;AAAA,QACpD,WAAW,QAAQ,QAAQ,GAAG;AAC5B,uBAAa,SAAS,CAAC;AACvB,mBAAS,IAAI,CAAC,GAAG,MAAM,cAAc,GAAG,aAAa,OAAO,EAAE,CAAC;AAAA,QACjE;AACE,uBAAa,SAAS;AAAA,MAC1B;AACA,aAAO;AAAA,IACT;AACA,QAAI,kBAAkB,CAAC,KAAK,cAAc,CAAC,MAAM;AAC/C,iBAAW,QAAQ,KAAK;AACtB,cAAM,UAAU,IAAI;AACpB,YAAI,SAAS,OAAO,GAAG;AACrB,cAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,UAAU,KAAK,QAAQ,OAAO,KAAK;AAChF,gBAAI;AACF,oBAAM,WAAW,KAAK,OAAO;AAC7B,0BAAY,QAAQ;AAAA,YACtB,SAAS,GAAP;AACA,kBAAI;AACF,4BAAY,QAAQ;AAAA,YACxB;AAAA,UACF;AAAA,QACF;AACE,sBAAY,QAAQ;AACtB,YAAI,SAAS,OAAO;AAClB,0BAAgB,YAAY,OAAO,YAAY,KAAK;AAAA,MACxD;AACA,aAAO;AAAA,IACT;AACA,QAAI,YAAY,CAAC,SAAS,QAAQ,YAAY;AAC5C,YAAM,EAAE,IAAI,IAAI;AAChB,YAAM,UAAU,CAAC;AACjB,iBAAW,KAAK,QAAQ;AACtB,YAAI,MAAM;AACR;AACF,cAAM,cAAc,QAAQ;AAC5B,cAAM,aAAa,OAAO;AAC1B,YAAI,YAAY;AACd,cAAI,QAAQ,KAAK,QAAQ,KAAK;AAC9B,cAAI,KAAK;AAAA,QACX;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAI,OAAO,CAAC,MAAM,UAAU,UAAU;AACpC,YAAM,UAAU,SAAS,CAAC;AAC1B,iBAAW,KAAK,MAAM;AACpB,YAAI,MAAM;AACR;AACF,cAAM,eAAe,SAAS;AAC9B,cAAM,WAAW,KAAK;AACtB,YAAI,aAAa,YAAY,KAAK,aAAa,QAAQ,GAAG;AACxD,kBAAQ,KAAK,CAAC;AACd,eAAK,cAAc,UAAU,QAAQ,EAAE;AAAA,QACzC,WAAW,aAAa,QAAQ;AAC9B,kBAAQ,KAAK;AAAA,QACf;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAI,eAAe,CAAC,QAAQ,SAAS;AACnC,YAAM,UAAU,CAAC;AACjB,iBAAW,KAAK,QAAQ;AACtB,cAAM,WAAW,KAAK;AACtB,cAAM,aAAa,OAAO;AAC1B,YAAI,YAAY;AACd,eAAK,KAAK,QAAQ,KAAK;AAAA,QACzB;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAI,gBAAgB,CAAC,QAAQ,SAAS;AACpC,iBAAW,KAAK,QAAQ;AACtB,cAAM,WAAW,KAAK;AACtB,cAAM,aAAa,OAAO;AAC1B,YAAI,aAAa,QAAQ,KAAK,aAAa,UAAU,GAAG;AACtD,wBAAc,UAAU,UAAU;AAAA,QACpC,WAAW,eAAe,QAAQ;AAChC,eAAK,KAAK;AAAA,QACZ;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,QAAI,iBAAiB,CAAC,GAAG,MAAM;AAC7B,UAAI,aAAa,CAAC,KAAK,aAAa,CAAC;AACnC,eAAO,UAAU,GAAG,CAAC;AACvB,aAAO,KAAK;AAAA,IACd;AACA,QAAI,aAAa,CAAC,QAAQ;AACxB,aAAO,IAAI,OAAO,CAAC,GAAG,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;AAAA,IAC5D;AACA,QAAI,uBAAuB,CAAC,SAAS;AACnC,aAAO,QAAQ,IAAI,IAAI,WAAW,IAAI,IAAI,UAAU,IAAI;AAAA,IAC1D;AACA,QAAI,mBAAmB,CAAC,OAAO,OAAO,QAAQ,CAAC,MAAM;AACnD,YAAM,aAAa,qBAAqB,KAAK;AAC7C,YAAM,KAAK,UAAU;AACrB,YAAM,iBAAiB,WAAW;AAClC,UAAI;AACF,yBAAiB,gBAAgB,OAAO,KAAK;AAC/C,aAAO,WAAW;AAClB,aAAO;AAAA,IACT;AACA,QAAI,cAAc,CAAC,OAAO,YAAY;AACpC,UAAI,UAAU;AACZ,eAAO;AACT,UAAI,CAAC,SAAS,CAAC;AACb,eAAO;AACT,iBAAW,SAAS,OAAO;AACzB,cAAM,YAAY,MAAM;AACxB,cAAM,cAAc,QAAQ;AAC5B,YAAI,aAAa,SAAS,GAAG;AAC3B,gBAAM,UAAU,YAAY,WAAW,WAAW;AAClD,cAAI,CAAC;AACH,mBAAO;AAAA,QACX,OAAO;AACL,gBAAM,UAAU,cAAc;AAC9B,cAAI,CAAC;AACH,mBAAO;AAAA,QACX;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAGA,QAAI,WAAW,CAAC,SAAS,MAAM,UAAU,QAAQ;AAC/C,UAAI;AACJ,aAAO,IAAI,SAAS;AAClB,qBAAa,KAAK;AAClB,gBAAQ,WAAW,MAAM;AACvB,eAAK,MAAM,SAAS,IAAI;AAAA,QAC1B,GAAG,OAAO;AAAA,MACZ;AAAA,IACF;AACA,QAAI,UAAU,CAAC,OAAO;AACpB,YAAM,QAAQ,CAAC;AACf,aAAO,IAAI,SAAS;AAClB,cAAM,IAAI,KAAK;AACf,YAAI,KAAK,OAAO;AACd,iBAAO,MAAM;AAAA,QACf,OAAO;AACL,gBAAM,SAAS,GAAG,CAAC;AACnB,gBAAM,KAAK;AACX,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAGA,QAAI,gBAAgB,CAAC,WAAW,OAAO,OAAO,QAAQ;AACtD,QAAI,WAAW,WAAW;AACxB,UAAI,QAAQ;AACZ,eAAS,QAAQ;AACf;AACA,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,EAAE;AACF,QAAI,mBAAmB;AAGvB,QAAI,QAAQ,CAAC,SAAS,QAAQ;AAC5B,UAAI;AACF,YAAI,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;AAAA,IACjC;AACA,QAAI,aAAa,CAAC,MAAM,QAAQ,QAAQ;AACtC,UAAI,MAAM;AACR,gBAAQ,MAAM,GAAG;AACjB,YAAI,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;AAC7B,gBAAQ,SAAS,GAAG;AAAA,MACtB;AAAA,IACF;AAAA;AAAA;;;AC9gBA;AAAAA,UAAA;AAAA;AAAA;AAAA,iBAAAC,cAAA;;;ACIA,IAAMC,UAAS;AACf,IAAMC,YAAWD,QAAO;;;ACHjB,IAAM,kBAAkB;AAAA,EAC7B,IAAI;AAAA,IACF,oBAAoB;AAAA,MAClB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,oBAAoB;AAAA,MAClB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,mBAAmB;AAAA,MACjB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,gCAAgC;AAAA,MAC9B,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,uBAAuB;AAAA,MACrB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,mBAAmB;AAAA,MACjB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AACF;AAEO,IAAM,SAAS,CAAC,KAAK,KAAK,YAAY;AAC3C,QAAM,cAAc;AACpB,MAAI;AACJ,MAAI,OAAO,OAAO,QAAQ;AAAU,aAAS,gBAAgB,aAAa;AAE1E,SAAO,IAAI;AAAA,IACT,IAAI,UAAU;AAAA;AAAA;AAAA,IACd,GAAG,OAAO;AAAA,IACV,UAAU;AAAA;AAAA,EAAO,YAAY;AAAA,EAC/B;AACF;;;ACxDA,IAAM,OAAO;AAAA,EACX,KAAK;AAAA,EACL,MAAME,YAAWA,UAAS,OAAO,OAAO,sBAAsBA,SAAQ;AACxE;AAEA,IAAO,eAAQ;;;ACNf,IAAO,eAAQ;;;ACDf,IAAAC,gBAA+B;;;ACH/B;AAAAC,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAM,oBAAoB,CAAC,OAAO,SAAS,UAAU;AAC1D,SAAO,MAAM,SAAS,KAAK;AAC7B;AAEO,IAAM,OAAO,CAAC,OAAO,SAAS,UAAU;AAC7C,SAAO,MAAM,SAAS,KAAK;AAC7B;AAEO,IAAM,SAAS,CAAC,OAAO,SAAS,UAAU;AAC/C,SAAO,MAAM,SAAS,KAAK;AAC7B;AAEO,IAAM,aAAa,CAAC,OAAO,SAAS,UAAU;AACnD,SAAO,MAAM,SAAS,KAAK;AAC7B;AAEO,IAAM,aAAa,CAAC,OAAO,SAAS,UAAU;AACnD,SAAO,MAAM,SAAS,KAAK;AAC7B;AAEO,IAAM,YAAY,CAAC,OAAO,SAAS,UAAU;AAClD,SAAO,MAAM,SAAS,KAAK;AAC7B;AAEO,IAAM,eAAe,CAAC,OAAO,SAAS,UAAU;AACrD,SAAO,MAAM,SAAS,KAAK;AAC7B;AAEO,IAAM,mBAAmB,CAAC,OAAO,SAAS,OAAO,YAAY;AAClE,SAAO,MAAM,SAAS,OAAO,OAAO;AACtC;AAEO,IAAM,eAAe,CAAC,OAAO,SAAS,OAAO,YAAY;AAC9D,SAAO,MAAM,SAAS,OAAO,OAAO;AACtC;AAEO,IAAM,SAAS,CAAC,OAAO,SAAS,UAAU;AAC/C,SAAO,MAAM,SAAS,KAAK;AAC7B;;;ACxCA;AAAAC,UAAA;AAAA,gBAAAC;AAAA;;;ACEA,mBAAqB;;;ACAd,IAAM,OAAO;AAAA,EAClB,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,EACF;AACF;;;AFrIO,IAAMC,UAAS,CAAC,YAAY;AACjC,QAAM,MAAM,QAAQ,OAAO;AA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",
|
|
6
6
|
"names": ["__export", "__toCommonJS", "window", "document", "document", "import_utils", "__export", "__export", "render", "render", "import_utils", "merge", "obj", "objProp", "deepMerge", "deepClone", "obj", "prop", "objProp", "mergeArray", "overwrite", "overwriteDeep", "mergeArray", "deepMerge", "deepClone", "import_utils", "obj", "prop", "objProp", "document", "import_utils", "import_utils", "import_utils", "import_utils", "import_utils", "import_utils", "obj", "import_utils", "import_utils", "import_utils", "prop", "import_utils", "import_utils", "prop", "import_utils", "import_utils", "parseState", "obj", "overwriteDeep", "deepClone", "state_default", "state_default", "keys", "obj", "prop", "overwrite", "obj", "ENV", "createNode", "prop", "import_utils", "ENV", "import_utils", "update", "deepMerge", "deepClone", "import_utils", "update", "overwrite", "merge", "prop", "window", "ENV", "prop", "overwrite", "parse", "ENV", "window"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "domql",
|
|
3
3
|
"description": "DOM rendering Javascript framework at early stage.",
|
|
4
4
|
"author": "symbo.ls",
|
|
5
|
-
"version": "1.5.
|
|
5
|
+
"version": "1.5.110",
|
|
6
6
|
"repository": "https://github.com/domql/domql",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"registry": "https://registry.npmjs.org"
|
package/src/element/create.js
CHANGED
|
@@ -241,6 +241,9 @@ const resolveExtends = (element, parent, options) => {
|
|
|
241
241
|
if (!__ref.__exec) __ref.__exec = {}
|
|
242
242
|
if (!__ref.__attr) __ref.__attr = {}
|
|
243
243
|
|
|
244
|
+
element.props = {}
|
|
245
|
+
element.state = {}
|
|
246
|
+
|
|
244
247
|
element.props = createProps(element, parent)
|
|
245
248
|
element.state = createState(element, parent, { skip: true })
|
|
246
249
|
|