piral-blazor 1.0.0-pre.2217 → 1.0.0

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.
Files changed (236) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +55 -12
  3. package/convert.d.ts +13 -10
  4. package/convert.js +17 -12
  5. package/esm/converter.d.ts +10 -6
  6. package/esm/converter.js +164 -48
  7. package/esm/converter.js.map +1 -1
  8. package/esm/create.d.ts +21 -1
  9. package/esm/create.js +29 -15
  10. package/esm/create.js.map +1 -1
  11. package/esm/dependencies.d.ts +6 -3
  12. package/esm/dependencies.js +104 -14
  13. package/esm/dependencies.js.map +1 -1
  14. package/esm/events.d.ts +6 -0
  15. package/esm/events.js +145 -0
  16. package/esm/events.js.map +1 -0
  17. package/esm/interop.d.ts +29 -0
  18. package/esm/interop.js +205 -0
  19. package/esm/interop.js.map +1 -0
  20. package/esm/navigation.d.ts +2 -0
  21. package/esm/navigation.js +30 -0
  22. package/esm/navigation.js.map +1 -0
  23. package/esm/types.d.ts +97 -4
  24. package/infra.codegen +53 -68
  25. package/lib/converter.d.ts +10 -6
  26. package/lib/converter.js +164 -48
  27. package/lib/converter.js.map +1 -1
  28. package/lib/create.d.ts +21 -1
  29. package/lib/create.js +31 -17
  30. package/lib/create.js.map +1 -1
  31. package/lib/dependencies.d.ts +6 -3
  32. package/lib/dependencies.js +104 -14
  33. package/lib/dependencies.js.map +1 -1
  34. package/lib/events.d.ts +6 -0
  35. package/lib/events.js +154 -0
  36. package/lib/events.js.map +1 -0
  37. package/lib/index.js +1 -1
  38. package/lib/interop.d.ts +29 -0
  39. package/lib/interop.js +226 -0
  40. package/lib/interop.js.map +1 -0
  41. package/lib/navigation.d.ts +2 -0
  42. package/lib/navigation.js +35 -0
  43. package/lib/navigation.js.map +1 -0
  44. package/lib/types.d.ts +97 -4
  45. package/package.json +26 -13
  46. package/src/converter.ts +237 -57
  47. package/src/create.ts +53 -9
  48. package/src/dependencies.ts +122 -14
  49. package/src/events.ts +174 -0
  50. package/src/interop.ts +273 -0
  51. package/src/navigation.ts +36 -0
  52. package/src/types.ts +115 -4
  53. package/convert.ts +0 -17
  54. package/esm/internal/Environment.d.ts +0 -3
  55. package/esm/internal/Environment.js +0 -6
  56. package/esm/internal/Environment.js.map +0 -1
  57. package/esm/internal/Platform/BootConfig.d.ts +0 -20
  58. package/esm/internal/Platform/BootConfig.js +0 -10
  59. package/esm/internal/Platform/BootConfig.js.map +0 -1
  60. package/esm/internal/Platform/Mono/MonoDebugger.d.ts +0 -3
  61. package/esm/internal/Platform/Mono/MonoDebugger.js +0 -43
  62. package/esm/internal/Platform/Mono/MonoDebugger.js.map +0 -1
  63. package/esm/internal/Platform/Mono/MonoPlatform.d.ts +0 -2
  64. package/esm/internal/Platform/Mono/MonoPlatform.js +0 -403
  65. package/esm/internal/Platform/Mono/MonoPlatform.js.map +0 -1
  66. package/esm/internal/Platform/Mono/TimezoneDataFile.d.ts +0 -1
  67. package/esm/internal/Platform/Mono/TimezoneDataFile.js +0 -51
  68. package/esm/internal/Platform/Mono/TimezoneDataFile.js.map +0 -1
  69. package/esm/internal/Platform/Platform.d.ts +0 -31
  70. package/esm/internal/Platform/Platform.js +0 -2
  71. package/esm/internal/Platform/Platform.js.map +0 -1
  72. package/esm/internal/Platform/Url.d.ts +0 -2
  73. package/esm/internal/Platform/Url.js +0 -11
  74. package/esm/internal/Platform/Url.js.map +0 -1
  75. package/esm/internal/Platform/WebAssemblyConfigLoader.d.ts +0 -4
  76. package/esm/internal/Platform/WebAssemblyConfigLoader.js +0 -64
  77. package/esm/internal/Platform/WebAssemblyConfigLoader.js.map +0 -1
  78. package/esm/internal/Platform/WebAssemblyResourceLoader.d.ts +0 -24
  79. package/esm/internal/Platform/WebAssemblyResourceLoader.js +0 -223
  80. package/esm/internal/Platform/WebAssemblyResourceLoader.js.map +0 -1
  81. package/esm/internal/Platform/WebAssemblyStartOptions.d.ts +0 -13
  82. package/esm/internal/Platform/WebAssemblyStartOptions.js +0 -2
  83. package/esm/internal/Platform/WebAssemblyStartOptions.js.map +0 -1
  84. package/esm/internal/Rendering/BrowserRenderer.d.ts +0 -38
  85. package/esm/internal/Rendering/BrowserRenderer.js +0 -458
  86. package/esm/internal/Rendering/BrowserRenderer.js.map +0 -1
  87. package/esm/internal/Rendering/ElementReferenceCapture.d.ts +0 -1
  88. package/esm/internal/Rendering/ElementReferenceCapture.js +0 -24
  89. package/esm/internal/Rendering/ElementReferenceCapture.js.map +0 -1
  90. package/esm/internal/Rendering/EventDelegator.d.ts +0 -20
  91. package/esm/internal/Rendering/EventDelegator.js +0 -236
  92. package/esm/internal/Rendering/EventDelegator.js.map +0 -1
  93. package/esm/internal/Rendering/EventFieldInfo.d.ts +0 -6
  94. package/esm/internal/Rendering/EventFieldInfo.js +0 -32
  95. package/esm/internal/Rendering/EventFieldInfo.js.map +0 -1
  96. package/esm/internal/Rendering/EventForDotNet.d.ts +0 -10
  97. package/esm/internal/Rendering/EventForDotNet.js +0 -194
  98. package/esm/internal/Rendering/EventForDotNet.js.map +0 -1
  99. package/esm/internal/Rendering/LogicalElements.d.ts +0 -19
  100. package/esm/internal/Rendering/LogicalElements.js +0 -250
  101. package/esm/internal/Rendering/LogicalElements.js.map +0 -1
  102. package/esm/internal/Rendering/RenderBatch/BinaryDecoder.d.ts +0 -5
  103. package/esm/internal/Rendering/RenderBatch/BinaryDecoder.js +0 -34
  104. package/esm/internal/Rendering/RenderBatch/BinaryDecoder.js.map +0 -1
  105. package/esm/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.d.ts +0 -18
  106. package/esm/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.js +0 -190
  107. package/esm/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.js.map +0 -1
  108. package/esm/internal/Rendering/RenderBatch/RenderBatch.d.ts +0 -87
  109. package/esm/internal/Rendering/RenderBatch/RenderBatch.js +0 -26
  110. package/esm/internal/Rendering/RenderBatch/RenderBatch.js.map +0 -1
  111. package/esm/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.d.ts +0 -52
  112. package/esm/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.js +0 -103
  113. package/esm/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.js.map +0 -1
  114. package/esm/internal/Rendering/RenderBatch/Utf8Decoder.d.ts +0 -1
  115. package/esm/internal/Rendering/RenderBatch/Utf8Decoder.js +0 -63
  116. package/esm/internal/Rendering/RenderBatch/Utf8Decoder.js.map +0 -1
  117. package/esm/internal/Rendering/Renderer.d.ts +0 -8
  118. package/esm/internal/Rendering/Renderer.js +0 -69
  119. package/esm/internal/Rendering/Renderer.js.map +0 -1
  120. package/esm/internal/Rendering/RendererEventDispatcher.d.ts +0 -4
  121. package/esm/internal/Rendering/RendererEventDispatcher.js +0 -11
  122. package/esm/internal/Rendering/RendererEventDispatcher.js.map +0 -1
  123. package/esm/internal/Services/NavigationManager.d.ts +0 -16
  124. package/esm/internal/Services/NavigationManager.js +0 -138
  125. package/esm/internal/Services/NavigationManager.js.map +0 -1
  126. package/esm/internal/globals.d.ts +0 -1
  127. package/esm/internal/globals.js +0 -5
  128. package/esm/internal/globals.js.map +0 -1
  129. package/esm/internal/index.d.ts +0 -15
  130. package/esm/internal/index.js +0 -152
  131. package/esm/internal/index.js.map +0 -1
  132. package/lib/internal/Environment.d.ts +0 -3
  133. package/lib/internal/Environment.js +0 -9
  134. package/lib/internal/Environment.js.map +0 -1
  135. package/lib/internal/Platform/BootConfig.d.ts +0 -20
  136. package/lib/internal/Platform/BootConfig.js +0 -13
  137. package/lib/internal/Platform/BootConfig.js.map +0 -1
  138. package/lib/internal/Platform/Mono/MonoDebugger.d.ts +0 -3
  139. package/lib/internal/Platform/Mono/MonoDebugger.js +0 -48
  140. package/lib/internal/Platform/Mono/MonoDebugger.js.map +0 -1
  141. package/lib/internal/Platform/Mono/MonoPlatform.d.ts +0 -2
  142. package/lib/internal/Platform/Mono/MonoPlatform.js +0 -406
  143. package/lib/internal/Platform/Mono/MonoPlatform.js.map +0 -1
  144. package/lib/internal/Platform/Mono/TimezoneDataFile.d.ts +0 -1
  145. package/lib/internal/Platform/Mono/TimezoneDataFile.js +0 -55
  146. package/lib/internal/Platform/Mono/TimezoneDataFile.js.map +0 -1
  147. package/lib/internal/Platform/Platform.d.ts +0 -31
  148. package/lib/internal/Platform/Platform.js +0 -3
  149. package/lib/internal/Platform/Platform.js.map +0 -1
  150. package/lib/internal/Platform/Url.d.ts +0 -2
  151. package/lib/internal/Platform/Url.js +0 -16
  152. package/lib/internal/Platform/Url.js.map +0 -1
  153. package/lib/internal/Platform/WebAssemblyConfigLoader.d.ts +0 -4
  154. package/lib/internal/Platform/WebAssemblyConfigLoader.js +0 -67
  155. package/lib/internal/Platform/WebAssemblyConfigLoader.js.map +0 -1
  156. package/lib/internal/Platform/WebAssemblyResourceLoader.d.ts +0 -24
  157. package/lib/internal/Platform/WebAssemblyResourceLoader.js +0 -226
  158. package/lib/internal/Platform/WebAssemblyResourceLoader.js.map +0 -1
  159. package/lib/internal/Platform/WebAssemblyStartOptions.d.ts +0 -13
  160. package/lib/internal/Platform/WebAssemblyStartOptions.js +0 -3
  161. package/lib/internal/Platform/WebAssemblyStartOptions.js.map +0 -1
  162. package/lib/internal/Rendering/BrowserRenderer.d.ts +0 -38
  163. package/lib/internal/Rendering/BrowserRenderer.js +0 -461
  164. package/lib/internal/Rendering/BrowserRenderer.js.map +0 -1
  165. package/lib/internal/Rendering/ElementReferenceCapture.d.ts +0 -1
  166. package/lib/internal/Rendering/ElementReferenceCapture.js +0 -28
  167. package/lib/internal/Rendering/ElementReferenceCapture.js.map +0 -1
  168. package/lib/internal/Rendering/EventDelegator.d.ts +0 -20
  169. package/lib/internal/Rendering/EventDelegator.js +0 -239
  170. package/lib/internal/Rendering/EventDelegator.js.map +0 -1
  171. package/lib/internal/Rendering/EventFieldInfo.d.ts +0 -6
  172. package/lib/internal/Rendering/EventFieldInfo.js +0 -35
  173. package/lib/internal/Rendering/EventFieldInfo.js.map +0 -1
  174. package/lib/internal/Rendering/EventForDotNet.d.ts +0 -10
  175. package/lib/internal/Rendering/EventForDotNet.js +0 -197
  176. package/lib/internal/Rendering/EventForDotNet.js.map +0 -1
  177. package/lib/internal/Rendering/LogicalElements.d.ts +0 -19
  178. package/lib/internal/Rendering/LogicalElements.js +0 -265
  179. package/lib/internal/Rendering/LogicalElements.js.map +0 -1
  180. package/lib/internal/Rendering/RenderBatch/BinaryDecoder.d.ts +0 -5
  181. package/lib/internal/Rendering/RenderBatch/BinaryDecoder.js +0 -42
  182. package/lib/internal/Rendering/RenderBatch/BinaryDecoder.js.map +0 -1
  183. package/lib/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.d.ts +0 -18
  184. package/lib/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.js +0 -193
  185. package/lib/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.js.map +0 -1
  186. package/lib/internal/Rendering/RenderBatch/RenderBatch.d.ts +0 -87
  187. package/lib/internal/Rendering/RenderBatch/RenderBatch.js +0 -29
  188. package/lib/internal/Rendering/RenderBatch/RenderBatch.js.map +0 -1
  189. package/lib/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.d.ts +0 -52
  190. package/lib/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.js +0 -106
  191. package/lib/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.js.map +0 -1
  192. package/lib/internal/Rendering/RenderBatch/Utf8Decoder.d.ts +0 -1
  193. package/lib/internal/Rendering/RenderBatch/Utf8Decoder.js +0 -66
  194. package/lib/internal/Rendering/RenderBatch/Utf8Decoder.js.map +0 -1
  195. package/lib/internal/Rendering/Renderer.d.ts +0 -8
  196. package/lib/internal/Rendering/Renderer.js +0 -76
  197. package/lib/internal/Rendering/Renderer.js.map +0 -1
  198. package/lib/internal/Rendering/RendererEventDispatcher.d.ts +0 -4
  199. package/lib/internal/Rendering/RendererEventDispatcher.js +0 -16
  200. package/lib/internal/Rendering/RendererEventDispatcher.js.map +0 -1
  201. package/lib/internal/Services/NavigationManager.d.ts +0 -16
  202. package/lib/internal/Services/NavigationManager.js +0 -144
  203. package/lib/internal/Services/NavigationManager.js.map +0 -1
  204. package/lib/internal/globals.d.ts +0 -1
  205. package/lib/internal/globals.js +0 -7
  206. package/lib/internal/globals.js.map +0 -1
  207. package/lib/internal/index.d.ts +0 -15
  208. package/lib/internal/index.js +0 -161
  209. package/lib/internal/index.js.map +0 -1
  210. package/src/internal/Environment.ts +0 -11
  211. package/src/internal/Platform/BootConfig.ts +0 -21
  212. package/src/internal/Platform/Mono/MonoDebugger.ts +0 -48
  213. package/src/internal/Platform/Mono/MonoPlatform.ts +0 -494
  214. package/src/internal/Platform/Mono/MonoTypes.d.ts +0 -27
  215. package/src/internal/Platform/Mono/TimezoneDataFile.ts +0 -46
  216. package/src/internal/Platform/Platform.ts +0 -40
  217. package/src/internal/Platform/Url.ts +0 -11
  218. package/src/internal/Platform/WebAssemblyConfigLoader.ts +0 -34
  219. package/src/internal/Platform/WebAssemblyResourceLoader.ts +0 -234
  220. package/src/internal/Platform/WebAssemblyStartOptions.ts +0 -22
  221. package/src/internal/Rendering/BrowserRenderer.ts +0 -616
  222. package/src/internal/Rendering/ElementReferenceCapture.ts +0 -27
  223. package/src/internal/Rendering/EventDelegator.ts +0 -293
  224. package/src/internal/Rendering/EventFieldInfo.ts +0 -31
  225. package/src/internal/Rendering/EventForDotNet.ts +0 -370
  226. package/src/internal/Rendering/LogicalElements.ts +0 -289
  227. package/src/internal/Rendering/RenderBatch/BinaryDecoder.ts +0 -43
  228. package/src/internal/Rendering/RenderBatch/OutOfProcessRenderBatch.ts +0 -244
  229. package/src/internal/Rendering/RenderBatch/RenderBatch.ts +0 -100
  230. package/src/internal/Rendering/RenderBatch/SharedMemoryRenderBatch.ts +0 -137
  231. package/src/internal/Rendering/RenderBatch/Utf8Decoder.ts +0 -66
  232. package/src/internal/Rendering/Renderer.ts +0 -98
  233. package/src/internal/Rendering/RendererEventDispatcher.ts +0 -20
  234. package/src/internal/Services/NavigationManager.ts +0 -157
  235. package/src/internal/globals.ts +0 -5
  236. package/src/internal/index.ts +0 -170
