@@ -3,7 +3,6 @@ import NeoArray from '../util/Array.mjs';
33import Style from '../util/Style.mjs' ;
44import { rawDimensionTags } from './domConstants.mjs' ;
55import VNode from './VNode.mjs' ;
6- import DomApiVnodeCreator from "src/vdom/util/DomApiVnodeCreator.mjs" ;
76
87const NeoConfig = Neo . config ;
98
@@ -77,6 +76,7 @@ class Helper extends Base {
7776 * @param {Neo.vdom.VNode } config.vnode
7877 * @param {Map } config.vnodeMap
7978 * @returns {Object } deltas
79+ * @protected
8080 */
8181 compareAttributes ( config ) {
8282 let { deltas, oldVnode, vnode, vnodeMap} = config ,
@@ -184,6 +184,7 @@ class Helper extends Base {
184184 * @param {Neo.vdom.VNode|Object } config.vnode
185185 * @param {Map } [config.vnodeMap]
186186 * @returns {Object } deltas
187+ * @protected
187188 */
188189 createDeltas ( config ) {
189190 let { deltas= { default : [ ] , remove : [ ] } , oldVnode, vnode} = config ,
@@ -278,6 +279,7 @@ class Helper extends Base {
278279 /**
279280 * @param {Object } opts
280281 * @returns {Object|Neo.vdom.VNode|null }
282+ * @protected
281283 */
282284 createVnode ( opts ) {
283285 // do not create vnode instances for component reference objects
@@ -414,6 +416,7 @@ class Helper extends Base {
414416 * {Number} index
415417 * {String} parentId
416418 * {Neo.vdom.VNode} vnode
419+ * @protected
417420 */
418421 createVnodeMap ( config ) {
419422 let { vnode, parentNode= null , index= 0 , map= new Map ( ) } = config ,
@@ -441,6 +444,7 @@ class Helper extends Base {
441444 * @param {Neo.vdom.VNode } config.vnode
442445 * @param {Map } config.vnodeMap
443446 * @returns {Map }
447+ * @protected
444448 */
445449 findMovedNodes ( config ) {
446450 let { movedNodes= new Map ( ) , oldVnodeMap, vnode, vnodeMap} = config ,
@@ -464,6 +468,7 @@ class Helper extends Base {
464468 /**
465469 * Only import for the DOM API based mount adapter.
466470 * @returns {Promise<void> }
471+ * @protected
467472 */
468473 async importDomApiVnodeCreator ( ) {
469474 if ( ! NeoConfig . useStringBasedMounting && ! Neo . vdom . util ?. DomApiVnodeCreator ) {
@@ -474,6 +479,7 @@ class Helper extends Base {
474479 /**
475480 * Only import for the string based mount adapter.
476481 * @returns {Promise<void> }
482+ * @protected
477483 */
478484 async importStringFromVnode ( ) {
479485 if ( NeoConfig . useStringBasedMounting && ! Neo . vdom . util ?. StringFromVnode ) {
@@ -488,6 +494,7 @@ class Helper extends Base {
488494 * @param {Map } config.oldVnodeMap
489495 * @param {Neo.vdom.VNode } config.vnode
490496 * @param {Map } config.vnodeMap
497+ * @protected
491498 */
492499 insertNode ( { deltas, index, oldVnodeMap, vnode, vnodeMap} ) {
493500 let details = vnodeMap . get ( vnode . id ) ,
@@ -517,9 +524,11 @@ class Helper extends Base {
517524 Object . assign ( delta , { hasLeadingTextChildren, index : physicalIndex } ) ;
518525
519526 if ( NeoConfig . useStringBasedMounting ) {
527+ // For string-based mounting, pass a string excluding moved nodes
520528 delta . outerHTML = Neo . vdom . util . StringFromVnode . create ( vnode , movedNodes )
521529 } else {
522- delta . vnode = vnode
530+ // For direct DOM API mounting, pass the pruned VNode tree
531+ delta . vnode = Neo . vdom . util . DomApiVnodeCreator . create ( vnode , movedNodes )
523532 }
524533
525534 deltas . default . push ( delta ) ;
@@ -542,6 +551,7 @@ class Helper extends Base {
542551 * @param {Neo.vdom.VNode } vnode
543552 * @param {Map } oldVnodeMap
544553 * @returns {Boolean }
554+ * @protected
545555 */
546556 isMovedNode ( vnode , oldVnodeMap ) {
547557 let oldVnode = oldVnodeMap . get ( vnode . id ) ;
@@ -559,6 +569,7 @@ class Helper extends Base {
559569 * @param {Map } config.oldVnodeMap
560570 * @param {Neo.vdom.VNode } config.vnode
561571 * @param {Map } config.vnodeMap
572+ * @protected
562573 */
563574 moveNode ( { deltas, insertDelta, oldVnodeMap, vnode, vnodeMap} ) {
564575 let details = vnodeMap . get ( vnode . id ) ,
@@ -620,6 +631,7 @@ class Helper extends Base {
620631 * @param {Object } config.deltas
621632 * @param {Neo.vdom.VNode } config.oldVnode
622633 * @param {Map } config.oldVnodeMap
634+ * @protected
623635 */
624636 removeNode ( { deltas, oldVnode, oldVnodeMap} ) {
625637 if ( oldVnode . componentId && ! oldVnode . id ) {
0 commit comments