@lynx-js/web-core-wasm-canary 0.0.0 → 0.0.1-canary-20260116-ce265e8f

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 (204) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/{LICENSE → LICENSE.txt} +1 -1
  3. package/Notice.txt +1 -0
  4. package/README.md +1 -0
  5. package/binary/client/client.d.ts +263 -0
  6. package/binary/client/client.js +1339 -0
  7. package/binary/client/client_bg.wasm +0 -0
  8. package/binary/client/client_bg.wasm.d.ts +70 -0
  9. package/binary/client/client_debug.d.ts +263 -0
  10. package/binary/client/client_debug.js +1339 -0
  11. package/binary/client/client_debug_bg.wasm +0 -0
  12. package/binary/client/client_debug_bg.wasm.d.ts +70 -0
  13. package/binary/encode/encode.d.ts +157 -0
  14. package/binary/encode/encode.js +17 -0
  15. package/binary/encode/encode_bg.js +749 -0
  16. package/binary/encode/encode_bg.wasm +0 -0
  17. package/binary/encode/encode_bg.wasm.d.ts +50 -0
  18. package/binary/encode/encode_debug.d.ts +157 -0
  19. package/binary/encode/encode_debug.js +17 -0
  20. package/binary/encode/encode_debug_bg.js +822 -0
  21. package/binary/encode/encode_debug_bg.wasm +0 -0
  22. package/binary/encode/encode_debug_bg.wasm.d.ts +50 -0
  23. package/binary/encode/package.json +4 -0
  24. package/css/in_shadow.css +10 -0
  25. package/css/index.css +119 -0
  26. package/dist/client/LynxCrossThreadContext.d.ts +22 -0
  27. package/dist/client/LynxCrossThreadContext.js +44 -0
  28. package/dist/client/background/background-apis/createBackgroundLynx.d.ts +24 -0
  29. package/dist/client/background/background-apis/createBackgroundLynx.js +38 -0
  30. package/dist/client/background/background-apis/createChunkLoading.d.ts +7 -0
  31. package/dist/client/background/background-apis/createChunkLoading.js +66 -0
  32. package/dist/client/background/background-apis/createElement.d.ts +5 -0
  33. package/dist/client/background/background-apis/createElement.js +18 -0
  34. package/dist/client/background/background-apis/createNapiLoader.d.ts +5 -0
  35. package/dist/client/background/background-apis/createNapiLoader.js +23 -0
  36. package/dist/client/background/background-apis/createNativeApp.d.ts +4 -0
  37. package/dist/client/background/background-apis/createNativeApp.js +98 -0
  38. package/dist/client/background/background-apis/createNativeModules.d.ts +3 -0
  39. package/dist/client/background/background-apis/createNativeModules.js +33 -0
  40. package/dist/client/background/background-apis/createPerformanceApis.d.ts +3 -0
  41. package/dist/client/background/background-apis/createPerformanceApis.js +47 -0
  42. package/dist/client/background/background-apis/createTimingSystem.d.ts +8 -0
  43. package/dist/client/background/background-apis/createTimingSystem.js +86 -0
  44. package/dist/client/background/background-apis/crossThreadHandlers/createGetCustomSection.d.ts +3 -0
  45. package/dist/client/background/background-apis/crossThreadHandlers/createGetCustomSection.js +14 -0
  46. package/dist/client/background/background-apis/crossThreadHandlers/createGetPathInfo.d.ts +3 -0
  47. package/dist/client/background/background-apis/crossThreadHandlers/createGetPathInfo.js +23 -0
  48. package/dist/client/background/background-apis/crossThreadHandlers/createInvokeUIMethod.d.ts +3 -0
  49. package/dist/client/background/background-apis/crossThreadHandlers/createInvokeUIMethod.js +24 -0
  50. package/dist/client/background/background-apis/crossThreadHandlers/createJSObjectDestructionObserver.d.ts +2 -0
  51. package/dist/client/background/background-apis/crossThreadHandlers/createJSObjectDestructionObserver.js +12 -0
  52. package/dist/client/background/background-apis/crossThreadHandlers/registerDisposeHandler.d.ts +3 -0
  53. package/dist/client/background/background-apis/crossThreadHandlers/registerDisposeHandler.js +9 -0
  54. package/dist/client/background/background-apis/crossThreadHandlers/registerPublicComponentEventHandler.d.ts +3 -0
  55. package/dist/client/background/background-apis/crossThreadHandlers/registerPublicComponentEventHandler.js +8 -0
  56. package/dist/client/background/background-apis/crossThreadHandlers/registerPublishEventHandler.d.ts +3 -0
  57. package/dist/client/background/background-apis/crossThreadHandlers/registerPublishEventHandler.js +8 -0
  58. package/dist/client/background/background-apis/crossThreadHandlers/registerSendGlobalEvent.d.ts +3 -0
  59. package/dist/client/background/background-apis/crossThreadHandlers/registerSendGlobalEvent.js +10 -0
  60. package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateDataHandler.d.ts +3 -0
  61. package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateDataHandler.js +5 -0
  62. package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateGlobalPropsHandler.d.ts +3 -0
  63. package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateGlobalPropsHandler.js +5 -0
  64. package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateI18nResource.d.ts +3 -0
  65. package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateI18nResource.js +9 -0
  66. package/dist/client/background/background-apis/startBackgroundThread.d.ts +2 -0
  67. package/dist/client/background/background-apis/startBackgroundThread.js +42 -0
  68. package/dist/client/background/index.d.ts +1 -0
  69. package/dist/client/background/index.js +15 -0
  70. package/dist/client/decodeWorker/cssLoader.d.ts +12 -0
  71. package/dist/client/decodeWorker/cssLoader.js +96 -0
  72. package/dist/client/decodeWorker/decode.worker.d.ts +1 -0
  73. package/dist/client/decodeWorker/decode.worker.js +338 -0
  74. package/dist/client/decodeWorker/types.d.ts +32 -0
  75. package/dist/client/decodeWorker/types.js +2 -0
  76. package/dist/client/endpoints.d.ts +53 -0
  77. package/dist/client/endpoints.js +37 -0
  78. package/dist/client/index.d.ts +3 -0
  79. package/dist/client/index.js +3 -0
  80. package/dist/client/mainthread/Background.d.ts +30 -0
  81. package/dist/client/mainthread/Background.js +207 -0
  82. package/dist/client/mainthread/ExposureServices.d.ts +11 -0
  83. package/dist/client/mainthread/ExposureServices.js +211 -0
  84. package/dist/client/mainthread/I18n.d.ts +9 -0
  85. package/dist/client/mainthread/I18n.js +44 -0
  86. package/dist/client/mainthread/LynxView.d.ts +170 -0
  87. package/dist/client/mainthread/LynxView.js +367 -0
  88. package/dist/client/mainthread/LynxViewInstance.d.ts +56 -0
  89. package/dist/client/mainthread/LynxViewInstance.js +196 -0
  90. package/dist/client/mainthread/StyleManager.d.ts +15 -0
  91. package/dist/client/mainthread/StyleManager.js +72 -0
  92. package/dist/client/mainthread/TemplateManager.d.ts +11 -0
  93. package/dist/client/mainthread/TemplateManager.js +257 -0
  94. package/dist/client/mainthread/createIFrameRealm.d.ts +6 -0
  95. package/dist/client/mainthread/createIFrameRealm.js +68 -0
  96. package/dist/client/mainthread/createMainThreadGlobalAPIs.d.ts +3 -0
  97. package/dist/client/mainthread/createMainThreadGlobalAPIs.js +82 -0
  98. package/dist/client/mainthread/crossThreadHandlers/queryNodes.d.ts +3 -0
  99. package/dist/client/mainthread/crossThreadHandlers/queryNodes.js +74 -0
  100. package/dist/client/mainthread/crossThreadHandlers/registerGetPathInfoHandler.d.ts +3 -0
  101. package/dist/client/mainthread/crossThreadHandlers/registerGetPathInfoHandler.js +51 -0
  102. package/dist/client/mainthread/crossThreadHandlers/registerInvokeUIMethodHandler.d.ts +3 -0
  103. package/dist/client/mainthread/crossThreadHandlers/registerInvokeUIMethodHandler.js +49 -0
  104. package/dist/client/mainthread/crossThreadHandlers/registerNapiModulesCallHandler.d.ts +3 -0
  105. package/dist/client/mainthread/crossThreadHandlers/registerNapiModulesCallHandler.js +8 -0
  106. package/dist/client/mainthread/crossThreadHandlers/registerNativeModulesCallHandler.d.ts +3 -0
  107. package/dist/client/mainthread/crossThreadHandlers/registerNativeModulesCallHandler.js +7 -0
  108. package/dist/client/mainthread/crossThreadHandlers/registerSelectComponentHandler.d.ts +3 -0
  109. package/dist/client/mainthread/crossThreadHandlers/registerSelectComponentHandler.js +20 -0
  110. package/dist/client/mainthread/crossThreadHandlers/registerSetNativePropsHandler.d.ts +3 -0
  111. package/dist/client/mainthread/crossThreadHandlers/registerSetNativePropsHandler.js +28 -0
  112. package/dist/client/mainthread/crossThreadHandlers/registerTriggerComponentEventHandler.d.ts +3 -0
  113. package/dist/client/mainthread/crossThreadHandlers/registerTriggerComponentEventHandler.js +12 -0
  114. package/dist/client/mainthread/crossThreadHandlers/registerTriggerElementMethodEndpointHandler.d.ts +3 -0
  115. package/dist/client/mainthread/crossThreadHandlers/registerTriggerElementMethodEndpointHandler.js +29 -0
  116. package/dist/client/mainthread/elementAPIs/WASMJSBinding.d.ts +38 -0
  117. package/dist/client/mainthread/elementAPIs/WASMJSBinding.js +122 -0
  118. package/dist/client/mainthread/elementAPIs/createCrossThreadEvent.d.ts +2 -0
  119. package/dist/client/mainthread/elementAPIs/createCrossThreadEvent.js +77 -0
  120. package/dist/client/mainthread/elementAPIs/createElementAPI.d.ts +3 -0
  121. package/dist/client/mainthread/elementAPIs/createElementAPI.js +346 -0
  122. package/dist/client/mainthread/elementAPIs/index.d.ts +2 -0
  123. package/dist/client/mainthread/elementAPIs/index.js +3 -0
  124. package/dist/client/mainthread/elementAPIs/pureElementPAPIs.d.ts +26 -0
  125. package/dist/client/mainthread/elementAPIs/pureElementPAPIs.js +85 -0
  126. package/dist/client/mainthread/utils/convertLengthToPx.d.ts +1 -0
  127. package/dist/client/mainthread/utils/convertLengthToPx.js +25 -0
  128. package/dist/client/wasm.d.ts +11 -0
  129. package/dist/client/wasm.js +52 -0
  130. package/dist/client/webElementsDynamicLoader.d.ts +8 -0
  131. package/dist/client/webElementsDynamicLoader.js +80 -0
  132. package/dist/client_prod/static/css/async/web-core-main-chunk.css +1 -0
  133. package/dist/client_prod/static/css/client.css +1 -0
  134. package/dist/client_prod/static/js/async/lynx-core-chunk.js +3 -0
  135. package/dist/client_prod/static/js/async/web-core-main-chunk.js +303 -0
  136. package/dist/client_prod/static/js/async/web-core-template-loader-thread.js +8 -0
  137. package/dist/client_prod/static/js/async/web-core-worker-chunk.js +1 -0
  138. package/dist/client_prod/static/js/async/web-elements-audio.js +1 -0
  139. package/dist/client_prod/static/js/async/web-elements-foldview.js +1 -0
  140. package/dist/client_prod/static/js/async/web-elements-input.js +1 -0
  141. package/dist/client_prod/static/js/async/web-elements-list.js +1 -0
  142. package/dist/client_prod/static/js/async/web-elements-overlay.js +1 -0
  143. package/dist/client_prod/static/js/async/web-elements-refrshview.js +1 -0
  144. package/dist/client_prod/static/js/async/web-elements-swiper.js +1 -0
  145. package/dist/client_prod/static/js/async/web-elements-textarea.js +1 -0
  146. package/dist/client_prod/static/js/async/web-elements-viewpager.js +1 -0
  147. package/dist/client_prod/static/js/client.js +2 -0
  148. package/dist/client_prod/static/wasm/7ff75609.module.wasm +0 -0
  149. package/dist/constants.d.ts +58 -0
  150. package/dist/constants.js +114 -0
  151. package/dist/encode/encodeCSS.d.ts +3 -0
  152. package/dist/encode/encodeCSS.js +99 -0
  153. package/dist/encode/encodeElementTemplate.d.ts +2 -0
  154. package/dist/encode/encodeElementTemplate.js +52 -0
  155. package/dist/encode/index.d.ts +1 -0
  156. package/dist/encode/index.js +7 -0
  157. package/dist/encode/webEncoder.d.ts +21 -0
  158. package/dist/encode/webEncoder.js +125 -0
  159. package/dist/types/BTSChunk.d.ts +3 -0
  160. package/dist/types/BTSChunk.js +5 -0
  161. package/dist/types/Cloneable.d.ts +2 -0
  162. package/dist/types/Cloneable.js +2 -0
  163. package/dist/types/DecodedTemplate.d.ts +10 -0
  164. package/dist/types/DecodedTemplate.js +7 -0
  165. package/dist/types/Element.d.ts +35 -0
  166. package/dist/types/Element.js +5 -0
  167. package/dist/types/ElementTemplateData.d.ts +15 -0
  168. package/dist/types/ElementTemplateData.js +7 -0
  169. package/dist/types/EventType.d.ts +56 -0
  170. package/dist/types/EventType.js +5 -0
  171. package/dist/types/I18nTypes.d.ts +21 -0
  172. package/dist/types/I18nTypes.js +2 -0
  173. package/dist/types/IElementPAPI.d.ts +184 -0
  174. package/dist/types/IElementPAPI.js +2 -0
  175. package/dist/types/IMtsBinding.d.ts +11 -0
  176. package/dist/types/IMtsBinding.js +7 -0
  177. package/dist/types/JSRealm.d.ts +5 -0
  178. package/dist/types/JSRealm.js +7 -0
  179. package/dist/types/LynxContextEventTarget.d.ts +12 -0
  180. package/dist/types/LynxContextEventTarget.js +5 -0
  181. package/dist/types/MainThreadLynx.d.ts +15 -0
  182. package/dist/types/MainThreadLynx.js +2 -0
  183. package/dist/types/NapiModules.d.ts +9 -0
  184. package/dist/types/NapiModules.js +5 -0
  185. package/dist/types/NativeApp.d.ts +120 -0
  186. package/dist/types/NativeApp.js +5 -0
  187. package/dist/types/NativeModules.d.ts +2 -0
  188. package/dist/types/NativeModules.js +5 -0
  189. package/dist/types/PageConfig.d.ts +9 -0
  190. package/dist/types/PageConfig.js +2 -0
  191. package/dist/types/ProcessDataCallback.d.ts +1 -0
  192. package/dist/types/ProcessDataCallback.js +2 -0
  193. package/dist/types/TimingAPIs.d.ts +32 -0
  194. package/dist/types/TimingAPIs.js +5 -0
  195. package/dist/types/UpdateDataOptions.d.ts +8 -0
  196. package/dist/types/UpdateDataOptions.js +6 -0
  197. package/dist/types/WorkerStartMessage.d.ts +14 -0
  198. package/dist/types/WorkerStartMessage.js +5 -0
  199. package/dist/types/index.d.ts +20 -0
  200. package/dist/types/index.js +7 -0
  201. package/eslint.config.js +34 -0
  202. package/package.json +87 -4
  203. package/index.js +0 -1
  204. package/selfIdentity.plist +0 -0