@@ -1,458 +0,0 @@
1
- import { EditType, FrameType, } from './RenderBatch/RenderBatch';
2
- import { EventDelegator } from './EventDelegator';
3
- import { toLogicalElement, insertLogicalChild, removeLogicalChild, getLogicalParent, getLogicalChild, createAndInsertLogicalContainer, isSvgElement, getLogicalChildrenArray, getLogicalSiblingEnd, permuteLogicalChildren, getClosestDomElement, } from './LogicalElements';
4
- import { applyCaptureIdToElement } from './ElementReferenceCapture';
5
- import { dispatchEvent } from './RendererEventDispatcher';
6
- import { attachToEventDelegator } from '../Services/NavigationManager';
7
- var selectValuePropname = '_blazorSelectValue';
8
- var sharedTemplateElemForParsing = document.createElement('template');
9
- var sharedSvgElemForParsing = document.createElementNS('http://www.w3.org/2000/svg', 'g');
10
- var preventDefaultEvents = { submit: true };
11
- var rootComponentsPendingFirstRender = {};
12
- var internalAttributeNamePrefix = '__internal_';
13
- var eventPreventDefaultAttributeNamePrefix = 'preventDefault_';
14
- var eventStopPropagationAttributeNamePrefix = 'stopPropagation_';
15
- var BrowserRenderer = /** @class */ (function () {
16
- function BrowserRenderer(browserRendererId) {
17
- var _this = this;
18
- this.childComponentLocations = {};
19
- this.browserRendererId = browserRendererId;
20
- this.eventDelegator = new EventDelegator(function (event, eventHandlerId, eventArgs, eventFieldInfo) {
21
- raiseEvent(event, _this.browserRendererId, eventHandlerId, eventArgs, eventFieldInfo);
22
- });
23
- attachToEventDelegator(this.eventDelegator);
24
- }
25
- BrowserRenderer.prototype.attachRootComponentToLogicalElement = function (componentId, element) {
26
- this.attachComponentToElement(componentId, element);
27
- rootComponentsPendingFirstRender[componentId] = element;
28
- };
29
- BrowserRenderer.prototype.updateComponent = function (batch, componentId, edits, referenceFrames) {
30
- var element = this.childComponentLocations[componentId];
31
- if (!element) {
32
- throw new Error("No element is currently associated with component " + componentId);
33
- }
34
- // On the first render for each root component, clear any existing content (e.g., prerendered)
35
- var rootElementToClear = rootComponentsPendingFirstRender[componentId];
36
- if (rootElementToClear) {
37
- var rootElementToClearEnd = getLogicalSiblingEnd(rootElementToClear);
38
- delete rootComponentsPendingFirstRender[componentId];
39
- if (!rootElementToClearEnd) {
40
- clearElement(rootElementToClear);
41
- }
42
- else {
43
- clearBetween(rootElementToClear, rootElementToClearEnd);
44
- }
45
- }
46
- var ownerDocument = getClosestDomElement(element).ownerDocument;
47
- var activeElementBefore = ownerDocument && ownerDocument.activeElement;
48
- this.applyEdits(batch, componentId, element, 0, edits, referenceFrames);
49
- // Try to restore focus in case it was lost due to an element move
50
- if (activeElementBefore instanceof HTMLElement &&
51
- ownerDocument &&
52
- ownerDocument.activeElement !== activeElementBefore) {
53
- activeElementBefore.focus();
54
- }
55
- };
56
- BrowserRenderer.prototype.disposeComponent = function (componentId) {
57
- delete this.childComponentLocations[componentId];
58
- };
59
- BrowserRenderer.prototype.disposeEventHandler = function (eventHandlerId) {
60
- this.eventDelegator.removeListener(eventHandlerId);
61
- };
62
- BrowserRenderer.prototype.attachComponentToElement = function (componentId, element) {
63
- this.childComponentLocations[componentId] = element;
64
- };
65
- BrowserRenderer.prototype.applyEdits = function (batch, componentId, parent, childIndex, edits, referenceFrames) {
66
- var currentDepth = 0;
67
- var childIndexAtCurrentDepth = childIndex;
68
- var permutationList;
69
- var arrayBuilderSegmentReader = batch.arrayBuilderSegmentReader;
70
- var editReader = batch.editReader;
71
- var frameReader = batch.frameReader;
72
- var editsValues = arrayBuilderSegmentReader.values(edits);
73
- var editsOffset = arrayBuilderSegmentReader.offset(edits);
74
- var editsLength = arrayBuilderSegmentReader.count(edits);
75
- var maxEditIndexExcl = editsOffset + editsLength;
76
- for (var editIndex = editsOffset; editIndex < maxEditIndexExcl; editIndex++) {
77
- var edit = batch.diffReader.editsEntry(editsValues, editIndex);
78
- var editType = editReader.editType(edit);
79
- switch (editType) {
80
- case EditType.prependFrame: {
81
- var frameIndex = editReader.newTreeIndex(edit);
82
- var frame = batch.referenceFramesEntry(referenceFrames, frameIndex);
83
- var siblingIndex = editReader.siblingIndex(edit);
84
- this.insertFrame(batch, componentId, parent, childIndexAtCurrentDepth + siblingIndex, referenceFrames, frame, frameIndex);
85
- break;
86
- }
87
- case EditType.removeFrame: {
88
- var siblingIndex = editReader.siblingIndex(edit);
89
- removeLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
90
- break;
91
- }
92
- case EditType.setAttribute: {
93
- var frameIndex = editReader.newTreeIndex(edit);
94
- var frame = batch.referenceFramesEntry(referenceFrames, frameIndex);
95
- var siblingIndex = editReader.siblingIndex(edit);
96
- var element = getLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
97
- if (element instanceof Element) {
98
- this.applyAttribute(batch, componentId, element, frame);
99
- }
100
- else {
101
- throw new Error('Cannot set attribute on non-element child');
102
- }
103
- break;
104
- }
105
- case EditType.removeAttribute: {
106
- // Note that we don't have to dispose the info we track about event handlers here, because the
107
- // disposed event handler IDs are delivered separately (in the 'disposedEventHandlerIds' array)
108
- var siblingIndex = editReader.siblingIndex(edit);
109
- var element = getLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
110
- if (element instanceof HTMLElement) {
111
- var attributeName = editReader.removedAttributeName(edit);
112
- // First try to remove any special property we use for this attribute
113
- if (!this.tryApplySpecialProperty(batch, element, attributeName, null)) {
114
- // If that's not applicable, it's a regular DOM attribute so remove that
115
- element.removeAttribute(attributeName);
116
- }
117
- }
118
- else {
119
- throw new Error('Cannot remove attribute from non-element child');
120
- }
121
- break;
122
- }
123
- case EditType.updateText: {
124
- var frameIndex = editReader.newTreeIndex(edit);
125
- var frame = batch.referenceFramesEntry(referenceFrames, frameIndex);
126
- var siblingIndex = editReader.siblingIndex(edit);
127
- var textNode = getLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
128
- if (textNode instanceof Text) {
129
- textNode.textContent = frameReader.textContent(frame);
130
- }
131
- else {
132
- throw new Error('Cannot set text content on non-text child');
133
- }
134
- break;
135
- }
136
- case EditType.updateMarkup: {
137
- var frameIndex = editReader.newTreeIndex(edit);
138
- var frame = batch.referenceFramesEntry(referenceFrames, frameIndex);
139
- var siblingIndex = editReader.siblingIndex(edit);
140
- removeLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
141
- this.insertMarkup(batch, parent, childIndexAtCurrentDepth + siblingIndex, frame);
142
- break;
143
- }
144
- case EditType.stepIn: {
145
- var siblingIndex = editReader.siblingIndex(edit);
146
- parent = getLogicalChild(parent, childIndexAtCurrentDepth + siblingIndex);
147
- currentDepth++;
148
- childIndexAtCurrentDepth = 0;
149
- break;
150
- }
151
- case EditType.stepOut: {
152
- parent = getLogicalParent(parent);
153
- currentDepth--;
154
- childIndexAtCurrentDepth = currentDepth === 0 ? childIndex : 0; // The childIndex is only ever nonzero at zero depth
155
- break;
156
- }
157
- case EditType.permutationListEntry: {
158
- permutationList = permutationList || [];
159
- permutationList.push({
160
- fromSiblingIndex: childIndexAtCurrentDepth + editReader.siblingIndex(edit),
161
- toSiblingIndex: childIndexAtCurrentDepth + editReader.moveToSiblingIndex(edit),
162
- });
163
- break;
164
- }
165
- case EditType.permutationListEnd: {
166
- permuteLogicalChildren(parent, permutationList);
167
- permutationList = undefined;
168
- break;
169
- }
170
- default: {
171
- var unknownType = editType; // Compile-time verification that the switch was exhaustive
172
- throw new Error("Unknown edit type: " + unknownType);
173
- }
174
- }
175
- }
176
- };
177
- BrowserRenderer.prototype.insertFrame = function (batch, componentId, parent, childIndex, frames, frame, frameIndex) {
178
- var frameReader = batch.frameReader;
179
- var frameType = frameReader.frameType(frame);
180
- switch (frameType) {
181
- case FrameType.element:
182
- this.insertElement(batch, componentId, parent, childIndex, frames, frame, frameIndex);
183
- return 1;
184
- case FrameType.text:
185
- this.insertText(batch, parent, childIndex, frame);
186
- return 1;
187
- case FrameType.attribute:
188
- throw new Error('Attribute frames should only be present as leading children of element frames.');
189
- case FrameType.component:
190
- this.insertComponent(batch, parent, childIndex, frame);
191
- return 1;
192
- case FrameType.region:
193
- return this.insertFrameRange(batch, componentId, parent, childIndex, frames, frameIndex + 1, frameIndex + frameReader.subtreeLength(frame));
194
- case FrameType.elementReferenceCapture:
195
- if (parent instanceof Element) {
196
- applyCaptureIdToElement(parent, frameReader.elementReferenceCaptureId(frame));
197
- return 0; // A "capture" is a child in the diff, but has no node in the DOM
198
- }
199
- else {
200
- throw new Error('Reference capture frames can only be children of element frames.');
201
- }
202
- case FrameType.markup:
203
- this.insertMarkup(batch, parent, childIndex, frame);
204
- return 1;
205
- default:
206
- var unknownType = frameType; // Compile-time verification that the switch was exhaustive
207
- throw new Error("Unknown frame type: " + unknownType);
208
- }
209
- };
210
- BrowserRenderer.prototype.insertElement = function (batch, componentId, parent, childIndex, frames, frame, frameIndex) {
211
- var frameReader = batch.frameReader;
212
- var tagName = frameReader.elementName(frame);
213
- var newDomElementRaw = tagName === 'svg' || isSvgElement(parent)
214
- ? document.createElementNS('http://www.w3.org/2000/svg', tagName)
215
- : document.createElement(tagName);
216
- var newElement = toLogicalElement(newDomElementRaw);
217
- insertLogicalChild(newDomElementRaw, parent, childIndex);
218
- // Apply attributes
219
- var descendantsEndIndexExcl = frameIndex + frameReader.subtreeLength(frame);
220
- for (var descendantIndex = frameIndex + 1; descendantIndex < descendantsEndIndexExcl; descendantIndex++) {
221
- var descendantFrame = batch.referenceFramesEntry(frames, descendantIndex);
222
- if (frameReader.frameType(descendantFrame) === FrameType.attribute) {
223
- this.applyAttribute(batch, componentId, newDomElementRaw, descendantFrame);
224
- }
225
- else {
226
- // As soon as we see a non-attribute child, all the subsequent child frames are
227
- // not attributes, so bail out and insert the remnants recursively
228
- this.insertFrameRange(batch, componentId, newElement, 0, frames, descendantIndex, descendantsEndIndexExcl);
229
- break;
230
- }
231
- }
232
- // We handle setting 'value' on a <select> in two different ways:
233
- // [1] When inserting a corresponding <option>, in case you're dynamically adding options
234
- // [2] After we finish inserting the <select>, in case the descendant options are being
235
- // added as an opaque markup block rather than individually
236
- // Right here we implement [2]
237
- if (newDomElementRaw instanceof HTMLSelectElement && selectValuePropname in newDomElementRaw) {
238
- var selectValue = newDomElementRaw[selectValuePropname];
239
- newDomElementRaw.value = selectValue;
240
- delete newDomElementRaw[selectValuePropname];
241
- }
242
- };
243
- BrowserRenderer.prototype.insertComponent = function (batch, parent, childIndex, frame) {
244
- var containerElement = createAndInsertLogicalContainer(parent, childIndex);
245
- // All we have to do is associate the child component ID with its location. We don't actually
246
- // do any rendering here, because the diff for the child will appear later in the render batch.
247
- var childComponentId = batch.frameReader.componentId(frame);
248
- this.attachComponentToElement(childComponentId, containerElement);
249
- };
250
- BrowserRenderer.prototype.insertText = function (batch, parent, childIndex, textFrame) {
251
- var textContent = batch.frameReader.textContent(textFrame);
252
- var newTextNode = document.createTextNode(textContent);
253
- insertLogicalChild(newTextNode, parent, childIndex);
254
- };
255
- BrowserRenderer.prototype.insertMarkup = function (batch, parent, childIndex, markupFrame) {
256
- var markupContainer = createAndInsertLogicalContainer(parent, childIndex);
257
- var markupContent = batch.frameReader.markupContent(markupFrame);
258
- var parsedMarkup = parseMarkup(markupContent, isSvgElement(parent));
259
- var logicalSiblingIndex = 0;
260
- while (parsedMarkup.firstChild) {
261
- insertLogicalChild(parsedMarkup.firstChild, markupContainer, logicalSiblingIndex++);
262
- }
263
- };
264
- BrowserRenderer.prototype.applyAttribute = function (batch, componentId, toDomElement, attributeFrame) {
265
- var frameReader = batch.frameReader;
266
- var attributeName = frameReader.attributeName(attributeFrame);
267
- var eventHandlerId = frameReader.attributeEventHandlerId(attributeFrame);
268
- if (eventHandlerId) {
269
- var eventName = stripOnPrefix(attributeName);
270
- this.eventDelegator.setListener(toDomElement, eventName, eventHandlerId, componentId);
271
- return;
272
- }
273
- // First see if we have special handling for this attribute
274
- if (!this.tryApplySpecialProperty(batch, toDomElement, attributeName, attributeFrame)) {
275
- // If not, treat it as a regular string-valued attribute
276
- toDomElement.setAttribute(attributeName, frameReader.attributeValue(attributeFrame));
277
- }
278
- };
279
- BrowserRenderer.prototype.tryApplySpecialProperty = function (batch, element, attributeName, attributeFrame) {
280
- switch (attributeName) {
281
- case 'value':
282
- return this.tryApplyValueProperty(batch, element, attributeFrame);
283
- case 'checked':
284
- return this.tryApplyCheckedProperty(batch, element, attributeFrame);
285
- default: {
286
- if (attributeName.startsWith(internalAttributeNamePrefix)) {
287
- this.applyInternalAttribute(batch, element, attributeName.substring(internalAttributeNamePrefix.length), attributeFrame);
288
- return true;
289
- }
290
- return false;
291
- }
292
- }
293
- };
294
- BrowserRenderer.prototype.applyInternalAttribute = function (batch, element, internalAttributeName, attributeFrame) {
295
- var attributeValue = attributeFrame ? batch.frameReader.attributeValue(attributeFrame) : null;
296
- if (internalAttributeName.startsWith(eventStopPropagationAttributeNamePrefix)) {
297
- // Stop propagation
298
- var eventName = stripOnPrefix(internalAttributeName.substring(eventStopPropagationAttributeNamePrefix.length));
299
- this.eventDelegator.setStopPropagation(element, eventName, attributeValue !== null);
300
- }
301
- else if (internalAttributeName.startsWith(eventPreventDefaultAttributeNamePrefix)) {
302
- // Prevent default
303
- var eventName = stripOnPrefix(internalAttributeName.substring(eventPreventDefaultAttributeNamePrefix.length));
304
- this.eventDelegator.setPreventDefault(element, eventName, attributeValue !== null);
305
- }
306
- else {
307
- // The prefix makes this attribute name reserved, so any other usage is disallowed
308
- throw new Error("Unsupported internal attribute '" + internalAttributeName + "'");
309
- }
310
- };
311
- BrowserRenderer.prototype.tryApplyValueProperty = function (batch, element, attributeFrame) {
312
- // Certain elements have built-in behaviour for their 'value' property
313
- var frameReader = batch.frameReader;
314
- if (element.tagName === 'INPUT' && element.getAttribute('type') === 'time' && !element.getAttribute('step')) {
315
- var timeValue = attributeFrame ? frameReader.attributeValue(attributeFrame) : null;
316
- if (timeValue) {
317
- element['value'] = timeValue.substring(0, 5);
318
- return true;
319
- }
320
- }
321
- switch (element.tagName) {
322
- case 'INPUT':
323
- case 'SELECT':
324
- case 'TEXTAREA': {
325
- var value = attributeFrame ? frameReader.attributeValue(attributeFrame) : null;
326
- element.value = value;
327
- if (element.tagName === 'SELECT') {
328
- // <select> is special, in that anything we write to .value will be lost if there
329
- // isn't yet a matching <option>. To maintain the expected behavior no matter the
330
- // element insertion/update order, preserve the desired value separately so
331
- // we can recover it when inserting any matching <option> or after inserting an
332
- // entire markup block of descendants.
333
- element[selectValuePropname] = value;
334
- }
335
- return true;
336
- }
337
- case 'OPTION': {
338
- var value = attributeFrame ? frameReader.attributeValue(attributeFrame) : null;
339
- if (value) {
340
- element.setAttribute('value', value);
341
- }
342
- else {
343
- element.removeAttribute('value');
344
- }
345
- // See above for why we have this special handling for <select>/<option>
346
- // Note that this is only one of the two cases where we set the value on a <select>
347
- var selectElem = this.findClosestAncestorSelectElement(element);
348
- if (selectElem && selectValuePropname in selectElem && selectElem[selectValuePropname] === value) {
349
- this.tryApplyValueProperty(batch, selectElem, attributeFrame);
350
- delete selectElem[selectValuePropname];
351
- }
352
- return true;
353
- }
354
- default:
355
- return false;
356
- }
357
- };
358
- BrowserRenderer.prototype.tryApplyCheckedProperty = function (batch, element, attributeFrame) {
359
- // Certain elements have built-in behaviour for their 'checked' property
360
- if (element.tagName === 'INPUT') {
361
- var value = attributeFrame ? batch.frameReader.attributeValue(attributeFrame) : null;
362
- element.checked = value !== null;
363
- return true;
364
- }
365
- else {
366
- return false;
367
- }
368
- };
369
- BrowserRenderer.prototype.findClosestAncestorSelectElement = function (element) {
370
- while (element) {
371
- if (element instanceof HTMLSelectElement) {
372
- return element;
373
- }
374
- else {
375
- element = element.parentElement;
376
- }
377
- }
378
- return null;
379
- };
380
- BrowserRenderer.prototype.insertFrameRange = function (batch, componentId, parent, childIndex, frames, startIndex, endIndexExcl) {
381
- var origChildIndex = childIndex;
382
- for (var index = startIndex; index < endIndexExcl; index++) {
383
- var frame = batch.referenceFramesEntry(frames, index);
384
- var numChildrenInserted = this.insertFrame(batch, componentId, parent, childIndex, frames, frame, index);
385
- childIndex += numChildrenInserted;
386
- // Skip over any descendants, since they are already dealt with recursively
387
- index += countDescendantFrames(batch, frame);
388
- }
389
- return childIndex - origChildIndex; // Total number of children inserted
390
- };
391
- return BrowserRenderer;
392
- }());
393
- export { BrowserRenderer };
394
- function parseMarkup(markup, isSvg) {
395
- if (isSvg) {
396
- sharedSvgElemForParsing.innerHTML = markup || ' ';
397
- return sharedSvgElemForParsing;
398
- }
399
- else {
400
- sharedTemplateElemForParsing.innerHTML = markup || ' ';
401
- return sharedTemplateElemForParsing.content;
402
- }
403
- }
404
- function countDescendantFrames(batch, frame) {
405
- var frameReader = batch.frameReader;
406
- switch (frameReader.frameType(frame)) {
407
- // The following frame types have a subtree length. Other frames may use that memory slot
408
- // to mean something else, so we must not read it. We should consider having nominal subtypes
409
- // of RenderTreeFramePointer that prevent access to non-applicable fields.
410
- case FrameType.component:
411
- case FrameType.element:
412
- case FrameType.region:
413
- return frameReader.subtreeLength(frame) - 1;
414
- default:
415
- return 0;
416
- }
417
- }
418
- function raiseEvent(event, browserRendererId, eventHandlerId, eventArgs, eventFieldInfo) {
419
- if (preventDefaultEvents[event.type]) {
420
- event.preventDefault();
421
- }
422
- var eventDescriptor = {
423
- browserRendererId: browserRendererId,
424
- eventHandlerId: eventHandlerId,
425
- eventArgsType: eventArgs.type,
426
- eventFieldInfo: eventFieldInfo,
427
- };
428
- dispatchEvent(eventDescriptor, eventArgs.data);
429
- }
430
- function clearElement(element) {
431
- var childNode;
432
- while ((childNode = element.firstChild)) {
433
- element.removeChild(childNode);
434
- }
435
- }
436
- function clearBetween(start, end) {
437
- var logicalParent = getLogicalParent(start);
438
- if (!logicalParent) {
439
- throw new Error("Can't clear between nodes. The start node does not have a logical parent.");
440
- }
441
- var children = getLogicalChildrenArray(logicalParent);
442
- var removeStart = children.indexOf(start) + 1;
443
- var endIndex = children.indexOf(end);
444
- // We remove the end component comment from the DOM as we don't need it after this point.
445
- for (var i = removeStart; i <= endIndex; i++) {
446
- removeLogicalChild(logicalParent, removeStart);
447
- }
448
- // We sanitize the start comment by removing all the information from it now that we don't need it anymore
449
- // as it adds noise to the DOM.
450
- start.textContent = '!';
451
- }
452
- function stripOnPrefix(attributeName) {
453
- if (attributeName.startsWith('on')) {
454
- return attributeName.substring(2);
455
- }
456
- throw new Error("Attribute should be an event name, but doesn't start with 'on'. Value: '" + attributeName + "'");
457
- }
458
- //# sourceMappingURL=BrowserRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserRenderer.js","sourceRoot":"","sources":["../../../src/internal/Rendering/BrowserRenderer.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function applyCaptureIdToElement(element: Element, referenceCaptureId: string): void;
@@ -1,24 +0,0 @@
1
- export function applyCaptureIdToElement(element, referenceCaptureId) {
2
- element.setAttribute(getCaptureIdAttributeName(referenceCaptureId), '');
3
- }
4
- function getElementByCaptureId(referenceCaptureId) {
5
- var selector = "[" + getCaptureIdAttributeName(referenceCaptureId) + "]";
6
- return document.querySelector(selector);
7
- }
8
- function getCaptureIdAttributeName(referenceCaptureId) {
9
- return "_bl_" + referenceCaptureId;
10
- }
11
- // Support receiving ElementRef instances as args in interop calls
12
- var elementRefKey = '__internalId'; // Keep in sync with ElementRef.cs
13
- DotNet.attachReviver(function (key, value) {
14
- if (value &&
15
- typeof value === 'object' &&
16
- value.hasOwnProperty(elementRefKey) &&
17
- typeof value[elementRefKey] === 'string') {
18
- return getElementByCaptureId(value[elementRefKey]);
19
- }
20
- else {
21
- return value;
22
- }
23
- });
24
- //# sourceMappingURL=ElementReferenceCapture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ElementReferenceCapture.js","sourceRoot":"","sources":["../../../src/internal/Rendering/ElementReferenceCapture.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,kBAA0B;IAClF,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,qBAAqB,CAAC,kBAA0B;IACvD,IAAM,QAAQ,GAAG,MAAI,yBAAyB,CAAC,kBAAkB,CAAC,MAAG,CAAC;IACtE,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,yBAAyB,CAAC,kBAA0B;IAC3D,OAAO,SAAO,kBAAoB,CAAC;AACrC,CAAC;AAED,kEAAkE;AAClE,IAAM,aAAa,GAAG,cAAc,CAAC,CAAC,kCAAkC;AACxE,MAAM,CAAC,aAAa,CAAC,UAAC,GAAG,EAAE,KAAK;IAC9B,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC;QACnC,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,EACxC;QACA,OAAO,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;KACpD;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC,CAAC"}
@@ -1,20 +0,0 @@
1
- import { EventForDotNet, UIEventArgs } from './EventForDotNet';
2
- import { EventFieldInfo } from './EventFieldInfo';
3
- export interface OnEventCallback {
4
- (event: Event, eventHandlerId: number, eventArgs: EventForDotNet<UIEventArgs>, eventFieldInfo: EventFieldInfo | null): void;
5
- }
6
- export declare class EventDelegator {
7
- private onEvent;
8
- private static nextEventDelegatorId;
9
- private readonly eventsCollectionKey;
10
- private readonly afterClickCallbacks;
11
- private eventInfoStore;
12
- constructor(onEvent: OnEventCallback);
13
- setListener(element: Element, eventName: string, eventHandlerId: number, renderingComponentId: number): void;
14
- removeListener(eventHandlerId: number): void;
15
- notifyAfterClick(callback: (event: MouseEvent) => void): void;
16
- setStopPropagation(element: Element, eventName: string, value: boolean): void;
17
- setPreventDefault(element: Element, eventName: string, value: boolean): void;
18
- private onGlobalEvent;
19
- private getEventHandlerInfosForElement;
20
- }