@nativescript/core 8.5.0-dom.2 → 8.5.0-nsdom.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 (441) hide show
  1. package/abortcontroller/abortsignal.js +1 -1
  2. package/abortcontroller/abortsignal.js.map +1 -1
  3. package/accessibility/accessibility-properties.js +5 -13
  4. package/accessibility/accessibility-properties.js.map +1 -1
  5. package/accessibility/font-scale.android.js.map +1 -1
  6. package/accessibility/index.android.js +11 -10
  7. package/accessibility/index.android.js.map +1 -1
  8. package/accessibility/index.ios.js.map +1 -1
  9. package/animation-frame/animation-native.ios.d.ts +1 -1
  10. package/application/application-common.d.ts +5 -4
  11. package/application/application-common.js.map +1 -1
  12. package/application/index.android.d.ts +12 -12
  13. package/application/index.d.ts +30 -32
  14. package/application/index.ios.d.ts +1 -0
  15. package/application/index.ios.js +24 -29
  16. package/application/index.ios.js.map +1 -1
  17. package/config/config.interface.d.ts +10 -0
  18. package/core-types/index.d.ts +277 -752
  19. package/core-types/index.js +3 -0
  20. package/core-types/index.js.map +1 -1
  21. package/css/CSS3Parser.d.ts +3 -3
  22. package/css/parser.d.ts +17 -17
  23. package/css/parser.js +1 -0
  24. package/css/parser.js.map +1 -1
  25. package/data/observable/index.d.ts +45 -86
  26. package/data/observable/index.js +418 -197
  27. package/data/observable/index.js.map +1 -1
  28. package/data/observable-array/index.d.ts +2 -3
  29. package/data/observable-array/index.js +1 -1
  30. package/data/observable-array/index.js.map +1 -1
  31. package/data/virtual-array/index.d.ts +3 -4
  32. package/file-system/file-system-access.android.d.ts +13 -0
  33. package/file-system/file-system-access.android.js +149 -1
  34. package/file-system/file-system-access.android.js.map +1 -1
  35. package/file-system/file-system-access.d.ts +12 -0
  36. package/file-system/file-system-access.ios.d.ts +7 -0
  37. package/file-system/file-system-access.ios.js +56 -0
  38. package/file-system/file-system-access.ios.js.map +1 -1
  39. package/fps-meter/fps-native.android.js.map +1 -1
  40. package/global-types.d.ts +96 -94
  41. package/globals/index.js.map +1 -1
  42. package/image-source/index.android.js +5 -5
  43. package/image-source/index.android.js.map +1 -1
  44. package/image-source/index.ios.js +5 -5
  45. package/image-source/index.ios.js.map +1 -1
  46. package/index.d.ts +6 -2
  47. package/index.js +6 -3
  48. package/index.js.map +1 -1
  49. package/package.json +5 -2
  50. package/platform/index.android.d.ts +2 -2
  51. package/platform/index.ios.d.ts +2 -2
  52. package/platforms/android/widgets-release.aar +0 -0
  53. package/platforms/ios/src/NativeScriptUtils.m +3 -0
  54. package/profiling/index.js +1 -1
  55. package/profiling/index.js.map +1 -1
  56. package/ui/action-bar/action-bar-common.d.ts +1 -1
  57. package/ui/action-bar/action-bar-common.js +7 -7
  58. package/ui/action-bar/action-bar-common.js.map +1 -1
  59. package/ui/action-bar/index.android.js +3 -1
  60. package/ui/action-bar/index.android.js.map +1 -1
  61. package/ui/action-bar/index.d.ts +2 -3
  62. package/ui/animation/animation-interfaces.d.ts +4 -4
  63. package/ui/builder/component-builder/index.js.map +1 -1
  64. package/ui/builder/xml2ui.js +3 -3
  65. package/ui/builder/xml2ui.js.map +1 -1
  66. package/ui/button/index.android.js +1 -1
  67. package/ui/button/index.android.js.map +1 -1
  68. package/ui/button/index.d.ts +2 -3
  69. package/ui/button/index.ios.js +1 -2
  70. package/ui/button/index.ios.js.map +1 -1
  71. package/ui/core/bindable/bindable-expressions.js +9 -9
  72. package/ui/core/bindable/bindable-expressions.js.map +1 -1
  73. package/ui/core/bindable/index.js +1 -1
  74. package/ui/core/bindable/index.js.map +1 -1
  75. package/ui/core/dom/index.d.ts +2 -0
  76. package/ui/core/dom/index.js +3 -0
  77. package/ui/core/dom/index.js.map +1 -0
  78. package/ui/core/dom/src/config/ChildLessElements.d.ts +2 -0
  79. package/ui/core/dom/src/config/ChildLessElements.js +2 -0
  80. package/ui/core/dom/src/config/ChildLessElements.js.map +1 -0
  81. package/ui/core/dom/src/config/ElementTag.d.ts +12 -0
  82. package/ui/core/dom/src/config/ElementTag.js +12 -0
  83. package/ui/core/dom/src/config/ElementTag.js.map +1 -0
  84. package/ui/core/dom/src/config/NamespaceURI.d.ts +6 -0
  85. package/ui/core/dom/src/config/NamespaceURI.js +6 -0
  86. package/ui/core/dom/src/config/NamespaceURI.js.map +1 -0
  87. package/ui/core/dom/src/config/NonImplemenetedElementClasses.d.ts +2 -0
  88. package/ui/core/dom/src/config/NonImplemenetedElementClasses.js +54 -0
  89. package/ui/core/dom/src/config/NonImplemenetedElementClasses.js.map +1 -0
  90. package/ui/core/dom/src/config/UnnestableElements.d.ts +2 -0
  91. package/ui/core/dom/src/config/UnnestableElements.js +2 -0
  92. package/ui/core/dom/src/config/UnnestableElements.js.map +1 -0
  93. package/ui/core/dom/src/config/VoidElements.d.ts +2 -0
  94. package/ui/core/dom/src/config/VoidElements.js +2 -0
  95. package/ui/core/dom/src/config/VoidElements.js.map +1 -0
  96. package/ui/core/dom/src/cssstylesheet/CSSStyleSheet.d.ts +27 -0
  97. package/ui/core/dom/src/cssstylesheet/CSSStyleSheet.js +45 -0
  98. package/ui/core/dom/src/cssstylesheet/CSSStyleSheet.js.map +1 -0
  99. package/ui/core/dom/src/custom-element/CustomElementRegistry.d.ts +42 -0
  100. package/ui/core/dom/src/custom-element/CustomElementRegistry.js +74 -0
  101. package/ui/core/dom/src/custom-element/CustomElementRegistry.js.map +1 -0
  102. package/ui/core/dom/src/dom-implementation/DOMImplementation.d.ts +32 -0
  103. package/ui/core/dom/src/dom-implementation/DOMImplementation.js +52 -0
  104. package/ui/core/dom/src/dom-implementation/DOMImplementation.js.map +1 -0
  105. package/ui/core/dom/src/event/AbortSignal.d.ts +15 -0
  106. package/ui/core/dom/src/event/AbortSignal.js +26 -0
  107. package/ui/core/dom/src/event/AbortSignal.js.map +1 -0
  108. package/ui/core/dom/src/event/CustomEvent.d.ts +11 -0
  109. package/ui/core/dom/src/event/CustomEvent.js +12 -0
  110. package/ui/core/dom/src/event/CustomEvent.js.map +1 -0
  111. package/ui/core/dom/src/event/Event.d.ts +60 -0
  112. package/ui/core/dom/src/event/Event.js +113 -0
  113. package/ui/core/dom/src/event/Event.js.map +1 -0
  114. package/ui/core/dom/src/nodes/character-data/CharacterData.d.ts +17 -0
  115. package/ui/core/dom/src/nodes/character-data/CharacterData.js +53 -0
  116. package/ui/core/dom/src/nodes/character-data/CharacterData.js.map +1 -0
  117. package/ui/core/dom/src/nodes/comment/Comment.d.ts +28 -0
  118. package/ui/core/dom/src/nodes/comment/Comment.js +38 -0
  119. package/ui/core/dom/src/nodes/comment/Comment.js.map +1 -0
  120. package/ui/core/dom/src/nodes/document/Document.d.ts +59 -0
  121. package/ui/core/dom/src/nodes/document/Document.js +122 -0
  122. package/ui/core/dom/src/nodes/document/Document.js.map +1 -0
  123. package/ui/core/dom/src/nodes/document-fragment/DocumentFragment.d.ts +12 -0
  124. package/ui/core/dom/src/nodes/document-fragment/DocumentFragment.js +17 -0
  125. package/ui/core/dom/src/nodes/document-fragment/DocumentFragment.js.map +1 -0
  126. package/ui/core/dom/src/nodes/document-type/DocumentType.d.ts +26 -0
  127. package/ui/core/dom/src/nodes/document-type/DocumentType.js +41 -0
  128. package/ui/core/dom/src/nodes/document-type/DocumentType.js.map +1 -0
  129. package/ui/core/dom/src/nodes/element/Element.d.ts +126 -0
  130. package/ui/core/dom/src/nodes/element/Element.js +346 -0
  131. package/ui/core/dom/src/nodes/element/Element.js.map +1 -0
  132. package/ui/core/dom/src/nodes/html-element/HTMLElement.d.ts +12 -0
  133. package/ui/core/dom/src/nodes/html-element/HTMLElement.js +17 -0
  134. package/ui/core/dom/src/nodes/html-element/HTMLElement.js.map +1 -0
  135. package/ui/core/dom/src/nodes/html-item-template-element/HTMLItemTemplateElement.d.ts +27 -0
  136. package/ui/core/dom/src/nodes/html-item-template-element/HTMLItemTemplateElement.js +140 -0
  137. package/ui/core/dom/src/nodes/html-item-template-element/HTMLItemTemplateElement.js.map +1 -0
  138. package/ui/core/dom/src/nodes/html-label-element/HTMLLabelELement.d.ts +42 -0
  139. package/ui/core/dom/src/nodes/html-label-element/HTMLLabelELement.js +52 -0
  140. package/ui/core/dom/src/nodes/html-label-element/HTMLLabelELement.js.map +1 -0
  141. package/ui/core/dom/src/nodes/html-prop-element/HTMLPropElement.d.ts +41 -0
  142. package/ui/core/dom/src/nodes/html-prop-element/HTMLPropElement.js +122 -0
  143. package/ui/core/dom/src/nodes/html-prop-element/HTMLPropElement.js.map +1 -0
  144. package/ui/core/dom/src/nodes/html-slot-element/HTMLSlotElement.d.ts +69 -0
  145. package/ui/core/dom/src/nodes/html-slot-element/HTMLSlotElement.js +240 -0
  146. package/ui/core/dom/src/nodes/html-slot-element/HTMLSlotElement.js.map +1 -0
  147. package/ui/core/dom/src/nodes/html-template-element/HTMLTemplateElement.d.ts +65 -0
  148. package/ui/core/dom/src/nodes/html-template-element/HTMLTemplateElement.js +111 -0
  149. package/ui/core/dom/src/nodes/html-template-element/HTMLTemplateElement.js.map +1 -0
  150. package/ui/core/dom/src/nodes/node/Node.d.ts +88 -0
  151. package/ui/core/dom/src/nodes/node/Node.js +289 -0
  152. package/ui/core/dom/src/nodes/node/Node.js.map +1 -0
  153. package/ui/core/dom/src/nodes/node/NodeList.d.ts +18 -0
  154. package/ui/core/dom/src/nodes/node/NodeList.js +22 -0
  155. package/ui/core/dom/src/nodes/node/NodeList.js.map +1 -0
  156. package/ui/core/dom/src/nodes/node/NodeTypeEnum.d.ts +12 -0
  157. package/ui/core/dom/src/nodes/node/NodeTypeEnum.js +14 -0
  158. package/ui/core/dom/src/nodes/node/NodeTypeEnum.js.map +1 -0
  159. package/ui/core/dom/src/nodes/parent-node/ParentNode.d.ts +35 -0
  160. package/ui/core/dom/src/nodes/parent-node/ParentNode.js +171 -0
  161. package/ui/core/dom/src/nodes/parent-node/ParentNode.js.map +1 -0
  162. package/ui/core/dom/src/nodes/shadow-root/LightDOM.d.ts +27 -0
  163. package/ui/core/dom/src/nodes/shadow-root/LightDOM.js +119 -0
  164. package/ui/core/dom/src/nodes/shadow-root/LightDOM.js.map +1 -0
  165. package/ui/core/dom/src/nodes/shadow-root/ShadowNode.d.ts +30 -0
  166. package/ui/core/dom/src/nodes/shadow-root/ShadowNode.js +31 -0
  167. package/ui/core/dom/src/nodes/shadow-root/ShadowNode.js.map +1 -0
  168. package/ui/core/dom/src/nodes/shadow-root/ShadowRoot.d.ts +49 -0
  169. package/ui/core/dom/src/nodes/shadow-root/ShadowRoot.js +178 -0
  170. package/ui/core/dom/src/nodes/shadow-root/ShadowRoot.js.map +1 -0
  171. package/ui/core/dom/src/nodes/svg-element/SVGElement.d.ts +2 -0
  172. package/ui/core/dom/src/nodes/svg-element/SVGElement.js +3 -0
  173. package/ui/core/dom/src/nodes/svg-element/SVGElement.js.map +1 -0
  174. package/ui/core/dom/src/nodes/text/Text.d.ts +29 -0
  175. package/ui/core/dom/src/nodes/text/Text.js +39 -0
  176. package/ui/core/dom/src/nodes/text/Text.js.map +1 -0
  177. package/ui/core/dom/src/query-selector/QuerySelector.d.ts +77 -0
  178. package/ui/core/dom/src/query-selector/QuerySelector.js +217 -0
  179. package/ui/core/dom/src/query-selector/QuerySelector.js.map +1 -0
  180. package/ui/core/dom/src/query-selector/SelectorItem.d.ts +99 -0
  181. package/ui/core/dom/src/query-selector/SelectorItem.js +314 -0
  182. package/ui/core/dom/src/query-selector/SelectorItem.js.map +1 -0
  183. package/ui/core/dom/src/tree-walker/INodeFilter.d.ts +4 -0
  184. package/ui/core/dom/src/tree-walker/INodeFilter.js +2 -0
  185. package/ui/core/dom/src/tree-walker/INodeFilter.js.map +1 -0
  186. package/ui/core/dom/src/tree-walker/NodeFilter.d.ts +19 -0
  187. package/ui/core/dom/src/tree-walker/NodeFilter.js +19 -0
  188. package/ui/core/dom/src/tree-walker/NodeFilter.js.map +1 -0
  189. package/ui/core/dom/src/tree-walker/NodeFilterMask.d.ts +15 -0
  190. package/ui/core/dom/src/tree-walker/NodeFilterMask.js +28 -0
  191. package/ui/core/dom/src/tree-walker/NodeFilterMask.js.map +1 -0
  192. package/ui/core/dom/src/tree-walker/TreeWalker.d.ts +71 -0
  193. package/ui/core/dom/src/tree-walker/TreeWalker.js +154 -0
  194. package/ui/core/dom/src/tree-walker/TreeWalker.js.map +1 -0
  195. package/ui/core/dom/src/utils/index.d.ts +10 -0
  196. package/ui/core/dom/src/utils/index.js +74 -0
  197. package/ui/core/dom/src/utils/index.js.map +1 -0
  198. package/ui/core/dom/src/window/Window.d.ts +91 -0
  199. package/ui/core/dom/src/window/Window.js +145 -0
  200. package/ui/core/dom/src/window/Window.js.map +1 -0
  201. package/ui/core/dom/src/xml-parser/XMLParser.d.ts +55 -0
  202. package/ui/core/dom/src/xml-parser/XMLParser.js +211 -0
  203. package/ui/core/dom/src/xml-parser/XMLParser.js.map +1 -0
  204. package/ui/core/dom/src/xml-serializer/index.d.ts +26 -0
  205. package/ui/core/dom/src/xml-serializer/index.js +87 -0
  206. package/ui/core/dom/src/xml-serializer/index.js.map +1 -0
  207. package/ui/core/properties/index.js +6 -6
  208. package/ui/core/properties/index.js.map +1 -1
  209. package/ui/core/view/index.android.d.ts +4 -7
  210. package/ui/core/view/index.android.js +28 -51
  211. package/ui/core/view/index.android.js.map +1 -1
  212. package/ui/core/view/index.d.ts +14 -28
  213. package/ui/core/view/index.ios.d.ts +1 -1
  214. package/ui/core/view/index.ios.js +92 -12
  215. package/ui/core/view/index.ios.js.map +1 -1
  216. package/ui/core/view/view-common.d.ts +13 -12
  217. package/ui/core/view/view-common.js +64 -95
  218. package/ui/core/view/view-common.js.map +1 -1
  219. package/ui/core/view-base/index.d.ts +447 -520
  220. package/ui/core/view-base/index.js +180 -14
  221. package/ui/core/view-base/index.js.map +1 -1
  222. package/ui/core/weak-event-listener/index.d.ts +2 -4
  223. package/ui/core/weak-event-listener/index.js +4 -4
  224. package/ui/core/weak-event-listener/index.js.map +1 -1
  225. package/ui/date-picker/index.android.js +3 -1
  226. package/ui/date-picker/index.android.js.map +1 -1
  227. package/ui/dialogs/dialogs-common.js +1 -0
  228. package/ui/dialogs/dialogs-common.js.map +1 -1
  229. package/ui/dialogs/index.android.js +7 -9
  230. package/ui/dialogs/index.android.js.map +1 -1
  231. package/ui/editable-text-base/editable-text-base-common.js +1 -2
  232. package/ui/editable-text-base/editable-text-base-common.js.map +1 -1
  233. package/ui/editable-text-base/index.android.js +13 -9
  234. package/ui/editable-text-base/index.android.js.map +1 -1
  235. package/ui/editable-text-base/index.ios.js +13 -3
  236. package/ui/editable-text-base/index.ios.js.map +1 -1
  237. package/ui/frame/fragment.transitions.d.ts +0 -4
  238. package/ui/frame/frame-common.d.ts +8 -2
  239. package/ui/frame/frame-common.js +11 -2
  240. package/ui/frame/frame-common.js.map +1 -1
  241. package/ui/frame/index.android.d.ts +2 -1
  242. package/ui/frame/index.android.js +27 -11
  243. package/ui/frame/index.android.js.map +1 -1
  244. package/ui/frame/index.d.ts +3 -4
  245. package/ui/frame/index.ios.js +77 -14
  246. package/ui/frame/index.ios.js.map +1 -1
  247. package/ui/gestures/gestures-common.d.ts +4 -14
  248. package/ui/gestures/gestures-common.js +10 -18
  249. package/ui/gestures/gestures-common.js.map +1 -1
  250. package/ui/gestures/index.android.d.ts +4 -0
  251. package/ui/gestures/index.android.js +74 -68
  252. package/ui/gestures/index.android.js.map +1 -1
  253. package/ui/gestures/index.d.ts +12 -11
  254. package/ui/gestures/index.ios.d.ts +5 -2
  255. package/ui/gestures/index.ios.js +188 -154
  256. package/ui/gestures/index.ios.js.map +1 -1
  257. package/ui/gestures/touch-manager.d.ts +2 -2
  258. package/ui/image/index.android.js +3 -1
  259. package/ui/image/index.android.js.map +1 -1
  260. package/ui/image/index.ios.js +1 -1
  261. package/ui/image/index.ios.js.map +1 -1
  262. package/ui/image-cache/image-cache-common.d.ts +3 -3
  263. package/ui/image-cache/index.d.ts +3 -4
  264. package/ui/index.d.ts +8 -1
  265. package/ui/index.js +7 -1
  266. package/ui/index.js.map +1 -1
  267. package/ui/label/index.android.js +1 -0
  268. package/ui/label/index.android.js.map +1 -1
  269. package/ui/layouts/flexbox-layout/flexbox-layout-common.d.ts +12 -12
  270. package/ui/layouts/grid-layout/grid-layout-common.d.ts +5 -5
  271. package/ui/layouts/grid-layout/grid-layout-common.js +4 -4
  272. package/ui/layouts/grid-layout/grid-layout-common.js.map +1 -1
  273. package/ui/layouts/layout-base-common.d.ts +2 -0
  274. package/ui/layouts/layout-base-common.js +18 -0
  275. package/ui/layouts/layout-base-common.js.map +1 -1
  276. package/ui/layouts/root-layout/index.android.js +9 -7
  277. package/ui/layouts/root-layout/index.android.js.map +1 -1
  278. package/ui/layouts/root-layout/root-layout-common.js +45 -36
  279. package/ui/layouts/root-layout/root-layout-common.js.map +1 -1
  280. package/ui/list-picker/index.android.js +6 -2
  281. package/ui/list-picker/index.android.js.map +1 -1
  282. package/ui/list-picker/index.ios.d.ts +0 -2
  283. package/ui/list-picker/index.ios.js +2 -17
  284. package/ui/list-picker/index.ios.js.map +1 -1
  285. package/ui/list-view/index.android.js +6 -2
  286. package/ui/list-view/index.android.js.map +1 -1
  287. package/ui/list-view/index.d.ts +6 -7
  288. package/ui/list-view/list-view-common.d.ts +4 -4
  289. package/ui/list-view/list-view-common.js +8 -2
  290. package/ui/list-view/list-view-common.js.map +1 -1
  291. package/ui/page/index.d.ts +5 -6
  292. package/ui/page/index.ios.d.ts +1 -0
  293. package/ui/page/index.ios.js +18 -5
  294. package/ui/page/index.ios.js.map +1 -1
  295. package/ui/page/page-common.d.ts +72 -39
  296. package/ui/placeholder/index.android.d.ts +2 -2
  297. package/ui/placeholder/index.d.ts +2 -3
  298. package/ui/repeater/index.js +2 -1
  299. package/ui/repeater/index.js.map +1 -1
  300. package/ui/scroll-view/index.android.js +5 -27
  301. package/ui/scroll-view/index.android.js.map +1 -1
  302. package/ui/scroll-view/index.d.ts +2 -3
  303. package/ui/scroll-view/index.ios.d.ts +1 -0
  304. package/ui/scroll-view/index.ios.js +21 -8
  305. package/ui/scroll-view/index.ios.js.map +1 -1
  306. package/ui/scroll-view/scroll-view-common.d.ts +5 -5
  307. package/ui/scroll-view/scroll-view-common.js +6 -6
  308. package/ui/scroll-view/scroll-view-common.js.map +1 -1
  309. package/ui/search-bar/index.android.js +6 -2
  310. package/ui/search-bar/index.android.js.map +1 -1
  311. package/ui/search-bar/index.d.ts +3 -4
  312. package/ui/search-bar/index.ios.d.ts +0 -2
  313. package/ui/search-bar/index.ios.js +1 -8
  314. package/ui/search-bar/index.ios.js.map +1 -1
  315. package/ui/segmented-bar/index.android.js +3 -1
  316. package/ui/segmented-bar/index.android.js.map +1 -1
  317. package/ui/segmented-bar/index.d.ts +2 -3
  318. package/ui/segmented-bar/segmented-bar-common.d.ts +2 -2
  319. package/ui/styling/background.ios.js +15 -4
  320. package/ui/styling/background.ios.js.map +1 -1
  321. package/ui/styling/css-animation-parser.d.ts +12 -7
  322. package/ui/styling/css-animation-parser.js +90 -36
  323. package/ui/styling/css-animation-parser.js.map +1 -1
  324. package/ui/styling/css-selector.d.ts +1 -1
  325. package/ui/styling/css-selector.js.map +1 -1
  326. package/ui/styling/css-utils.d.ts +1 -0
  327. package/ui/styling/css-utils.js +12 -0
  328. package/ui/styling/css-utils.js.map +1 -0
  329. package/ui/styling/font-common.js +6 -6
  330. package/ui/styling/font-common.js.map +1 -1
  331. package/ui/styling/font-interfaces.d.ts +3 -3
  332. package/ui/styling/font.ios.js +2 -1
  333. package/ui/styling/font.ios.js.map +1 -1
  334. package/ui/styling/style/index.d.ts +5 -0
  335. package/ui/styling/style/index.js +6 -0
  336. package/ui/styling/style/index.js.map +1 -1
  337. package/ui/styling/style-properties.js +6 -13
  338. package/ui/styling/style-properties.js.map +1 -1
  339. package/ui/styling/style-scope.js +7 -5
  340. package/ui/styling/style-scope.js.map +1 -1
  341. package/ui/switch/index.android.js +3 -1
  342. package/ui/switch/index.android.js.map +1 -1
  343. package/ui/tab-view/index.android.js +1 -1
  344. package/ui/tab-view/index.android.js.map +1 -1
  345. package/ui/tab-view/index.d.ts +2 -3
  346. package/ui/tab-view/tab-view-common.d.ts +2 -2
  347. package/ui/text-base/formatted-string.js +17 -0
  348. package/ui/text-base/formatted-string.js.map +1 -1
  349. package/ui/text-base/index.ios.js +21 -4
  350. package/ui/text-base/index.ios.js.map +1 -1
  351. package/ui/text-base/span.js +16 -4
  352. package/ui/text-base/span.js.map +1 -1
  353. package/ui/text-base/text-base-common.d.ts +2 -0
  354. package/ui/text-base/text-base-common.js +16 -0
  355. package/ui/text-base/text-base-common.js.map +1 -1
  356. package/ui/text-field/index.ios.d.ts +0 -2
  357. package/ui/text-field/index.ios.js +6 -17
  358. package/ui/text-field/index.ios.js.map +1 -1
  359. package/ui/text-view/index.ios.d.ts +0 -2
  360. package/ui/text-view/index.ios.js +1 -15
  361. package/ui/text-view/index.ios.js.map +1 -1
  362. package/ui/transition/fade-transition.d.ts +1 -3
  363. package/ui/transition/fade-transition.ios.d.ts +14 -1
  364. package/ui/transition/fade-transition.ios.js +60 -24
  365. package/ui/transition/fade-transition.ios.js.map +1 -1
  366. package/ui/transition/index.android.d.ts +6 -4
  367. package/ui/transition/index.android.js +8 -5
  368. package/ui/transition/index.android.js.map +1 -1
  369. package/ui/transition/index.d.ts +44 -8
  370. package/ui/transition/index.ios.d.ts +6 -4
  371. package/ui/transition/index.ios.js +9 -5
  372. package/ui/transition/index.ios.js.map +1 -1
  373. package/ui/transition/modal-transition.android.d.ts +5 -0
  374. package/ui/transition/modal-transition.android.js +7 -0
  375. package/ui/transition/modal-transition.android.js.map +1 -0
  376. package/ui/transition/modal-transition.d.ts +2 -0
  377. package/ui/transition/modal-transition.ios.d.ts +34 -0
  378. package/ui/transition/modal-transition.ios.js +160 -0
  379. package/ui/transition/modal-transition.ios.js.map +1 -0
  380. package/ui/transition/page-transition.android.d.ts +6 -0
  381. package/ui/transition/page-transition.android.js +182 -0
  382. package/ui/transition/page-transition.android.js.map +1 -0
  383. package/ui/transition/page-transition.d.ts +2 -0
  384. package/ui/transition/page-transition.ios.d.ts +34 -0
  385. package/ui/transition/page-transition.ios.js +181 -0
  386. package/ui/transition/page-transition.ios.js.map +1 -0
  387. package/ui/transition/shared-transition-helper.android.d.ts +9 -0
  388. package/ui/transition/shared-transition-helper.android.js +10 -0
  389. package/ui/transition/shared-transition-helper.android.js.map +1 -0
  390. package/ui/transition/shared-transition-helper.d.ts +14 -0
  391. package/ui/transition/shared-transition-helper.ios.d.ts +14 -0
  392. package/ui/transition/shared-transition-helper.ios.js +471 -0
  393. package/ui/transition/shared-transition-helper.ios.js.map +1 -0
  394. package/ui/transition/shared-transition.d.ts +230 -0
  395. package/ui/transition/shared-transition.js +192 -0
  396. package/ui/transition/shared-transition.js.map +1 -0
  397. package/ui/transition/slide-transition.android.d.ts +1 -1
  398. package/ui/transition/slide-transition.android.js +1 -1
  399. package/ui/transition/slide-transition.android.js.map +1 -1
  400. package/ui/transition/slide-transition.d.ts +1 -1
  401. package/ui/transition/slide-transition.ios.d.ts +15 -2
  402. package/ui/transition/slide-transition.ios.js +86 -50
  403. package/ui/transition/slide-transition.ios.js.map +1 -1
  404. package/ui/web-view/index.android.js +4 -3
  405. package/ui/web-view/index.android.js.map +1 -1
  406. package/ui/web-view/index.d.ts +3 -4
  407. package/ui/web-view/index.ios.d.ts +1 -2
  408. package/ui/web-view/index.ios.js +21 -28
  409. package/ui/web-view/index.ios.js.map +1 -1
  410. package/ui/web-view/web-view-common.d.ts +3 -3
  411. package/ui/web-view/web-view-interfaces.d.ts +1 -1
  412. package/utils/common.d.ts +2 -1
  413. package/utils/common.js +8 -2
  414. package/utils/common.js.map +1 -1
  415. package/utils/index.android.js +2 -2
  416. package/utils/index.android.js.map +1 -1
  417. package/utils/index.d.ts +0 -82
  418. package/utils/mainthread-helper.android.js +2 -2
  419. package/utils/mainthread-helper.android.js.map +1 -1
  420. package/utils/native-helper.android.js +3 -2
  421. package/utils/native-helper.android.js.map +1 -1
  422. package/utils/native-helper.d.ts +35 -0
  423. package/utils/native-helper.ios.d.ts +13 -0
  424. package/utils/native-helper.ios.js +79 -4
  425. package/utils/native-helper.ios.js.map +1 -1
  426. package/utils/number-utils.d.ts +10 -0
  427. package/utils/number-utils.js +12 -0
  428. package/utils/number-utils.js.map +1 -1
  429. package/utils/typescript-utils.d.ts +6 -0
  430. package/xhr/index.js +28 -28
  431. package/xhr/index.js.map +1 -1
  432. package/xml/index.js.map +1 -1
  433. package/data/dom-events/dom-event.d.ts +0 -141
  434. package/data/dom-events/dom-event.js +0 -342
  435. package/data/dom-events/dom-event.js.map +0 -1
  436. package/profiling/jamie.d.ts +0 -9
  437. package/profiling/jamie.js +0 -32
  438. package/profiling/jamie.js.map +0 -1
  439. package/ui/frame/fragment.transitions.ios.d.ts +0 -2
  440. package/ui/frame/fragment.transitions.ios.js +0 -85
  441. package/ui/frame/fragment.transitions.ios.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ import Document from '../nodes/document/Document';
