dom-render 1.0.67 → 1.0.68
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/DomRender.js +2 -1
- package/DomRenderProxy.d.ts +3 -2
- package/DomRenderProxy.js +74 -9
- package/RawSet.js +128 -84
- package/dist/bundle.js +2268 -3056
- package/events/EventManager.d.ts +1 -1
- package/events/EventManager.js +69 -95
- package/iterators/Range.d.ts +0 -1
- package/iterators/Range.js +7 -33
- package/managers/RenderManager.js +1 -1
- package/package.json +9 -9
- package/types/Types.js +2 -2
- package/utils/clipboard/ClipBoardUtils.js +1 -1
- package/utils/dom/DomUtils.js +1 -1
- package/utils/location/LocationUtils.js +1 -1
- package/utils/node/NodeUtils.js +3 -1
- package/utils/random/RandomUtils.js +2 -1
- package/utils/script/ScriptUtils.js +24 -43
- package/utils/storage/StorageUtils.js +1 -1
- package/utils/string/StringUtils.js +18 -1
- package/utils/valid/ValidUtils.js +6 -1
- package/validators/AllCheckedValidatorArray.js +1 -1
- package/validators/AllUnCheckedValidatorArray.js +1 -1
- package/validators/CheckedValidator.js +1 -1
- package/validators/CountEqualsCheckedValidatorArray.js +1 -1
- package/validators/CountEqualsUnCheckedValidatorArray.js +1 -1
- package/validators/CountGreaterThanCheckedValidatorArray.js +1 -1
- package/validators/CountGreaterThanEqualsCheckedValidatorArray.js +1 -1
- package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +1 -1
- package/validators/CountGreaterThanUnCheckedValidatorArray.js +1 -1
- package/validators/CountLessThanCheckedValidatorArray.js +1 -1
- package/validators/CountLessThanEqualsCheckedValidatorArray.js +1 -1
- package/validators/CountLessThanEqualsUnCheckedValidatorArray.js +1 -1
- package/validators/CountLessThanUnCheckedValidatorArray.js +1 -1
- package/validators/CountUnCheckedValidatorArray.js +1 -1
- package/validators/EmptyValidator.js +1 -1
- package/validators/ExcludeCheckedValidatorArray.js +1 -1
- package/validators/FormValidator.js +1 -1
- package/validators/IncludeCheckedValidatorArray.js +1 -1
- package/validators/MultipleValidator.js +2 -1
- package/validators/NonPassValidator.js +1 -1
- package/validators/NotEmptyValidator.js +2 -1
- package/validators/NotRegExpTestValidator.js +1 -1
- package/validators/PassValidator.js +1 -1
- package/validators/RegExpTestValidator.js +2 -1
- package/validators/RequiredValidator.js +2 -1
- package/validators/UnCheckedValidator.js +1 -1
- package/validators/ValidMultipleValidator.js +1 -1
- package/validators/ValidValidator.js +1 -1
- package/validators/ValidValidatorArray.js +1 -1
- package/validators/Validator.js +12 -24
- package/validators/ValidatorArray.js +1 -1
- package/validators/ValueEqualsValidator.js +1 -1
- package/validators/ValueNotEqualsValidator.js +1 -1
- package/dist/bundle.js.map +0 -1
package/dist/bundle.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"bundle.js","sources":["../utils/valid/ValidUtils.js","../utils/random/RandomUtils.js","../utils/string/StringUtils.js","../utils/script/ScriptUtils.js","../utils/dom/DomUtils.js","../iterators/Range.js","../types/Types.js","../events/EventManager.js","../validators/Validator.js","../validators/NonPassValidator.js","../validators/ValidatorArray.js","../RawSet.js","../DomRenderProxy.js","../DomRender.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ValidUtils = void 0;\r\nvar ValidUtils = (function () {\r\n function ValidUtils() {\r\n }\r\n ValidUtils.isNullOrUndefined = function (data) {\r\n if (data == null || undefined === data) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n ValidUtils.isNull = function (data) {\r\n if (data == null) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n ValidUtils.isArray = function (object_o) {\r\n if (ValidUtils.isNullOrUndefined(object_o)) {\r\n return false;\r\n }\r\n else {\r\n return Object.prototype.toString.call(object_o).trim() === '[object Array]';\r\n }\r\n };\r\n ValidUtils.isNumber = function (object_o) {\r\n if (ValidUtils.isNullOrUndefined(object_o)) {\r\n return false;\r\n }\r\n else {\r\n return Object.prototype.toString.call(object_o).trim() === '[object Number]';\r\n }\r\n };\r\n ValidUtils.isString = function (object_o) {\r\n if (ValidUtils.isNullOrUndefined(object_o)) {\r\n return false;\r\n }\r\n else {\r\n return Object.prototype.toString.call(object_o).trim() === '[object String]';\r\n }\r\n };\r\n ValidUtils.isFunction = function (object_o) {\r\n if (ValidUtils.isNullOrUndefined(object_o)) {\r\n return false;\r\n }\r\n else {\r\n return Object.prototype.toString.call(object_o).trim() === '[object Function]';\r\n }\r\n };\r\n ValidUtils.isObject = function (object_o) {\r\n if (ValidUtils.isNullOrUndefined(object_o)) {\r\n return false;\r\n }\r\n else {\r\n return Object.prototype.toString.call(object_o).trim() === '[object Object]';\r\n }\r\n };\r\n ValidUtils.isMap = function (object_o) {\r\n if (ValidUtils.isNullOrUndefined(object_o)) {\r\n return false;\r\n }\r\n else {\r\n return Object.prototype.toString.call(object_o).trim() === '[object Map]';\r\n }\r\n };\r\n return ValidUtils;\r\n}());\r\nexports.ValidUtils = ValidUtils;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.RandomUtils = void 0;\r\nvar ValidUtils_1 = require(\"../valid/ValidUtils\");\r\nvar RandomUtils = (function () {\r\n function RandomUtils() {\r\n }\r\n RandomUtils.random = function (min, max) {\r\n if (ValidUtils_1.ValidUtils.isNullOrUndefined(min)) {\r\n return Math.random();\r\n }\r\n else if (!ValidUtils_1.ValidUtils.isNullOrUndefined(min) && ValidUtils_1.ValidUtils.isNullOrUndefined(max)) {\r\n return Math.random() * (min || 0);\r\n }\r\n else {\r\n return Math.random() * ((max || 0) - (min || 0)) + (min || 0);\r\n }\r\n };\r\n RandomUtils.uuid = function (format) {\r\n if (format === void 0) { format = 'xxxx-xxxx-xxxx-xxxx'; }\r\n return format.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0;\r\n var v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n };\r\n RandomUtils.getRandomColor = function () {\r\n var letters = '0123456789ABCDEF'.split('');\r\n var color = '#';\r\n for (var i = 0; i < 6; i++) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n return color;\r\n };\r\n RandomUtils.getRandomString = function (len) {\r\n var letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');\r\n var color = '';\r\n for (var i = 0; i < len; i++) {\r\n color += letters[Math.floor(Math.random() * letters.length)];\r\n }\r\n return color;\r\n };\r\n RandomUtils.d = '';\r\n return RandomUtils;\r\n}());\r\nexports.RandomUtils = RandomUtils;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.StringUtils = void 0;\r\nvar StringUtils = (function () {\r\n function StringUtils() {\r\n }\r\n StringUtils.deleteEnter = function (data) {\r\n return data.replace(/\\r?\\n/g, '');\r\n };\r\n StringUtils.regexExec = function (regex, text) {\r\n var varExec = regex.exec(text);\r\n var usingVars = [];\r\n while (varExec) {\r\n usingVars.push(varExec);\r\n varExec = regex.exec(varExec.input);\r\n }\r\n return usingVars;\r\n };\r\n StringUtils.escapeSpecialCharacterRegExp = function (data) {\r\n return data.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\r\n };\r\n return StringUtils;\r\n}());\r\nexports.StringUtils = StringUtils;\r\n","\"use strict\";\r\nvar __values = (this && this.__values) || function(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n};\r\nvar __read = (this && this.__read) || function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ScriptUtils = void 0;\r\nvar ScriptUtils = (function () {\r\n function ScriptUtils() {\r\n }\r\n ScriptUtils.getVariablePaths = function (script) {\r\n var usingVars = new Set();\r\n var GetDetectProxy = (function () {\r\n function GetDetectProxy(prefix) {\r\n this.prefix = prefix;\r\n this.usingVars = usingVars;\r\n }\r\n GetDetectProxy.prototype.set = function (target, p, value, receiver) {\r\n return true;\r\n };\r\n GetDetectProxy.prototype.get = function (target, p, receiver) {\r\n var items;\r\n if (typeof p === 'string') {\r\n items = this.prefix ? this.prefix + '.' + p : p;\r\n this.usingVars.add(items);\r\n }\r\n return new Proxy(function () {\r\n }, new GetDetectProxy(items));\r\n };\r\n return GetDetectProxy;\r\n }());\r\n var destUser = new Proxy(function () {\r\n }, new GetDetectProxy());\r\n try {\r\n Function(\"\\\"use strict\\\"; \".concat(script, \"; \")).bind(destUser)();\r\n }\r\n catch (e) {\r\n console.error(e);\r\n }\r\n return usingVars;\r\n };\r\n ScriptUtils.evalReturn = function (script, thisTarget) {\r\n return this.eval('return ' + script + ';', thisTarget);\r\n };\r\n ScriptUtils.eval = function (script, thisTarget) {\r\n return Function(\"\\\"use strict\\\"; \".concat(script, \" \")).bind(thisTarget)();\r\n };\r\n ScriptUtils.loadElement = function (name, attribute, document) {\r\n return new Promise(function (resolve, reject) {\r\n var e_1, _a;\r\n var tag = document.createElement(name);\r\n tag.onload = resolve;\r\n tag.onerror = reject;\r\n try {\r\n for (var _b = __values(Object.entries(attribute)), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\r\n tag.setAttribute(key, value);\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n document.head.append(tag);\r\n });\r\n };\r\n ScriptUtils.loadStyleSheet = function (href, attribute, document) {\r\n if (attribute === void 0) { attribute = {}; }\r\n attribute.type = 'text/css';\r\n attribute.rel = 'stylesheet';\r\n attribute.href = href;\r\n return ScriptUtils.loadElement('link', attribute, document);\r\n };\r\n ScriptUtils.loadScript = function (src, attribute, document) {\r\n if (attribute === void 0) { attribute = {}; }\r\n attribute.type = 'text/javascript';\r\n attribute.src = src;\r\n return ScriptUtils.loadElement('script', attribute, document);\r\n };\r\n return ScriptUtils;\r\n}());\r\nexports.ScriptUtils = ScriptUtils;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DomUtils = void 0;\r\nvar DomUtils = (function () {\r\n function DomUtils() {\r\n }\r\n DomUtils.selectorElements = function (selector, element) {\r\n if (element === void 0) { element = document; }\r\n return Array.prototype.slice.call(element.querySelectorAll(selector));\r\n };\r\n DomUtils.selectorNodes = function (selector, element) {\r\n if (element === void 0) { element = document; }\r\n return element.querySelectorAll(selector);\r\n };\r\n DomUtils.removeAttribute = function (result, attrs) {\r\n attrs.forEach(function (it) {\r\n result.removeAttribute(it);\r\n });\r\n };\r\n DomUtils.setAttribute = function (result, attrs) {\r\n attrs.forEach(function (it) {\r\n result.setAttribute(it, '');\r\n });\r\n };\r\n DomUtils.setAttributeAttr = function (result, attrs) {\r\n attrs.forEach(function (it) {\r\n result.setAttribute(it.name, it.value);\r\n });\r\n };\r\n DomUtils.getAttributeToObject = function (input) {\r\n var attribute = {};\r\n input.getAttributeNames().forEach(function (ait) {\r\n attribute[ait] = input.getAttribute(ait);\r\n });\r\n return attribute;\r\n };\r\n DomUtils.getStyleToObject = function (input) {\r\n var style = {};\r\n for (var i = 0; i < input.style.length; i++) {\r\n var key = input.style[i];\r\n style[key] = input.style[key];\r\n }\r\n return style;\r\n };\r\n return DomUtils;\r\n}());\r\nexports.DomUtils = DomUtils;\r\n","\"use strict\";\r\nvar __read = (this && this.__read) || function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Range = exports.RangeIterator = exports.RangeResult = void 0;\r\nvar RangeResult = (function () {\r\n function RangeResult(value, done) {\r\n this.done = done;\r\n this.value = value !== null && value !== void 0 ? value : 0;\r\n }\r\n return RangeResult;\r\n}());\r\nexports.RangeResult = RangeResult;\r\nvar RangeIterator = (function () {\r\n function RangeIterator(first, last, step) {\r\n this._current = this._first = first;\r\n this._last = last;\r\n this._step = step;\r\n }\r\n RangeIterator.prototype.next = function (value) {\r\n var r;\r\n if (this._first < this._last && this._current < this._last) {\r\n r = new RangeResult(this._current, false);\r\n this._current += this._step;\r\n }\r\n else if (this._first > this._last && this._current > this._last) {\r\n r = new RangeResult(this._current, false);\r\n this._current -= this._step;\r\n }\r\n else {\r\n r = new RangeResult(undefined, true);\r\n }\r\n return r;\r\n };\r\n return RangeIterator;\r\n}());\r\nexports.RangeIterator = RangeIterator;\r\nvar Range = (function () {\r\n function Range(first, last, step) {\r\n if (step === void 0) { step = 1; }\r\n this.first = first;\r\n this.last = last;\r\n this.step = step;\r\n this.isRange = true;\r\n }\r\n Range.prototype[Symbol.iterator] = function () {\r\n return new RangeIterator(this.first, this.last, this.step);\r\n };\r\n Range.range = function (first, last, step) {\r\n if (step === void 0) { step = 1; }\r\n if (typeof first === 'number' && last === undefined) {\r\n return new Range(0, first, step);\r\n }\r\n else if (typeof first === 'string') {\r\n var _a = __read(first.split('..'), 2), _first = _a[0], _b = _a[1], _last = _b === void 0 ? '0' : _b;\r\n var _c = __read(_last.split(','), 2), __last = _c[0], _d = _c[1], _step = _d === void 0 ? '1' : _d;\r\n return new Range(Number(_first.trim()), Number(__last.trim()), Number(_step.trim()));\r\n }\r\n else {\r\n return new Range(first, last !== null && last !== void 0 ? last : 0, step);\r\n }\r\n };\r\n Range.prototype.toArray = function () {\r\n return __spreadArray([], __read(this), false);\r\n };\r\n return Range;\r\n}());\r\nexports.Range = Range;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DomRenderFinalProxy = exports.Shield = void 0;\r\nvar Shield = (function () {\r\n function Shield() {\r\n }\r\n return Shield;\r\n}());\r\nexports.Shield = Shield;\r\nvar DomRenderFinalProxy = (function () {\r\n function DomRenderFinalProxy() {\r\n }\r\n DomRenderFinalProxy.prototype.set = function (target, p, value, receiver) {\r\n target[p] = value;\r\n return true;\r\n };\r\n DomRenderFinalProxy.prototype.get = function (target, p, receiver) {\r\n return target[p];\r\n };\r\n DomRenderFinalProxy.final = function (obj) {\r\n obj._DomRender_isFinal = true;\r\n return obj;\r\n };\r\n DomRenderFinalProxy.isFinal = function (obj) {\r\n return '_DomRender_isFinal' in obj;\r\n };\r\n DomRenderFinalProxy.unFinal = function (obj) {\r\n delete obj._DomRender_isFinal;\r\n return obj;\r\n };\r\n DomRenderFinalProxy.prototype.has = function (target, p) {\r\n return p === '_DomRender_isFinal' || p in target;\r\n };\r\n return DomRenderFinalProxy;\r\n}());\r\nexports.DomRenderFinalProxy = DomRenderFinalProxy;\r\n","\"use strict\";\r\nvar __read = (this && this.__read) || function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n};\r\nvar __values = (this && this.__values) || function(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.eventManager = exports.EventManager = void 0;\r\nvar ScriptUtils_1 = require(\"../utils/script/ScriptUtils\");\r\nvar DomUtils_1 = require(\"../utils/dom/DomUtils\");\r\nvar Range_1 = require(\"../iterators/Range\");\r\nvar Types_1 = require(\"../types/Types\");\r\nvar EventManager = (function () {\r\n function EventManager() {\r\n var _this = this;\r\n this.attrPrefix = 'dr-';\r\n this.eventNames = [\r\n 'click', 'mousedown', 'mouseup', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mouseenter', 'mouseleave', 'contextmenu',\r\n 'keyup', 'keydown', 'keypress',\r\n 'change', 'input', 'submit', 'resize', 'focus', 'blur'\r\n ];\r\n this.eventParam = this.attrPrefix + 'event';\r\n this.attrNames = [\r\n this.attrPrefix + 'value',\r\n this.attrPrefix + 'value-link',\r\n this.attrPrefix + 'attr',\r\n this.attrPrefix + 'style',\r\n this.attrPrefix + 'class',\r\n this.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_POPSTATE,\r\n this.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_RESIZE,\r\n this.attrPrefix + 'on-init',\r\n this.eventParam\r\n ];\r\n this.bindScript = \"\\n const \".concat(EventManager.SCRIPTS_VARNAME, \" = this.__render.scripts;\\n const \").concat(EventManager.RANGE_VARNAME, \" = this.__render.range;\\n const \").concat(EventManager.ELEMENT_VARNAME, \" = this.__render.element;\\n const \").concat(EventManager.TARGET_VARNAME, \" = this.__render.target;\\n const \").concat(EventManager.EVENT_VARNAME, \" = this.__render.event;\\n \");\r\n this.eventNames.forEach(function (it) {\r\n _this.attrNames.push(_this.attrPrefix + 'event-' + it);\r\n });\r\n if (typeof window !== 'undefined') {\r\n EventManager.WINDOW_EVENTS.forEach(function (eventName) {\r\n window === null || window === void 0 ? void 0 : window.addEventListener(eventName, function (event) {\r\n var targetAttr = \"dr-window-event-\".concat(eventName);\r\n document.querySelectorAll(\"[\".concat(targetAttr, \"]\")).forEach(function (it) {\r\n var _a;\r\n var script = it.getAttribute(targetAttr);\r\n if (script) {\r\n var obj = it.obj;\r\n var config = (_a = obj === null || obj === void 0 ? void 0 : obj._DomRender_proxy) === null || _a === void 0 ? void 0 : _a.config;\r\n ScriptUtils_1.ScriptUtils.eval(\"\".concat(_this.bindScript, \" \").concat(script, \" \"), Object.assign(obj, {\r\n __render: Object.freeze({\r\n target: Types_1.DomRenderFinalProxy.final(event.target),\r\n element: it,\r\n event: event,\r\n range: Range_1.Range.range,\r\n scripts: EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)\r\n })\r\n }));\r\n }\r\n });\r\n });\r\n });\r\n }\r\n }\r\n EventManager.prototype.findAttrElements = function (fragment, config) {\r\n var _a, _b;\r\n var elements = new Set();\r\n var addAttributes = (_b = (_a = config === null || config === void 0 ? void 0 : config.applyEvents) === null || _a === void 0 ? void 0 : _a.map(function (it) { return it.attrName; })) !== null && _b !== void 0 ? _b : [];\r\n addAttributes.concat(this.attrNames).forEach(function (attrName) {\r\n fragment === null || fragment === void 0 ? void 0 : fragment.querySelectorAll(\"[\".concat(attrName, \"]\")).forEach(function (it) {\r\n elements.add(it);\r\n });\r\n });\r\n return elements;\r\n };\r\n EventManager.prototype.applyEvent = function (obj, childNodes, config) {\r\n var _this = this;\r\n this.eventNames.forEach(function (it) {\r\n _this.addDrEvents(obj, it, childNodes, config);\r\n });\r\n this.addDrEventPram(obj, this.eventParam, childNodes, config);\r\n this.procAttr(childNodes, this.attrPrefix + 'value', function (it, attribute) {\r\n var script = attribute;\r\n if (script) {\r\n var data = ScriptUtils_1.ScriptUtils.evalReturn(script, obj);\r\n if (it.value !== data) {\r\n it.value = data;\r\n }\r\n }\r\n });\r\n EventManager.WINDOW_EVENTS.forEach(function (it) {\r\n _this.procAttr(childNodes, _this.attrPrefix + 'window-event-' + it, function (it, attribute) {\r\n it.obj = obj;\r\n });\r\n });\r\n this.procAttr(childNodes, this.attrPrefix + 'on-init', function (it, attribute) {\r\n var script = attribute;\r\n if (script) {\r\n script = 'return ' + script;\r\n }\r\n if (script) {\r\n var data = ScriptUtils_1.ScriptUtils.eval(\"\".concat(_this.bindScript, \"; \").concat(script, \" \"), Object.assign(obj, {\r\n __render: Object.freeze({\r\n element: it\r\n })\r\n }));\r\n }\r\n });\r\n this.procAttr(childNodes, this.attrPrefix + 'value-link', function (it, varName) {\r\n if (varName) {\r\n var ownerVariablePathName = it.getAttribute(EventManager.ownerVariablePathAttrName);\r\n var bindObj_1 = obj;\r\n if (ownerVariablePathName) {\r\n bindObj_1 = ScriptUtils_1.ScriptUtils.evalReturn(ownerVariablePathName, obj);\r\n }\r\n var value = _this.getValue(obj, varName, bindObj_1);\r\n if (typeof value === 'function' && value) {\r\n value(it.value);\r\n }\r\n else {\r\n if (value) {\r\n _this.setValue(obj, varName, value);\r\n }\r\n else {\r\n _this.setValue(obj, varName, it.value);\r\n }\r\n }\r\n it.addEventListener('input', function (eit) {\r\n if (typeof _this.getValue(obj, varName, bindObj_1) === 'function') {\r\n _this.getValue(obj, varName, bindObj_1)(it.value, eit);\r\n }\r\n else {\r\n _this.setValue(obj, varName, it.value);\r\n }\r\n });\r\n }\r\n });\r\n this.changeVar(obj, childNodes, undefined);\r\n var elements = Array.from(childNodes).filter(function (it) { return it.nodeType === 1; }).map(function (it) { return it; });\r\n elements.forEach(function (it) {\r\n var _a;\r\n (_a = config === null || config === void 0 ? void 0 : config.applyEvents) === null || _a === void 0 ? void 0 : _a.filter(function (ta) { return it.getAttribute(ta.attrName); }).forEach(function (ta) { return ta.callBack(it, it.getAttribute(ta.attrName), obj); });\r\n });\r\n };\r\n EventManager.prototype.changeVar = function (obj, elements, varName) {\r\n var _this = this;\r\n this.procAttr(elements, this.attrPrefix + 'value-link', function (it, attribute) {\r\n var ownerVariablePathName = it.getAttribute(EventManager.ownerVariablePathAttrName);\r\n var bindObj = obj;\r\n if (ownerVariablePathName) {\r\n bindObj = ScriptUtils_1.ScriptUtils.evalReturn(ownerVariablePathName, obj);\r\n }\r\n if (attribute && attribute === varName) {\r\n if (typeof _this.getValue(obj, attribute, bindObj) === 'function') {\r\n _this.getValue(obj, attribute, bindObj)(it.value);\r\n }\r\n else {\r\n var value = _this.getValue(obj, attribute, bindObj);\r\n if (value !== undefined && value !== null) {\r\n it.value = value;\r\n }\r\n }\r\n }\r\n });\r\n this.procAttr(elements, this.attrPrefix + 'attr', function (it, attribute) {\r\n var e_1, _a;\r\n var script = attribute;\r\n if (script) {\r\n script = 'return ' + script;\r\n }\r\n if (_this.isUsingThisVar(script, varName) || varName === undefined) {\r\n var data = ScriptUtils_1.ScriptUtils.eval(\"const $element = this.__render.element; \".concat(script, \" \"), Object.assign(obj, {\r\n __render: Object.freeze({\r\n element: it\r\n })\r\n }));\r\n if (typeof data === 'string') {\r\n data.split(',').forEach(function (sit) {\r\n var _a = __read(sit.split('='), 2), key = _a[0], value = _a[1];\r\n var s = value.trim();\r\n var k = key.trim();\r\n if (s === 'null') {\r\n it.removeAttribute(k);\r\n }\r\n else {\r\n it.setAttribute(k, s);\r\n }\r\n });\r\n }\r\n else if (Array.isArray(data)) {\r\n data.forEach(function (sit) {\r\n var _a = __read(sit.split('='), 2), key = _a[0], value = _a[1];\r\n var s = value.trim();\r\n var k = key.trim();\r\n if (s === 'null') {\r\n it.removeAttribute(k);\r\n }\r\n else {\r\n it.setAttribute(k, s);\r\n }\r\n });\r\n }\r\n else {\r\n try {\r\n for (var _b = __values(Object.entries(data)), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\r\n if (value === null) {\r\n it.removeAttribute(key);\r\n }\r\n else {\r\n it.setAttribute(key, String(value));\r\n }\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n }\r\n }\r\n });\r\n this.procAttr(elements, this.attrPrefix + 'style', function (it, attribute) {\r\n var e_2, _a;\r\n var script = attribute;\r\n if (script) {\r\n script = 'return ' + script;\r\n }\r\n if (_this.isUsingThisVar(script, varName) || varName === undefined) {\r\n var data = ScriptUtils_1.ScriptUtils.eval(\"const $element = this.__render.element; \".concat(script, \" \"), Object.assign(obj, {\r\n __render: Object.freeze({\r\n element: it\r\n })\r\n }));\r\n if (typeof data === 'string') {\r\n it.setAttribute('style', data);\r\n }\r\n else if (Array.isArray(data)) {\r\n it.setAttribute('style', data.join(';'));\r\n }\r\n else {\r\n try {\r\n for (var _b = __values(Object.entries(data)), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\r\n if (it instanceof HTMLElement) {\r\n it.style[key] = String(value);\r\n }\r\n }\r\n }\r\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_2) throw e_2.error; }\r\n }\r\n }\r\n }\r\n });\r\n this.procAttr(elements, this.attrPrefix + 'class', function (it, attribute) {\r\n var e_3, _a;\r\n var script = attribute;\r\n if (script) {\r\n script = 'return ' + script;\r\n }\r\n if (_this.isUsingThisVar(script, varName) || varName === undefined) {\r\n var data = ScriptUtils_1.ScriptUtils.eval(\"const $element = this.element; \".concat(script, \" \"), Object.assign(obj, {\r\n __render: Object.freeze({\r\n element: it\r\n })\r\n }));\r\n if (typeof data === 'string') {\r\n it.setAttribute('class', data);\r\n }\r\n else if (Array.isArray(data)) {\r\n it.setAttribute('class', data.join(' '));\r\n }\r\n else {\r\n try {\r\n for (var _b = __values(Object.entries(data)), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\r\n if (it instanceof HTMLElement) {\r\n if (value) {\r\n it.classList.add(key);\r\n }\r\n else {\r\n it.classList.remove(key);\r\n }\r\n }\r\n }\r\n }\r\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_3) throw e_3.error; }\r\n }\r\n }\r\n }\r\n });\r\n };\r\n EventManager.prototype.addDrEvents = function (obj, eventName, elements, config) {\r\n var _this = this;\r\n var attr = this.attrPrefix + 'event-' + eventName;\r\n this.procAttr(elements, attr, function (it, attribute) {\r\n var script = attribute;\r\n it.addEventListener(eventName, function (event) {\r\n var filter = true;\r\n var filterScript = it.getAttribute(\"\".concat(attr, \":filter\"));\r\n var thisTarget = Object.assign(obj, {\r\n __render: Object.freeze({\r\n event: event,\r\n element: it,\r\n target: event.target,\r\n range: Range_1.Range.range,\r\n scripts: EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)\r\n })\r\n });\r\n if (filterScript) {\r\n filter = ScriptUtils_1.ScriptUtils.eval(\"\".concat(_this.bindScript, \" return \").concat(filterScript), thisTarget);\r\n }\r\n if (filter) {\r\n ScriptUtils_1.ScriptUtils.eval(\"\".concat(_this.bindScript, \" \").concat(script, \" \"), thisTarget);\r\n }\r\n });\r\n });\r\n };\r\n EventManager.prototype.addDrEventPram = function (obj, attr, elements, config) {\r\n var _this = this;\r\n this.procAttr(elements, attr, function (it, attribute, attributes) {\r\n var bind = attributes[attr + ':bind'];\r\n if (bind) {\r\n var script_1 = attribute;\r\n var params_1 = {};\r\n var prefix_1 = attr + ':';\r\n Object.entries(attributes).filter(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\r\n return k.startsWith(prefix_1);\r\n }).forEach(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\r\n params_1[k.slice(prefix_1.length)] = v;\r\n });\r\n bind.split(',').forEach(function (eventName) {\r\n it.addEventListener(eventName.trim(), function (event) {\r\n ScriptUtils_1.ScriptUtils.eval(\"const $params = this.__render.params; \".concat(_this.bindScript, \" \").concat(script_1, \" \"), Object.assign(obj, {\r\n __render: Object.freeze({\r\n event: event,\r\n element: it,\r\n target: event.target,\r\n range: Range_1.Range.range,\r\n scripts: EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj),\r\n params: params_1\r\n })\r\n }));\r\n });\r\n });\r\n }\r\n });\r\n };\r\n EventManager.prototype.procAttr = function (elements, attrName, callBack) {\r\n if (elements === void 0) { elements = new Set(); }\r\n var sets = new Set();\r\n elements.forEach(function (it) {\r\n if (!it) {\r\n return;\r\n }\r\n if (it.nodeType === 1) {\r\n var e = it;\r\n sets.add(e);\r\n e.querySelectorAll(\"[\".concat(attrName, \"]\")).forEach(function (it) {\r\n sets.add(it);\r\n });\r\n }\r\n });\r\n sets.forEach(function (it) {\r\n var attr = it.getAttribute(attrName);\r\n var attrs = DomUtils_1.DomUtils.getAttributeToObject(it);\r\n if (attr) {\r\n callBack(it, attr, attrs);\r\n }\r\n });\r\n };\r\n EventManager.prototype.getValue = function (obj, name, bindObj) {\r\n var r = ScriptUtils_1.ScriptUtils.evalReturn(name, obj);\r\n if (typeof r === 'function') {\r\n r = r.bind(bindObj !== null && bindObj !== void 0 ? bindObj : obj);\r\n }\r\n return r;\r\n };\r\n EventManager.prototype.setValue = function (obj, name, value) {\r\n name = name.replaceAll('this.', 'this.this.');\r\n ScriptUtils_1.ScriptUtils.eval(\"\".concat(name, \" = this.value\"), {\r\n this: obj,\r\n value: value\r\n });\r\n };\r\n EventManager.prototype.isUsingThisVar = function (raws, varName) {\r\n if (varName && raws) {\r\n if (varName.startsWith('this.')) {\r\n varName = varName.replace(/this\\./, '');\r\n }\r\n EventManager.VARNAMES.forEach(function (it) {\r\n raws = raws.replace(RegExp(it.replace('$', '\\\\$'), 'g'), \"this.___\".concat(it));\r\n });\r\n var variablePaths = ScriptUtils_1.ScriptUtils.getVariablePaths(raws !== null && raws !== void 0 ? raws : '');\r\n return variablePaths.has(varName);\r\n }\r\n return false;\r\n };\r\n EventManager.setBindProperty = function (scripts, obj) {\r\n var e_4, _a;\r\n if (scripts) {\r\n var newScripts = Object.assign({}, scripts);\r\n try {\r\n for (var _b = __values(Object.entries(newScripts)), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\r\n if (typeof value === 'function') {\r\n newScripts[key] = value.bind(obj);\r\n }\r\n }\r\n }\r\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_4) throw e_4.error; }\r\n }\r\n return newScripts;\r\n }\r\n };\r\n EventManager.ownerVariablePathAttrName = 'dr-owner-variable-path';\r\n EventManager.SCRIPTS_VARNAME = '$scripts';\r\n EventManager.FAG_VARNAME = '$fag';\r\n EventManager.RAWSET_VARNAME = '$rawset';\r\n EventManager.RANGE_VARNAME = '$range';\r\n EventManager.ELEMENT_VARNAME = '$element';\r\n EventManager.TARGET_VARNAME = '$target';\r\n EventManager.EVENT_VARNAME = '$event';\r\n EventManager.VARNAMES = [EventManager.SCRIPTS_VARNAME, EventManager.FAG_VARNAME, EventManager.RAWSET_VARNAME, EventManager.RANGE_VARNAME, EventManager.ELEMENT_VARNAME, EventManager.TARGET_VARNAME, EventManager.EVENT_VARNAME];\r\n EventManager.WINDOW_EVENT_POPSTATE = 'popstate';\r\n EventManager.WINDOW_EVENT_RESIZE = 'resize';\r\n EventManager.WINDOW_EVENTS = [EventManager.WINDOW_EVENT_POPSTATE, EventManager.WINDOW_EVENT_RESIZE];\r\n return EventManager;\r\n}());\r\nexports.EventManager = EventManager;\r\nexports.eventManager = new EventManager();\r\n","\"use strict\";\r\nvar __read = (this && this.__read) || function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Validator = void 0;\r\nvar Validator = (function () {\r\n function Validator(_value, target, event, autoValid, autoValidAction) {\r\n if (autoValid === void 0) { autoValid = true; }\r\n if (autoValidAction === void 0) { autoValidAction = true; }\r\n this._value = _value;\r\n this.setTarget(target);\r\n this.setEvent(event);\r\n this.setAutoValid(autoValid);\r\n this.setAutoValidAction(autoValidAction);\r\n }\r\n Validator.prototype.getValidAction = function () {\r\n return this._validAction;\r\n };\r\n Validator.prototype.setValidAction = function (value) {\r\n this._validAction = value;\r\n return this;\r\n };\r\n Validator.prototype.getAutoValid = function () {\r\n return this._autoValid;\r\n };\r\n Validator.prototype.setAutoValid = function (autoValid) {\r\n this._autoValid = autoValid;\r\n return this;\r\n };\r\n Validator.prototype.getAutoValidAction = function () {\r\n return this._autoValidAction;\r\n };\r\n Validator.prototype.setAutoValidAction = function (autoValid) {\r\n this._autoValidAction = autoValid;\r\n return this;\r\n };\r\n Validator.prototype.getEvent = function () {\r\n return this._event;\r\n };\r\n Validator.prototype.setEvent = function (event) {\r\n if (event) {\r\n this._event = this.domRenderFinal(event);\r\n }\r\n return this;\r\n };\r\n Validator.prototype.getTarget = function () {\r\n return this._target;\r\n };\r\n Validator.prototype.targetFocus = function () {\r\n var _a, _b;\r\n (_b = (_a = this._target) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);\r\n };\r\n Validator.prototype.targetDispatchEvent = function (event) {\r\n var _a;\r\n return (_a = this._target) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);\r\n };\r\n Validator.prototype.setTarget = function (target) {\r\n if (target) {\r\n this._target = this.domRenderFinal(target);\r\n }\r\n return this;\r\n };\r\n Validator.prototype.domRenderFinal = function (obj) {\r\n obj._DomRender_isFinal = true;\r\n return obj;\r\n };\r\n Object.defineProperty(Validator.prototype, \"value\", {\r\n get: function () {\r\n var _a;\r\n if (this._value === undefined || this._value === null) {\r\n this._value = (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.value;\r\n }\r\n return this._value;\r\n },\r\n set: function (value) {\r\n this._value = value;\r\n this.tickValue(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Validator.prototype.tickValue = function (value) {\r\n this.changeValue(value);\r\n var target = this.getTarget();\r\n if (target && (target === null || target === void 0 ? void 0 : target.value) !== undefined && (target === null || target === void 0 ? void 0 : target.value) !== null) {\r\n try {\r\n target.value = this._value;\r\n }\r\n catch (e) {\r\n console.log('set value function is blocked ');\r\n }\r\n }\r\n if (this.getAutoValidAction()) {\r\n this.validAction();\r\n }\r\n else if (this.getAutoValid()) {\r\n this.valid();\r\n }\r\n };\r\n Validator.prototype.set = function (value, target, event) {\r\n this.setTarget(target);\r\n this.setEvent(event);\r\n this.value = value;\r\n };\r\n Validator.prototype.changeValue = function (value) {\r\n };\r\n Object.defineProperty(Validator.prototype, \"checked\", {\r\n get: function () {\r\n var _a, _b;\r\n return (_b = (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;\r\n },\r\n set: function (checked) {\r\n var target = this.getTarget();\r\n if (target) {\r\n target.checked = checked;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Validator.prototype, \"selectedIndex\", {\r\n get: function () {\r\n var _a, _b;\r\n return (_b = (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.selectedIndex) !== null && _b !== void 0 ? _b : -1;\r\n },\r\n set: function (selectedIndex) {\r\n var target = this.getTarget();\r\n if (target) {\r\n target.selectedIndex = selectedIndex;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Validator.prototype.querySelector = function (selector) {\r\n var _a;\r\n return (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.querySelector(selector);\r\n };\r\n Validator.prototype.querySelectorALL = function (selector) {\r\n var _a;\r\n return (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.querySelectorAll(selector);\r\n };\r\n Validator.prototype.validAction = function () {\r\n var _a;\r\n var valid = this.valid();\r\n (_a = this.getValidAction()) === null || _a === void 0 ? void 0 : _a(valid, this.value, this.getTarget(), this.getEvent());\r\n return valid;\r\n };\r\n Validator.prototype.inValid = function () {\r\n return !this.valid();\r\n };\r\n ;\r\n Validator.prototype.allValid = function () {\r\n return this.valid() && this.childInValid();\r\n };\r\n Validator.prototype.allValidAction = function () {\r\n return this.validAction() && this.childInValidAction();\r\n };\r\n Validator.prototype.allInValid = function () {\r\n return !this.allValid();\r\n };\r\n Validator.prototype.allInValidAction = function () {\r\n return !this.allValidAction();\r\n };\r\n Validator.prototype.childValid = function () {\r\n return !this.childInValid();\r\n };\r\n Validator.prototype.childValue = function () {\r\n var data = {};\r\n this.childValidators().filter(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\r\n data[k] = v.value;\r\n });\r\n return data;\r\n };\r\n Validator.prototype.childValidAction = function () {\r\n return !this.childInValidAction();\r\n };\r\n Validator.prototype.childInValid = function () {\r\n var inValid = this.childValidators().filter(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\r\n return !v.valid();\r\n });\r\n return inValid.length > 0;\r\n };\r\n Validator.prototype.childInValidValidator = function () {\r\n var inValid = this.childValidators().filter(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\r\n return !v.valid();\r\n });\r\n return inValid;\r\n };\r\n Validator.prototype.childInValidAction = function () {\r\n var inValid = this.childValidators().filter(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\r\n return !v.validAction();\r\n });\r\n return inValid.length > 0;\r\n };\r\n Validator.prototype.childValidator = function (name) {\r\n var _a;\r\n return (_a = Object.entries(this).find(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\r\n return (k === name && (v instanceof Validator));\r\n })) === null || _a === void 0 ? void 0 : _a[1];\r\n };\r\n Validator.prototype.childValidators = function () {\r\n return Object.entries(this).filter(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\r\n return (v instanceof Validator);\r\n });\r\n };\r\n Validator.prototype.childValidValidator = function () {\r\n return this.childValidators().filter(function (it) { return it[1].valid(); });\r\n };\r\n Validator.prototype.syncValue = function () {\r\n var _a;\r\n this.value = (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.value;\r\n };\r\n Validator.prototype.allSyncValue = function () {\r\n this.childValidators().forEach(function (_a) {\r\n var _b = __read(_a, 2), k = _b[0], e = _b[1];\r\n e.syncValue();\r\n });\r\n };\r\n Object.defineProperty(Validator.prototype, \"length\", {\r\n get: function () {\r\n var _a, _b;\r\n return (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return Validator;\r\n}());\r\nexports.Validator = Validator;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.NonPassValidator = void 0;\r\nvar Validator_1 = require(\"./Validator\");\r\nvar NonPassValidator = (function (_super) {\r\n __extends(NonPassValidator, _super);\r\n function NonPassValidator(value, target, event, autoValid) {\r\n if (autoValid === void 0) { autoValid = true; }\r\n return _super.call(this, value, target, event, autoValid) || this;\r\n }\r\n NonPassValidator.prototype.valid = function () {\r\n return false;\r\n };\r\n return NonPassValidator;\r\n}(Validator_1.Validator));\r\nexports.NonPassValidator = NonPassValidator;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ValidatorArray = void 0;\r\nvar Validator_1 = require(\"./Validator\");\r\nvar NonPassValidator_1 = require(\"./NonPassValidator\");\r\nvar ValidatorArray = (function (_super) {\r\n __extends(ValidatorArray, _super);\r\n function ValidatorArray(value, target, event, autoValid) {\r\n if (autoValid === void 0) { autoValid = true; }\r\n var _this = _super.call(this, value, target, event, autoValid) || this;\r\n _this._makeValidatorFactory = function (value, target, event) {\r\n return new NonPassValidator_1.NonPassValidator(value, target, event);\r\n };\r\n return _this;\r\n }\r\n ValidatorArray.prototype.getMakeValidatorFactory = function () {\r\n return this._makeValidatorFactory;\r\n };\r\n ValidatorArray.prototype.setMakeValidatorFactory = function (value) {\r\n this._makeValidatorFactory = value;\r\n return this;\r\n };\r\n ValidatorArray.prototype.setArrayValue = function (target, value, event) {\r\n var _a;\r\n (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter(function (it) {\r\n if (it.getTarget()) {\r\n return it.getTarget() === target;\r\n }\r\n else {\r\n return false;\r\n }\r\n }).forEach(function (it) {\r\n it.set(value, target, event);\r\n });\r\n this.tickValue(this.value);\r\n };\r\n ValidatorArray.prototype.addValidator = function (value, target, event) {\r\n var _a, _b;\r\n if (!this.value) {\r\n this.value = [];\r\n }\r\n if (value instanceof Validator_1.Validator) {\r\n (_a = this.value) === null || _a === void 0 ? void 0 : _a.push(value);\r\n }\r\n else {\r\n (_b = this.value) === null || _b === void 0 ? void 0 : _b.push(this.makeValidator(value, target, event));\r\n }\r\n this.tickValue(this.value);\r\n };\r\n ValidatorArray.prototype.allChecked = function (checked) {\r\n var _a;\r\n this.checked = checked;\r\n (_a = this.value) === null || _a === void 0 ? void 0 : _a.forEach(function (it) {\r\n it.checked = checked;\r\n });\r\n };\r\n ValidatorArray.prototype.getValidators = function () {\r\n return this._value;\r\n };\r\n ValidatorArray.prototype.getValidator = function (e) {\r\n var _a;\r\n return (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter(function (it) { return it.getTarget() === e; })[0];\r\n };\r\n ValidatorArray.prototype.getValidatorByValue = function (value) {\r\n var validatorByValue = this.getValidatorByValues(value)[0];\r\n return validatorByValue;\r\n };\r\n ValidatorArray.prototype.getValidatorByValues = function (value) {\r\n var _a, _b;\r\n return (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter(function (it) { return it.value === value; })) !== null && _b !== void 0 ? _b : [];\r\n };\r\n ValidatorArray.prototype.removeElement = function (e) {\r\n var value = this.value;\r\n if (value) {\r\n this.value = value.filter(function (it) { return it.getTarget() !== e; });\r\n }\r\n };\r\n ValidatorArray.prototype.makeValidator = function (value, target, event) {\r\n return this._makeValidatorFactory(value, target, event);\r\n };\r\n ;\r\n return ValidatorArray;\r\n}(Validator_1.Validator));\r\nexports.ValidatorArray = ValidatorArray;\r\n","\"use strict\";\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __read = (this && this.__read) || function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nvar __values = (this && this.__values) || function(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.RawSet = void 0;\r\nvar RandomUtils_1 = require(\"./utils/random/RandomUtils\");\r\nvar StringUtils_1 = require(\"./utils/string/StringUtils\");\r\nvar ScriptUtils_1 = require(\"./utils/script/ScriptUtils\");\r\nvar EventManager_1 = require(\"./events/EventManager\");\r\nvar Range_1 = require(\"./iterators/Range\");\r\nvar Validator_1 = require(\"./validators/Validator\");\r\nvar ValidatorArray_1 = require(\"./validators/ValidatorArray\");\r\nvar Types_1 = require(\"./types/Types\");\r\nvar RawSet = (function () {\r\n function RawSet(uuid, point, fragment, data) {\r\n if (data === void 0) { data = {}; }\r\n this.uuid = uuid;\r\n this.point = point;\r\n this.fragment = fragment;\r\n this.data = data;\r\n }\r\n Object.defineProperty(RawSet.prototype, \"isConnected\", {\r\n get: function () {\r\n return this.point.start.isConnected && this.point.end.isConnected;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n RawSet.prototype.getUsingTriggerVariables = function (config) {\r\n var usingTriggerVariables = new Set();\r\n this.fragment.childNodes.forEach(function (cNode, key) {\r\n var _a, _b, _c;\r\n var script = '';\r\n if (cNode.nodeType === Node.TEXT_NODE) {\r\n script = \"`\".concat((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '', \"`\");\r\n }\r\n else if (cNode.nodeType === Node.ELEMENT_NODE) {\r\n var element_1 = cNode;\r\n var targetAttrNames = ((_c = (_b = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name; })) !== null && _c !== void 0 ? _c : []).concat(RawSet.DR_ATTRIBUTES);\r\n script = targetAttrNames.map(function (it) { return (element_1.getAttribute(it)); }).filter(function (it) { return it; }).join(';');\r\n }\r\n if (script) {\r\n EventManager_1.EventManager.VARNAMES.forEach(function (it) {\r\n script = script.replace(RegExp(it.replace('$', '\\\\$'), 'g'), \"this.___\".concat(it));\r\n });\r\n Array.from(ScriptUtils_1.ScriptUtils.getVariablePaths(script)).filter(function (it) { return !it.startsWith(\"___\".concat(EventManager_1.EventManager.SCRIPTS_VARNAME)) && !it.startsWith(\"___\".concat(EventManager_1.EventManager.SCRIPTS_VARNAME)); }).forEach(function (it) { return usingTriggerVariables.add(it); });\r\n }\r\n });\r\n return usingTriggerVariables;\r\n };\r\n RawSet.prototype.render = function (obj, config) {\r\n var e_1, _a, e_2, _b;\r\n var _this = this;\r\n var _c, _d, _e, _f, _g, _h, _j, _k;\r\n var genNode = config.window.document.importNode(this.fragment, true);\r\n var raws = [];\r\n var onAttrInitCallBack = [];\r\n var onElementInitCallBack = [];\r\n var drAttrs = [];\r\n genNode.childNodes.forEach(function (cNode, key) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;\r\n var __render = Object.freeze({\r\n rawset: _this,\r\n scripts: EventManager_1.EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj),\r\n range: Range_1.Range.range,\r\n element: cNode,\r\n bindScript: \"\\n const \".concat(EventManager_1.EventManager.SCRIPTS_VARNAME, \" = this.__render.scripts;\\n const \").concat(EventManager_1.EventManager.RAWSET_VARNAME, \" = this.__render.rawset;\\n const \").concat(EventManager_1.EventManager.ELEMENT_VARNAME, \" = this.__render.element;\\n const \").concat(EventManager_1.EventManager.RANGE_VARNAME, \" = this.__render.range;\\n \")\r\n });\r\n var fag = config.window.document.createDocumentFragment();\r\n if (cNode.nodeType === Node.TEXT_NODE && cNode.textContent) {\r\n var textContent = cNode.textContent;\r\n var runText = RawSet.exporesionGrouops(textContent)[0][1];\r\n var n = void 0;\r\n if (textContent === null || textContent === void 0 ? void 0 : textContent.startsWith('#')) {\r\n var r = ScriptUtils_1.ScriptUtils.eval(\"\".concat(__render.bindScript, \" return \").concat(runText), Object.assign(obj, { __render: __render }));\r\n var template = config.window.document.createElement('template');\r\n template.innerHTML = r;\r\n n = template.content;\r\n }\r\n else {\r\n var r = ScriptUtils_1.ScriptUtils.eval(\"\".concat(__render.bindScript, \" return \").concat(runText), Object.assign(obj, { __render: __render }));\r\n n = config.window.document.createTextNode(r);\r\n }\r\n (_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(n, cNode);\r\n }\r\n else if (cNode.nodeType === Node.ELEMENT_NODE) {\r\n var element_2 = cNode;\r\n var drAttr_1 = {\r\n dr: _this.getAttributeAndDelete(element_2, RawSet.DR),\r\n drIf: _this.getAttributeAndDelete(element_2, RawSet.DR_IF_NAME),\r\n drFor: _this.getAttributeAndDelete(element_2, RawSet.DR_FOR_NAME),\r\n drForOf: _this.getAttributeAndDelete(element_2, RawSet.DR_FOR_OF_NAME),\r\n drRepeat: _this.getAttributeAndDelete(element_2, RawSet.DR_REPEAT_NAME),\r\n drThis: _this.getAttributeAndDelete(element_2, RawSet.DR_THIS_NAME),\r\n drForm: _this.getAttributeAndDelete(element_2, RawSet.DR_FORM_NAME),\r\n drPre: _this.getAttributeAndDelete(element_2, RawSet.DR_PRE_NAME),\r\n drInnerHTML: _this.getAttributeAndDelete(element_2, RawSet.DR_INNERHTML_NAME),\r\n drInnerText: _this.getAttributeAndDelete(element_2, RawSet.DR_INNERTEXT_NAME),\r\n drItOption: _this.getAttributeAndDelete(element_2, RawSet.DR_IT_OPTIONNAME),\r\n drVarOption: _this.getAttributeAndDelete(element_2, RawSet.DR_VAR_OPTIONNAME),\r\n drAfterOption: _this.getAttributeAndDelete(element_2, RawSet.DR_AFTER_OPTIONNAME),\r\n drBeforeOption: _this.getAttributeAndDelete(element_2, RawSet.DR_BEFORE_OPTIONNAME),\r\n drCompleteOption: _this.getAttributeAndDelete(element_2, RawSet.DR_COMPLETE_OPTIONNAME),\r\n drStripOption: _this.getAttributeAndDelete(element_2, RawSet.DR_STRIP_OPTIONNAME)\r\n };\r\n drAttrs.push(drAttr_1);\r\n if (drAttr_1.drPre != null) {\r\n return;\r\n }\r\n if (drAttr_1.dr !== null && drAttr_1.dr.length >= 0) {\r\n var itRandom = RawSet.drItOtherEncoding(element_2);\r\n var vars = RawSet.drVarEncoding(element_2, (_b = drAttr_1.drVarOption) !== null && _b !== void 0 ? _b : '');\r\n var newTemp = config.window.document.createElement('temp');\r\n ScriptUtils_1.ScriptUtils.eval(\"\\n \".concat(__render.bindScript, \"\\n const n = $element.cloneNode(true);\\n var destIt = \").concat(drAttr_1.drItOption, \";\\n if (destIt !== undefined) {\\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#it\\\\#/g, destIt)))\\n // console.log('----', n.innerHTML);\\n n.innerHTML = n.innerHTML.replace(/\\\\#it\\\\#/g, destIt);\\n // console.log('----', n.innerHTML);\\n }\\n if (this.__render.drStripOption === 'true') {\\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\\n } else {\\n this.__render.fag.append(n);\\n }\"), Object.assign(obj, {\r\n __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))\r\n }));\r\n RawSet.drVarDecoding(newTemp, vars);\r\n RawSet.drItOtherDecoding(newTemp, itRandom);\r\n var tempalte = config.window.document.createElement('template');\r\n tempalte.innerHTML = newTemp.innerHTML;\r\n fag.append(tempalte.content);\r\n var rr = RawSet.checkPointCreates(fag, config);\r\n (_c = element_2.parentNode) === null || _c === void 0 ? void 0 : _c.replaceChild(fag, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n }\r\n if (drAttr_1.drIf) {\r\n var itRandom = RawSet.drItOtherEncoding(element_2);\r\n var vars = RawSet.drVarEncoding(element_2, (_d = drAttr_1.drVarOption) !== null && _d !== void 0 ? _d : '');\r\n var newTemp = config.window.document.createElement('temp');\r\n ScriptUtils_1.ScriptUtils.eval(\"\\n \".concat(__render.bindScript, \"\\n \").concat((_e = drAttr_1.drBeforeOption) !== null && _e !== void 0 ? _e : '', \"\\n if(\").concat(drAttr_1.drIf, \") {\\n const n = $element.cloneNode(true);\\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drIf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\\n var destIt = \").concat(drAttr_1.drItOption, \";\\n if (destIt !== undefined) {\\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#it\\\\#/g, destIt)))\\n n.innerHTML = n.innerHTML.replace(/\\\\#it\\\\#/g, destIt);\\n }\\n if (this.__render.drStripOption === 'true') {\\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\\n } else {\\n this.__render.fag.append(n);\\n }\\n }\\n \").concat((_f = drAttr_1.drAfterOption) !== null && _f !== void 0 ? _f : '', \"\\n \"), Object.assign(obj, {\r\n __render: Object.freeze(__assign({ fag: newTemp, drAttr: drAttr_1, drAttrsOriginName: RawSet.drAttrsOriginName, drStripOption: drAttr_1.drStripOption }, __render))\r\n }));\r\n RawSet.drVarDecoding(newTemp, vars);\r\n RawSet.drItOtherDecoding(newTemp, itRandom);\r\n var bypass = ((_g = newTemp.innerHTML) !== null && _g !== void 0 ? _g : '').trim().length <= 0;\r\n var tempalte = config.window.document.createElement('template');\r\n tempalte.innerHTML = newTemp.innerHTML;\r\n fag.append(tempalte.content);\r\n var rr = RawSet.checkPointCreates(fag, config);\r\n (_h = element_2.parentNode) === null || _h === void 0 ? void 0 : _h.replaceChild(fag, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n if (bypass) {\r\n return;\r\n }\r\n }\r\n if (drAttr_1.drThis) {\r\n var r = ScriptUtils_1.ScriptUtils.evalReturn(drAttr_1.drThis, obj);\r\n if (r) {\r\n fag.append(RawSet.drThisCreate(element_2, drAttr_1.drThis, (_j = drAttr_1.drVarOption) !== null && _j !== void 0 ? _j : '', drAttr_1.drStripOption, obj, config));\r\n var rr = RawSet.checkPointCreates(fag, config);\r\n (_k = element_2.parentNode) === null || _k === void 0 ? void 0 : _k.replaceChild(fag, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n }\r\n else {\r\n cNode.remove();\r\n }\r\n }\r\n if (drAttr_1.drForm) {\r\n RawSet.drFormOtherMoveAttr(element_2, 'name', 'temp-name', config);\r\n var data = ScriptUtils_1.ScriptUtils.evalReturn(\"\".concat(drAttr_1.drForm), obj);\r\n var childs = Array.from(element_2.querySelectorAll('[name]'));\r\n var fromName = ScriptUtils_1.ScriptUtils.evalReturn((_l = element_2.getAttribute('dr-form:name')) !== null && _l !== void 0 ? _l : '', obj);\r\n var thisName = fromName !== null && fromName !== void 0 ? fromName : element_2.getAttribute('name');\r\n if (childs.length <= 0 && thisName) {\r\n childs.push(element_2);\r\n }\r\n else {\r\n if (data instanceof Validator_1.Validator) {\r\n data.setTarget(element_2);\r\n }\r\n }\r\n childs.forEach(function (it) {\r\n var _a, _b, _c, _d, _e;\r\n var eventName = (_a = it.getAttribute('dr-form:event')) !== null && _a !== void 0 ? _a : 'change';\r\n var validatorName = it.getAttribute('dr-form:validator');\r\n var attrEventName = EventManager_1.eventManager.attrPrefix + 'event-' + eventName;\r\n var varpath = (_c = ScriptUtils_1.ScriptUtils.evalReturn((_b = element_2.getAttribute('dr-form:name')) !== null && _b !== void 0 ? _b : '', obj)) !== null && _c !== void 0 ? _c : it.getAttribute('name');\r\n if (varpath != null) {\r\n if (validatorName) {\r\n ScriptUtils_1.ScriptUtils.eval(\"\\n \".concat(__render.bindScript, \"\\n const validator = typeof \").concat(validatorName, \" ==='function' ? new \").concat(validatorName, \"() : \").concat(validatorName, \";\\n \").concat(drAttr_1.drForm, \"['\").concat(varpath, \"'] = validator;\\n \"), Object.assign(obj, {\r\n __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption }, __render))\r\n }));\r\n }\r\n varpath = \"\".concat(drAttr_1.drForm, \"['\").concat(varpath, \"']\");\r\n var data_1 = ScriptUtils_1.ScriptUtils.evalReturn(\"\".concat(varpath), obj);\r\n if (data_1 instanceof ValidatorArray_1.ValidatorArray) {\r\n it.setAttribute(attrEventName, \"\".concat(varpath, \".setArrayValue($target, $target.value, $event); \").concat((_d = it.getAttribute(attrEventName)) !== null && _d !== void 0 ? _d : '', \";\"));\r\n data_1.addValidator(it.value, it);\r\n }\r\n else if (data_1 instanceof Validator_1.Validator) {\r\n it.setAttribute(attrEventName, \"\".concat(varpath, \".set($target.value, $target, $event); \").concat((_e = it.getAttribute(attrEventName)) !== null && _e !== void 0 ? _e : '', \";\"));\r\n data_1.setTarget(it);\r\n data_1.value = it.value;\r\n }\r\n else {\r\n it.setAttribute(attrEventName, \"\".concat(varpath, \" = $target.value;\"));\r\n }\r\n }\r\n });\r\n RawSet.drFormOtherMoveAttr(element_2, 'temp-name', 'name', config);\r\n raws.push.apply(raws, __spreadArray([], __read(RawSet.checkPointCreates(element_2, config)), false));\r\n }\r\n if (drAttr_1.drInnerText) {\r\n var newTemp = config.window.document.createElement('temp');\r\n ScriptUtils_1.ScriptUtils.eval(\" \\n \".concat(__render.bindScript, \"\\n const n = $element.cloneNode(true); \\n \").concat((_m = drAttr_1.drBeforeOption) !== null && _m !== void 0 ? _m : '', \"\\n n.innerText = \").concat(drAttr_1.drInnerText, \";\\n if (this.__render.drStripOption === 'true') {\\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\\n } else {\\n this.__render.fag.append(n);\\n }\\n \").concat((_o = drAttr_1.drAfterOption) !== null && _o !== void 0 ? _o : '', \"\\n \"), Object.assign(obj, {\r\n __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, fag: newTemp }, __render))\r\n }));\r\n var tempalte = config.window.document.createElement('template');\r\n tempalte.innerHTML = newTemp.innerHTML;\r\n fag.append(tempalte.content);\r\n var rr = RawSet.checkPointCreates(fag, config);\r\n (_p = element_2.parentNode) === null || _p === void 0 ? void 0 : _p.replaceChild(fag, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n }\r\n if (drAttr_1.drInnerHTML) {\r\n var newTemp = config.window.document.createElement('temp');\r\n ScriptUtils_1.ScriptUtils.eval(\"\\n \".concat(__render.bindScript, \"\\n const n = $element.cloneNode(true);\\n \").concat((_q = drAttr_1.drBeforeOption) !== null && _q !== void 0 ? _q : '', \"\\n n.innerHTML = \").concat(drAttr_1.drInnerHTML, \";\\n if (this.__render.drStripOption === 'true') {\\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\\n } else {\\n this.__render.fag.append(n);\\n }\\n \").concat((_r = drAttr_1.drAfterOption) !== null && _r !== void 0 ? _r : '', \"\\n \"), Object.assign(obj, {\r\n __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, fag: newTemp }, __render))\r\n }));\r\n var tempalte = config.window.document.createElement('template');\r\n tempalte.innerHTML = newTemp.innerHTML;\r\n fag.append(tempalte.content);\r\n var rr = RawSet.checkPointCreates(fag, config);\r\n (_s = element_2.parentNode) === null || _s === void 0 ? void 0 : _s.replaceChild(fag, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n }\r\n if (drAttr_1.drFor) {\r\n var itRandom = RawSet.drItOtherEncoding(element_2);\r\n var vars = RawSet.drVarEncoding(element_2, (_t = drAttr_1.drVarOption) !== null && _t !== void 0 ? _t : '');\r\n var newTemp = config.window.document.createElement('temp');\r\n ScriptUtils_1.ScriptUtils.eval(\"\\n \".concat(__render.bindScript, \"\\n \").concat((_u = drAttr_1.drBeforeOption) !== null && _u !== void 0 ? _u : '', \"\\n for(\").concat(drAttr_1.drFor, \") {\\n const n = this.__render.element.cloneNode(true);\\n var destIt = \").concat(drAttr_1.drItOption, \";\\n if (destIt !== undefined) {\\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#it\\\\#/g, destIt).replace(/\\\\#nearForIt\\\\#/g, destIt))) \\n n.innerHTML = n.innerHTML.replace(/\\\\#it\\\\#/g, destIt);\\n }\\n if (this.__render.drStripOption === 'true') {\\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\\n } else {\\n this.__render.fag.append(n);\\n }\\n }\\n \").concat((_v = drAttr_1.drAfterOption) !== null && _v !== void 0 ? _v : '', \"\\n \"), Object.assign(obj, {\r\n __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))\r\n }));\r\n RawSet.drVarDecoding(newTemp, vars);\r\n RawSet.drItOtherDecoding(newTemp, itRandom);\r\n var tempalte = config.window.document.createElement('template');\r\n tempalte.innerHTML = newTemp.innerHTML;\r\n fag.append(tempalte.content);\r\n var rr = RawSet.checkPointCreates(fag, config);\r\n (_w = element_2.parentNode) === null || _w === void 0 ? void 0 : _w.replaceChild(fag, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n }\r\n if (drAttr_1.drForOf) {\r\n var itRandom = RawSet.drItOtherEncoding(element_2);\r\n var vars = RawSet.drVarEncoding(element_2, (_x = drAttr_1.drVarOption) !== null && _x !== void 0 ? _x : '');\r\n var newTemp = config.window.document.createElement('temp');\r\n ScriptUtils_1.ScriptUtils.eval(\"\\n \".concat(__render.bindScript, \"\\n \").concat((_y = drAttr_1.drBeforeOption) !== null && _y !== void 0 ? _y : '', \"\\n var i = 0; \\n const forOf = \").concat(drAttr_1.drForOf, \";\\n const forOfStr = `\").concat(drAttr_1.drForOf, \"`.trim();\\n if (forOf) {\\n for(const it of forOf) {\\n var destIt = it;\\n if (/\\\\[(.*,?)\\\\],/g.test(forOfStr)) {\\n if (typeof it === 'string') {\\n destIt = it;\\n } else {\\n destIt = forOfStr.substring(1, forOfStr.length-1).split(',')[i];\\n }\\n } else if (forOf.isRange) {\\n destIt = it;\\n } else {\\n destIt = forOfStr + '[' + i +']'\\n }\\n const n = this.__render.element.cloneNode(true);\\n Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));\\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#it\\\\#/g, destIt).replace(/\\\\#nearForOfIt\\\\#/g, destIt)))\\n n.innerHTML = n.innerHTML.replace(/\\\\#it\\\\#/g, destIt);\\n if (this.__render.drStripOption === 'true') {\\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\\n } else {\\n this.__render.fag.append(n);\\n }\\n i++;\\n }\\n }\\n \").concat((_z = drAttr_1.drAfterOption) !== null && _z !== void 0 ? _z : '', \"\\n \"), Object.assign(obj, {\r\n __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, drAttr: drAttr_1, drAttrsOriginName: RawSet.drAttrsOriginName, fag: newTemp }, __render))\r\n }));\r\n RawSet.drVarDecoding(newTemp, vars);\r\n RawSet.drItOtherDecoding(newTemp, itRandom);\r\n var tempalte = config.window.document.createElement('template');\r\n tempalte.innerHTML = newTemp.innerHTML;\r\n fag.append(tempalte.content);\r\n var rr = RawSet.checkPointCreates(fag, config);\r\n (_0 = element_2.parentNode) === null || _0 === void 0 ? void 0 : _0.replaceChild(fag, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n }\r\n if (drAttr_1.drRepeat) {\r\n var itRandom = RawSet.drItOtherEncoding(element_2);\r\n var vars = RawSet.drVarEncoding(element_2, (_1 = drAttr_1.drVarOption) !== null && _1 !== void 0 ? _1 : '');\r\n var newTemp = config.window.document.createElement('temp');\r\n ScriptUtils_1.ScriptUtils.eval(\"\\n \".concat(__render.bindScript, \"\\n \").concat((_2 = drAttr_1.drBeforeOption) !== null && _2 !== void 0 ? _2 : '', \"\\n var i = 0; \\n const repeat = \").concat(drAttr_1.drRepeat, \";\\n const repeatStr = `\").concat(drAttr_1.drRepeat, \"`;\\n let range = repeat;\\n if (typeof repeat === 'number') {\\n range = \").concat(EventManager_1.EventManager.RANGE_VARNAME, \"(repeat);\\n } \\n for(const it of range) {\\n var destIt = it;\\n if (range.isRange) {\\n destIt = it;\\n } else {\\n destIt = repeatStr + '[' + i +']'\\n }\\n const n = this.__render.element.cloneNode(true);\\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\\\#it\\\\#/g, destIt).replace(/\\\\#nearRangeIt\\\\#/g, destIt)))\\n n.innerHTML = n.innerHTML.replace(/\\\\#it\\\\#/g, destIt);\\n \\n if (this.__render.drStripOption === 'true') {\\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\\n } else {\\n this.__render.fag.append(n);\\n }\\n i++;\\n }\\n \").concat((_3 = drAttr_1.drAfterOption) !== null && _3 !== void 0 ? _3 : '', \"\\n \"), Object.assign(obj, {\r\n __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))\r\n }));\r\n RawSet.drVarDecoding(newTemp, vars);\r\n RawSet.drItOtherDecoding(newTemp, itRandom);\r\n var tempalte = config.window.document.createElement('template');\r\n tempalte.innerHTML = newTemp.innerHTML;\r\n fag.append(tempalte.content);\r\n var rr = RawSet.checkPointCreates(fag, config);\r\n (_4 = element_2.parentNode) === null || _4 === void 0 ? void 0 : _4.replaceChild(fag, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n }\r\n (_5 = config === null || config === void 0 ? void 0 : config.targetElements) === null || _5 === void 0 ? void 0 : _5.forEach(function (it) {\r\n var _a, _b;\r\n var name = it.name;\r\n if (name.toLowerCase() === element_2.tagName.toLowerCase() && (!drAttr_1.drForOf && !drAttr_1.drFor && !drAttr_1.drRepeat)) {\r\n var documentFragment = it.callBack(element_2, obj, _this);\r\n if (documentFragment) {\r\n var rr = RawSet.checkPointCreates(documentFragment, config);\r\n (_a = element_2.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(documentFragment, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n onElementInitCallBack.push({\r\n name: name,\r\n obj: obj,\r\n targetElement: it,\r\n creatorMetaData: it.__creatorMetaData\r\n });\r\n (_b = it === null || it === void 0 ? void 0 : it.complete) === null || _b === void 0 ? void 0 : _b.call(it, element_2, obj, _this);\r\n }\r\n }\r\n });\r\n (_6 = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _6 === void 0 ? void 0 : _6.forEach(function (it) {\r\n var _a, _b;\r\n var attrName = it.name;\r\n var attrValue = _this.getAttributeAndDelete(element_2, attrName);\r\n if (attrValue && attrName && (!drAttr_1.drForOf && !drAttr_1.drFor && !drAttr_1.drRepeat)) {\r\n var documentFragment = it.callBack(element_2, attrValue, obj, _this);\r\n if (documentFragment) {\r\n var rr = RawSet.checkPointCreates(documentFragment, config);\r\n (_a = element_2.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(documentFragment, element_2);\r\n raws.push.apply(raws, __spreadArray([], __read(rr), false));\r\n onAttrInitCallBack.push({\r\n attrName: attrName,\r\n attrValue: attrValue,\r\n obj: obj\r\n });\r\n (_b = it === null || it === void 0 ? void 0 : it.complete) === null || _b === void 0 ? void 0 : _b.call(it, element_2, attrValue, obj, _this);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n this.applyEvent(obj, genNode, config);\r\n this.replaceBody(genNode);\r\n drAttrs.forEach(function (it) {\r\n if (it.drCompleteOption) {\r\n ScriptUtils_1.ScriptUtils.eval(\"\\n const \".concat(EventManager_1.EventManager.FAG_VARNAME, \" = this.__render.fag;\\n const \").concat(EventManager_1.EventManager.SCRIPTS_VARNAME, \" = this.__render.scripts;\\n const \").concat(EventManager_1.EventManager.RAWSET_VARNAME, \" = this.__render.rawset;\\n \").concat(it.drCompleteOption, \"\\n \"), Object.assign(obj, {\r\n __render: Object.freeze({\r\n rawset: _this,\r\n fag: genNode,\r\n scripts: EventManager_1.EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)\r\n })\r\n }));\r\n }\r\n });\r\n try {\r\n for (var onElementInitCallBack_1 = __values(onElementInitCallBack), onElementInitCallBack_1_1 = onElementInitCallBack_1.next(); !onElementInitCallBack_1_1.done; onElementInitCallBack_1_1 = onElementInitCallBack_1.next()) {\r\n var it_1 = onElementInitCallBack_1_1.value;\r\n (_f = (_e = (_d = (_c = it_1.targetElement) === null || _c === void 0 ? void 0 : _c.__render) === null || _d === void 0 ? void 0 : _d.component) === null || _e === void 0 ? void 0 : _e.onInitRender) === null || _f === void 0 ? void 0 : _f.call(_e, { render: (_g = it_1.targetElement) === null || _g === void 0 ? void 0 : _g.__render, creatorMetaData: (_h = it_1.targetElement) === null || _h === void 0 ? void 0 : _h.__creatorMetaData });\r\n var r = (_j = config === null || config === void 0 ? void 0 : config.onElementInit) === null || _j === void 0 ? void 0 : _j.call(config, it_1.name, obj, this, it_1.targetElement);\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (onElementInitCallBack_1_1 && !onElementInitCallBack_1_1.done && (_a = onElementInitCallBack_1.return)) _a.call(onElementInitCallBack_1);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n try {\r\n for (var onAttrInitCallBack_1 = __values(onAttrInitCallBack), onAttrInitCallBack_1_1 = onAttrInitCallBack_1.next(); !onAttrInitCallBack_1_1.done; onAttrInitCallBack_1_1 = onAttrInitCallBack_1.next()) {\r\n var it_2 = onAttrInitCallBack_1_1.value;\r\n var r = (_k = config === null || config === void 0 ? void 0 : config.onAttrInit) === null || _k === void 0 ? void 0 : _k.call(config, it_2.attrName, it_2.attrValue, obj, this);\r\n }\r\n }\r\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\r\n finally {\r\n try {\r\n if (onAttrInitCallBack_1_1 && !onAttrInitCallBack_1_1.done && (_b = onAttrInitCallBack_1.return)) _b.call(onAttrInitCallBack_1);\r\n }\r\n finally { if (e_2) throw e_2.error; }\r\n }\r\n return raws;\r\n };\r\n RawSet.prototype.applyEvent = function (obj, fragment, config) {\r\n if (fragment === void 0) { fragment = this.fragment; }\r\n EventManager_1.eventManager.applyEvent(obj, EventManager_1.eventManager.findAttrElements(fragment, config), config);\r\n };\r\n RawSet.prototype.getAttribute = function (element, attr) {\r\n var data = element.getAttribute(attr);\r\n return data;\r\n };\r\n RawSet.prototype.getAttributeAndDelete = function (element, attr) {\r\n var data = element.getAttribute(attr);\r\n element.removeAttribute(attr);\r\n return data;\r\n };\r\n RawSet.prototype.replaceBody = function (genNode) {\r\n var _a;\r\n this.childAllRemove();\r\n (_a = this.point.start.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(genNode, this.point.start.nextSibling);\r\n };\r\n RawSet.checkPointCreates = function (element, config) {\r\n var _a, _b, _c, _d;\r\n var thisVariableName = element.__domrender_this_variable_name;\r\n var nodeIterator = config.window.document.createNodeIterator(element, NodeFilter.SHOW_ALL, {\r\n acceptNode: function (node) {\r\n var _a, _b, _c, _d, _e;\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n var between = RawSet.exporesionGrouops(StringUtils_1.StringUtils.deleteEnter((_a = node.data) !== null && _a !== void 0 ? _a : ''));\r\n return (between === null || between === void 0 ? void 0 : between.length) > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\r\n }\r\n else if (node.nodeType === Node.ELEMENT_NODE) {\r\n var element_3 = node;\r\n var isElement = ((_c = (_b = config.targetElements) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name.toLowerCase(); })) !== null && _c !== void 0 ? _c : []).includes(element_3.tagName.toLowerCase());\r\n var targetAttrNames_1 = ((_e = (_d = config.targetAttrs) === null || _d === void 0 ? void 0 : _d.map(function (it) { return it.name; })) !== null && _e !== void 0 ? _e : []).concat(RawSet.DR_ATTRIBUTES);\r\n var isAttr = element_3.getAttributeNames().filter(function (it) { return targetAttrNames_1.includes(it.toLowerCase()); }).length > 0;\r\n return (isAttr || isElement) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\r\n }\r\n return NodeFilter.FILTER_REJECT;\r\n }\r\n });\r\n var pars = [];\r\n var currentNode;\r\n var _loop_1 = function () {\r\n if (currentNode.nodeType === Node.TEXT_NODE) {\r\n var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';\r\n var template_1 = config.window.document.createElement('template');\r\n var a = RawSet.exporesionGrouops(text);\r\n var map = a.map(function (it) {\r\n return {\r\n uuid: RandomUtils_1.RandomUtils.uuid(),\r\n content: it[0],\r\n regexArr: it\r\n };\r\n });\r\n var lasterIndex_1 = 0;\r\n map.forEach(function (it) {\r\n var regexArr = it.regexArr;\r\n var preparedText = regexArr.input.substring(lasterIndex_1, regexArr.index);\r\n var start = config.window.document.createComment(\"start text \".concat(it.uuid));\r\n var end = config.window.document.createComment(\"end text \".concat(it.uuid));\r\n template_1.content.append(document.createTextNode(preparedText));\r\n template_1.content.append(start);\r\n template_1.content.append(end);\r\n var fragment = config.window.document.createDocumentFragment();\r\n fragment.append(config.window.document.createTextNode(it.content));\r\n pars.push(new RawSet(it.uuid, {\r\n start: start,\r\n end: end,\r\n thisVariableName: thisVariableName\r\n }, fragment));\r\n lasterIndex_1 = regexArr.index + it.content.length;\r\n });\r\n template_1.content.append(config.window.document.createTextNode(text.substring(lasterIndex_1, text.length)));\r\n (_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template_1.content, currentNode);\r\n }\r\n else {\r\n var uuid = RandomUtils_1.RandomUtils.uuid();\r\n var fragment = config.window.document.createDocumentFragment();\r\n var start = config.window.document.createComment(\"start \".concat(uuid));\r\n var end = config.window.document.createComment(\"end \".concat(uuid));\r\n (_c = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _c === void 0 ? void 0 : _c.insertBefore(start, currentNode);\r\n (_d = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _d === void 0 ? void 0 : _d.insertBefore(end, currentNode.nextSibling);\r\n fragment.append(currentNode);\r\n pars.push(new RawSet(uuid, {\r\n start: start,\r\n end: end,\r\n thisVariableName: thisVariableName\r\n }, fragment));\r\n }\r\n };\r\n while (currentNode = nodeIterator.nextNode()) {\r\n _loop_1();\r\n }\r\n return pars;\r\n };\r\n RawSet.prototype.childAllRemove = function () {\r\n var next = this.point.start.nextSibling;\r\n while (next) {\r\n if (next === this.point.end) {\r\n break;\r\n }\r\n next.remove();\r\n next = this.point.start.nextSibling;\r\n }\r\n };\r\n RawSet.drItOtherEncoding = function (element) {\r\n var random = RandomUtils_1.RandomUtils.uuid();\r\n var regex = /#it#/g;\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_IT_OPTIONNAME, \"], [\").concat(RawSet.DR_FOR_OF_NAME, \"], [\").concat(RawSet.DR_REPEAT_NAME, \"]\")).forEach(function (it) {\r\n it.innerHTML = it.innerHTML.replace(regex, random);\r\n });\r\n return random;\r\n };\r\n RawSet.drItOtherDecoding = function (element, random) {\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_IT_OPTIONNAME, \"], [\").concat(RawSet.DR_FOR_OF_NAME, \"], [\").concat(RawSet.DR_REPEAT_NAME, \"]\")).forEach(function (it) {\r\n it.innerHTML = it.innerHTML.replace(RegExp(random, 'g'), '#it#');\r\n });\r\n };\r\n RawSet.drThisEncoding = function (element, drThis) {\r\n var thisRandom = RandomUtils_1.RandomUtils.uuid();\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_PRE_NAME, \"]\")).forEach(function (it) {\r\n it.innerHTML = it.innerHTML.replace(/this/g, thisRandom);\r\n });\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_THIS_NAME, \"]\")).forEach(function (it) {\r\n var message = it.innerHTML;\r\n StringUtils_1.StringUtils.regexExec(/([^(dr\\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {\r\n var _a;\r\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], \"\".concat((_a = it[1]) !== null && _a !== void 0 ? _a : '').concat(drThis));\r\n });\r\n it.innerHTML = message;\r\n });\r\n var message = element.innerHTML;\r\n StringUtils_1.StringUtils.regexExec(/([^(dr\\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {\r\n var _a;\r\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], \"\".concat((_a = it[1]) !== null && _a !== void 0 ? _a : '').concat(drThis));\r\n });\r\n element.innerHTML = message;\r\n return thisRandom;\r\n };\r\n RawSet.drThisDecoding = function (element, thisRandom) {\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_PRE_NAME, \"]\")).forEach(function (it) {\r\n it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');\r\n });\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_THIS_NAME, \"]\")).forEach(function (it) {\r\n it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');\r\n });\r\n };\r\n RawSet.drFormOtherMoveAttr = function (element, as, to, config) {\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_FORM_NAME, \"]\")).forEach(function (subElement) {\r\n var _a;\r\n var nodeIterator = config.window.document.createNodeIterator(subElement, NodeFilter.SHOW_ELEMENT, {\r\n acceptNode: function (node) {\r\n if (node.nodeType === Node.ELEMENT_NODE) {\r\n var element_4 = node;\r\n return element_4.hasAttribute(as) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\r\n }\r\n else {\r\n return NodeFilter.FILTER_REJECT;\r\n }\r\n }\r\n });\r\n var node;\r\n while (node = nodeIterator.nextNode()) {\r\n var element_5 = node;\r\n element_5.setAttribute(to, (_a = element_5.getAttribute(as)) !== null && _a !== void 0 ? _a : '');\r\n element_5.removeAttribute(as);\r\n }\r\n });\r\n };\r\n RawSet.drVarEncoding = function (element, drVarOption) {\r\n var _a;\r\n var vars = ((_a = drVarOption === null || drVarOption === void 0 ? void 0 : drVarOption.split(',')) !== null && _a !== void 0 ? _a : []).map(function (it) {\r\n var _a, _b;\r\n var s = it.trim().split('=');\r\n var name = (_a = s[0]) === null || _a === void 0 ? void 0 : _a.trim();\r\n var value = (_b = s[1]) === null || _b === void 0 ? void 0 : _b.trim();\r\n return {\r\n name: name,\r\n value: value,\r\n regex: RegExp('\\\\$var\\\\.' + name + '(?=.?)', 'g'),\r\n random: RandomUtils_1.RandomUtils.uuid()\r\n };\r\n });\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_VAR_OPTIONNAME, \"]\")).forEach(function (it) {\r\n vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {\r\n it.innerHTML = it.innerHTML.replace(vit.regex, vit.random);\r\n });\r\n });\r\n vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {\r\n element.innerHTML = element.innerHTML.replace(vit.regex, vit.value);\r\n });\r\n return vars;\r\n };\r\n RawSet.drVarDecoding = function (element, vars) {\r\n element.querySelectorAll(\"[\".concat(RawSet.DR_THIS_NAME, \"]\")).forEach(function (it) {\r\n vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {\r\n it.innerHTML = it.innerHTML.replace(RegExp(vit.random, 'g'), vit.value);\r\n });\r\n });\r\n };\r\n RawSet.drThisCreate = function (element, drThis, drVarOption, drStripOption, obj, config) {\r\n var fag = config.window.document.createDocumentFragment();\r\n var n = element.cloneNode(true);\r\n n.querySelectorAll(EventManager_1.eventManager.attrNames.map(function (it) { return \"[\".concat(it, \"]\"); }).join(',')).forEach(function (it) {\r\n it.setAttribute(EventManager_1.EventManager.ownerVariablePathAttrName, 'this');\r\n });\r\n var thisRandom = this.drThisEncoding(n, drThis);\r\n var vars = this.drVarEncoding(n, drVarOption);\r\n this.drVarDecoding(n, vars);\r\n this.drThisDecoding(n, thisRandom);\r\n if (drStripOption && (drStripOption === true || drStripOption === 'true')) {\r\n Array.from(n.childNodes).forEach(function (it) { return fag.append(it); });\r\n }\r\n else {\r\n fag.append(n);\r\n }\r\n fag.__domrender_this_variable_name = drThis;\r\n return fag;\r\n };\r\n RawSet.createComponentTargetAttribute = function (name, getThisObj, factory) {\r\n var targetAttribute = {\r\n name: name,\r\n callBack: function (element, attrValue, obj, rawSet) {\r\n var _a;\r\n var thisObj = getThisObj(element, attrValue, obj, rawSet);\r\n var data = factory(element, attrValue, obj, rawSet);\r\n rawSet.point.thisVariableName = data.__domrender_this_variable_name;\r\n if (thisObj) {\r\n var i = thisObj['__domrender_component_new'] = ((_a = thisObj['__domrender_component_new']) !== null && _a !== void 0 ? _a : new Proxy({}, new Types_1.DomRenderFinalProxy()));\r\n i.thisVariableName = rawSet.point.thisVariableName;\r\n i.rawSet = rawSet;\r\n i.innerHTML = element.innerHTML;\r\n i.rootCreator = new Proxy(obj, new Types_1.DomRenderFinalProxy());\r\n i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils_1.ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new Types_1.DomRenderFinalProxy());\r\n }\r\n return data;\r\n }\r\n };\r\n return targetAttribute;\r\n };\r\n RawSet.createComponentTargetElement = function (name, objFactory, template, styles, scripts, config) {\r\n if (template === void 0) { template = ''; }\r\n if (styles === void 0) { styles = []; }\r\n var targetElement = {\r\n name: name,\r\n styles: styles,\r\n template: template,\r\n callBack: function (element, obj, rawSet) {\r\n var _a, _b;\r\n if (!obj.__domrender_components) {\r\n obj.__domrender_components = {};\r\n }\r\n var domrenderComponents = obj.__domrender_components;\r\n var componentKey = '_' + RandomUtils_1.RandomUtils.getRandomString(20);\r\n domrenderComponents[componentKey] = objFactory(element, obj, rawSet);\r\n var instance = domrenderComponents[componentKey];\r\n var attribute = {};\r\n element.getAttributeNames().forEach(function (it) {\r\n attribute[it] = element.getAttribute(it);\r\n });\r\n var render = Object.freeze({\r\n component: instance,\r\n element: element,\r\n innerHTML: element.innerHTML,\r\n attribute: attribute,\r\n rawset: rawSet,\r\n componentKey: componentKey,\r\n scripts: EventManager_1.EventManager.setBindProperty(scripts, obj)\r\n });\r\n this.__render = render;\r\n var i = instance['__domrender_component_new'] = ((_a = instance['__domrender_component_new']) !== null && _a !== void 0 ? _a : new Proxy({}, new Types_1.DomRenderFinalProxy()));\r\n i.thisVariableName = rawSet.point.thisVariableName;\r\n i.thisFullVariableName = \"this.__domrender_components.\".concat(componentKey);\r\n i.rawSet = rawSet;\r\n i.innerHTML = element.innerHTML;\r\n i.rootCreator = new Proxy(obj, new Types_1.DomRenderFinalProxy());\r\n i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils_1.ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new Types_1.DomRenderFinalProxy());\r\n this.__creatorMetaData = i;\r\n var applayTemplate = element.innerHTML;\r\n if (applayTemplate) {\r\n if (rawSet.point.thisVariableName) {\r\n applayTemplate = applayTemplate.replace(/this\\./g, 'this.__domrender_component_new.rootCreator.');\r\n }\r\n applayTemplate = applayTemplate.replace(/\\$component\\./g, 'this.');\r\n }\r\n applayTemplate = template.replace('#innerHTML#', applayTemplate);\r\n var oninit = element.getAttribute('dr-on-init');\r\n if (oninit) {\r\n var script = \"var $component = this.__render.component; var $element = this.__render.element; var $innerHTML = this.__render.innerHTML; var $attribute = this.__render.attribute; \".concat(oninit, \" \");\r\n ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, {\r\n __render: render\r\n }));\r\n }\r\n var innerHTML = ((_b = styles === null || styles === void 0 ? void 0 : styles.map(function (it) { return \"<style>\".concat(it, \"</style>\"); })) !== null && _b !== void 0 ? _b : []).join(' ') + (applayTemplate !== null && applayTemplate !== void 0 ? applayTemplate : '');\r\n element.innerHTML = innerHTML;\r\n var data = RawSet.drThisCreate(element, \"this.__domrender_components.\".concat(componentKey), '', true, obj, config);\r\n return data;\r\n },\r\n };\r\n return targetElement;\r\n };\r\n RawSet.exporesionGrouops = function (data) {\r\n var reg = /(?:[$#]\\{(?:(([$#]\\{)??[^$#]?[^{]*?)\\}[$#]))/g;\r\n return StringUtils_1.StringUtils.regexExec(reg, data);\r\n };\r\n RawSet.DR = 'dr';\r\n RawSet.DR_IF_NAME = 'dr-if';\r\n RawSet.DR_FOR_NAME = 'dr-for';\r\n RawSet.DR_FOR_OF_NAME = 'dr-for-of';\r\n RawSet.DR_REPEAT_NAME = 'dr-repeat';\r\n RawSet.DR_THIS_NAME = 'dr-this';\r\n RawSet.DR_FORM_NAME = 'dr-form';\r\n RawSet.DR_PRE_NAME = 'dr-pre';\r\n RawSet.DR_INNERHTML_NAME = 'dr-inner-html';\r\n RawSet.DR_INNERTEXT_NAME = 'dr-inner-text';\r\n RawSet.DR_DETECT_NAME = 'dr-detect';\r\n RawSet.DR_IT_OPTIONNAME = 'dr-it';\r\n RawSet.DR_VAR_OPTIONNAME = 'dr-var';\r\n RawSet.DR_AFTER_OPTIONNAME = 'dr-after';\r\n RawSet.DR_BEFORE_OPTIONNAME = 'dr-before';\r\n RawSet.DR_COMPLETE_OPTIONNAME = 'dr-complete';\r\n RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';\r\n RawSet.drAttrsOriginName = {\r\n dr: RawSet.DR,\r\n drIf: RawSet.DR_IF_NAME,\r\n drFor: RawSet.DR_FOR_NAME,\r\n drForOf: RawSet.DR_FOR_OF_NAME,\r\n drRepeat: RawSet.DR_REPEAT_NAME,\r\n drThis: RawSet.DR_THIS_NAME,\r\n drForm: RawSet.DR_FORM_NAME,\r\n drPre: RawSet.DR_PRE_NAME,\r\n drInnerHTML: RawSet.DR_INNERHTML_NAME,\r\n drInnerText: RawSet.DR_INNERTEXT_NAME,\r\n drItOption: RawSet.DR_IT_OPTIONNAME,\r\n drVarOption: RawSet.DR_VAR_OPTIONNAME,\r\n drAfterOption: RawSet.DR_AFTER_OPTIONNAME,\r\n drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,\r\n drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,\r\n drStripOption: RawSet.DR_STRIP_OPTIONNAME,\r\n };\r\n RawSet.DR_TAGS = [];\r\n RawSet.DR_ATTRIBUTES = [RawSet.DR, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_FORM_NAME, RawSet.DR_PRE_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME, RawSet.DR_REPEAT_NAME, RawSet.DR_DETECT_NAME];\r\n return RawSet;\r\n}());\r\nexports.RawSet = RawSet;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DomRenderProxy = void 0;\r\nvar RawSet_1 = require(\"./RawSet\");\r\nvar EventManager_1 = require(\"./events/EventManager\");\r\nvar ScriptUtils_1 = require(\"./utils/script/ScriptUtils\");\r\nvar Types_1 = require(\"./types/Types\");\r\nvar excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];\r\nvar DomRenderProxy = (function () {\r\n function DomRenderProxy(_domRender_origin, target, config) {\r\n this._domRender_origin = _domRender_origin;\r\n this.config = config;\r\n this._domRender_ref = new Map();\r\n this._rawSets = new Map();\r\n this._targets = new Set();\r\n if (target) {\r\n this._targets.add(target);\r\n }\r\n }\r\n DomRenderProxy.unFinal = function (obj) {\r\n return Types_1.DomRenderFinalProxy.unFinal(obj);\r\n };\r\n DomRenderProxy.final = function (obj) {\r\n return Types_1.DomRenderFinalProxy.final(obj);\r\n };\r\n DomRenderProxy.isFinal = function (obj) {\r\n return Types_1.DomRenderFinalProxy.isFinal(obj);\r\n };\r\n DomRenderProxy.prototype.run = function (objProxy) {\r\n var _this = this;\r\n this._domRender_proxy = objProxy;\r\n var obj = objProxy._DomRender_origin;\r\n if (obj) {\r\n Object.keys(obj).forEach(function (it) {\r\n var _a, _b;\r\n var target = obj[it];\r\n if (target !== undefined && target !== null && typeof target === 'object' && !DomRenderProxy.isFinal(target) && !Object.isFrozen(target) && !(obj instanceof Types_1.Shield)) {\r\n var filter = (_b = (_a = _this.config.proxyExcludeTyps) === null || _a === void 0 ? void 0 : _a.filter(function (it) { return target instanceof it; })) !== null && _b !== void 0 ? _b : [];\r\n if (filter.length === 0) {\r\n var proxyAfter = _this.proxy(objProxy, target, it);\r\n obj[it] = proxyAfter;\r\n }\r\n }\r\n });\r\n }\r\n this._targets.forEach(function (target) {\r\n _this.initRender(target);\r\n });\r\n };\r\n DomRenderProxy.prototype.initRender = function (target) {\r\n var _this = this;\r\n var _a, _b, _c;\r\n var innerHTML = (_a = target.innerHTML) !== null && _a !== void 0 ? _a : '';\r\n this._targets.add(target);\r\n var rawSets = RawSet_1.RawSet.checkPointCreates(target, this.config);\r\n EventManager_1.eventManager.applyEvent(this._domRender_proxy, EventManager_1.eventManager.findAttrElements(target, this.config), this.config);\r\n rawSets.forEach(function (it) {\r\n var strings = it.getUsingTriggerVariables(_this.config);\r\n if (strings.size <= 0) {\r\n _this.addRawSet('', it);\r\n }\r\n else {\r\n strings.forEach(function (sit) {\r\n _this.addRawSet(sit, it);\r\n });\r\n }\r\n });\r\n this.render(this.getRawSets());\r\n var render = { target: target };\r\n var creatorMetaData = {\r\n creator: this._domRender_proxy,\r\n rootCreator: this._domRender_proxy,\r\n innerHTML: innerHTML,\r\n };\r\n (_c = (_b = this._domRender_proxy) === null || _b === void 0 ? void 0 : _b.onInitRender) === null || _c === void 0 ? void 0 : _c.call(_b, { render: render, creatorMetaData: creatorMetaData });\r\n };\r\n DomRenderProxy.prototype.getRawSets = function () {\r\n var set = new Set();\r\n this._rawSets.forEach(function (v, k) {\r\n v.forEach(function (it) { return set.add(it); });\r\n });\r\n return Array.from(set);\r\n };\r\n DomRenderProxy.prototype.render = function (raws) {\r\n var _this = this;\r\n (raws !== null && raws !== void 0 ? raws : this.getRawSets()).forEach(function (it) {\r\n it.getUsingTriggerVariables(_this.config).forEach(function (path) { return _this.addRawSet(path, it); });\r\n if (it.point.start.isConnected && it.point.start.isConnected) {\r\n var rawSets = it.render(_this._domRender_proxy, _this.config);\r\n _this.render(rawSets);\r\n }\r\n else {\r\n _this.removeRawSet(it);\r\n }\r\n });\r\n };\r\n DomRenderProxy.prototype.root = function (paths, value, lastDoneExecute) {\r\n var _this = this;\r\n if (lastDoneExecute === void 0) { lastDoneExecute = true; }\r\n var fullPaths = [];\r\n if (this._domRender_ref.size > 0) {\r\n this._domRender_ref.forEach(function (it, key) {\r\n if ('_DomRender_isProxy' in key) {\r\n it.forEach(function (sit) {\r\n var _a;\r\n var items = (_a = key._DomRender_proxy) === null || _a === void 0 ? void 0 : _a.root(paths.concat(sit), value, lastDoneExecute);\r\n fullPaths.push(items.join(','));\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n var strings = paths.reverse();\r\n var fullPathStr_1 = strings.join('.');\r\n if (lastDoneExecute) {\r\n var iterable = this._rawSets.get(fullPathStr_1);\r\n var front = strings.slice(0, strings.length - 1).join('.');\r\n var last = strings[strings.length - 1];\r\n if (!isNaN(Number(last)) && Array.isArray(ScriptUtils_1.ScriptUtils.evalReturn('this.' + front, this._domRender_proxy))) {\r\n var aIterable = this._rawSets.get(front);\r\n if (aIterable) {\r\n this.render(Array.from(aIterable));\r\n }\r\n }\r\n else if (iterable) {\r\n this.render(Array.from(iterable));\r\n }\r\n this._targets.forEach(function (it) {\r\n if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\r\n var targets = EventManager_1.eventManager.findAttrElements(it, _this.config);\r\n EventManager_1.eventManager.changeVar(_this._domRender_proxy, targets, \"this.\".concat(fullPathStr_1));\r\n }\r\n });\r\n }\r\n fullPaths.push(fullPathStr_1);\r\n }\r\n return fullPaths;\r\n };\r\n DomRenderProxy.prototype.set = function (target, p, value, receiver) {\r\n var _a, _b, _c;\r\n if (typeof p === 'string') {\r\n value = this.proxy(receiver, value, p);\r\n }\r\n target[p] = value;\r\n var fullPath;\r\n if (typeof p === 'string') {\r\n fullPath = this.root([p], value);\r\n }\r\n if (('onBeforeReturnSet' in receiver) && typeof p === 'string' && !((_a = this.config.proxyExcludeOnBeforeReturnSets) !== null && _a !== void 0 ? _a : []).concat(excludeGetSetPropertys).includes(p)) {\r\n (_c = (_b = receiver) === null || _b === void 0 ? void 0 : _b.onBeforeReturnSet) === null || _c === void 0 ? void 0 : _c.call(_b, p, value, fullPath);\r\n }\r\n return true;\r\n };\r\n DomRenderProxy.prototype.get = function (target, p, receiver) {\r\n var _a, _b, _c;\r\n if (p === '_DomRender_origin') {\r\n return this._domRender_origin;\r\n }\r\n else if (p === '_DomRender_ref') {\r\n return this._domRender_ref;\r\n }\r\n else if (p === '_DomRender_proxy') {\r\n return this;\r\n }\r\n else {\r\n var it_1 = target[p];\r\n if (it_1 && typeof it_1 === 'object' && ('_DomRender_isProxy' in it_1) && Object.prototype.toString.call(it_1._DomRender_origin) === '[object Date]') {\r\n it_1 = it_1._DomRender_origin;\r\n }\r\n if (('onBeforeReturnGet' in receiver) && typeof p === 'string' && !((_a = this.config.proxyExcludeOnBeforeReturnGets) !== null && _a !== void 0 ? _a : []).concat(excludeGetSetPropertys).includes(p)) {\r\n (_c = (_b = receiver) === null || _b === void 0 ? void 0 : _b.onBeforeReturnGet) === null || _c === void 0 ? void 0 : _c.call(_b, p, it_1, this.root([p], it_1, false));\r\n }\r\n return it_1;\r\n }\r\n };\r\n DomRenderProxy.prototype.has = function (target, p) {\r\n return p === '_DomRender_isProxy' || p in target;\r\n };\r\n DomRenderProxy.prototype.proxy = function (parentProxy, obj, p) {\r\n var _a, _b;\r\n var proxyTarget = ((_b = (_a = this.config.proxyExcludeTyps) === null || _a === void 0 ? void 0 : _a.filter(function (it) { return obj instanceof it; })) !== null && _b !== void 0 ? _b : []).length <= 0;\r\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Types_1.Shield)) {\r\n var domRender = new DomRenderProxy(obj, undefined, this.config);\r\n domRender.addRef(parentProxy, p);\r\n var proxy = new Proxy(obj, domRender);\r\n domRender.run(proxy);\r\n return proxy;\r\n }\r\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && ('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Types_1.Shield)) {\r\n var d = obj._DomRender_proxy;\r\n d.addRef(this._domRender_proxy, p);\r\n return obj;\r\n }\r\n else {\r\n return obj;\r\n }\r\n };\r\n DomRenderProxy.prototype.addRef = function (parent, path) {\r\n var _a;\r\n if (!this._domRender_ref.get(parent)) {\r\n this._domRender_ref.set(parent, new Set());\r\n }\r\n (_a = this._domRender_ref.get(parent)) === null || _a === void 0 ? void 0 : _a.add(path);\r\n };\r\n DomRenderProxy.prototype.addRawSetAndRender = function (path, rawSet) {\r\n this.addRawSet(path, rawSet);\r\n this.render([rawSet]);\r\n };\r\n DomRenderProxy.prototype.addRawSet = function (path, rawSet) {\r\n var _a;\r\n if (!this._rawSets.get(path)) {\r\n this._rawSets.set(path, new Set());\r\n }\r\n (_a = this._rawSets.get(path)) === null || _a === void 0 ? void 0 : _a.add(rawSet);\r\n };\r\n DomRenderProxy.prototype.removeRawSet = function (raws) {\r\n this._rawSets.forEach(function (it) {\r\n it.delete(raws);\r\n });\r\n this.garbageRawSet();\r\n };\r\n DomRenderProxy.prototype.garbageRawSet = function () {\r\n var _this = this;\r\n this._targets.forEach(function (it) {\r\n if (!it.isConnected) {\r\n _this._targets.delete(it);\r\n }\r\n });\r\n this._rawSets.forEach(function (it) {\r\n it.forEach(function (sit) {\r\n if (!sit.isConnected) {\r\n it.delete(sit);\r\n }\r\n });\r\n });\r\n };\r\n return DomRenderProxy;\r\n}());\r\nexports.DomRenderProxy = DomRenderProxy;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DomRender = void 0;\r\nvar DomRenderProxy_1 = require(\"./DomRenderProxy\");\r\nvar DomRender = (function () {\r\n function DomRender() {\r\n }\r\n DomRender.run = function (obj, target, config) {\r\n var robj = obj;\r\n if ('_DomRender_isProxy' in obj) {\r\n if (target) {\r\n obj._DomRender_proxy.initRender(target);\r\n }\r\n robj = obj;\r\n return robj;\r\n }\r\n if (!config) {\r\n config = { window: window };\r\n }\r\n var domRender = new DomRenderProxy_1.DomRenderProxy(obj, target, config);\r\n var dest = new Proxy(obj, domRender);\r\n robj = dest;\r\n domRender.run(robj);\r\n return robj;\r\n };\r\n return DomRender;\r\n}());\r\nexports.DomRender = DomRender;\r\n"],"names":["Object","defineProperty","exports","value","ValidUtils","isNullOrUndefined","data","undefined","isNull","isArray","object_o","prototype","toString","call","trim","isNumber","isString","isFunction","isObject","isMap","RandomUtils","random","min","max","ValidUtils_1","Math","uuid","format","replace","c","r","v","getRandomColor","letters","split","color","i","floor","getRandomString","len","length","d","StringUtils","deleteEnter","regexExec","regex","text","varExec","exec","usingVars","push","input","escapeSpecialCharacterRegExp","__values","this","o","s","Symbol","iterator","m","next","done","TypeError","__read","n","ar","e","error","ScriptUtils","getVariablePaths","script","Set","GetDetectProxy","prefix","set","target","p","receiver","get","items","add","Proxy","destUser","Function","concat","bind","console","evalReturn","thisTarget","eval","loadElement","name","attribute","document","Promise","resolve","reject","e_1","_a","tag","createElement","onload","onerror","_b","entries","_c","_d","key","setAttribute","e_1_1","return","head","append","loadStyleSheet","href","type","rel","loadScript","src","DomUtils","selectorElements","selector","element","Array","slice","querySelectorAll","selectorNodes","removeAttribute","result","attrs","forEach","it","setAttributeAttr","getAttributeToObject","getAttributeNames","ait","getAttribute","getStyleToObject","style","__spreadArray","to","from","pack","arguments","l","RangeResult","RangeIterator","first","last","step","_current","_first","_last","_step","Range","isRange","range","__last","Number","toArray","Shield","DomRenderFinalProxy","final","obj","_DomRender_isFinal","isFinal","unFinal","has","EventManager","_this","attrPrefix","eventNames","eventParam","attrNames","WINDOW_EVENT_POPSTATE","WINDOW_EVENT_RESIZE","bindScript","SCRIPTS_VARNAME","RANGE_VARNAME","ELEMENT_VARNAME","TARGET_VARNAME","EVENT_VARNAME","window","WINDOW_EVENTS","eventName","addEventListener","event","targetAttr","config","_DomRender_proxy","ScriptUtils_1","assign","__render","freeze","Types_1","Range_1","scripts","setBindProperty","findAttrElements","fragment","elements","addAttributes","applyEvents","map","attrName","applyEvent","childNodes","addDrEvents","addDrEventPram","procAttr","varName","ownerVariablePathName","ownerVariablePathAttrName","bindObj_1","getValue","setValue","eit","changeVar","filter","nodeType","ta","callBack","bindObj","isUsingThisVar","sit","k","String","e_2","join","HTMLElement","e_2_1","e_3","classList","remove","e_3_1","attr","filterScript","attributes","script_1","params_1","prefix_1","startsWith","params","sets","DomUtils_1","replaceAll","raws","VARNAMES","RegExp","variablePaths","e_4","newScripts","e_4_1","FAG_VARNAME","RAWSET_VARNAME","Validator","_value","autoValid","autoValidAction","setTarget","setEvent","setAutoValid","setAutoValidAction","getValidAction","_validAction","setValidAction","getAutoValid","_autoValid","getAutoValidAction","_autoValidAction","getEvent","_event","domRenderFinal","getTarget","_target","targetFocus","focus","targetDispatchEvent","dispatchEvent","tickValue","enumerable","configurable","changeValue","log","validAction","valid","checked","selectedIndex","querySelector","querySelectorALL","inValid","allValid","childInValid","allValidAction","childInValidAction","allInValid","allInValidAction","childValid","childValue","childValidators","childValidAction","childInValidValidator","childValidator","find","childValidValidator","syncValue","allSyncValue","__extends","extendStatics","b","setPrototypeOf","__proto__","hasOwnProperty","__","constructor","create","NonPassValidator","_super","Validator_1","ValidatorArray","_makeValidatorFactory","NonPassValidator_1","getMakeValidatorFactory","setMakeValidatorFactory","setArrayValue","addValidator","makeValidator","allChecked","getValidators","getValidator","getValidatorByValue","validatorByValue","getValidatorByValues","removeElement","__assign","t","apply","RawSet","point","start","isConnected","end","getUsingTriggerVariables","usingTriggerVariables","cNode","Node","TEXT_NODE","textContent","ELEMENT_NODE","element_1","targetAttrNames","targetAttrs","DR_ATTRIBUTES","EventManager_1","render","_e","_f","_g","_h","_j","_k","genNode","importNode","onAttrInitCallBack","onElementInitCallBack","drAttrs","_l","_m","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_0","_1","_2","_3","_4","_5","_6","rawset","fag","createDocumentFragment","runText","exporesionGrouops","template","innerHTML","content","createTextNode","parentNode","replaceChild","element_2","drAttr_1","dr","getAttributeAndDelete","DR","drIf","DR_IF_NAME","drFor","DR_FOR_NAME","drForOf","DR_FOR_OF_NAME","drRepeat","DR_REPEAT_NAME","drThis","DR_THIS_NAME","drForm","DR_FORM_NAME","drPre","DR_PRE_NAME","drInnerHTML","DR_INNERHTML_NAME","drInnerText","DR_INNERTEXT_NAME","drItOption","DR_IT_OPTIONNAME","drVarOption","DR_VAR_OPTIONNAME","drAfterOption","DR_AFTER_OPTIONNAME","drBeforeOption","DR_BEFORE_OPTIONNAME","drCompleteOption","DR_COMPLETE_OPTIONNAME","drStripOption","DR_STRIP_OPTIONNAME","itRandom","drItOtherEncoding","vars","drVarEncoding","newTemp","drVarDecoding","drItOtherDecoding","tempalte","rr","checkPointCreates","drAttr","drAttrsOriginName","bypass","drThisCreate","drFormOtherMoveAttr","childs","fromName","thisName","validatorName","attrEventName","eventManager","varpath","data_1","ValidatorArray_1","targetElements","toLowerCase","tagName","documentFragment","targetElement","creatorMetaData","__creatorMetaData","complete","attrValue","replaceBody","onElementInitCallBack_1","onElementInitCallBack_1_1","it_1","component","onInitRender","onElementInit","onAttrInitCallBack_1","onAttrInitCallBack_1_1","it_2","onAttrInit","childAllRemove","insertBefore","nextSibling","thisVariableName","__domrender_this_variable_name","nodeIterator","createNodeIterator","NodeFilter","SHOW_ALL","acceptNode","node","between","StringUtils_1","FILTER_ACCEPT","FILTER_REJECT","element_3","isElement","includes","targetAttrNames_1","isAttr","pars","currentNode","_loop_1","template_1","a","RandomUtils_1","regexArr","lasterIndex_1","preparedText","substring","index","createComment","nextNode","drThisEncoding","thisRandom","message","reverse","substr","drThisDecoding","as","subElement","SHOW_ELEMENT","element_4","hasAttribute","element_5","vit","cloneNode","createComponentTargetAttribute","getThisObj","factory","targetAttribute","rawSet","thisObj","rootCreator","creator","createComponentTargetElement","objFactory","styles","__domrender_components","domrenderComponents","componentKey","instance","thisFullVariableName","applayTemplate","oninit","reg","DR_DETECT_NAME","DR_TAGS","excludeGetSetPropertys","DomRenderProxy","_domRender_origin","_domRender_ref","Map","_rawSets","_targets","run","objProxy","_domRender_proxy","_DomRender_origin","keys","isFrozen","proxyExcludeTyps","proxyAfter","proxy","initRender","rawSets","RawSet_1","strings","size","addRawSet","getRawSets","path","removeRawSet","root","paths","lastDoneExecute","fullPaths","fullPathStr_1","iterable","front","isNaN","aIterable","DOCUMENT_FRAGMENT_NODE","targets","fullPath","proxyExcludeOnBeforeReturnSets","onBeforeReturnSet","proxyExcludeOnBeforeReturnGets","onBeforeReturnGet","parentProxy","proxyTarget","domRender","addRef","parent","addRawSetAndRender","delete","garbageRawSet","DomRender","robj","DomRenderProxy_1","dest"],"mappings":"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"}
|