@livetemplate/client 0.8.37 → 0.8.39

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.
@@ -9,6 +9,9 @@ export { loadAndApplyUpdate, compareHTML } from "./utils/testing";
9
9
  export { setupReactiveAttributeListeners } from "./dom/reactive-attributes";
10
10
  export declare class LiveTemplateClient {
11
11
  private readonly treeRenderer;
12
+ private readonly rangeDomApplier;
13
+ private nodesAddedThisRender;
14
+ private directiveTouchedThisRender;
12
15
  private readonly focusManager;
13
16
  private readonly logger;
14
17
  private lvtId;
@@ -166,6 +169,15 @@ export declare class LiveTemplateClient {
166
169
  * Handle upload_start response from server
167
170
  */
168
171
  private handleUploadStartResponse;
172
+ /**
173
+ * Walk tempWrapper for `<!--lvt-targeted-skip:path-->` comments left by
174
+ * `reconstructFromTree` and convert each into a `data-lvt-targeted-skip`
175
+ * attribute on its parent element. The marker tells morphdom (via its
176
+ * onBeforeElUpdated callback) to short-circuit the subtree, leaving the
177
+ * live container's existing children — already updated by the applier —
178
+ * untouched.
179
+ */
180
+ private replaceTargetedSkipPlaceholders;
169
181
  /**
170
182
  * Execute lifecycle hook on an element
171
183
  * @param element - Element with lifecycle hook attribute
@@ -1 +1 @@
1
- {"version":3,"file":"livetemplate-client.d.ts","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"livetemplate-client.d.ts","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ const invoker_polyfill_1 = require("./dom/invoker-polyfill");
23
23
  const hash_link_1 = require("./dom/hash-link");
24
24
  const scroll_away_1 = require("./dom/scroll-away");
25
25
  const tree_renderer_1 = require("./state/tree-renderer");
26
+ const range_dom_applier_1 = require("./state/range-dom-applier");
26
27
  const form_lifecycle_manager_1 = require("./state/form-lifecycle-manager");
27
28
  const change_auto_wirer_1 = require("./state/change-auto-wirer");
28
29
  const websocket_1 = require("./transport/websocket");
@@ -35,6 +36,8 @@ var reactive_attributes_2 = require("./dom/reactive-attributes");
35
36
  Object.defineProperty(exports, "setupReactiveAttributeListeners", { enumerable: true, get: function () { return reactive_attributes_2.setupReactiveAttributeListeners; } });
36
37
  class LiveTemplateClient {
37
38
  constructor(options = {}) {
39
+ this.nodesAddedThisRender = 0;
40
+ this.directiveTouchedThisRender = false;
38
41
  this.lvtId = null;
39
42
  this.ws = null;
40
43
  this.wrapperElement = null;
@@ -106,6 +109,38 @@ class LiveTemplateClient {
106
109
  ...restOptions,
107
110
  };
108
111
  this.treeRenderer = new tree_renderer_1.TreeRenderer(this.logger.child("TreeRenderer"));
112
+ this.rangeDomApplier = new range_dom_applier_1.RangeDomApplier({
113
+ logger: this.logger.child("RangeDomApplier"),
114
+ renderItem: (item, idx, statics, sm, sp) => this.treeRenderer.renderRangeItem(item, idx, statics, sm, sp),
115
+ executeLifecycleHook: (el, hook) => this.executeLifecycleHook(el, hook),
116
+ itemLookup: (rangePath, key) => {
117
+ // O(N) linear scan over range.d. For one `u` op per render this is
118
+ // ~50µs at N=10k — acceptable. For a render with many u ops on
119
+ // the same range, this becomes O(N×K); building a Map<key, item>
120
+ // once at apply() start would amortize, but the gain is small
121
+ // (whole `u` op cost is dominated by morphdom on the row anyway).
122
+ // Revisit if profiling shows this on the hot path.
123
+ const range = this.treeRenderer.getTreeState()[rangePath];
124
+ if (!range || !Array.isArray(range.d))
125
+ return null;
126
+ const idKey = range.m?.idKey;
127
+ for (const item of range.d) {
128
+ if (!item || typeof item !== "object")
129
+ continue;
130
+ if (item._k === key)
131
+ return item;
132
+ if (idKey &&
133
+ item[idKey] !== undefined &&
134
+ String(item[idKey]) === key) {
135
+ return item;
136
+ }
137
+ }
138
+ return null;
139
+ },
140
+ onNodeAdded: () => {
141
+ this.nodesAddedThisRender++;
142
+ },
143
+ });
109
144
  this.focusManager = new focus_manager_1.FocusManager(this.logger.child("FocusManager"));
110
145
  this.formLifecycleManager = new form_lifecycle_manager_1.FormLifecycleManager();
111
146
  this.loadingIndicator = new loading_indicator_1.LoadingIndicator();
@@ -377,6 +412,7 @@ class LiveTemplateClient {
377
412
  // intent — tests can observe the init transition a second time.
378
413
  resetSessionState() {
379
414
  this.treeRenderer.reset();
415
+ this.rangeDomApplier.invalidate();
380
416
  this.focusManager.reset();
381
417
  this.observerManager.teardown();
382
418
  this.changeAutoWirer.teardown();
@@ -937,8 +973,28 @@ class LiveTemplateClient {
937
973
  * @param meta - Optional metadata about the update (action, success, errors)
938
974
  */
939
975
  updateDOM(element, update, meta) {
940
- // Apply update to internal state and get reconstructed HTML
941
- const result = this.applyUpdate(update);
976
+ // Reset per-render counters before applying the update.
977
+ // - nodesAddedThisRender: incremented by morphdom.onNodeAdded and the
978
+ // applier's onNodeAdded callback for i/a/p ops.
979
+ // - directiveTouchedThisRender: set by morphdom.onBeforeElUpdated when
980
+ // it processes an element carrying a directive attribute (lvt-fx:*,
981
+ // lvt-on:*, lvt-el:*) — covers attribute-only morphs that don't add
982
+ // nodes but do change directive bindings, so the post-render scans
983
+ // still need to wire them.
984
+ // Either signal triggers the wrapper-wide directive scans below.
985
+ this.nodesAddedThisRender = 0;
986
+ this.directiveTouchedThisRender = false;
987
+ // Apply update to internal state and get reconstructed HTML.
988
+ // Pass canApplyTargeted so eligible top-level range diff ops mutate
989
+ // treeState in place and are emitted as targetedOps for direct DOM
990
+ // mutation (skipping the full HTML rebuild + morphdom diff for that
991
+ // subtree).
992
+ const result = this.treeRenderer.applyUpdate(update, {
993
+ canApplyTargeted: (rangeStructure, rangePath) => {
994
+ const r = this.rangeDomApplier.canApplyTargeted(element, rangeStructure, rangePath);
995
+ return r.ok;
996
+ },
997
+ });
942
998
  // Helper to recursively check if there are any statics in the tree
943
999
  const hasStaticsInTree = (node) => {
944
1000
  if (!node || typeof node !== "object")
@@ -1036,8 +1092,10 @@ class LiveTemplateClient {
1036
1092
  this.focusManager.restoreFocusedElement();
1037
1093
  return;
1038
1094
  }
1039
- // Use morphdom to efficiently update the element
1040
- (0, morphdom_1.default)(element, tempWrapper, {
1095
+ // Build morphdom options once so the applier's `u` op (which morphdoms
1096
+ // a single row) uses the same callback set — focus skip, lvt-ignore,
1097
+ // checkbox preservation, lifecycle hooks all stay consistent.
1098
+ const morphdomOptions = {
1041
1099
  childrenOnly: true, // Only update children, preserve the wrapper element itself
1042
1100
  getNodeKey: (node) => {
1043
1101
  // Use data-key or data-lvt-key for efficient reconciliation
@@ -1048,6 +1106,40 @@ class LiveTemplateClient {
1048
1106
  }
1049
1107
  },
1050
1108
  onBeforeElUpdated: (fromEl, toEl) => {
1109
+ // Targeted-apply skip: the live container's children were already
1110
+ // mutated directly by RangeDomApplier, and the rebuilt tempWrapper
1111
+ // has the container empty + tagged with data-lvt-targeted-skip.
1112
+ // Returning false short-circuits the entire subtree update —
1113
+ // morphdom skips both the diff walk AND the children-replacement.
1114
+ if (toEl.nodeType === Node.ELEMENT_NODE &&
1115
+ toEl.hasAttribute(range_dom_applier_1.TARGETED_SKIP_ATTR)) {
1116
+ return false;
1117
+ }
1118
+ // Track newly-introduced directive attributes so the post-render
1119
+ // scan can wire any new lvt-fx:/lvt-on:/lvt-el: bindings even on
1120
+ // renders that wouldn't otherwise trigger a wrapper-wide scan.
1121
+ // Only flag when the directive attribute is NEW on toEl (not
1122
+ // already present on fromEl) — otherwise high-frequency `u` ops
1123
+ // on rows that ALREADY carry a directive (e.g. Todos rows with
1124
+ // `lvt-fx:animate`) would trigger a wrapper-wide scan on every
1125
+ // render even though no new binding needs wiring.
1126
+ if (toEl.nodeType === Node.ELEMENT_NODE &&
1127
+ fromEl.nodeType === Node.ELEMENT_NODE) {
1128
+ const toAttrs = toEl.attributes;
1129
+ const fromElement = fromEl;
1130
+ for (let i = 0; i < toAttrs.length; i++) {
1131
+ const n = toAttrs[i].name;
1132
+ if (n.length > 4 &&
1133
+ n.charCodeAt(0) === 0x6c /* l */ &&
1134
+ n.charCodeAt(1) === 0x76 /* v */ &&
1135
+ n.charCodeAt(2) === 0x74 /* t */ &&
1136
+ n.charCodeAt(3) === 0x2d /* - */ &&
1137
+ !fromElement.hasAttribute(n)) {
1138
+ this.directiveTouchedThisRender = true;
1139
+ break;
1140
+ }
1141
+ }
1142
+ }
1051
1143
  // lvt-ignore: morphdom skips this element and its entire subtree.
1052
1144
  // Equivalent to Phoenix LiveView's phx-update="ignore".
1053
1145
  // Checked on fromEl (live DOM) so both server templates and
@@ -1194,6 +1286,7 @@ class LiveTemplateClient {
1194
1286
  // Execute lvt-mounted lifecycle hook
1195
1287
  if (node.nodeType === Node.ELEMENT_NODE) {
1196
1288
  this.executeLifecycleHook(node, "lvt-mounted");
1289
+ this.nodesAddedThisRender++;
1197
1290
  }
1198
1291
  },
1199
1292
  onBeforeNodeDiscarded: (node) => {
@@ -1203,29 +1296,83 @@ class LiveTemplateClient {
1203
1296
  }
1204
1297
  return true;
1205
1298
  },
1206
- });
1299
+ };
1300
+ // Apply per-op targeted DOM mutations BEFORE morphdom. The applier
1301
+ // mutates the live DOM in place; tempWrapper has corresponding
1302
+ // <!--lvt-targeted-skip:path--> placeholders that we now convert to
1303
+ // data-lvt-targeted-skip markers on their parent elements so morphdom
1304
+ // short-circuits those subtrees.
1305
+ //
1306
+ // Robustness: if any targeted op fails (apply returns null — e.g.
1307
+ // container couldn't be located, or an op threw), the treeState was
1308
+ // updated but the live DOM wasn't, so leaving the placeholder in
1309
+ // place would either (a) tell morphdom to skip → live DOM stays
1310
+ // stale, or (b) leave an empty container in tempWrapper → morphdom
1311
+ // would empty the live container. Both are wrong. We re-render the
1312
+ // full HTML from treeState (which is authoritative) and let morphdom
1313
+ // sync from there.
1314
+ if (result.targetedOps && result.targetedOps.length > 0) {
1315
+ const successContainers = [];
1316
+ let anyFailed = false;
1317
+ for (const op of result.targetedOps) {
1318
+ const container = this.rangeDomApplier.apply(element, op, morphdomOptions);
1319
+ if (container) {
1320
+ container.setAttribute(range_dom_applier_1.TARGETED_APPLIED_ATTR, "");
1321
+ successContainers.push(container);
1322
+ }
1323
+ else {
1324
+ anyFailed = true;
1325
+ }
1326
+ }
1327
+ if (anyFailed) {
1328
+ this.logger.warn("[updateDOM] one or more targeted DOM ops failed; rebuilding tempWrapper from treeState for a full morphdom sync");
1329
+ // Strip success markers — we're going to do a full diff now.
1330
+ for (const c of successContainers) {
1331
+ c.removeAttribute(range_dom_applier_1.TARGETED_APPLIED_ATTR);
1332
+ }
1333
+ // Re-render full HTML (no skip placeholders) and reset tempWrapper.
1334
+ const fullHtml = this.treeRenderer.renderState();
1335
+ tempWrapper.innerHTML = fullHtml;
1336
+ }
1337
+ else {
1338
+ this.replaceTargetedSkipPlaceholders(tempWrapper);
1339
+ }
1340
+ }
1341
+ try {
1342
+ // Use morphdom to efficiently update the element
1343
+ (0, morphdom_1.default)(element, tempWrapper, morphdomOptions);
1344
+ }
1345
+ finally {
1346
+ // Strip lifecycle markers regardless of whether morphdom threw,
1347
+ // preventing leaked attributes on the live DOM.
1348
+ this.rangeDomApplier.cleanupMarkers(element);
1349
+ }
1207
1350
  // Restore focus to previously focused element
1208
1351
  this.focusManager.restoreFocusedElement();
1209
- // Handle scroll directives (implicit trigger only)
1210
- (0, directives_1.handleScrollDirectives)(element);
1211
- // Handle highlight directives (implicit trigger only)
1212
- (0, directives_1.handleHighlightDirectives)(element);
1213
- // Handle animate directives (implicit trigger only)
1214
- (0, directives_1.handleAnimateDirectives)(element);
1215
- // Set up DOM event triggers for lvt-fx: attributes with :on:{event}
1216
- // Registry always lives on wrapperElement so teardown can find all entries
1217
- (0, directives_1.setupFxDOMEventTriggers)(element, this.wrapperElement || undefined);
1218
- // Re-scan updated subtree for lvt-el:*:on:{event} DOM triggers
1219
- this.eventDelegator.setupDOMEventTriggerDelegation(element);
1220
- // Set up scroll-away visibility toggles
1221
- (0, scroll_away_1.setupScrollAway)(element);
1222
- // Handle toast trigger directives (ephemeral client-side toasts)
1223
- (0, directives_1.handleToastDirectives)(element);
1224
- // Initialize upload file inputs
1225
- this.uploadHandler.initializeFileInputs(element);
1226
- // Auto-wire change listeners for bound form fields
1352
+ // Wrapper-wide directive scans walk every descendant of `element`.
1353
+ // For a delete-only render against a large keyed range (10k+ rows),
1354
+ // that's ~80k descendants × 9 scans = ~360ms wasted on a tree where
1355
+ // no new elements need wiring. Skip them when neither:
1356
+ // - any new node was added (morphdom.onNodeAdded / applier i/a/p), nor
1357
+ // - any morphed element carried an lvt-* directive attribute that
1358
+ // might newly need wiring (morphdom.onBeforeElUpdated check above).
1359
+ //
1360
+ // The directive-touched signal handles the attribute-morph case:
1361
+ // server adds `lvt-fx:keydown` to an existing button → onBeforeElUpdated
1362
+ // sees the attribute on toEl → flag set → scans run → listener wired.
1363
+ if (this.nodesAddedThisRender > 0 || this.directiveTouchedThisRender) {
1364
+ (0, directives_1.handleScrollDirectives)(element);
1365
+ (0, directives_1.handleHighlightDirectives)(element);
1366
+ (0, directives_1.handleAnimateDirectives)(element);
1367
+ (0, directives_1.setupFxDOMEventTriggers)(element, this.wrapperElement || undefined);
1368
+ this.eventDelegator.setupDOMEventTriggerDelegation(element);
1369
+ (0, scroll_away_1.setupScrollAway)(element);
1370
+ (0, directives_1.handleToastDirectives)(element);
1371
+ this.uploadHandler.initializeFileInputs(element);
1372
+ }
1373
+ // changeAutoWirer always runs: its eviction loop must process
1374
+ // wirings on removed elements too, regardless of additions.
1227
1375
  this.changeAutoWirer.wireElements();
1228
- // Handle form lifecycle if metadata is present
1229
1376
  if (meta) {
1230
1377
  this.formLifecycleManager.handleResponse(meta);
1231
1378
  }
@@ -1236,6 +1383,34 @@ class LiveTemplateClient {
1236
1383
  handleUploadStartResponse(response) {
1237
1384
  this.uploadHandler.handleUploadStartResponse(response);
1238
1385
  }
1386
+ /**
1387
+ * Walk tempWrapper for `<!--lvt-targeted-skip:path-->` comments left by
1388
+ * `reconstructFromTree` and convert each into a `data-lvt-targeted-skip`
1389
+ * attribute on its parent element. The marker tells morphdom (via its
1390
+ * onBeforeElUpdated callback) to short-circuit the subtree, leaving the
1391
+ * live container's existing children — already updated by the applier —
1392
+ * untouched.
1393
+ */
1394
+ replaceTargetedSkipPlaceholders(tempWrapper) {
1395
+ const walker = document.createTreeWalker(tempWrapper, NodeFilter.SHOW_COMMENT);
1396
+ const toReplace = [];
1397
+ let node;
1398
+ while ((node = walker.nextNode())) {
1399
+ const c = node;
1400
+ if (c.nodeValue && /^lvt-targeted-skip:.+$/.test(c.nodeValue)) {
1401
+ toReplace.push(c);
1402
+ }
1403
+ }
1404
+ for (const c of toReplace) {
1405
+ const match = c.nodeValue.match(/^lvt-targeted-skip:(.+)$/);
1406
+ const path = match ? match[1] : "";
1407
+ const parent = c.parentElement;
1408
+ if (parent) {
1409
+ parent.setAttribute(range_dom_applier_1.TARGETED_SKIP_ATTR, path);
1410
+ }
1411
+ c.remove();
1412
+ }
1413
+ }
1239
1414
  /**
1240
1415
  * Execute lifecycle hook on an element
1241
1416
  * @param element - Element with lifecycle hook attribute
@@ -1 +1 @@
1
- {"version":3,"file":"livetemplate-client.js","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"livetemplate-client.js","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ import type { Logger } from "../utils/logger";
2
+ import type { TargetedRangeOp } from "../types";
3
+ export declare const TARGETED_APPLIED_ATTR = "data-lvt-targeted-applied";
4
+ export declare const TARGETED_SKIP_ATTR = "data-lvt-targeted-skip";
5
+ type RenderItemFn = (item: any, itemIdx: number, statics: string[], staticsMap?: Record<string, string[]>, statePath?: string) => string;
6
+ type LifecycleHookFn = (el: Element, hookName: string) => void;
7
+ type NodeAddedFn = (el: Element) => void;
8
+ type ItemLookupFn = (rangePath: string, key: string) => any;
9
+ export interface RangeDomApplierContext {
10
+ logger: Logger;
11
+ renderItem: RenderItemFn;
12
+ executeLifecycleHook: LifecycleHookFn;
13
+ /**
14
+ * Look up the current item state for the given range path + key. Used by
15
+ * the `u` op to render the FULL post-merge item (treeState is mutated in
16
+ * place by `applyDifferentialOpsToRange` before the applier runs).
17
+ *
18
+ * Required: an applier without an `itemLookup` would silently no-op every
19
+ * `u` op, leaving the live DOM stale while morphdom's skip marker
20
+ * prevents the fallback diff from running. The constructor enforces this.
21
+ */
22
+ itemLookup: ItemLookupFn;
23
+ /**
24
+ * Notification that the applier inserted a new element into the live DOM
25
+ * (i/a/p ops). Lets the caller track per-render DOM additions so it can
26
+ * decide whether the post-render directive scans need to walk the wrapper.
27
+ */
28
+ onNodeAdded?: NodeAddedFn;
29
+ }
30
+ export interface CanApplyResult {
31
+ ok: boolean;
32
+ reason?: string;
33
+ container?: Element;
34
+ containerKey?: string;
35
+ }
36
+ /**
37
+ * Applies range diff ops directly to the live DOM, bypassing full HTML
38
+ * reconstruction + morphdom diff. Designed to handle the common case where
39
+ * a 10k-row range receives a single-row mutation; the targeted path turns
40
+ * what would be a 5+ second morphdom walk into a sub-millisecond DOM op.
41
+ *
42
+ * The applier is opt-in per range: `canApplyTargeted` checks that the
43
+ * range has data-key emission, no nested-range items, and a resolvable
44
+ * container element. When any check fails, the caller falls back to the
45
+ * existing applyUpdate → reconstructFromTree → morphdom path.
46
+ */
47
+ export declare class RangeDomApplier {
48
+ private readonly ctx;
49
+ private containerCache;
50
+ constructor(ctx: RangeDomApplierContext);
51
+ invalidate(): void;
52
+ invalidatePath(rangePath: string): void;
53
+ /**
54
+ * Locate the live container element for a range path. The container is
55
+ * the parent element of items rendered with data-key. Cached per path;
56
+ * cache invalidated automatically when a cached element becomes detached.
57
+ *
58
+ * Resolution order:
59
+ * 1. Cached container (if still connected to the wrapper).
60
+ * 2. `wrapper.querySelector('[data-key="anyKnownItemKey"]').parentElement`.
61
+ *
62
+ * The original implementation also fell back to an unscoped
63
+ * `wrapper.querySelector('[data-key]')` walk, but that could return a
64
+ * container belonging to a *different* keyed range when the wrapper has
65
+ * more than one — silently mutating the wrong DOM subtree on subsequent
66
+ * ops. We now prefer to fail closed (return null → caller falls back to
67
+ * full rebuild) over mutating an unrelated container.
68
+ */
69
+ findContainer(wrapper: Element, rangePath: string, anyKnownItemKey?: string): Element | null;
70
+ /**
71
+ * Decide whether a range update can take the targeted-apply path.
72
+ * Returns the resolved container in the success case so the caller
73
+ * can pass it to `apply` without re-resolving.
74
+ */
75
+ canApplyTargeted(wrapper: Element, rangeStructure: any, rangePath: string): CanApplyResult;
76
+ /**
77
+ * Apply a single targeted op to the live DOM. Returns the affected
78
+ * container element so the caller can mark it for the morphdom skip
79
+ * mechanism. Returns null if the op could not be applied (caller
80
+ * should fall back to full-rebuild for the next render).
81
+ */
82
+ apply(wrapper: Element, targetedOp: TargetedRangeOp, morphdomOptions?: any): Element | null;
83
+ cleanupMarkers(wrapper: Element): void;
84
+ private applyRemove;
85
+ private applyUpdateRow;
86
+ private applyInsertAfter;
87
+ private applyAppend;
88
+ private applyPrepend;
89
+ /**
90
+ * Render N items into a scratch DocumentFragment, splicing them into the
91
+ * live DOM only if ALL renders succeeded. On partial failure no DOM
92
+ * mutation happens and the caller falls back to a full rebuild — this
93
+ * avoids `lvt-mounted` firing on items that morphdom is then about to
94
+ * re-add (which would double-fire the hook).
95
+ */
96
+ private renderItemsAtomic;
97
+ /**
98
+ * Reorder existing children to match `newKeyOrder`. Protocol assumption:
99
+ * the server emits the *full* new key order (mirrors the assumption in
100
+ * `applyDifferentialOpsToRange`'s "o" case in tree-renderer). When the
101
+ * new order is shorter than the current child set, we treat the missing
102
+ * keys as removals and fire `lvt-destroyed` on each dropped subtree
103
+ * (so user teardown — timer cancellation, observer disconnect, etc. —
104
+ * still runs) plus log a warning surfacing the protocol mismatch.
105
+ */
106
+ private applyReorder;
107
+ private renderAndParse;
108
+ /**
109
+ * Parse a string of HTML containing a single root element and return it.
110
+ * Uses <template> so orphan table-cell content (`<tr>`, `<td>`, etc.)
111
+ * is tolerated by the parser.
112
+ */
113
+ private parseSingleRow;
114
+ private findItemByKey;
115
+ private indexOfChild;
116
+ private firstKnownKey;
117
+ private staticsContainKeyAttribute;
118
+ private itemHasNestedRange;
119
+ private extractItemKey;
120
+ private lookupCurrentItem;
121
+ private fireHookOnSubtree;
122
+ }
123
+ export {};
124
+ //# sourceMappingURL=range-dom-applier.d.ts.map