@@ -0,0 +1,346 @@
1
+ import { wasmInstance } from '../../wasm.js';
2
+ import { templateManager } from '../TemplateManager.js';
3
+ import { LYNX_TIMING_FLAG_ATTRIBUTE, lynxDisposedAttribute, lynxDefaultDisplayLinearAttribute, lynxEntryNameAttribute, uniqueIdSymbol, LYNX_TAG_TO_HTML_TAG_MAP, cssIdAttribute, lynxDefaultOverflowVisibleAttribute, } from '../../../constants.js';
4
+ import { __SwapElement, __AppendElement, __ElementIsEqual, __FirstElement, __GetChildren, __GetParent, __InsertElementBefore, __LastElement, __NextElement, __RemoveElement, __ReplaceElement, __ReplaceElements, __GetAttributes, __GetAttributeByName, __GetID, __SetID, __GetTag, __GetClasses, __SetClasses, __AddClass, __MarkTemplateElement, __MarkPartElement, __GetElementUniqueID, __GetTemplateParts, __UpdateListCallbacks, } from './pureElementPAPIs.js';
5
+ import hyphenateStyleName from 'hyphenate-style-name';
6
+ export function createElementAPI(entryTemplateUrl, rootDom, mtsBinding, config_enable_css_selector, config_default_display_linear, config_default_overflow_visible) {
7
+ const wasmContext = new wasmInstance.MainThreadWasmContext(document, rootDom, mtsBinding, uniqueIdSymbol, config_enable_css_selector);
8
+ mtsBinding.wasmContext = wasmContext;
9
+ let page = undefined;
10
+ const timingFlags = [];
11
+ const uniqueIdToElement = mtsBinding.uniqueIdToElement;
12
+ const __SetCSSId = (elements, cssId, entryName) => {
13
+ const uniqueIds = elements.map((element) => {
14
+ if (entryName) {
15
+ element.setAttribute(lynxEntryNameAttribute, entryName);
16
+ }
17
+ else {
18
+ element.removeAttribute(lynxEntryNameAttribute);
19
+ }
20
+ if (cssId) {
21
+ element.setAttribute(cssIdAttribute, cssId.toString());
22
+ }
23
+ else {
24
+ element.removeAttribute(cssIdAttribute);
25
+ }
26
+ return element[uniqueIdSymbol];
27
+ });
28
+ if (cssId !== null) {
29
+ wasmContext.__wasm_set_css_id(new Uint32Array(uniqueIds), cssId);
30
+ for (const element of elements) {
31
+ const uniqueId = element[uniqueIdSymbol];
32
+ if (!config_enable_css_selector) {
33
+ mtsBinding.lynxViewInstance.styleManager.updateCssOgStyle(uniqueId, cssId, element.classList, entryName);
34
+ }
35
+ }
36
+ }
37
+ };
38
+ const __AddEvent = (element, eventType, eventName, frameworkCrossThreadIdentifier) => {
39
+ const uniqueId = element[uniqueIdSymbol];
40
+ if (typeof frameworkCrossThreadIdentifier === 'string') {
41
+ wasmContext.__wasm_add_event_bts(uniqueId, eventType, eventName, frameworkCrossThreadIdentifier);
42
+ }
43
+ else if (frameworkCrossThreadIdentifier == null) {
44
+ wasmContext.__wasm_add_event_bts(uniqueId, eventType, eventName, undefined);
45
+ wasmContext.__wasm_add_event_run_worklet(uniqueId, eventType, eventName, undefined);
46
+ }
47
+ else if (typeof frameworkCrossThreadIdentifier === 'object') {
48
+ wasmContext.__wasm_add_event_run_worklet(uniqueId, eventType, eventName, frameworkCrossThreadIdentifier);
49
+ }
50
+ if (eventName === 'uiappear' || eventName === 'uidisappear') {
51
+ mtsBinding.markExposureRelatedElementByUniqueId(uniqueId, frameworkCrossThreadIdentifier != null);
52
+ }
53
+ };
54
+ return {
55
+ __CreateView(parentComponentUniqueId) {
56
+ const dom = document.createElement('x-view');
57
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(parentComponentUniqueId, dom);
58
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
59
+ return dom;
60
+ },
61
+ __CreateText(parentComponentUniqueId) {
62
+ const dom = document.createElement('x-text');
63
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(parentComponentUniqueId, dom);
64
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
65
+ return dom;
66
+ },
67
+ __CreateImage(parentComponentUniqueId) {
68
+ const dom = document.createElement('x-image');
69
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(parentComponentUniqueId, dom);
70
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
71
+ return dom;
72
+ },
73
+ __CreateRawText(text) {
74
+ const dom = document.createElement('raw-text');
75
+ dom.setAttribute('text', text);
76
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(-1, dom);
77
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
78
+ return dom;
79
+ },
80
+ __CreateScrollView(parentComponentUniqueId) {
81
+ const dom = document.createElement('scroll-view');
82
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(parentComponentUniqueId, dom);
83
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
84
+ return dom;
85
+ },
86
+ __CreateElement(tagName, parentComponentUniqueId) {
87
+ const dom = document.createElement(LYNX_TAG_TO_HTML_TAG_MAP[tagName] ?? tagName);
88
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(parentComponentUniqueId, dom);
89
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
90
+ return dom;
91
+ },
92
+ __CreateComponent(parentComponentUniqueId, componentID, cssID, entryName, name) {
93
+ const dom = document.createElement('x-view');
94
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(parentComponentUniqueId, dom, cssID, componentID);
95
+ if (entryName) {
96
+ dom.setAttribute(lynxEntryNameAttribute, entryName);
97
+ }
98
+ if (name) {
99
+ dom.setAttribute('name', name);
100
+ }
101
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
102
+ return dom;
103
+ },
104
+ __CreateWrapperElement(parentComponentUniqueId) {
105
+ const dom = document.createElement('lynx-wrapper');
106
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(parentComponentUniqueId, dom);
107
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
108
+ return dom;
109
+ },
110
+ __CreateList(parentComponentUniqueId, componentAtIndex, enqueueComponent) {
111
+ const dom = document.createElement('x-list');
112
+ dom.componentAtIndex = componentAtIndex;
113
+ dom.enqueueComponent = enqueueComponent;
114
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(parentComponentUniqueId, dom);
115
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
116
+ return dom;
117
+ },
118
+ __CreatePage(componentID, cssID) {
119
+ if (page)
120
+ return page;
121
+ const dom = document.createElement('div');
122
+ dom[uniqueIdSymbol] = wasmContext.__CreateElementCommon(0, dom, cssID, componentID);
123
+ if (config_default_overflow_visible) {
124
+ dom.setAttribute(lynxDefaultOverflowVisibleAttribute, 'true');
125
+ }
126
+ if (!config_default_display_linear) {
127
+ dom.setAttribute(lynxDefaultDisplayLinearAttribute, 'false');
128
+ }
129
+ dom.setAttribute('part', 'page');
130
+ page = dom;
131
+ uniqueIdToElement[dom[uniqueIdSymbol]] = dom;
132
+ return dom;
133
+ },
134
+ __ElementFromBinary(templateId, parentComponentUniqueId) {
135
+ let template_root = wasmContext._wasm_elementFromBinary(parentComponentUniqueId, entryTemplateUrl, templateId, templateManager.getTemplate(entryTemplateUrl).elementTemplates);
136
+ __MarkTemplateElement(template_root);
137
+ return template_root;
138
+ },
139
+ __SetClasses: config_enable_css_selector
140
+ ? __SetClasses
141
+ : ((element, classname) => {
142
+ __SetClasses(element, classname);
143
+ // Also sync to wasm side
144
+ const uniqueId = element[uniqueIdSymbol];
145
+ mtsBinding.lynxViewInstance.styleManager.updateCssOgStyle(uniqueId, wasmContext.__wasm_get_css_id_by_unique_id(uniqueId), element.classList, element.getAttribute(lynxEntryNameAttribute) || undefined);
146
+ }),
147
+ __SetCSSId,
148
+ __AddInlineStyle: (element, key, value) => {
149
+ if (typeof value != 'string') {
150
+ value = value.toString();
151
+ }
152
+ if (typeof key === 'number') {
153
+ return wasmContext.__wasm_AddInlineStyle_number_key(element, key, value);
154
+ }
155
+ else {
156
+ return wasmContext.__wasm_AddInlineStyle_str_key(element, key.toString(), value);
157
+ }
158
+ },
159
+ __SetInlineStyles: (element, value) => {
160
+ if (!value) {
161
+ element.removeAttribute('style');
162
+ }
163
+ else {
164
+ const styleString = typeof value === 'string'
165
+ ? value
166
+ : Object.entries(value).map(([k, v]) => `${hyphenateStyleName(k)}: ${v};`).join();
167
+ if (!wasmContext.__wasm_SetInlineStyles(element, styleString)) {
168
+ element.setAttribute('style', styleString);
169
+ }
170
+ }
171
+ },
172
+ __AddConfig: (element, type, value) => {
173
+ const uniqueId = element[uniqueIdSymbol];
174
+ const config = wasmContext.__GetConfig(uniqueId);
175
+ // @ts-ignore
176
+ config[type] = value;
177
+ },
178
+ __UpdateComponentInfo: (element, componentInfo) => {
179
+ const uniqueId = element[uniqueIdSymbol];
180
+ const { componentID, cssID, entry, name } = componentInfo;
181
+ if (name) {
182
+ element.setAttribute('name', name);
183
+ }
184
+ else {
185
+ element.removeAttribute('name');
186
+ }
187
+ wasmContext.__UpdateComponentID(uniqueId, componentID);
188
+ if (cssID !== undefined) {
189
+ __SetCSSId([element], cssID, entry);
190
+ }
191
+ },
192
+ __UpdateComponentID: (element, componentID) => {
193
+ const uniqueId = element[uniqueIdSymbol];
194
+ wasmContext.__UpdateComponentID(uniqueId, componentID);
195
+ },
196
+ __GetConfig: (element) => {
197
+ const uniqueId = element[uniqueIdSymbol];
198
+ return wasmContext.__GetConfig(uniqueId);
199
+ },
200
+ __SetConfig: (element, config) => {
201
+ const uniqueId = element[uniqueIdSymbol];
202
+ wasmContext.__SetConfig(uniqueId, config);
203
+ },
204
+ __GetElementConfig: (element) => {
205
+ const uniqueId = element[uniqueIdSymbol];
206
+ return wasmContext.__GetElementConfig(uniqueId);
207
+ },
208
+ __GetComponentID: (element) => {
209
+ const uniqueId = element[uniqueIdSymbol];
210
+ return wasmContext.__GetComponentID(uniqueId);
211
+ },
212
+ __SetDataset: (element, dataset) => {
213
+ const uniqueId = element[uniqueIdSymbol];
214
+ wasmContext.__SetDataset(uniqueId, element, dataset);
215
+ },
216
+ __AddDataset: (element, key, value) => {
217
+ const uniqueId = element[uniqueIdSymbol];
218
+ if (value) {
219
+ element.setAttribute(`data-${key}`, typeof value === 'object' ? JSON.stringify(value) : value.toString());
220
+ }
221
+ else {
222
+ element.removeAttribute(`data-${key}`);
223
+ }
224
+ wasmContext.__AddDataset(uniqueId, key, value);
225
+ },
226
+ __GetDataset: (element) => {
227
+ const uniqueId = element[uniqueIdSymbol];
228
+ return Object.assign(Object.create(null), wasmContext.__GetDataset(uniqueId));
229
+ },
230
+ __GetDataByKey: (element, key) => {
231
+ const uniqueId = element[uniqueIdSymbol];
232
+ return wasmContext.__GetDataByKey(uniqueId, key);
233
+ },
234
+ __SetAttribute(element, name, value) {
235
+ if (name === 'update-list-info') {
236
+ const { insertAction, removeAction } = value;
237
+ queueMicrotask(() => {
238
+ const componentAtIndex = element.componentAtIndex;
239
+ const enqueueComponent = element.enqueueComponent;
240
+ const uniqueId = __GetElementUniqueID(element);
241
+ for (const action of insertAction) {
242
+ componentAtIndex?.(element, uniqueId, action.position, 0, false);
243
+ }
244
+ for (const action of removeAction) {
245
+ enqueueComponent?.(element, uniqueId, action.position);
246
+ }
247
+ });
248
+ }
249
+ else {
250
+ if (value == null) {
251
+ element.removeAttribute(name);
252
+ }
253
+ else {
254
+ element.setAttribute(name, value.toString());
255
+ }
256
+ if (name === 'exposure-id') {
257
+ if (value != null) {
258
+ const uniqueId = element[uniqueIdSymbol];
259
+ mtsBinding.markExposureRelatedElementByUniqueId(uniqueId, true);
260
+ }
261
+ else {
262
+ const uniqueId = element[uniqueIdSymbol];
263
+ mtsBinding.markExposureRelatedElementByUniqueId(uniqueId, false);
264
+ }
265
+ }
266
+ else if (name === LYNX_TIMING_FLAG_ATTRIBUTE) {
267
+ timingFlags.push(String(value));
268
+ }
269
+ }
270
+ },
271
+ __AddEvent,
272
+ __GetEvent: (element, eventType, eventName) => {
273
+ const uniqueId = element[uniqueIdSymbol];
274
+ return wasmContext.__GetEvent(uniqueId, eventType, eventName);
275
+ },
276
+ __GetEvents: (element) => {
277
+ const uniqueId = element[uniqueIdSymbol];
278
+ return wasmContext.__GetEvents(uniqueId);
279
+ },
280
+ __SetEvents: (element, events) => {
281
+ for (const event of events) {
282
+ __AddEvent(element, event.type, event.name, event.function);
283
+ }
284
+ },
285
+ __GetPageElement: () => page,
286
+ __AppendElement,
287
+ __ElementIsEqual,
288
+ __FirstElement,
289
+ __GetChildren,
290
+ __GetParent,
291
+ __InsertElementBefore,
292
+ __LastElement,
293
+ __NextElement,
294
+ __RemoveElement,
295
+ __ReplaceElement,
296
+ __GetAttributes,
297
+ __GetAttributeByName,
298
+ __ReplaceElements,
299
+ __GetID,
300
+ __SetID,
301
+ __GetTag,
302
+ __AddClass,
303
+ __GetClasses,
304
+ __MarkTemplateElement,
305
+ __MarkPartElement,
306
+ __GetTemplateParts,
307
+ __GetElementUniqueID,
308
+ __UpdateListCallbacks,
309
+ __SwapElement,
310
+ __FlushElementTree: (_, options) => {
311
+ const pipelineId = options?.pipelineOptions?.pipelineID;
312
+ const backgroundThread = mtsBinding.lynxViewInstance.backgroundThread;
313
+ if (page && !page.parentNode
314
+ && page.getAttribute(lynxDisposedAttribute) !== '') {
315
+ backgroundThread.markTiming('dispatch_start', pipelineId);
316
+ backgroundThread.jsContext.dispatchEvent({
317
+ type: '__OnNativeAppReady',
318
+ data: undefined,
319
+ });
320
+ backgroundThread.markTiming('layout_start', pipelineId);
321
+ backgroundThread.markTiming('ui_operation_flush_start', pipelineId);
322
+ rootDom.appendChild(page);
323
+ rootDom.host.style.display = 'flex';
324
+ backgroundThread.markTiming('ui_operation_flush_end', pipelineId);
325
+ backgroundThread.markTiming('layout_end', pipelineId);
326
+ backgroundThread.markTiming('dispatch_end', pipelineId);
327
+ backgroundThread.flushTimingInfo();
328
+ }
329
+ let timingFlagsAll = timingFlags.concat(wasmContext.__wasm_take_timing_flags());
330
+ requestAnimationFrame(() => {
331
+ mtsBinding.postTimingFlags(timingFlagsAll, pipelineId);
332
+ });
333
+ timingFlags.length = 0;
334
+ const enabledExposureElements = [
335
+ ...mtsBinding.toBeEnabledElement,
336
+ ];
337
+ mtsBinding.toBeEnabledElement.clear();
338
+ const disabledExposureElements = [
339
+ ...mtsBinding.toBeDisabledElement,
340
+ ];
341
+ mtsBinding.toBeDisabledElement.clear();
342
+ mtsBinding?.updateExposureStatus(enabledExposureElements, disabledExposureElements);
343
+ },
344
+ };
345
+ }
346
+ //# sourceMappingURL=createElementAPI.js.map
@@ -0,0 +1,2 @@
1
+ export { WASMJSBinding } from './WASMJSBinding.js';
2
+ export { createElementAPI } from './createElementAPI.js';
@@ -0,0 +1,3 @@
1
+ export { WASMJSBinding } from './WASMJSBinding.js';
2
+ export { createElementAPI } from './createElementAPI.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,26 @@
1
+ import type { AddClassPAPI, AppendElementPAPI, ElementIsEqualPAPI, FirstElementPAPI, GetAttributeByNamePAPI, GetAttributesPAPI, GetChildrenPAPI, GetClassesPAPI, GetElementUniqueIDPAPI, GetIDPAPI, GetParentPAPI, GetTagPAPI, GetTemplatePartsPAPI, InsertElementBeforePAPI, LastElementPAPI, MarkPartElementPAPI, MarkTemplateElementPAPI, NextElementPAPI, RemoveElementPAPI, ReplaceElementPAPI, ReplaceElementsPAPI, SetClassesPAPI, SetIDPAPI, SwapElementPAPI, UpdateListCallbacksPAPI } from '../../../types/index.js';
2
+ export declare const __AppendElement: AppendElementPAPI;
3
+ export declare const __ElementIsEqual: ElementIsEqualPAPI;
4
+ export declare const __FirstElement: FirstElementPAPI;
5
+ export declare const __GetChildren: GetChildrenPAPI;
6
+ export declare const __GetParent: GetParentPAPI;
7
+ export declare const __InsertElementBefore: InsertElementBeforePAPI;
8
+ export declare const __LastElement: LastElementPAPI;
9
+ export declare const __NextElement: NextElementPAPI;
10
+ export declare const __RemoveElement: RemoveElementPAPI;
11
+ export declare const __ReplaceElement: ReplaceElementPAPI;
12
+ export declare const __ReplaceElements: ReplaceElementsPAPI;
13
+ export declare const __GetAttributes: GetAttributesPAPI;
14
+ export declare const __GetAttributeByName: GetAttributeByNamePAPI;
15
+ export declare const __GetID: GetIDPAPI;
16
+ export declare const __SetID: SetIDPAPI;
17
+ export declare const __GetTag: GetTagPAPI;
18
+ export declare const __GetClasses: GetClassesPAPI;
19
+ export declare const __SwapElement: SwapElementPAPI;
20
+ export declare const __SetClasses: SetClassesPAPI;
21
+ export declare const __AddClass: AddClassPAPI;
22
+ export declare const __GetTemplateParts: GetTemplatePartsPAPI;
23
+ export declare const __MarkTemplateElement: MarkTemplateElementPAPI;
24
+ export declare const __MarkPartElement: MarkPartElementPAPI;
25
+ export declare const __GetElementUniqueID: GetElementUniqueIDPAPI;
26
+ export declare const __UpdateListCallbacks: UpdateListCallbacksPAPI;
@@ -0,0 +1,85 @@
1
+ // Copyright 2023 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+ import { HTML_TAG_TO_LYNX_TAG_MAP, lynxElementTemplateMarkerAttribute, lynxPartIdAttribute, uniqueIdSymbol, } from '../../../constants.js';
5
+ export const __AppendElement = /*#__PURE__*/ (parent, child) => parent.appendChild(child);
6
+ export const __ElementIsEqual = /*#__PURE__*/ (left, right) => left === right;
7
+ export const __FirstElement = /*#__PURE__*/ (element) => element.firstElementChild;
8
+ export const __GetChildren = /*#__PURE__*/ (element) => element.children ? [...element.children] : null;
9
+ export const __GetParent = /*#__PURE__*/ (element) => element.parentElement;
10
+ export const __InsertElementBefore = /*#__PURE__*/ (parent, child, ref) => parent.insertBefore(child, ref);
11
+ export const __LastElement = /*#__PURE__*/ (element) => element.lastElementChild;
12
+ export const __NextElement = /*#__PURE__*/ (element) => element.nextElementSibling;
13
+ export const __RemoveElement = /*#__PURE__*/ (parent, child) => parent.removeChild(child);
14
+ export const __ReplaceElement = /*#__PURE__*/ (newElement, oldElement) => oldElement.replaceWith(newElement);
15
+ export const __ReplaceElements = /*#__PURE__*/ (parent, newChildren, oldChildren) => {
16
+ newChildren = Array.isArray(newChildren) ? newChildren : [newChildren];
17
+ if (!oldChildren || (Array.isArray(oldChildren) && oldChildren?.length === 0)) {
18
+ parent.append(...newChildren);
19
+ }
20
+ else {
21
+ oldChildren = Array.isArray(oldChildren) ? oldChildren : [oldChildren];
22
+ for (let ii = 1; ii < oldChildren.length; ii++) {
23
+ __RemoveElement(parent, oldChildren[ii]);
24
+ }
25
+ const firstOldChildren = oldChildren[0];
26
+ firstOldChildren.replaceWith(...newChildren);
27
+ }
28
+ };
29
+ export const __GetAttributes = /*#__PURE__*/ (element) => {
30
+ return Object.fromEntries(element.getAttributeNames().map((attributeName) => [attributeName, element.getAttribute(attributeName)])
31
+ .filter(([, value]) => value));
32
+ };
33
+ export const __GetAttributeByName = /*#__PURE__*/ (element, name) => element.getAttribute(name);
34
+ export const __GetID = /*#__PURE__*/ (element) => element.getAttribute('id');
35
+ export const __SetID = /*#__PURE__*/ (element, id) => id ? element.setAttribute('id', id) : element.removeAttribute('id');
36
+ export const __GetTag = /*#__PURE__*/ (element) => {
37
+ const tagName = element.tagName.toLowerCase();
38
+ return HTML_TAG_TO_LYNX_TAG_MAP[tagName] ?? tagName;
39
+ };
40
+ export const __GetClasses = /*#__PURE__*/ (element) => [...element.classList];
41
+ export const __SwapElement = /*#__PURE__*/ (childA, childB) => {
42
+ const temp = document.createElement('div');
43
+ childA.replaceWith(temp);
44
+ childB.replaceWith(childA);
45
+ temp.replaceWith(childB);
46
+ };
47
+ export const __SetClasses = /*#__PURE__*/ (element, classname) => {
48
+ classname
49
+ ? element.setAttribute('class', classname)
50
+ : element.removeAttribute('class');
51
+ };
52
+ export const __AddClass = /*#__PURE__*/ (element, className) => {
53
+ element.classList.add(className);
54
+ };
55
+ export const __GetTemplateParts = (templateElement) => {
56
+ const isTemplate = templateElement.getAttribute(lynxElementTemplateMarkerAttribute)
57
+ !== null;
58
+ if (!isTemplate) {
59
+ return {};
60
+ }
61
+ const templateUniqueId = __GetElementUniqueID(templateElement);
62
+ const parts = {};
63
+ const partElements = templateElement.querySelectorAll(`[${lynxPartIdAttribute}]:not([${lynxElementTemplateMarkerAttribute}="${templateUniqueId}"] [${lynxElementTemplateMarkerAttribute}] [${lynxPartIdAttribute}])`);
64
+ for (const partElement of partElements) {
65
+ const partId = partElement.getAttribute(lynxPartIdAttribute);
66
+ if (partId) {
67
+ parts[partId] = partElement;
68
+ }
69
+ }
70
+ return parts;
71
+ };
72
+ export const __MarkTemplateElement = (element) => {
73
+ const templateUniqueId = __GetElementUniqueID(element);
74
+ element.setAttribute(lynxElementTemplateMarkerAttribute, templateUniqueId.toString());
75
+ };
76
+ export const __MarkPartElement = (element, partId) => {
77
+ element.setAttribute(lynxPartIdAttribute, partId);
78
+ };
79
+ export const __GetElementUniqueID = /*#__PURE__*/ (element) => (element && element[uniqueIdSymbol]) ?? -1;
80
+ export const __UpdateListCallbacks = /*#__PURE__*/ (element, componentAtIndex, enqueueComponent) => {
81
+ const decoratedElement = element;
82
+ decoratedElement.componentAtIndex = componentAtIndex;
83
+ decoratedElement.enqueueComponent = enqueueComponent;
84
+ };
85
+ //# sourceMappingURL=pureElementPAPIs.js.map
@@ -0,0 +1 @@
1
+ export declare function convertLengthToPx(targetElement: HTMLElement, str: string | null, isWidth?: boolean): number;
@@ -0,0 +1,25 @@
1
+ // Copyright 2024 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+ export function convertLengthToPx(targetElement, str, isWidth) {
5
+ if (str) {
6
+ str = str.trim();
7
+ if (str.endsWith('px')) {
8
+ return Number(str.substring(0, str.length - 2));
9
+ }
10
+ else if (str.endsWith('%')) {
11
+ const pct = Number(str.substring(0, str.length - 1));
12
+ const { width, height } = targetElement.getBoundingClientRect();
13
+ const base = isWidth ? width : height;
14
+ return (base * pct) / 100;
15
+ }
16
+ else {
17
+ /**
18
+ * TODO (haoyang.wang): support rpx
19
+ */
20
+ return 0;
21
+ }
22
+ }
23
+ return 0;
24
+ }
25
+ //# sourceMappingURL=convertLengthToPx.js.map
@@ -0,0 +1,11 @@
1
+ export declare const wasmInstance: typeof import("../../binary/client/client.js"), wasmModule: WebAssembly.Module | undefined;
2
+ export declare class DecodedStyle {
3
+ #private;
4
+ static webWorkerDecode(data: Uint8Array, configEnableCssSelector: boolean, entryName?: string): Uint8Array<ArrayBufferLike>;
5
+ readonly style_content: string;
6
+ readonly font_face_content: string;
7
+ constructor(data: Uint8Array);
8
+ query_css_og_declarations_by_css_id: InstanceType<typeof wasmInstance.DecodedStyleData>['query_css_og_declarations_by_css_id'];
9
+ }
10
+ export type MainThreadWasmContext = typeof import('../../binary/client/client.js').MainThreadWasmContext;
11
+ export type ElementTemplateSection = typeof import('../../binary/client/client.js').ElementTemplateSection;
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Copyright 2025 The Lynx Authors. All rights reserved.
3
+ * Licensed under the Apache License Version 2.0 that can be found in the
4
+ * LICENSE file in the root directory of this source tree.
5
+ */
6
+ import { referenceTypes } from 'wasm-feature-detect';
7
+ const isWorker = typeof WorkerGlobalScope !== 'undefined'
8
+ && self instanceof WorkerGlobalScope;
9
+ const wasmLoaded = referenceTypes().then((supportsReferenceTypes) => {
10
+ if (supportsReferenceTypes) {
11
+ return Promise.all([
12
+ import(
13
+ /* webpackMode: "eager" */
14
+ /* webpackFetchPriority: "high" */
15
+ /* webpackPrefetch: true */
16
+ /* webpackPreload: true */
17
+ '../../binary/client/client.js'),
18
+ isWorker ? undefined : WebAssembly.compileStreaming(fetch(new URL(
19
+ /* webpackChunkName: "standard-wasm" */
20
+ /* webpackMode: "eager" */
21
+ /* webpackFetchPriority: "high" */
22
+ /* webpackPrefetch: true */
23
+ /* webpackPreload: true */
24
+ '../../binary/client/client_bg.wasm', import.meta.url))),
25
+ ]);
26
+ }
27
+ else {
28
+ throw new Error('WASM not supported');
29
+ }
30
+ });
31
+ export const [wasmInstance, wasmModule] = await wasmLoaded;
32
+ if (!isWorker) {
33
+ wasmInstance.initSync({ module: wasmModule });
34
+ }
35
+ export class DecodedStyle {
36
+ static webWorkerDecode(data, configEnableCssSelector, entryName) {
37
+ return wasmInstance.DecodedStyleData.decode_into(data, entryName, configEnableCssSelector);
38
+ }
39
+ #styleData;
40
+ style_content;
41
+ font_face_content;
42
+ constructor(data) {
43
+ this.#styleData = new wasmInstance.DecodedStyleData(data);
44
+ // cache the string result to avoid multiple utf8 -> utf16 string transformation
45
+ this.style_content = this.#styleData.style_content;
46
+ this.font_face_content = this.#styleData.font_face_content;
47
+ this.query_css_og_declarations_by_css_id = this.#styleData
48
+ .query_css_og_declarations_by_css_id.bind(this.#styleData);
49
+ }
50
+ query_css_og_declarations_by_css_id;
51
+ }
52
+ //# sourceMappingURL=wasm.js.map
@@ -0,0 +1,8 @@
1
+ import '@lynx-js/web-elements/XView';
2
+ import '@lynx-js/web-elements/XText';
3
+ import '@lynx-js/web-elements/XImage';
4
+ import '@lynx-js/web-elements/XSvg';
5
+ import '@lynx-js/web-elements/LynxWrapper';
6
+ import '@lynx-js/web-elements/ScrollView';
7
+ export declare function loadWebElement(id: number): Promise<void> | undefined;
8
+ export declare function loadAllWebElements(): Promise<void>;
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Copyright 2025 The Lynx Authors. All rights reserved.
3
+ * Licensed under the Apache License Version 2.0 that can be found in the
4
+ * LICENSE file in the root directory of this source tree.
5
+ */
6
+ import '@lynx-js/web-elements/XView';
7
+ import '@lynx-js/web-elements/XText';
8
+ import '@lynx-js/web-elements/XImage';
9
+ import '@lynx-js/web-elements/XSvg';
10
+ import '@lynx-js/web-elements/LynxWrapper';
11
+ import '@lynx-js/web-elements/ScrollView';
12
+ const loadedWebElementsCSSIds = new Set();
13
+ export function loadWebElement(id) {
14
+ if (loadedWebElementsCSSIds.has(id)) {
15
+ return undefined;
16
+ }
17
+ let promise = undefined;
18
+ switch (id) {
19
+ case 0:
20
+ promise = import(
21
+ /* webpackChunkName: "web-elements-list" */
22
+ '@lynx-js/web-elements/XList');
23
+ break;
24
+ case 1:
25
+ promise = import(
26
+ /* webpackChunkName: "web-elements-swiper" */
27
+ '@lynx-js/web-elements/XSwiper');
28
+ break;
29
+ case 2:
30
+ promise = import(
31
+ /* webpackChunkName: "web-elements-input" */
32
+ '@lynx-js/web-elements/XInput');
33
+ break;
34
+ case 3:
35
+ promise = import(
36
+ /* webpackChunkName: "web-elements-textarea" */
37
+ '@lynx-js/web-elements/XTextarea');
38
+ break;
39
+ case 4:
40
+ promise = import(
41
+ /* webpackChunkName: "web-elements-audio" */
42
+ '@lynx-js/web-elements/XAudioTT');
43
+ break;
44
+ case 5:
45
+ promise = import(
46
+ /* webpackChunkName: "web-elements-foldview" */
47
+ '@lynx-js/web-elements/XFoldViewNg');
48
+ break;
49
+ case 6:
50
+ promise = import(
51
+ /* webpackChunkName: "web-elements-refrshview" */
52
+ '@lynx-js/web-elements/XRefreshView');
53
+ break;
54
+ case 7:
55
+ promise = import(
56
+ /* webpackChunkName: "web-elements-overlay" */
57
+ '@lynx-js/web-elements/XOverlayNg');
58
+ break;
59
+ case 8:
60
+ promise = import(
61
+ /* webpackChunkName: "web-elements-viewpager" */
62
+ '@lynx-js/web-elements/XViewpagerNg');
63
+ break;
64
+ default:
65
+ }
66
+ return promise?.then(() => {
67
+ loadedWebElementsCSSIds.add(id);
68
+ });
69
+ }
70
+ export function loadAllWebElements() {
71
+ const promises = [];
72
+ for (let i = 0; i <= 8; i++) {
73
+ const p = loadWebElement(i);
74
+ if (p) {
75
+ promises.push(p);
76
+ }
77
+ }
78
+ return Promise.all(promises);
79
+ }
80
+ //# sourceMappingURL=webElementsDynamicLoader.js.map
@@ -0,0 +1 @@
1
+ @supports not ((content-visibility:auto) and (transition-behavior:allow-discrete) and (width:1rex)){*{--lynx-display:linear;--lynx-linear-weight-sum:1;--lynx-linear-weight:0;--justify-content-column:flex-start;--justify-content-column-reverse:flex-start;--justify-content-row:flex-start;--justify-content-row-reverse:flex-start;--align-self-row:auto;--align-self-column:auto;--lynx-linear-weight-basis:auto;--lynx-linear-orientation:vertical;--flex-direction:row;--flex-grow:0;--flex-shrink:1;--flex-basis:auto;--justify-content:flex-start;--flex-wrap:nowrap;--align-self:auto}[lynx-computed-display=linear]{flex-direction:column;justify-content:flex-start;flex-wrap:nowrap!important}[lynx-computed-display=flex]{flex-direction:var(--flex-direction);justify-content:var(--justify-content);flex-wrap:var(--flex-wrap)}[lynx-computed-display=flex]>*,[lynx-computed-display=flex]>lynx-wrapper>*{flex:var(--flex,var(--flex-grow)var(--flex-shrink)var(--flex-basis))}[lynx-computed-display=linear]>*,[lynx-computed-display=linear]>lynx-wrapper>*{flex-shrink:0!important;flex-grow:calc(var(--lynx-linear-weight)/calc(var(--lynx-linear-weight-sum) + ( 1 - clamp(0,var(--lynx-linear-weight-sum)*999999,1))))!important;flex-basis:var(--lynx-linear-weight-basis)!important}[lynx-computed-display=linear][lynx-linear-orientation=vertical]{justify-content:var(--justify-content-column);flex-direction:column!important}[lynx-computed-display=linear][lynx-linear-orientation=horizontal]{justify-content:var(--justify-content-row);flex-direction:row!important}[lynx-computed-display=linear][lynx-linear-orientation=vertical-reverse]{justify-content:var(--justify-content-column-reverse);flex-direction:column-reverse!important}[lynx-computed-display=linear][lynx-linear-orientation=horizontal-reverse]{justify-content:var(--justify-content-row-reverse);flex-direction:row-reverse!important}[lynx-computed-display=linear][lynx-linear-orientation=vertical]>*,[lynx-computed-display=linear][lynx-linear-orientation=vertical-reverse],[lynx-computed-display=linear][lynx-linear-orientation=vertical]>lynx-wrapper>*,[lynx-computed-display=linear][lynx-linear-orientation=vertical-reverse]>lynx-wrapper>*{align-self:var(--align-self-column)}[lynx-computed-display=linear][lynx-linear-orientation=horizontal]>*,[lynx-computed-display=linear][lynx-linear-orientation=horizontal-reverse],[lynx-computed-display=linear][lynx-linear-orientation=horizontal]>lynx-wrapper>*,[lynx-computed-display=linear][lynx-linear-orientation=horizontal-reverse]>lynx-wrapper>*{align-self:var(--align-self-row)}}
@@ -0,0 +1 @@
1
+ lynx-view{contain:strict;display:none}lynx-view[width=auto]{--lynx-view-width:100%;width:var(--lynx-view-width);inline-size:var(--lynx-view-width)}lynx-view[height=auto],lynx-view[width=auto]{contain:content}lynx-view::part(page){width:100%;height:100%}@property --lynx-display{syntax:"linear|flex";inherits:false;initial-value:linear}@property --lynx-linear-weight-sum{syntax:"<number>";inherits:false;initial-value:1}@property --lynx-linear-weight{syntax:"<number>";inherits:false;initial-value:0}@property --justify-content-column{syntax:"flex-start|flex-end|center|space-between|space-around";inherits:false;initial-value:flex-start}@property --justify-content-column-reverse{syntax:"flex-start|flex-end|center|space-between|space-around";inherits:false;initial-value:flex-start}@property --justify-content-row{syntax:"flex-start|flex-end|center|space-between|space-around";inherits:false;initial-value:flex-start}@property --justify-content-row-reverse{syntax:"flex-start|flex-end|center|space-between|space-around";inherits:false;initial-value:flex-start}@property --align-self-row{syntax:"start|end|center|stretch|auto";inherits:false;initial-value:auto}@property --align-self-column{syntax:"start|end|center|stretch|auto";inherits:false;initial-value:auto}@property --lynx-linear-weight-basis{syntax:"auto|<number>|<length>";inherits:false;initial-value:auto}@property --lynx-linear-orientation{syntax:"<custom-ident>";inherits:false;initial-value:vertical}@property --flex-direction{syntax:"*";inherits:false}@property --flex-wrap{syntax:"*";inherits:false}@property --flex-grow{syntax:"<number>";inherits:false;initial-value:0}@property --flex-shrink{syntax:"<number>";inherits:false;initial-value:1}@property --flex-basis{syntax:"*";inherits:false;initial-value:auto}@property --flex-value{syntax:"*";inherits:false}@property --flex{syntax:"*";inherits:false}@property --linear-justify-content{syntax:"flex-start|flex-end|center|space-between|space-around";inherits:false;initial-value:flex-start}