@domql/element 3.1.2 → 3.2.7
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/README.md +4 -6
- package/children.js +45 -18
- package/create.js +58 -46
- package/define.js +1 -1
- package/dist/cjs/children.js +43 -13
- package/dist/cjs/create.js +57 -27
- package/dist/cjs/define.js +1 -1
- package/dist/cjs/event/animationFrame.js +96 -0
- package/dist/cjs/event/can.js +28 -0
- package/dist/cjs/event/index.js +20 -0
- package/dist/cjs/event/on.js +84 -0
- package/dist/cjs/event/store.js +27 -0
- package/dist/cjs/extend.js +88 -0
- package/dist/cjs/index.js +9 -6
- package/dist/cjs/iterate.js +89 -33
- package/dist/cjs/methods/set.js +5 -0
- package/dist/cjs/methods/v2.js +1 -1
- package/dist/cjs/mixins/attr.js +3 -2
- package/dist/cjs/mixins/classList.js +11 -1
- package/dist/cjs/mixins/content.js +72 -0
- package/dist/cjs/mixins/html.js +1 -2
- package/dist/cjs/mixins/registry.js +2 -2
- package/dist/cjs/mixins/scope.js +1 -1
- package/dist/cjs/mixins/state.js +4 -4
- package/dist/cjs/mixins/style.js +11 -2
- package/dist/cjs/mixins/text.js +9 -5
- package/dist/cjs/node.js +22 -19
- package/dist/cjs/render/append.js +72 -0
- package/dist/cjs/render/cache.js +80 -0
- package/dist/cjs/render/create.js +25 -0
- package/dist/cjs/render/index.js +20 -0
- package/dist/cjs/set.js +33 -40
- package/dist/cjs/update.js +100 -69
- package/dist/cjs/utils/applyParam.js +7 -7
- package/dist/cjs/utils/extendUtils.js +132 -0
- package/dist/cjs/utils/index.js +2 -0
- package/dist/cjs/utils/propEvents.js +56 -0
- package/dist/esm/children.js +44 -14
- package/dist/esm/create.js +58 -27
- package/dist/esm/define.js +1 -1
- package/dist/esm/event/animationFrame.js +76 -0
- package/dist/esm/event/can.js +8 -0
- package/dist/esm/event/index.js +3 -0
- package/dist/esm/event/on.js +64 -0
- package/dist/esm/event/store.js +7 -0
- package/dist/esm/extend.js +74 -0
- package/dist/esm/index.js +8 -6
- package/dist/esm/iterate.js +90 -35
- package/dist/esm/methods/set.js +10 -0
- package/dist/esm/methods/v2.js +1 -1
- package/dist/esm/mixins/attr.js +4 -3
- package/dist/esm/mixins/classList.js +11 -1
- package/dist/esm/mixins/content.js +52 -0
- package/dist/esm/mixins/html.js +1 -2
- package/dist/esm/mixins/registry.js +1 -1
- package/dist/esm/mixins/scope.js +1 -1
- package/dist/esm/mixins/state.js +5 -5
- package/dist/esm/mixins/style.js +12 -3
- package/dist/esm/mixins/text.js +10 -6
- package/dist/esm/node.js +22 -19
- package/dist/esm/render/append.js +52 -0
- package/dist/esm/render/cache.js +60 -0
- package/dist/esm/render/create.js +5 -0
- package/dist/esm/render/index.js +3 -0
- package/dist/esm/set.js +34 -41
- package/dist/esm/update.js +100 -71
- package/dist/esm/utils/applyParam.js +8 -8
- package/dist/esm/utils/extendUtils.js +119 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/propEvents.js +36 -0
- package/dist/iife/index.js +4718 -0
- package/extend.js +95 -0
- package/index.js +9 -6
- package/iterate.js +100 -38
- package/node.js +25 -23
- package/package.json +44 -20
- package/set.js +28 -32
- package/update.js +111 -82
- package/__tests__/checkIfOnUpdate.test.js +0 -103
- package/__tests__/children.test.js +0 -213
- package/__tests__/define.test.js +0 -75
- package/__tests__/inheritStateUpdates.test.js +0 -79
- package/__tests__/renderElement.test.js +0 -131
- package/__tests__/resetElement.test.js +0 -44
- package/__tests__/set.test.js +0 -316
- package/__tests__/throughExecProps.test.js +0 -86
- package/__tests__/throughInitialDefine.test.js +0 -104
- package/__tests__/throughInitialExec.test.js +0 -92
- package/__tests__/throughUpdatedDefine.test.js +0 -92
- package/__tests__/throughUpdatedExec.test.js +0 -110
- package/__tests__/tree.test.js +0 -15
- package/__tests__/update.test.js +0 -256
- package/dist/cjs/__tests__/checkIfOnUpdate.test.js +0 -73
- package/dist/cjs/__tests__/children.test.js +0 -177
- package/dist/cjs/__tests__/define.test.js +0 -75
- package/dist/cjs/__tests__/inheritStateUpdates.test.js +0 -62
- package/dist/cjs/__tests__/renderElement.test.js +0 -138
- package/dist/cjs/__tests__/resetElement.test.js +0 -35
- package/dist/cjs/__tests__/set.test.js +0 -256
- package/dist/cjs/__tests__/throughExecProps.test.js +0 -62
- package/dist/cjs/__tests__/throughInitialDefine.test.js +0 -79
- package/dist/cjs/__tests__/throughInitialExec.test.js +0 -73
- package/dist/cjs/__tests__/throughUpdatedDefine.test.js +0 -69
- package/dist/cjs/__tests__/throughUpdatedExec.test.js +0 -84
- package/dist/cjs/__tests__/tree.test.js +0 -11
- package/dist/cjs/__tests__/update.test.js +0 -222
- package/dist/cjs/package.json +0 -4
- package/dist/esm/__tests__/checkIfOnUpdate.test.js +0 -73
- package/dist/esm/__tests__/children.test.js +0 -177
- package/dist/esm/__tests__/define.test.js +0 -53
- package/dist/esm/__tests__/inheritStateUpdates.test.js +0 -62
- package/dist/esm/__tests__/renderElement.test.js +0 -116
- package/dist/esm/__tests__/resetElement.test.js +0 -35
- package/dist/esm/__tests__/set.test.js +0 -256
- package/dist/esm/__tests__/throughExecProps.test.js +0 -62
- package/dist/esm/__tests__/throughInitialDefine.test.js +0 -79
- package/dist/esm/__tests__/throughInitialExec.test.js +0 -73
- package/dist/esm/__tests__/throughUpdatedDefine.test.js +0 -69
- package/dist/esm/__tests__/throughUpdatedExec.test.js +0 -84
- package/dist/esm/__tests__/tree.test.js +0 -11
- package/dist/esm/__tests__/update.test.js +0 -222
- package/methods/set.js +0 -63
- package/methods/v2.js +0 -83
- package/mixins/attr.js +0 -32
- package/mixins/classList.js +0 -54
- package/mixins/data.js +0 -26
- package/mixins/html.js +0 -21
- package/mixins/index.js +0 -23
- package/mixins/registry.js +0 -46
- package/mixins/scope.js +0 -23
- package/mixins/state.js +0 -19
- package/mixins/style.js +0 -16
- package/mixins/text.js +0 -26
- package/utils/applyParam.js +0 -34
- package/utils/index.js +0 -3
package/mixins/registry.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import attr from './attr.js'
|
|
4
|
-
import { classList } from './classList.js'
|
|
5
|
-
import data from './data.js'
|
|
6
|
-
import html from './html.js'
|
|
7
|
-
import scope from './scope.js'
|
|
8
|
-
import state from './state.js'
|
|
9
|
-
import style from './style.js'
|
|
10
|
-
import text from './text.js'
|
|
11
|
-
|
|
12
|
-
export const REGISTRY = {
|
|
13
|
-
attr,
|
|
14
|
-
style,
|
|
15
|
-
text,
|
|
16
|
-
html,
|
|
17
|
-
data,
|
|
18
|
-
classlist: classList,
|
|
19
|
-
state,
|
|
20
|
-
scope,
|
|
21
|
-
deps: (param, el) => param || el.parent.deps,
|
|
22
|
-
|
|
23
|
-
extends: {},
|
|
24
|
-
children: {},
|
|
25
|
-
content: {},
|
|
26
|
-
childExtends: {},
|
|
27
|
-
childExtendsRecursive: {},
|
|
28
|
-
props: {},
|
|
29
|
-
if: {},
|
|
30
|
-
define: {},
|
|
31
|
-
__name: {},
|
|
32
|
-
__ref: {},
|
|
33
|
-
__hash: {},
|
|
34
|
-
__text: {},
|
|
35
|
-
key: {},
|
|
36
|
-
tag: {},
|
|
37
|
-
query: {},
|
|
38
|
-
parent: {},
|
|
39
|
-
node: {},
|
|
40
|
-
variables: {},
|
|
41
|
-
on: {},
|
|
42
|
-
component: {},
|
|
43
|
-
context: {}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export default REGISTRY
|
package/mixins/scope.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { isFunction, isObject } from '@domql/utils'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Apply data parameters on the DOM nodes
|
|
7
|
-
* this should only work if `showOnNode: true` is passed
|
|
8
|
-
*/
|
|
9
|
-
export async function scope (params, element, node) {
|
|
10
|
-
if (!isObject(params)) return
|
|
11
|
-
|
|
12
|
-
// Apply data params on node
|
|
13
|
-
for (const scopeItem in params) {
|
|
14
|
-
const value = params[scopeItem]
|
|
15
|
-
if (isFunction(value)) {
|
|
16
|
-
element.scope[scopeItem] = value.bind(element)
|
|
17
|
-
} else {
|
|
18
|
-
element.scope[scopeItem] = value
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export default scope
|
package/mixins/state.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { execPromise, isObject, STATE_METHODS } from '@domql/utils'
|
|
4
|
-
|
|
5
|
-
export async function state (params, element, node) {
|
|
6
|
-
const state = await execPromise(params, element)
|
|
7
|
-
|
|
8
|
-
if (isObject(state)) {
|
|
9
|
-
for (const param in state) {
|
|
10
|
-
if (STATE_METHODS.includes(param)) continue
|
|
11
|
-
if (!Object.hasOwnProperty.call(state, param)) continue
|
|
12
|
-
// element.state[param] = exec(state[param], element)
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return element
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export default state
|
package/mixins/style.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { isObject, map } from '@domql/utils'
|
|
4
|
-
import { report } from '@domql/report'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Recursively add styles to a DOM node
|
|
8
|
-
*/
|
|
9
|
-
export function style (params, element, node) {
|
|
10
|
-
if (params) {
|
|
11
|
-
if (isObject(params)) map(node.style, params, element)
|
|
12
|
-
else report('HTMLInvalidStyles', params)
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export default style
|
package/mixins/text.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { create } from '../create.js'
|
|
4
|
-
import { exec, isString } from '@domql/utils'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Creates a text node and appends into
|
|
8
|
-
* an original one as a child
|
|
9
|
-
*/
|
|
10
|
-
export async function text (param, element, node) {
|
|
11
|
-
let prop = exec(param || element.props.text, element)
|
|
12
|
-
if (isString(prop) && prop.includes('{{')) {
|
|
13
|
-
prop = element.call('replaceLiteralsWithObjectFields', prop)
|
|
14
|
-
}
|
|
15
|
-
if (element.tag === 'string') {
|
|
16
|
-
node.nodeValue = prop
|
|
17
|
-
} else if (param !== undefined || param !== null) {
|
|
18
|
-
if (element.__text) {
|
|
19
|
-
if (element.__text.text === prop) return
|
|
20
|
-
element.__text.text = prop
|
|
21
|
-
if (element.__text.node) element.__text.node.nodeValue = prop
|
|
22
|
-
} else await create({ tag: 'string', text: prop }, element, '__text')
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export default text
|
package/utils/applyParam.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { isFunction } from '@domql/utils'
|
|
4
|
-
import { REGISTRY } from '../mixins/index.js'
|
|
5
|
-
|
|
6
|
-
export const applyParam = async (param, element, options) => {
|
|
7
|
-
const { node, context, __ref: ref } = element
|
|
8
|
-
const prop = element[param]
|
|
9
|
-
|
|
10
|
-
const { onlyUpdate } = options
|
|
11
|
-
|
|
12
|
-
const DOMQLProperty = REGISTRY[param]
|
|
13
|
-
const DOMQLPropertyFromContext =
|
|
14
|
-
context && context.registry && context.registry[param]
|
|
15
|
-
const isGlobalTransformer = DOMQLPropertyFromContext || DOMQLProperty
|
|
16
|
-
|
|
17
|
-
const hasDefine = element.define && element.define[param]
|
|
18
|
-
const hasContextDefine = context && context.define && context.define[param]
|
|
19
|
-
|
|
20
|
-
if (!ref.__if) return
|
|
21
|
-
|
|
22
|
-
const hasOnlyUpdate = onlyUpdate
|
|
23
|
-
? onlyUpdate === param || element.lookup(onlyUpdate)
|
|
24
|
-
: true
|
|
25
|
-
|
|
26
|
-
if (isGlobalTransformer && !hasContextDefine && hasOnlyUpdate) {
|
|
27
|
-
if (isFunction(isGlobalTransformer)) {
|
|
28
|
-
await isGlobalTransformer(prop, element, node, options)
|
|
29
|
-
return
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return { hasDefine, hasContextDefine }
|
|
34
|
-
}
|
package/utils/index.js
DELETED