2
+ import DocumentFragment from '../nodes/document-fragment/DocumentFragment';
3
+ /**
4
+ * XML parser.
5
+ * https://github.com/capricorn86/happy-dom/blob/master/packages/happy-dom/src/xml-parser/XMLParser.ts
6
+ */
7
+ export default class XMLParser {
8
+ /**
9
+ * Parses XML/HTML and returns a root element.
10
+ *
11
+ * @param document Document.
12
+ * @param data HTML data.
13
+ * @param [evaluateScripts = false] Set to "true" to enable script execution.
14
+ * @returns Root element.
15
+ */
16
+ static parse(document: Document, data: string, evaluateScripts?: boolean): DocumentFragment;
17
+ /**
18
+ * Returns a tag name if element is unnestable.
19
+ *
20
+ * @param element Element.
21
+ * @returns Tag name if element is unnestable.
22
+ */
23
+ private static getUnnestableTagName;
24
+ /**
25
+ * Appends text and comment nodes.
26
+ *
27
+ * @param document Document.
28
+ * @param node Node.
29
+ * @param text Text to search in.
30
+ */
31
+ private static appendTextAndCommentNodes;
32
+ /**
33
+ * Returns text and comment nodes from a text.
34
+ *
35
+ * @param document Document.
36
+ * @param text Text to search in.
37
+ * @returns Nodes.
38
+ */
39
+ private static getTextAndCommentNodes;
40
+ /**
41
+ * Sets raw attributes.
42
+ *
43
+ * @param element Element.
44
+ * @param attributesString Raw attributes.
45
+ */
46
+ private static setAttributes;
47
+ /**
48
+ * Returns attribute name.
49
+ *
50
+ * @param namespaceURI Namespace URI.
51
+ * @param name Name.
52
+ * @returns Attribute name based on namespace.
53
+ */
54
+ private static _getAttributeName;
55
+ }
@@ -0,0 +1,211 @@
1
+ import VoidElements from '../config/VoidElements';
2
+ import UnnestableElements from '../config/UnnestableElements';
3
+ import ChildLessElements from '../config/ChildLessElements';
4
+ import { decode } from 'html-entities';
5
+ import NamespaceURI from '../config/NamespaceURI';
6
+ const MARKUP_REGEXP = /<(\/?)([a-z][-.0-9_a-z]*)\s*([^<>]*?)(\/?)>/gi;
7
+ const COMMENT_REGEXP = /<!--(.*?)-->|<([!?])([^>]*)>/gi;
8
+ const DOCUMENT_TYPE_ATTRIBUTE_REGEXP = /"([^"]+)"/gm;
9
+ const ATTRIBUTE_REGEXP = /([^\s=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+)))/gms;
10
+ /**
11
+ * XML parser.
12
+ * https://github.com/capricorn86/happy-dom/blob/master/packages/happy-dom/src/xml-parser/XMLParser.ts
13
+ */
14
+ export default class XMLParser {
15
+ /**
16
+ * Parses XML/HTML and returns a root element.
17
+ *
18
+ * @param document Document.
19
+ * @param data HTML data.
20
+ * @param [evaluateScripts = false] Set to "true" to enable script execution.
21
+ * @returns Root element.
22
+ */
23
+ static parse(document, data, evaluateScripts = false) {
24
+ const root = document.createDocumentFragment();
25
+ const stack = [root];
26
+ const markupRegexp = new RegExp(MARKUP_REGEXP, 'gi');
27
+ let parent = root;
28
+ let parentUnnestableTagName = null;
29
+ let lastTextIndex = 0;
30
+ let match;
31
+ if (data !== null && data !== undefined) {
32
+ data = String(data);
33
+ while ((match = markupRegexp.exec(data))) {
34
+ const tagName = match[2].toLowerCase();
35
+ const isStartTag = !match[1];
36
+ if (parent && match.index !== lastTextIndex) {
37
+ const text = data.substring(lastTextIndex, match.index);
38
+ this.appendTextAndCommentNodes(document, parent, text);
39
+ }
40
+ if (isStartTag) {
41
+ const namespaceURI = tagName === 'svg' ? NamespaceURI.svg : parent.namespaceURI || NamespaceURI.html;
42
+ const newElement = document.createElementNS(namespaceURI, tagName);
43
+ // Scripts are not allowed to be executed when they are parsed using innerHTML, outerHTML, replaceWith() etc.
44
+ // However, they are allowed to be executed when document.write() is used.
45
+ // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement
46
+ if (tagName === 'script') {
47
+ continue;
48
+ //(<HTMLScriptElement>newElement)._evaluateScript = evaluateScripts;
49
+ }
50
+ // An assumption that the same rule should be applied for the HTMLLinkElement is made here.
51
+ if (tagName === 'link') {
52
+ continue;
53
+ //(<HTMLLinkElement>newElement)._evaluateCSS = evaluateScripts;
54
+ }
55
+ this.setAttributes(newElement, match[3]);
56
+ if (!match[4] && !VoidElements.includes(tagName)) {
57
+ // Some elements are not allowed to be nested (e.g. "<a><a></a></a>" is not allowed.).
58
+ // Therefore we will auto-close the tag.
59
+ if (parentUnnestableTagName === tagName) {
60
+ stack.pop();
61
+ parent = parent.parentNode || root;
62
+ }
63
+ parent = parent.appendChild(newElement);
64
+ parentUnnestableTagName = this.getUnnestableTagName(parent);
65
+ stack.push(parent);
66
+ }
67
+ else {
68
+ parent.appendChild(newElement);
69
+ }
70
+ lastTextIndex = markupRegexp.lastIndex;
71
+ // Tags which contain non-parsed content
72
+ // For example: <script> JavaScript should not be parsed
73
+ if (ChildLessElements.includes(tagName)) {
74
+ let childLessMatch = null;
75
+ while ((childLessMatch = markupRegexp.exec(data))) {
76
+ if (childLessMatch[2].toLowerCase() === tagName && childLessMatch[1]) {
77
+ markupRegexp.lastIndex -= childLessMatch[0].length;
78
+ break;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ else {
84
+ stack.pop();
85
+ parent = stack[stack.length - 1] || root;
86
+ parentUnnestableTagName = this.getUnnestableTagName(parent);
87
+ lastTextIndex = markupRegexp.lastIndex;
88
+ }
89
+ }
90
+ // Text after last element
91
+ if ((!match && data.length > 0) || (match && lastTextIndex !== match.index)) {
92
+ const text = data.substring(lastTextIndex);
93
+ this.appendTextAndCommentNodes(document, parent || root, text);
94
+ }
95
+ }
96
+ return root;
97
+ }
98
+ /**
99
+ * Returns a tag name if element is unnestable.
100
+ *
101
+ * @param element Element.
102
+ * @returns Tag name if element is unnestable.
103
+ */
104
+ static getUnnestableTagName(element) {
105
+ const tagName = element.tagName ? element.tagName.toLowerCase() : null;
106
+ return tagName && UnnestableElements.includes(tagName) ? tagName : null;
107
+ }
108
+ /**
109
+ * Appends text and comment nodes.
110
+ *
111
+ * @param document Document.
112
+ * @param node Node.
113
+ * @param text Text to search in.
114
+ */
115
+ static appendTextAndCommentNodes(document, node, text) {
116
+ for (const innerNode of this.getTextAndCommentNodes(document, text)) {
117
+ node.appendChild(innerNode);
118
+ }
119
+ }
120
+ /**
121
+ * Returns text and comment nodes from a text.
122
+ *
123
+ * @param document Document.
124
+ * @param text Text to search in.
125
+ * @returns Nodes.
126
+ */
127
+ static getTextAndCommentNodes(document, text) {
128
+ const nodes = [];
129
+ const commentRegExp = new RegExp(COMMENT_REGEXP, 'gms');
130
+ let hasDocumentType = false;
131
+ let lastIndex = 0;
132
+ let match;
133
+ while ((match = commentRegExp.exec(text))) {
134
+ if (match.index > 0 && lastIndex !== match.index) {
135
+ const textNode = document.createTextNode(text.substring(lastIndex, match.index));
136
+ nodes.push(textNode);
137
+ }
138
+ if (match[3] && match[3].toUpperCase().startsWith('DOCTYPE')) {
139
+ const docTypeSplit = match[3].split(' ');
140
+ if (docTypeSplit.length > 1) {
141
+ const docTypeString = docTypeSplit.slice(1).join(' ');
142
+ const attributes = [];
143
+ const attributeRegExp = new RegExp(DOCUMENT_TYPE_ATTRIBUTE_REGEXP, 'gm');
144
+ const isPublic = docTypeString.includes('PUBLIC');
145
+ let attributeMatch;
146
+ while ((attributeMatch = attributeRegExp.exec(docTypeString))) {
147
+ attributes.push(attributeMatch[1]);
148
+ }
149
+ const publicId = isPublic ? attributes[0] || '' : '';
150
+ const systemId = isPublic ? attributes[1] || '' : attributes[0] || '';
151
+ const documentTypeNode = document.implementation.createDocumentType(docTypeSplit[1], publicId, systemId);
152
+ nodes.push(documentTypeNode);
153
+ hasDocumentType = true;
154
+ }
155
+ }
156
+ else {
157
+ const comment = match[1] ? match[1] : match[2] === '?' ? '?' + match[3] : match[3];
158
+ const commentNode = document.createComment(comment);
159
+ nodes.push(commentNode);
160
+ lastIndex = match.index + match[0].length;
161
+ }
162
+ }
163
+ if (!hasDocumentType && lastIndex < text.length) {
164
+ const textNode = document.createTextNode(text.substring(lastIndex));
165
+ nodes.push(textNode);
166
+ }
167
+ return nodes;
168
+ }
169
+ /**
170
+ * Sets raw attributes.
171
+ *
172
+ * @param element Element.
173
+ * @param attributesString Raw attributes.
174
+ */
175
+ static setAttributes(element, attributesString) {
176
+ const attributes = attributesString.trim();
177
+ if (attributes) {
178
+ const regExp = new RegExp(ATTRIBUTE_REGEXP, 'gi');
179
+ let match;
180
+ // Attributes with value
181
+ while ((match = regExp.exec(attributes))) {
182
+ if (match[1]) {
183
+ const value = decode(match[2] || match[3] || match[4] || '');
184
+ const name = this._getAttributeName(element.namespaceURI, match[1]);
185
+ const namespaceURI = element.tagName === 'SVG' && name === 'xmlns' ? value : null;
186
+ element.setAttributeNS(namespaceURI, name, value);
187
+ }
188
+ }
189
+ // Attributes with no value
190
+ for (const name of attributes.replace(ATTRIBUTE_REGEXP, '').trim().split(' ')) {
191
+ if (name) {
192
+ element.setAttributeNS(null, this._getAttributeName(element.namespaceURI, name), '');
193
+ }
194
+ }
195
+ }
196
+ }
197
+ /**
198
+ * Returns attribute name.
199
+ *
200
+ * @param namespaceURI Namespace URI.
201
+ * @param name Name.
202
+ * @returns Attribute name based on namespace.
203
+ */
204
+ static _getAttributeName(namespaceURI, name) {
205
+ if (namespaceURI === NamespaceURI.svg) {
206
+ return name;
207
+ }
208
+ return name.toLowerCase();
209
+ }
210
+ }
211
+ //# sourceMappingURL=XMLParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../../../../../../../packages/core/ui/core/dom/src/xml-parser/XMLParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import Node from '../nodes/node/Node';
2
+ /**
3
+ * Utility for converting an element to string.
4
+ * https://github.com/capricorn86/happy-dom/blob/master/packages/happy-dom/src/xml-serializer/XMLSerializer.ts
5
+ */
6
+ export default class XMLSerializer {
7
+ /**
8
+ * Renders an element as HTML.
9
+ *
10
+ * @param root Root element.
11
+ * @param [options] Options.
12
+ * @param [options.includeShadowRoots] Set to "true" to include shadow roots.
13
+ * @returns Result.
14
+ */
15
+ serializeToString(root: Node, options?: {
16
+ includeShadowRoots?: boolean;
17
+ innerHTML?: boolean;
18
+ }): string;
19
+ /**
20
+ * Returns attributes as a string.
21
+ *
22
+ * @param element Element.
23
+ * @returns Attributes.
24
+ */
25
+ private _getAttributes;
26
+ }
@@ -0,0 +1,87 @@
1
+ import VoidElements from '../config/VoidElements';
2
+ import { escape } from 'html-escaper';
3
+ import Node from '../nodes/node/Node';
4
+ /**
5
+ * Utility for converting an element to string.
6
+ * https://github.com/capricorn86/happy-dom/blob/master/packages/happy-dom/src/xml-serializer/XMLSerializer.ts
7
+ */
8
+ export default class XMLSerializer {
9
+ /**
10
+ * Renders an element as HTML.
11
+ *
12
+ * @param root Root element.
13
+ * @param [options] Options.
14
+ * @param [options.includeShadowRoots] Set to "true" to include shadow roots.
15
+ * @returns Result.
16
+ */
17
+ serializeToString(root, options) {
18
+ const rootNode = root.tagName === 'TEMPLATE' ? root.content : root;
19
+ switch (root.nodeType) {
20
+ case Node.ELEMENT_NODE:
21
+ const element = rootNode;
22
+ const tagName = element.tagName.toLowerCase();
23
+ if (VoidElements.includes(tagName)) {
24
+ return `<${tagName}${this._getAttributes(element)}>`;
25
+ }
26
+ let innerHTML = '';
27
+ let currentNode = element.firstChild;
28
+ while (currentNode) {
29
+ innerHTML += this.serializeToString(currentNode, { ...options, innerHTML: false });
30
+ currentNode = currentNode.nextSibling;
31
+ }
32
+ if (options?.includeShadowRoots && element.shadowRoot) {
33
+ innerHTML += `<template shadowroot="${element.shadowRoot.mode}">`;
34
+ for (const node of element.shadowRoot.childNodes) {
35
+ innerHTML += this.serializeToString(node, { ...options, innerHTML: false });
36
+ }
37
+ innerHTML += '</template>';
38
+ }
39
+ if (options.innerHTML) {
40
+ return innerHTML;
41
+ }
42
+ else {
43
+ return `<${tagName}${this._getAttributes(element)}>${innerHTML}</${tagName}>`;
44
+ }
45
+ case Node.DOCUMENT_FRAGMENT_NODE:
46
+ case Node.DOCUMENT_NODE: {
47
+ let html = '';
48
+ let currentNode = rootNode.firstChild;
49
+ while (currentNode) {
50
+ html += this.serializeToString(currentNode, { ...options, innerHTML: false });
51
+ currentNode = currentNode.nextSibling;
52
+ }
53
+ return html;
54
+ }
55
+ case Node.COMMENT_NODE:
56
+ return `<!--${root._textContent}-->`;
57
+ case Node.TEXT_NODE:
58
+ return root['textContent'];
59
+ case Node.DOCUMENT_TYPE_NODE:
60
+ const doctype = root;
61
+ const identifier = doctype.publicId ? ' PUBLIC' : doctype.systemId ? ' SYSTEM' : '';
62
+ const publicId = doctype.publicId ? ` "${doctype.publicId}"` : '';
63
+ const systemId = doctype.systemId ? ` "${doctype.systemId}"` : '';
64
+ return `<!DOCTYPE ${doctype.name}${identifier}${publicId}${systemId}>`;
65
+ }
66
+ return '';
67
+ }
68
+ /**
69
+ * Returns attributes as a string.
70
+ *
71
+ * @param element Element.
72
+ * @returns Attributes.
73
+ */
74
+ _getAttributes(element) {
75
+ let attributeString = '';
76
+ // if (!(<Element>element)._attributes.is && (<Element>element)._isValue) {
77
+ // attributeString += ' is="' + escape((<Element>element)._isValue) + '"';
78
+ // }
79
+ for (const attribute of element.attributes) {
80
+ if (attribute.value !== null) {
81
+ attributeString += ' ' + attribute.name + '="' + escape(attribute.value) + '"';
82
+ }
83
+ }
84
+ return attributeString;
85
+ }
86
+ }
87
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/ui/core/dom/src/xml-serializer/index.ts"],"names":[],"mappings":"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"}
@@ -144,7 +144,7 @@ export class Property {
144
144
  value = valueConverter(value);
145
145
  }
146
146
  }
147
- const oldValue = key in this ? this[key] : defaultValue;
147
+ const oldValue = (key in this ? this[key] : defaultValue);
148
148
  const changed = equalityComparer ? !equalityComparer(oldValue, value) : oldValue !== value;
149
149
  if (wrapped || changed) {
150
150
  if (affectsLayout) {
@@ -211,10 +211,10 @@ export class Property {
211
211
  }
212
212
  };
213
213
  this.get = function () {
214
- return key in this ? this[key] : defaultValue;
214
+ return (key in this ? this[key] : defaultValue);
215
215
  };
216
216
  this.nativeValueChange = function (owner, value) {
217
- const oldValue = key in owner ? owner[key] : defaultValue;
217
+ const oldValue = (key in owner ? owner[key] : defaultValue);
218
218
  const changed = equalityComparer ? !equalityComparer(oldValue, value) : oldValue !== value;
219
219
  if (changed) {
220
220
  owner[key] = value;
@@ -290,7 +290,7 @@ export class CoercibleProperty extends Property {
290
290
  }
291
291
  };
292
292
  this.coerce = function (target) {
293
- const originalValue = coerceKey in target ? target[coerceKey] : defaultValue;
293
+ const originalValue = (coerceKey in target ? target[coerceKey] : defaultValue);
294
294
  // need that to make coercing but also fire change events
295
295
  target[propertyName] = originalValue;
296
296
  };
@@ -494,7 +494,7 @@ export class CssProperty {
494
494
  this[sourceKey] = 3 /* ValueSource.Local */;
495
495
  value = valueConverter && typeof newValue === 'string' ? valueConverter(newValue) : newValue;
496
496
  }
497
- const oldValue = key in this ? this[key] : defaultValue;
497
+ const oldValue = (key in this ? this[key] : defaultValue);
498
498
  const changed = equalityComparer ? !equalityComparer(oldValue, value) : oldValue !== value;
499
499
  if (changed) {
500
500
  if (reset) {
@@ -573,7 +573,7 @@ export class CssProperty {
573
573
  value = valueConverter && typeof newValue === 'string' ? valueConverter(newValue) : newValue;
574
574
  this[sourceKey] = 2 /* ValueSource.Css */;
575
575
  }
576
- const oldValue = key in this ? this[key] : defaultValue;
576
+ const oldValue = (key in this ? this[key] : defaultValue);
577
577
  const changed = equalityComparer ? !equalityComparer(oldValue, value) : oldValue !== value;
578
578
  if (changed) {
579
579
  if (reset) {