@ui5/webcomponents-base 0.0.0-7a547f8cc → 0.0.0-7c7170d4a

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 (551) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +1273 -0
  3. package/README.md +5 -8
  4. package/config/wdio.conf.cjs +392 -0
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/AssetRegistry.d.ts +2 -2
  7. package/dist/AssetRegistry.js +2 -2
  8. package/dist/AssetRegistry.js.map +1 -1
  9. package/dist/Boot.d.ts +6 -4
  10. package/dist/Boot.js +31 -6
  11. package/dist/Boot.js.map +1 -1
  12. package/dist/CustomElementsRegistry.js.map +1 -1
  13. package/dist/CustomElementsScope.d.ts +4 -4
  14. package/dist/CustomElementsScope.js +2 -2
  15. package/dist/CustomElementsScope.js.map +1 -1
  16. package/dist/CustomElementsScopeUtils.d.ts +8 -1
  17. package/dist/CustomElementsScopeUtils.js +13 -1
  18. package/dist/CustomElementsScopeUtils.js.map +1 -1
  19. package/dist/DOMObserver.js.map +1 -1
  20. package/dist/Device.d.ts +2 -2
  21. package/dist/Device.js +14 -12
  22. package/dist/Device.js.map +1 -1
  23. package/dist/EventProvider.js +1 -1
  24. package/dist/EventProvider.js.map +1 -1
  25. package/dist/FeaturesRegistry.js.map +1 -1
  26. package/dist/FontFace.js +1 -1
  27. package/dist/FontFace.js.map +1 -1
  28. package/dist/IgnoreCustomElements.d.ts +25 -0
  29. package/dist/IgnoreCustomElements.js +37 -0
  30. package/dist/IgnoreCustomElements.js.map +1 -0
  31. package/dist/InitialConfiguration.d.ts +7 -2
  32. package/dist/InitialConfiguration.js +16 -6
  33. package/dist/InitialConfiguration.js.map +1 -1
  34. package/dist/Keys.d.ts +7 -1
  35. package/dist/Keys.js +113 -106
  36. package/dist/Keys.js.map +1 -1
  37. package/dist/ManagedStyles.d.ts +5 -4
  38. package/dist/ManagedStyles.js +54 -52
  39. package/dist/ManagedStyles.js.map +1 -1
  40. package/dist/MarkedEvents.js.map +1 -1
  41. package/dist/MediaRange.d.ts +6 -12
  42. package/dist/MediaRange.js +21 -31
  43. package/dist/MediaRange.js.map +1 -1
  44. package/dist/PropertiesFileFormat.js.map +1 -1
  45. package/dist/Render.js.map +1 -1
  46. package/dist/RenderQueue.js.map +1 -1
  47. package/dist/Runtimes.js.map +1 -1
  48. package/dist/StaticArea.d.ts +3 -0
  49. package/dist/StaticArea.js +4 -3
  50. package/dist/StaticArea.js.map +1 -1
  51. package/dist/SystemCSSVars.js.map +1 -1
  52. package/dist/Theming.js.map +1 -1
  53. package/dist/UI5Element.d.ts +59 -58
  54. package/dist/UI5Element.js +165 -116
  55. package/dist/UI5Element.js.map +1 -1
  56. package/dist/UI5ElementMetadata.d.ts +13 -13
  57. package/dist/UI5ElementMetadata.js +26 -15
  58. package/dist/UI5ElementMetadata.js.map +1 -1
  59. package/dist/animations/AnimationQueue.js.map +1 -1
  60. package/dist/animations/animate.js.map +1 -1
  61. package/dist/animations/scroll.js.map +1 -1
  62. package/dist/animations/slideDown.js.map +1 -1
  63. package/dist/animations/slideUp.js.map +1 -1
  64. package/dist/asset-registries/Icons.d.ts +22 -13
  65. package/dist/asset-registries/Icons.js +63 -31
  66. package/dist/asset-registries/Icons.js.map +1 -1
  67. package/dist/asset-registries/Illustrations.d.ts +3 -1
  68. package/dist/asset-registries/Illustrations.js +51 -20
  69. package/dist/asset-registries/Illustrations.js.map +1 -1
  70. package/dist/asset-registries/LocaleData.js +1 -1
  71. package/dist/asset-registries/LocaleData.js.map +1 -1
  72. package/dist/asset-registries/Themes.d.ts +5 -3
  73. package/dist/asset-registries/Themes.js +28 -10
  74. package/dist/asset-registries/Themes.js.map +1 -1
  75. package/dist/asset-registries/i18n.d.ts +2 -2
  76. package/dist/asset-registries/i18n.js +12 -5
  77. package/dist/asset-registries/i18n.js.map +1 -1
  78. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  79. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  80. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  81. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  82. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  83. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  84. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  85. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  86. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  87. package/dist/config/AnimationMode.d.ts +2 -2
  88. package/dist/config/AnimationMode.js +2 -1
  89. package/dist/config/AnimationMode.js.map +1 -1
  90. package/dist/config/CalendarType.d.ts +8 -1
  91. package/dist/config/CalendarType.js +18 -2
  92. package/dist/config/CalendarType.js.map +1 -1
  93. package/dist/config/FormatSettings.d.ts +5 -1
  94. package/dist/config/FormatSettings.js +5 -1
  95. package/dist/config/FormatSettings.js.map +1 -1
  96. package/dist/config/Icons.d.ts +31 -21
  97. package/dist/config/Icons.js +28 -32
  98. package/dist/config/Icons.js.map +1 -1
  99. package/dist/config/Language.d.ts +11 -2
  100. package/dist/config/Language.js +19 -4
  101. package/dist/config/Language.js.map +1 -1
  102. package/dist/config/NoConflict.js +1 -0
  103. package/dist/config/NoConflict.js.map +1 -1
  104. package/dist/config/Theme.d.ts +16 -5
  105. package/dist/config/Theme.js +35 -9
  106. package/dist/config/Theme.js.map +1 -1
  107. package/dist/config/ThemeRoot.d.ts +27 -0
  108. package/dist/config/ThemeRoot.js +57 -0
  109. package/dist/config/ThemeRoot.js.map +1 -0
  110. package/dist/config/Timezone.d.ts +17 -0
  111. package/dist/config/Timezone.js +30 -0
  112. package/dist/config/Timezone.js.map +1 -0
  113. package/dist/connectToComponent.d.ts +9 -0
  114. package/dist/connectToComponent.js +59 -0
  115. package/dist/connectToComponent.js.map +1 -0
  116. package/dist/css/FontFace.css +47 -17
  117. package/dist/css/SystemCSSVars.css +0 -8
  118. package/dist/decorators/customElement.d.ts +17 -2
  119. package/dist/decorators/customElement.js +31 -5
  120. package/dist/decorators/customElement.js.map +1 -1
  121. package/dist/decorators/event.d.ts +5 -2
  122. package/dist/decorators/event.js +6 -6
  123. package/dist/decorators/event.js.map +1 -1
  124. package/dist/decorators/property.js +6 -6
  125. package/dist/decorators/property.js.map +1 -1
  126. package/dist/decorators/slot.js +9 -9
  127. package/dist/decorators/slot.js.map +1 -1
  128. package/dist/decorators.d.ts +5 -0
  129. package/dist/decorators.js +6 -0
  130. package/dist/decorators.js.map +1 -0
  131. package/dist/delegate/ItemNavigation.d.ts +9 -8
  132. package/dist/delegate/ItemNavigation.js +13 -14
  133. package/dist/delegate/ItemNavigation.js.map +1 -1
  134. package/dist/delegate/ResizeHandler.d.ts +4 -6
  135. package/dist/delegate/ResizeHandler.js +11 -11
  136. package/dist/delegate/ResizeHandler.js.map +1 -1
  137. package/dist/delegate/ScrollEnablement.js +2 -2
  138. package/dist/delegate/ScrollEnablement.js.map +1 -1
  139. package/dist/features/F6Navigation.js.map +1 -1
  140. package/dist/features/InputElementsFormSupport.d.ts +18 -0
  141. package/dist/features/InputElementsFormSupport.js +40 -0
  142. package/dist/features/InputElementsFormSupport.js.map +1 -0
  143. package/dist/features/LegacyDateFormats.d.ts +18 -0
  144. package/dist/features/LegacyDateFormats.js +20 -0
  145. package/dist/features/LegacyDateFormats.js.map +1 -0
  146. package/dist/features/OpenUI5Element.js.map +1 -1
  147. package/dist/features/OpenUI5Enablement.d.ts +1 -1
  148. package/dist/features/OpenUI5Enablement.js.map +1 -1
  149. package/dist/features/OpenUI5Support.d.ts +16 -5
  150. package/dist/features/OpenUI5Support.js +89 -46
  151. package/dist/features/OpenUI5Support.js.map +1 -1
  152. package/dist/features/patchPatcher.d.ts +11 -0
  153. package/dist/features/patchPatcher.js +11 -0
  154. package/dist/features/patchPatcher.js.map +1 -0
  155. package/dist/features/patchPopup.d.ts +14 -0
  156. package/dist/features/patchPopup.js +50 -0
  157. package/dist/features/patchPopup.js.map +1 -0
  158. package/dist/generated/AssetParameters.d.ts +6 -0
  159. package/dist/generated/AssetParameters.js +4 -9
  160. package/dist/generated/AssetParameters.js.map +1 -0
  161. package/dist/generated/VersionInfo.d.ts +10 -0
  162. package/dist/generated/VersionInfo.js +9 -8
  163. package/dist/generated/VersionInfo.js.map +1 -0
  164. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  165. package/dist/generated/css/FontFace.css.js +1 -1
  166. package/dist/generated/css/FontFace.css.js.map +1 -1
  167. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  168. package/dist/generated/css/SystemCSSVars.css.js +1 -1
  169. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  170. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  171. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +8 -10
  172. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  173. package/dist/getSharedResource.d.ts +1 -1
  174. package/dist/getSharedResource.js +8 -2
  175. package/dist/getSharedResource.js.map +1 -1
  176. package/dist/global.d.ts +2 -0
  177. package/dist/i18nBundle.d.ts +2 -4
  178. package/dist/i18nBundle.js +3 -5
  179. package/dist/i18nBundle.js.map +1 -1
  180. package/dist/locale/Locale.js.map +1 -1
  181. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  182. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  183. package/dist/locale/applyDirection.d.ts +3 -2
  184. package/dist/locale/applyDirection.js +3 -2
  185. package/dist/locale/applyDirection.js.map +1 -1
  186. package/dist/locale/directionChange.js.map +1 -1
  187. package/dist/locale/getEffectiveDir.d.ts +1 -1
  188. package/dist/locale/getEffectiveDir.js +3 -19
  189. package/dist/locale/getEffectiveDir.js.map +1 -1
  190. package/dist/locale/getLocale.js.map +1 -1
  191. package/dist/locale/languageChange.js.map +1 -1
  192. package/dist/locale/nextFallbackLocale.js.map +1 -1
  193. package/dist/locale/normalizeLocale.js.map +1 -1
  194. package/dist/locale/timezoneChange.d.ts +5 -0
  195. package/dist/renderer/LitRenderer.d.ts +5 -5
  196. package/dist/renderer/LitRenderer.js +2 -8
  197. package/dist/renderer/LitRenderer.js.map +1 -1
  198. package/dist/renderer/directives/style-map.d.ts +13 -0
  199. package/dist/renderer/directives/style-map.js +59 -59
  200. package/dist/renderer/directives/style-map.js.map +1 -0
  201. package/dist/renderer/executeTemplate.d.ts +8 -0
  202. package/dist/renderer/executeTemplate.js +2 -1
  203. package/dist/renderer/executeTemplate.js.map +1 -1
  204. package/dist/sap/base/Log.js +698 -188
  205. package/dist/sap/base/assert.js +28 -1
  206. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  207. package/dist/sap/base/security/URLListValidator.js +253 -6
  208. package/dist/sap/base/security/encodeCSS.js +34 -8
  209. package/dist/sap/base/security/encodeXML.js +47 -17
  210. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  211. package/dist/sap/base/strings/toHex.js +27 -2
  212. package/dist/sap/base/util/now.js +24 -3
  213. package/dist/sap/base/util/uid.js +27 -0
  214. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  215. package/dist/ssr-dom-shim.d.ts +1 -0
  216. package/dist/ssr-dom-shim.js +12 -0
  217. package/dist/ssr-dom-shim.js.map +1 -0
  218. package/dist/ssr-dom.d.ts +0 -0
  219. package/dist/ssr-dom.js +0 -0
  220. package/dist/theming/CustomStyle.js.map +1 -1
  221. package/dist/theming/ThemeLoaded.js.map +1 -1
  222. package/dist/theming/ThemeRegistered.d.ts +4 -0
  223. package/dist/theming/ThemeRegistered.js +11 -0
  224. package/dist/theming/ThemeRegistered.js.map +1 -0
  225. package/dist/theming/applyTheme.js +8 -7
  226. package/dist/theming/applyTheme.js.map +1 -1
  227. package/dist/theming/getConstructableStyle.d.ts +1 -1
  228. package/dist/theming/getConstructableStyle.js +3 -3
  229. package/dist/theming/getConstructableStyle.js.map +1 -1
  230. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  231. package/dist/theming/getEffectiveStyle.js +5 -12
  232. package/dist/theming/getEffectiveStyle.js.map +1 -1
  233. package/dist/theming/getStylesString.d.ts +1 -1
  234. package/dist/theming/getStylesString.js.map +1 -1
  235. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  236. package/dist/thirdparty/_merge.js.map +1 -1
  237. package/dist/thirdparty/isPlainObject.js.map +1 -1
  238. package/dist/thirdparty/merge.js.map +1 -1
  239. package/dist/types/AnimationMode.d.ts +0 -8
  240. package/dist/types/AnimationMode.js +0 -8
  241. package/dist/types/AnimationMode.js.map +1 -1
  242. package/dist/types/AriaHasPopup.d.ts +32 -0
  243. package/dist/types/AriaHasPopup.js +34 -0
  244. package/dist/types/AriaHasPopup.js.map +1 -0
  245. package/dist/types/AriaLandmarkRole.d.ts +79 -0
  246. package/dist/types/AriaLandmarkRole.js +81 -0
  247. package/dist/types/AriaLandmarkRole.js.map +1 -0
  248. package/dist/types/AriaRole.d.ts +27 -0
  249. package/dist/types/AriaRole.js +29 -0
  250. package/dist/types/AriaRole.js.map +1 -0
  251. package/dist/types/CSSColor.d.ts +0 -5
  252. package/dist/types/CSSColor.js +0 -5
  253. package/dist/types/CSSColor.js.map +1 -1
  254. package/dist/types/CSSSize.d.ts +11 -0
  255. package/dist/types/CSSSize.js +14 -0
  256. package/dist/types/CSSSize.js.map +1 -0
  257. package/dist/types/CalendarType.d.ts +0 -9
  258. package/dist/types/CalendarType.js +0 -9
  259. package/dist/types/CalendarType.js.map +1 -1
  260. package/dist/types/DOMReference.d.ts +1 -5
  261. package/dist/types/DOMReference.js +1 -5
  262. package/dist/types/DOMReference.js.map +1 -1
  263. package/dist/types/DataType.d.ts +1 -6
  264. package/dist/types/DataType.js +1 -6
  265. package/dist/types/DataType.js.map +1 -1
  266. package/dist/types/Float.d.ts +0 -4
  267. package/dist/types/Float.js +0 -4
  268. package/dist/types/Float.js.map +1 -1
  269. package/dist/types/Integer.d.ts +0 -4
  270. package/dist/types/Integer.js +0 -4
  271. package/dist/types/Integer.js.map +1 -1
  272. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  273. package/dist/types/InvisibleMessageMode.js +4 -11
  274. package/dist/types/InvisibleMessageMode.js.map +1 -1
  275. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  276. package/dist/types/ItemNavigationBehavior.js +0 -6
  277. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  278. package/dist/types/MovePlacement.d.ts +20 -0
  279. package/dist/types/MovePlacement.js +22 -0
  280. package/dist/types/MovePlacement.js.map +1 -0
  281. package/dist/types/NavigationMode.d.ts +0 -8
  282. package/dist/types/NavigationMode.js +0 -8
  283. package/dist/types/NavigationMode.js.map +1 -1
  284. package/dist/types/Orientation.d.ts +16 -0
  285. package/dist/types/Orientation.js +18 -0
  286. package/dist/types/Orientation.js.map +1 -0
  287. package/dist/types/ValueState.d.ts +3 -17
  288. package/dist/types/ValueState.js +3 -17
  289. package/dist/types/ValueState.js.map +1 -1
  290. package/dist/types.d.ts +24 -1
  291. package/dist/types.js.map +1 -1
  292. package/dist/updateShadowRoot.d.ts +1 -2
  293. package/dist/updateShadowRoot.js +5 -21
  294. package/dist/updateShadowRoot.js.map +1 -1
  295. package/dist/util/AriaLabelHelper.d.ts +10 -1
  296. package/dist/util/AriaLabelHelper.js +135 -8
  297. package/dist/util/AriaLabelHelper.js.map +1 -1
  298. package/dist/util/Caret.js.map +1 -1
  299. package/dist/util/ColorConversion.js +200 -195
  300. package/dist/util/ColorConversion.js.map +1 -1
  301. package/dist/util/FetchHelper.js.map +1 -1
  302. package/dist/util/FocusableElements.js +4 -3
  303. package/dist/util/FocusableElements.js.map +1 -1
  304. package/dist/util/HTMLSanitizer.js.map +1 -1
  305. package/dist/util/InvisibleMessage.js.map +1 -1
  306. package/dist/util/PopupUtils.d.ts +1 -3
  307. package/dist/util/PopupUtils.js +1 -15
  308. package/dist/util/PopupUtils.js.map +1 -1
  309. package/dist/util/SlotsHelper.js.map +1 -1
  310. package/dist/util/StringHelper.js.map +1 -1
  311. package/dist/util/TabbableElements.js.map +1 -1
  312. package/dist/util/arraysAreEqual.js.map +1 -1
  313. package/dist/util/clamp.js +2 -1
  314. package/dist/util/clamp.js.map +1 -1
  315. package/dist/util/createLinkInHead.d.ts +1 -1
  316. package/dist/util/createLinkInHead.js +1 -1
  317. package/dist/util/createLinkInHead.js.map +1 -1
  318. package/dist/util/debounce.js.map +1 -1
  319. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  320. package/dist/util/detectNavigatorLanguage.js +6 -1
  321. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  322. package/dist/util/dragAndDrop/DragRegistry.d.ts +12 -0
  323. package/dist/util/dragAndDrop/DragRegistry.js +68 -0
  324. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  325. package/dist/util/dragAndDrop/findClosestPosition.d.ts +7 -0
  326. package/dist/util/dragAndDrop/findClosestPosition.js +59 -0
  327. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  328. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  329. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  330. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  331. package/dist/util/escapeRegex.js.map +1 -1
  332. package/dist/util/formatMessage.js.map +1 -1
  333. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  334. package/dist/util/getActiveElement.js.map +1 -1
  335. package/dist/util/getClassCopy.d.ts +68 -48
  336. package/dist/util/getClassCopy.js.map +1 -1
  337. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  338. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  339. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  340. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  341. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  342. package/dist/util/getFastNavigationGroups.js.map +1 -1
  343. package/dist/util/getFileExtension.js.map +1 -1
  344. package/dist/util/getNormalizedTarget.js.map +1 -1
  345. package/dist/util/getParentElement.d.ts +2 -0
  346. package/dist/util/getParentElement.js +5 -0
  347. package/dist/util/getParentElement.js.map +1 -0
  348. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  349. package/dist/util/getSingletonElementInstance.js +11 -2
  350. package/dist/util/getSingletonElementInstance.js.map +1 -1
  351. package/dist/util/isElementClickable.js.map +1 -1
  352. package/dist/util/isElementContainingBlock.d.ts +2 -0
  353. package/dist/util/isElementContainingBlock.js +11 -0
  354. package/dist/util/isElementContainingBlock.js.map +1 -0
  355. package/dist/util/isElementHidden.js.map +1 -1
  356. package/dist/util/isElementInView.js.map +1 -1
  357. package/dist/util/isElementTabbable.js.map +1 -1
  358. package/dist/util/isValidPropertyName.js.map +1 -1
  359. package/dist/util/whenDOMReady.js.map +1 -1
  360. package/dist/util/willShowContent.js.map +1 -1
  361. package/dist/validateThemeRoot.js +14 -13
  362. package/dist/validateThemeRoot.js.map +1 -1
  363. package/index.js +211 -1
  364. package/{package-scripts.js → package-scripts.cjs} +26 -23
  365. package/package.json +24 -8
  366. package/src/css/FontFace.css +47 -17
  367. package/src/css/SystemCSSVars.css +0 -8
  368. package/tsconfig.json +7 -0
  369. package/.eslintignore +0 -16
  370. package/bundle.esm.js +0 -60
  371. package/config/wdio.conf.js +0 -1
  372. package/dist/CSP.d.ts +0 -30
  373. package/dist/CSP.js +0 -51
  374. package/dist/CSP.js.map +0 -1
  375. package/dist/StaticAreaItem.d.ts +0 -36
  376. package/dist/StaticAreaItem.js +0 -99
  377. package/dist/StaticAreaItem.js.map +0 -1
  378. package/dist/api.json +0 -1
  379. package/dist/assets/bundle.esm.c3e922da.js +0 -56
  380. package/dist/assets-meta/IconCollectionsAlias.d.ts +0 -17
  381. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  382. package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
  383. package/dist/config/RTL.d.ts +0 -7
  384. package/dist/config/RTL.js +0 -37
  385. package/dist/config/RTL.js.map +0 -1
  386. package/dist/config/ThemeRoots.d.ts +0 -4
  387. package/dist/config/ThemeRoots.js +0 -28
  388. package/dist/config/ThemeRoots.js.map +0 -1
  389. package/dist/decorators/fastNavigation.d.ts +0 -7
  390. package/dist/decorators/fastNavigation.js +0 -13
  391. package/dist/decorators/fastNavigation.js.map +0 -1
  392. package/dist/decorators/languageAware.d.ts +0 -7
  393. package/dist/decorators/languageAware.js +0 -13
  394. package/dist/decorators/languageAware.js.map +0 -1
  395. package/dist/decorators/themeAware.d.ts +0 -7
  396. package/dist/decorators/themeAware.js +0 -13
  397. package/dist/decorators/themeAware.js.map +0 -1
  398. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  399. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  400. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  401. package/dist/theming/preloadLinks.d.ts +0 -3
  402. package/dist/theming/preloadLinks.js +0 -19
  403. package/dist/theming/preloadLinks.js.map +0 -1
  404. package/dist/util/createStyleInHead.d.ts +0 -8
  405. package/dist/util/createStyleInHead.js +0 -18
  406. package/dist/util/createStyleInHead.js.map +0 -1
  407. package/lib/generate-asset-parameters/index.js +0 -25
  408. package/lib/generate-styles/index.js +0 -31
  409. package/lib/generate-version-info/index.js +0 -32
  410. package/src/AssetRegistry.ts +0 -11
  411. package/src/Boot.ts +0 -65
  412. package/src/CSP.ts +0 -66
  413. package/src/CustomElementsRegistry.ts +0 -98
  414. package/src/CustomElementsScope.ts +0 -33
  415. package/src/CustomElementsScopeUtils.ts +0 -115
  416. package/src/DOMObserver.ts +0 -28
  417. package/src/Device.ts +0 -203
  418. package/src/EventProvider.ts +0 -87
  419. package/src/FeaturesRegistry.ts +0 -14
  420. package/src/FontFace.ts +0 -31
  421. package/src/InitialConfiguration.ts +0 -207
  422. package/src/Keys.ts +0 -295
  423. package/src/ManagedStyles.ts +0 -92
  424. package/src/MarkedEvents.ts +0 -20
  425. package/src/MediaRange.ts +0 -110
  426. package/src/PropertiesFileFormat.ts +0 -95
  427. package/src/Render.ts +0 -180
  428. package/src/RenderQueue.ts +0 -71
  429. package/src/Runtimes.ts +0 -114
  430. package/src/StaticArea.ts +0 -3
  431. package/src/StaticAreaItem.ts +0 -113
  432. package/src/SystemCSSVars.ts +0 -10
  433. package/src/Theming.ts +0 -4
  434. package/src/UI5Element.ts +0 -1156
  435. package/src/UI5ElementMetadata.ts +0 -389
  436. package/src/animations/AnimationQueue.ts +0 -43
  437. package/src/animations/animate.ts +0 -64
  438. package/src/animations/scroll.ts +0 -21
  439. package/src/animations/slideDown.ts +0 -72
  440. package/src/animations/slideUp.ts +0 -67
  441. package/src/asset-registries/Icons.ts +0 -162
  442. package/src/asset-registries/Illustrations.ts +0 -75
  443. package/src/asset-registries/LocaleData.ts +0 -172
  444. package/src/asset-registries/Themes.ts +0 -67
  445. package/src/asset-registries/i18n.ts +0 -118
  446. package/src/assets-meta/IconCollectionsAlias.ts +0 -18
  447. package/src/config/AnimationMode.ts +0 -33
  448. package/src/config/CalendarType.ts +0 -23
  449. package/src/config/FormatSettings.ts +0 -21
  450. package/src/config/Icons.ts +0 -59
  451. package/src/config/Language.ts +0 -72
  452. package/src/config/NoConflict.ts +0 -67
  453. package/src/config/RTL.ts +0 -45
  454. package/src/config/Theme.ts +0 -64
  455. package/src/config/ThemeRoots.ts +0 -41
  456. package/src/decorators/customElement.ts +0 -17
  457. package/src/decorators/event.ts +0 -28
  458. package/src/decorators/fastNavigation.ts +0 -14
  459. package/src/decorators/languageAware.ts +0 -14
  460. package/src/decorators/property.ts +0 -30
  461. package/src/decorators/slot.ts +0 -49
  462. package/src/decorators/themeAware.ts +0 -14
  463. package/src/delegate/ItemNavigation.ts +0 -393
  464. package/src/delegate/ResizeHandler.ts +0 -100
  465. package/src/delegate/ScrollEnablement.ts +0 -224
  466. package/src/features/F6Navigation.ts +0 -195
  467. package/src/features/OpenUI5Element.ts +0 -11
  468. package/src/features/OpenUI5Enablement.ts +0 -117
  469. package/src/features/OpenUI5Support.ts +0 -148
  470. package/src/generated/css/BusyIndicator.css.ts +0 -9
  471. package/src/generated/css/FontFace.css.ts +0 -9
  472. package/src/generated/css/OverrideFontFace.css.ts +0 -9
  473. package/src/generated/css/SystemCSSVars.css.ts +0 -9
  474. package/src/getSharedResource.ts +0 -39
  475. package/src/global.d.ts +0 -38
  476. package/src/i18nBundle.ts +0 -108
  477. package/src/locale/Locale.ts +0 -101
  478. package/src/locale/RTLAwareRegistry.ts +0 -16
  479. package/src/locale/applyDirection.ts +0 -18
  480. package/src/locale/directionChange.ts +0 -34
  481. package/src/locale/getEffectiveDir.ts +0 -28
  482. package/src/locale/getLocale.ts +0 -46
  483. package/src/locale/languageChange.ts +0 -24
  484. package/src/locale/nextFallbackLocale.ts +0 -28
  485. package/src/locale/normalizeLocale.ts +0 -56
  486. package/src/renderer/LitRenderer.ts +0 -60
  487. package/src/renderer/directives/style-map.js +0 -72
  488. package/src/renderer/executeTemplate.ts +0 -40
  489. package/src/theming/CustomStyle.ts +0 -64
  490. package/src/theming/ThemeLoaded.ts +0 -24
  491. package/src/theming/applyTheme.ts +0 -90
  492. package/src/theming/getConstructableStyle.ts +0 -31
  493. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  494. package/src/theming/getEffectiveStyle.ts +0 -41
  495. package/src/theming/getStylesString.ts +0 -15
  496. package/src/theming/getThemeDesignerTheme.ts +0 -101
  497. package/src/theming/preloadLinks.ts +0 -24
  498. package/src/thirdparty/_merge.ts +0 -32
  499. package/src/thirdparty/isPlainObject.ts +0 -18
  500. package/src/thirdparty/merge.ts +0 -5
  501. package/src/types/AnimationMode.ts +0 -33
  502. package/src/types/CSSColor.ts +0 -20
  503. package/src/types/CalendarType.ts +0 -38
  504. package/src/types/DOMReference.ts +0 -28
  505. package/src/types/DataType.ts +0 -51
  506. package/src/types/Float.ts +0 -25
  507. package/src/types/Integer.ts +0 -25
  508. package/src/types/InvisibleMessageMode.ts +0 -27
  509. package/src/types/ItemNavigationBehavior.ts +0 -26
  510. package/src/types/NavigationMode.ts +0 -33
  511. package/src/types/ValueState.ts +0 -47
  512. package/src/types.ts +0 -30
  513. package/src/updateShadowRoot.ts +0 -37
  514. package/src/util/AriaLabelHelper.ts +0 -63
  515. package/src/util/Caret.ts +0 -28
  516. package/src/util/ColorConversion.ts +0 -399
  517. package/src/util/FetchHelper.ts +0 -31
  518. package/src/util/FocusableElements.ts +0 -92
  519. package/src/util/HTMLSanitizer.ts +0 -9
  520. package/src/util/InvisibleMessage.ts +0 -69
  521. package/src/util/PopupUtils.ts +0 -112
  522. package/src/util/SlotsHelper.ts +0 -39
  523. package/src/util/StringHelper.ts +0 -26
  524. package/src/util/TabbableElements.ts +0 -70
  525. package/src/util/arraysAreEqual.ts +0 -15
  526. package/src/util/clamp.ts +0 -12
  527. package/src/util/createLinkInHead.ts +0 -25
  528. package/src/util/createStyleInHead.ts +0 -20
  529. package/src/util/debounce.ts +0 -18
  530. package/src/util/detectNavigatorLanguage.ts +0 -13
  531. package/src/util/escapeRegex.ts +0 -11
  532. package/src/util/formatMessage.ts +0 -24
  533. package/src/util/generateHighlightedMarkup.ts +0 -43
  534. package/src/util/getActiveElement.ts +0 -11
  535. package/src/util/getClassCopy.ts +0 -12
  536. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  537. package/src/util/getEffectiveContentDensity.ts +0 -5
  538. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  539. package/src/util/getFastNavigationGroups.ts +0 -63
  540. package/src/util/getFileExtension.ts +0 -21
  541. package/src/util/getNormalizedTarget.ts +0 -16
  542. package/src/util/getSingletonElementInstance.ts +0 -13
  543. package/src/util/isElementClickable.ts +0 -19
  544. package/src/util/isElementHidden.ts +0 -9
  545. package/src/util/isElementInView.ts +0 -15
  546. package/src/util/isElementTabbable.ts +0 -37
  547. package/src/util/isValidPropertyName.ts +0 -29
  548. package/src/util/whenDOMReady.ts +0 -13
  549. package/src/util/willShowContent.ts +0 -7
  550. package/src/validateThemeRoot.ts +0 -58
  551. package/used-modules.txt +0 -10
@@ -11,6 +11,15 @@ declare const getTheme: () => string;
11
11
  * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM
12
12
  */
13
13
  declare const setTheme: (theme: string) => Promise<void>;
14
+ /**
15
+ * Returns the default theme.
16
+ *
17
+ * Note: Default theme might be different than the configurated one.
18
+ *
19
+ * @public
20
+ * @returns {string}
21
+ */
22
+ declare const getDefaultTheme: () => string;
14
23
  /**
15
24
  * Returns if the given theme name is the one currently applied.
16
25
  * @private
@@ -19,10 +28,12 @@ declare const setTheme: (theme: string) => Promise<void>;
19
28
  */
20
29
  declare const isTheme: (theme: string) => boolean;
21
30
  /**
22
- * Returns if the current theme is part of given theme family.
31
+ * Returns if the currently set theme is part of legacy theme families ("sap_fiori_3").
32
+ * **Note**: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.
33
+ *
23
34
  * @private
24
- * @param {string} theme the theme family
25
- * @returns {boolean}
35
+ * @returns { boolean }
26
36
  */
27
- declare const isThemeFamily: (theme: string) => boolean;
28
- export { getTheme, setTheme, isTheme, isThemeFamily, };
37
+ declare const isLegacyThemeFamily: () => boolean;
38
+ declare const isLegacyThemeFamilyAsync: () => Promise<boolean>;
39
+ export { getTheme, setTheme, isTheme, isLegacyThemeFamily, isLegacyThemeFamilyAsync, getDefaultTheme, };
@@ -1,6 +1,9 @@
1
1
  import { getTheme as getConfiguredTheme } from "../InitialConfiguration.js";
2
2
  import { reRenderAllUI5Elements } from "../Render.js";
3
3
  import applyTheme from "../theming/applyTheme.js";
4
+ import getThemeDesignerTheme from "../theming/getThemeDesignerTheme.js";
5
+ import { DEFAULT_THEME, SUPPORTED_THEMES } from "../generated/AssetParameters.js";
6
+ import { boot, isBooted } from "../Boot.js";
4
7
  let curTheme;
5
8
  /**
6
9
  * Returns the current theme.
@@ -24,9 +27,22 @@ const setTheme = async (theme) => {
24
27
  return;
25
28
  }
26
29
  curTheme = theme;
27
- // Update CSS Custom Properties
28
- await applyTheme(curTheme);
29
- await reRenderAllUI5Elements({ themeAware: true });
30
+ if (isBooted()) {
31
+ // Update CSS Custom Properties
32
+ await applyTheme(curTheme);
33
+ await reRenderAllUI5Elements({ themeAware: true });
34
+ }
35
+ };
36
+ /**
37
+ * Returns the default theme.
38
+ *
39
+ * Note: Default theme might be different than the configurated one.
40
+ *
41
+ * @public
42
+ * @returns {string}
43
+ */
44
+ const getDefaultTheme = () => {
45
+ return DEFAULT_THEME;
30
46
  };
31
47
  /**
32
48
  * Returns if the given theme name is the one currently applied.
@@ -39,13 +55,23 @@ const isTheme = (theme) => {
39
55
  return currentTheme === theme || currentTheme === `${theme}_exp`;
40
56
  };
41
57
  /**
42
- * Returns if the current theme is part of given theme family.
58
+ * Returns if the currently set theme is part of legacy theme families ("sap_fiori_3").
59
+ * **Note**: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.
60
+ *
43
61
  * @private
44
- * @param {string} theme the theme family
45
- * @returns {boolean}
62
+ * @returns { boolean }
46
63
  */
47
- const isThemeFamily = (theme) => {
48
- return getTheme().startsWith(theme);
64
+ const isLegacyThemeFamily = () => {
65
+ const currentTheme = getTheme();
66
+ if (!isKnownTheme(currentTheme)) {
67
+ return !getThemeDesignerTheme()?.baseThemeName?.startsWith("sap_horizon");
68
+ }
69
+ return !currentTheme.startsWith("sap_horizon");
70
+ };
71
+ const isLegacyThemeFamilyAsync = async () => {
72
+ await boot();
73
+ return isLegacyThemeFamily();
49
74
  };
50
- export { getTheme, setTheme, isTheme, isThemeFamily, };
75
+ const isKnownTheme = (theme) => SUPPORTED_THEMES.includes(theme);
76
+ export { getTheme, setTheme, isTheme, isLegacyThemeFamily, isLegacyThemeFamilyAsync, getDefaultTheme, };
51
77
  //# sourceMappingURL=Theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../src/config/Theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,IAAI,QAAgB,CAAC;AAErB;;;;GAIG;AACH,MAAM,QAAQ,GAAG,GAAW,EAAE;IAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC3B,QAAQ,GAAG,kBAAkB,EAAE,CAAC;KAChC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;IACvD,IAAI,QAAQ,KAAK,KAAK,EAAE;QACvB,OAAO;KACP;IAED,QAAQ,GAAG,KAAK,CAAC;IAEjB,+BAA+B;IAC/B,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;IACjC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAChC,OAAO,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,GAAG,KAAK,MAAM,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;IACvC,OAAO,QAAQ,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,OAAO,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,GACb,CAAC"}
1
+ {"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../src/config/Theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5C,IAAI,QAAgB,CAAC;AAErB;;;;GAIG;AACH,MAAM,QAAQ,GAAG,GAAW,EAAE;IAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC3B,QAAQ,GAAG,kBAAkB,EAAE,CAAC;KAChC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;IACvD,IAAI,QAAQ,KAAK,KAAK,EAAE;QACvB,OAAO;KACP;IAED,QAAQ,GAAG,KAAK,CAAC;IAEjB,IAAI,QAAQ,EAAE,EAAE;QACf,+BAA+B;QAC/B,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,sBAAsB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;KACnD;AACF,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,GAAW,EAAE;IACpC,OAAO,aAAa,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;IACjC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAChC,OAAO,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,GAAG,KAAK,MAAM,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAEhC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;QAChC,OAAO,CAAC,qBAAqB,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;KAC1E;IAED,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,KAAK,IAAI,EAAE;IAC3C,MAAM,IAAI,EAAE,CAAC;IACb,OAAO,mBAAmB,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEzE,OAAO,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,GACf,CAAC","sourcesContent":["import { getTheme as getConfiguredTheme } from \"../InitialConfiguration.js\";\nimport { reRenderAllUI5Elements } from \"../Render.js\";\nimport applyTheme from \"../theming/applyTheme.js\";\nimport getThemeDesignerTheme from \"../theming/getThemeDesignerTheme.js\";\nimport { DEFAULT_THEME, SUPPORTED_THEMES } from \"../generated/AssetParameters.js\";\nimport { boot, isBooted } from \"../Boot.js\";\n\nlet curTheme: string;\n\n/**\n * Returns the current theme.\n * @public\n * @returns {string} the current theme name\n */\nconst getTheme = (): string => {\n\tif (curTheme === undefined) {\n\t\tcurTheme = getConfiguredTheme();\n\t}\n\n\treturn curTheme;\n};\n\n/**\n * Applies a new theme after fetching its assets from the network.\n * @public\n * @param {string} theme the name of the new theme\n * @returns {Promise<void>} a promise that is resolved when the new theme assets have been fetched and applied to the DOM\n */\nconst setTheme = async (theme: string): Promise<void> => {\n\tif (curTheme === theme) {\n\t\treturn;\n\t}\n\n\tcurTheme = theme;\n\n\tif (isBooted()) {\n\t\t// Update CSS Custom Properties\n\t\tawait applyTheme(curTheme);\n\t\tawait reRenderAllUI5Elements({ themeAware: true });\n\t}\n};\n\n/**\n * Returns the default theme.\n *\n * Note: Default theme might be different than the configurated one.\n *\n * @public\n * @returns {string}\n */\nconst getDefaultTheme = (): string => {\n\treturn DEFAULT_THEME;\n};\n\n/**\n * Returns if the given theme name is the one currently applied.\n * @private\n * @param {string} theme\n * @returns {boolean}\n */\nconst isTheme = (theme: string) => {\n\tconst currentTheme = getTheme();\n\treturn currentTheme === theme || currentTheme === `${theme}_exp`;\n};\n\n/**\n * Returns if the currently set theme is part of legacy theme families (\"sap_fiori_3\").\n * **Note**: in addition, the method checks the base theme of a custom theme, built via the ThemeDesigner.\n *\n * @private\n * @returns { boolean }\n */\nconst isLegacyThemeFamily = () => {\n\tconst currentTheme = getTheme();\n\n\tif (!isKnownTheme(currentTheme)) {\n\t\treturn !getThemeDesignerTheme()?.baseThemeName?.startsWith(\"sap_horizon\");\n\t}\n\n\treturn !currentTheme.startsWith(\"sap_horizon\");\n};\n\nconst isLegacyThemeFamilyAsync = async () => {\n\tawait boot();\n\treturn isLegacyThemeFamily();\n};\n\nconst isKnownTheme = (theme: string) => SUPPORTED_THEMES.includes(theme);\n\nexport {\n\tgetTheme,\n\tsetTheme,\n\tisTheme,\n\tisLegacyThemeFamily,\n\tisLegacyThemeFamilyAsync,\n\tgetDefaultTheme,\n};\n"]}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Returns the current theme root.
3
+ *
4
+ * @public
5
+ * @since 1.14.0
6
+ * @returns { string } the current theme root
7
+ */
8
+ declare const getThemeRoot: () => string | undefined;
9
+ /**
10
+ * Sets theme root for the current theme.
11
+ * When set, the framework will validate the theme root and fetch the theme styles (CSS variables) from this location.
12
+ *
13
+ * **Note:** The feature is specific to custom themes, created with the `UI Theme Designer`.
14
+ * The provided theme root is used only as a base to construct the actual location of the theme styles: `{themeRoot}/.../css_variables.css`.
15
+ *
16
+ * **Note:** Certain security restrictions will apply before fetching the theme assets.
17
+ * Absolute URLs to a different origin than the current page will result in using the current page as an origin.
18
+ * To allow specific origins, use &lt;meta name="sap-allowedThemeOrigins" content="https://my-example-host.com/"&gt; tag inside the &lt;head&gt; of the page.
19
+ *
20
+ * @public
21
+ * @since 1.14.0
22
+ * @param { string } themeRoot the new theme root
23
+ * @returns { Promise<void> }
24
+ */
25
+ declare const setThemeRoot: (themeRoot: string) => Promise<void> | undefined;
26
+ declare const attachCustomThemeStylesToHead: (theme: string) => Promise<void>;
27
+ export { getThemeRoot, setThemeRoot, attachCustomThemeStylesToHead, };
@@ -0,0 +1,57 @@
1
+ import createLinkInHead from "../util/createLinkInHead.js";
2
+ import validateThemeRoot from "../validateThemeRoot.js";
3
+ import { getThemeRoot as getConfiguredThemeRoot } from "../InitialConfiguration.js";
4
+ import { getTheme } from "./Theme.js";
5
+ let currThemeRoot;
6
+ /**
7
+ * Returns the current theme root.
8
+ *
9
+ * @public
10
+ * @since 1.14.0
11
+ * @returns { string } the current theme root
12
+ */
13
+ const getThemeRoot = () => {
14
+ if (currThemeRoot === undefined) {
15
+ currThemeRoot = getConfiguredThemeRoot();
16
+ }
17
+ return currThemeRoot;
18
+ };
19
+ /**
20
+ * Sets theme root for the current theme.
21
+ * When set, the framework will validate the theme root and fetch the theme styles (CSS variables) from this location.
22
+ *
23
+ * **Note:** The feature is specific to custom themes, created with the `UI Theme Designer`.
24
+ * The provided theme root is used only as a base to construct the actual location of the theme styles: `{themeRoot}/.../css_variables.css`.
25
+ *
26
+ * **Note:** Certain security restrictions will apply before fetching the theme assets.
27
+ * Absolute URLs to a different origin than the current page will result in using the current page as an origin.
28
+ * To allow specific origins, use &lt;meta name="sap-allowedThemeOrigins" content="https://my-example-host.com/"&gt; tag inside the &lt;head&gt; of the page.
29
+ *
30
+ * @public
31
+ * @since 1.14.0
32
+ * @param { string } themeRoot the new theme root
33
+ * @returns { Promise<void> }
34
+ */
35
+ const setThemeRoot = (themeRoot) => {
36
+ if (currThemeRoot === themeRoot) {
37
+ return;
38
+ }
39
+ currThemeRoot = themeRoot;
40
+ if (!validateThemeRoot(themeRoot)) {
41
+ console.warn(`The ${themeRoot} is not valid. Check the allowed origins as suggested in the "setThemeRoot" description.`); // eslint-disable-line
42
+ return;
43
+ }
44
+ return attachCustomThemeStylesToHead(getTheme());
45
+ };
46
+ const formatThemeLink = (theme) => {
47
+ return `${getThemeRoot()}Base/baseLib/${theme}/css_variables.css`; // theme root is always set at this point.
48
+ };
49
+ const attachCustomThemeStylesToHead = async (theme) => {
50
+ const link = document.querySelector(`[sap-ui-webcomponents-theme="${theme}"]`);
51
+ if (link) {
52
+ document.head.removeChild(link);
53
+ }
54
+ await createLinkInHead(formatThemeLink(theme), { "sap-ui-webcomponents-theme": theme });
55
+ };
56
+ export { getThemeRoot, setThemeRoot, attachCustomThemeStylesToHead, };
57
+ //# sourceMappingURL=ThemeRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeRoot.js","sourceRoot":"","sources":["../../src/config/ThemeRoot.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,IAAI,aAAiC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,GAAuB,EAAE;IAC7C,IAAI,aAAa,KAAK,SAAS,EAAE;QAChC,aAAa,GAAG,sBAAsB,EAAE,CAAC;KACzC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAY,GAAG,CAAC,SAAiB,EAA6B,EAAE;IACrE,IAAI,aAAa,KAAK,SAAS,EAAE;QAChC,OAAO;KACP;IAED,aAAa,GAAG,SAAS,CAAC;IAE1B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;QAClC,OAAO,CAAC,IAAI,CAAC,OAAO,SAAS,0FAA0F,CAAC,CAAC,CAAC,sBAAsB;QAChJ,OAAO;KACP;IAED,OAAO,6BAA6B,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IACzC,OAAO,GAAG,YAAY,EAAG,gBAAgB,KAAK,oBAAoB,CAAC,CAAC,0CAA0C;AAC/G,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;IAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,gCAAgC,KAAK,IAAI,CAAC,CAAC;IAE/E,IAAI,IAAI,EAAE;QACT,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAChC;IAED,MAAM,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,6BAA6B,GAC7B,CAAC","sourcesContent":["import createLinkInHead from \"../util/createLinkInHead.js\";\nimport validateThemeRoot from \"../validateThemeRoot.js\";\nimport { getThemeRoot as getConfiguredThemeRoot } from \"../InitialConfiguration.js\";\nimport { getTheme } from \"./Theme.js\";\n\nlet currThemeRoot: string | undefined;\n\n/**\n * Returns the current theme root.\n *\n * @public\n * @since 1.14.0\n * @returns { string } the current theme root\n */\nconst getThemeRoot = (): string | undefined => {\n\tif (currThemeRoot === undefined) {\n\t\tcurrThemeRoot = getConfiguredThemeRoot();\n\t}\n\n\treturn currThemeRoot;\n};\n\n/**\n * Sets theme root for the current theme.\n * When set, the framework will validate the theme root and fetch the theme styles (CSS variables) from this location.\n *\n * **Note:** The feature is specific to custom themes, created with the `UI Theme Designer`.\n * The provided theme root is used only as a base to construct the actual location of the theme styles: `{themeRoot}/.../css_variables.css`.\n *\n * **Note:** Certain security restrictions will apply before fetching the theme assets.\n * Absolute URLs to a different origin than the current page will result in using the current page as an origin.\n * To allow specific origins, use &lt;meta name=\"sap-allowedThemeOrigins\" content=\"https://my-example-host.com/\"&gt; tag inside the &lt;head&gt; of the page.\n *\n * @public\n * @since 1.14.0\n * @param { string } themeRoot the new theme root\n * @returns { Promise<void> }\n */\nconst setThemeRoot = (themeRoot: string): Promise<void> | undefined => {\n\tif (currThemeRoot === themeRoot) {\n\t\treturn;\n\t}\n\n\tcurrThemeRoot = themeRoot;\n\n\tif (!validateThemeRoot(themeRoot)) {\n\t\tconsole.warn(`The ${themeRoot} is not valid. Check the allowed origins as suggested in the \"setThemeRoot\" description.`); // eslint-disable-line\n\t\treturn;\n\t}\n\n\treturn attachCustomThemeStylesToHead(getTheme());\n};\n\nconst formatThemeLink = (theme: string) => {\n\treturn `${getThemeRoot()!}Base/baseLib/${theme}/css_variables.css`; // theme root is always set at this point.\n};\n\nconst attachCustomThemeStylesToHead = async (theme: string): Promise<void> => {\n\tconst link = document.querySelector(`[sap-ui-webcomponents-theme=\"${theme}\"]`);\n\n\tif (link) {\n\t\tdocument.head.removeChild(link);\n\t}\n\n\tawait createLinkInHead(formatThemeLink(theme), { \"sap-ui-webcomponents-theme\": theme });\n};\n\nexport {\n\tgetThemeRoot,\n\tsetThemeRoot,\n\tattachCustomThemeStylesToHead,\n};\n"]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns the configured IANA timezone ID.
3
+ *
4
+ * @private
5
+ * @returns {string}
6
+ */
7
+ declare const getTimezone: () => string | undefined;
8
+ /**
9
+ * Sets the IANA timezone ID.
10
+ * **For example:** "America/New_York", "Europe/London", "Australia/Sydney", "Asia/Bishkek", etc.
11
+ *>
12
+ * @param {string} timezone
13
+ * @private
14
+ * @returns { Promise<void> }
15
+ */
16
+ declare const setTimezone: (timezone: string) => void;
17
+ export { getTimezone, setTimezone, };
@@ -0,0 +1,30 @@
1
+ import { getTimezone as getConfiguredTimezone } from "../InitialConfiguration.js";
2
+ let currTimezone;
3
+ /**
4
+ * Returns the configured IANA timezone ID.
5
+ *
6
+ * @private
7
+ * @returns {string}
8
+ */
9
+ const getTimezone = () => {
10
+ if (currTimezone === undefined) {
11
+ currTimezone = getConfiguredTimezone();
12
+ }
13
+ return currTimezone;
14
+ };
15
+ /**
16
+ * Sets the IANA timezone ID.
17
+ * **For example:** "America/New_York", "Europe/London", "Australia/Sydney", "Asia/Bishkek", etc.
18
+ *>
19
+ * @param {string} timezone
20
+ * @private
21
+ * @returns { Promise<void> }
22
+ */
23
+ const setTimezone = (timezone) => {
24
+ if (currTimezone === timezone) {
25
+ return;
26
+ }
27
+ currTimezone = timezone;
28
+ };
29
+ export { getTimezone, setTimezone, };
30
+ //# sourceMappingURL=Timezone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timezone.js","sourceRoot":"","sources":["../../src/config/Timezone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAElF,IAAI,YAAgC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,WAAW,GAAG,GAAuB,EAAE;IAC5C,IAAI,YAAY,KAAK,SAAS,EAAE;QAC/B,YAAY,GAAG,qBAAqB,EAAE,CAAC;KACvC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;IACxC,IAAI,YAAY,KAAK,QAAQ,EAAE;QAC9B,OAAO;KACP;IAED,YAAY,GAAG,QAAQ,CAAC;AACzB,CAAC,CAAC;AAEF,OAAO,EACN,WAAW,EACX,WAAW,GACX,CAAC","sourcesContent":["import { getTimezone as getConfiguredTimezone } from \"../InitialConfiguration.js\";\n\nlet currTimezone: string | undefined;\n\n/**\n * Returns the configured IANA timezone ID.\n *\n * @private\n * @returns {string}\n */\nconst getTimezone = (): string | undefined => {\n\tif (currTimezone === undefined) {\n\t\tcurrTimezone = getConfiguredTimezone();\n\t}\n\treturn currTimezone;\n};\n\n/**\n * Sets the IANA timezone ID.\n * **For example:** \"America/New_York\", \"Europe/London\", \"Australia/Sydney\", \"Asia/Bishkek\", etc.\n *>\n * @param {string} timezone\n * @private\n * @returns { Promise<void> }\n */\nconst setTimezone = (timezone: string) => {\n\tif (currTimezone === timezone) {\n\t\treturn;\n\t}\n\n\tcurrTimezone = timezone;\n};\n\nexport {\n\tgetTimezone,\n\tsetTimezone,\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import type UI5Element from "./UI5Element.js";
2
+ type ConnectOptions = {
3
+ host: UI5Element;
4
+ propName: string;
5
+ onConnect?: (friend: HTMLElement) => void;
6
+ onDisconnect?: (friend: HTMLElement) => void;
7
+ };
8
+ declare const connectToComponent: (options: ConnectOptions) => HTMLElement | undefined;
9
+ export default connectToComponent;
@@ -0,0 +1,59 @@
1
+ import { renderDeferred } from "./Render.js";
2
+ const MISSING_ELEMENT_POLL_TIMEOUT = 500; // how often to poll for not-yet-in-DOM friend elements
3
+ const connections = new Map();
4
+ const intervals = new Map();
5
+ const connectToComponent = (options) => {
6
+ const host = options.host;
7
+ const propName = options.propName;
8
+ const friend = host[propName];
9
+ let connectedTo;
10
+ if (friend === undefined || friend === "") {
11
+ connectedTo = undefined; // do not return early even if a "menu" property is not set - it may have been set before and cleanup must run
12
+ }
13
+ else if (friend instanceof HTMLElement) {
14
+ connectedTo = friend;
15
+ }
16
+ else {
17
+ const rootNode = host.getRootNode();
18
+ connectedTo = (rootNode.getElementById && rootNode.getElementById(friend)) || undefined;
19
+ }
20
+ const key = `${host._id}-${propName}`;
21
+ const prevConnectedTo = connections.get(key);
22
+ // Not connected - return undefined
23
+ if (!connectedTo) {
24
+ if (prevConnectedTo) { // but first disconnect, if needed
25
+ options.onDisconnect && options.onDisconnect(prevConnectedTo);
26
+ connections.delete(key);
27
+ }
28
+ // if friend element not in DOM yet, start polling
29
+ if (typeof friend === "string" && friend && !intervals.has(key)) {
30
+ const interval = setInterval(() => {
31
+ const rootNode = host.getRootNode();
32
+ const found = (rootNode.getElementById && rootNode.getElementById(friend));
33
+ if (found) {
34
+ clearInterval(intervals.get(key));
35
+ intervals.delete(key);
36
+ renderDeferred(host);
37
+ }
38
+ }, MISSING_ELEMENT_POLL_TIMEOUT);
39
+ intervals.set(key, interval);
40
+ }
41
+ return;
42
+ }
43
+ // If connected, but still polling, stop polling
44
+ if (intervals.has(key)) {
45
+ clearInterval(intervals.get(key));
46
+ intervals.delete(key);
47
+ }
48
+ // Connected - either for the first time, or to something else
49
+ if (prevConnectedTo !== connectedTo) {
50
+ if (prevConnectedTo) {
51
+ options.onDisconnect && options.onDisconnect(prevConnectedTo);
52
+ }
53
+ options.onConnect && options.onConnect(connectedTo);
54
+ connections.set(key, connectedTo);
55
+ }
56
+ return connections.get(key);
57
+ };
58
+ export default connectToComponent;
59
+ //# sourceMappingURL=connectToComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectToComponent.js","sourceRoot":"","sources":["../src/connectToComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,4BAA4B,GAAG,GAAG,CAAC,CAAC,uDAAuD;AACjG,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AACnD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;AAS9C,MAAM,kBAAkB,GAAG,CAAC,OAAuB,EAA2B,EAAE;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAA6B,CAAqC,CAAC;IAEvF,IAAI,WAAoC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE;QAC1C,WAAW,GAAG,SAAS,CAAC,CAAC,8GAA8G;KACvI;SAAM,IAAI,MAAM,YAAY,WAAW,EAAE;QACzC,WAAW,GAAG,MAAM,CAAC;KACrB;SAAM;QACN,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAc,CAAC;QAChD,WAAW,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC;KACxF;IAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;IACtC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE7C,mCAAmC;IACnC,IAAI,CAAC,WAAW,EAAE;QACjB,IAAI,eAAe,EAAE,EAAE,kCAAkC;YACxD,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC9D,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB;QAED,kDAAkD;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAChE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAc,CAAC;gBAChD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;gBAE3E,IAAI,KAAK,EAAE;oBACV,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtB,cAAc,CAAC,IAAI,CAAC,CAAC;iBACrB;YACF,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACjC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SAC7B;QAED,OAAO;KACP;IAED,gDAAgD;IAChD,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvB,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACtB;IAED,8DAA8D;IAC9D,IAAI,eAAe,KAAK,WAAW,EAAE;QACpC,IAAI,eAAe,EAAE;YACpB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;SAC9D;QACD,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;KAClC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import type UI5Element from \"./UI5Element.js\";\nimport { renderDeferred } from \"./Render.js\";\nimport { Interval } from \"./types.js\";\n\nconst MISSING_ELEMENT_POLL_TIMEOUT = 500; // how often to poll for not-yet-in-DOM friend elements\nconst connections = new Map<string, HTMLElement>();\nconst intervals = new Map<string, Interval>();\n\ntype ConnectOptions = {\n\thost: UI5Element;\n\tpropName: string;\n\tonConnect?: (friend: HTMLElement) => void;\n\tonDisconnect?: (friend: HTMLElement) => void;\n}\n\nconst connectToComponent = (options: ConnectOptions): HTMLElement | undefined => {\n\tconst host = options.host;\n\tconst propName = options.propName;\n\tconst friend = host[propName as keyof typeof host] as HTMLElement | string | undefined;\n\n\tlet connectedTo: HTMLElement | undefined;\n\tif (friend === undefined || friend === \"\") {\n\t\tconnectedTo = undefined; // do not return early even if a \"menu\" property is not set - it may have been set before and cleanup must run\n\t} else if (friend instanceof HTMLElement) {\n\t\tconnectedTo = friend;\n\t} else {\n\t\tconst rootNode = host.getRootNode() as Document;\n\t\tconnectedTo = (rootNode.getElementById && rootNode.getElementById(friend)) || undefined;\n\t}\n\n\tconst key = `${host._id}-${propName}`;\n\tconst prevConnectedTo = connections.get(key);\n\n\t// Not connected - return undefined\n\tif (!connectedTo) {\n\t\tif (prevConnectedTo) { // but first disconnect, if needed\n\t\t\toptions.onDisconnect && options.onDisconnect(prevConnectedTo);\n\t\t\tconnections.delete(key);\n\t\t}\n\n\t\t// if friend element not in DOM yet, start polling\n\t\tif (typeof friend === \"string\" && friend && !intervals.has(key)) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tconst rootNode = host.getRootNode() as Document;\n\t\t\t\tconst found = (rootNode.getElementById && rootNode.getElementById(friend));\n\n\t\t\t\tif (found) {\n\t\t\t\t\tclearInterval(intervals.get(key));\n\t\t\t\t\tintervals.delete(key);\n\t\t\t\t\trenderDeferred(host);\n\t\t\t\t}\n\t\t\t}, MISSING_ELEMENT_POLL_TIMEOUT);\n\t\t\tintervals.set(key, interval);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t// If connected, but still polling, stop polling\n\tif (intervals.has(key)) {\n\t\tclearInterval(intervals.get(key));\n\t\tintervals.delete(key);\n\t}\n\n\t// Connected - either for the first time, or to something else\n\tif (prevConnectedTo !== connectedTo) {\n\t\tif (prevConnectedTo) {\n\t\t\toptions.onDisconnect && options.onDisconnect(prevConnectedTo);\n\t\t}\n\t\toptions.onConnect && options.onConnect(connectedTo);\n\t\tconnections.set(key, connectedTo);\n\t}\n\n\treturn connections.get(key);\n};\n\nexport default connectToComponent;\n"]}
@@ -2,65 +2,95 @@
2
2
  font-family: "72";
3
3
  font-style: normal;
4
4
  font-weight: 400;
5
- src: local("72"),
6
- url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2");
5
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"), local("72");
6
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
7
7
  }
8
8
 
9
9
  @font-face {
10
10
  font-family: "72full";
11
11
  font-style: normal;
12
12
  font-weight: 400;
13
- src: local('72-full'),
14
- url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2");
15
-
13
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"), local('72-full');
16
14
  }
17
15
 
18
16
  @font-face {
19
17
  font-family: "72";
20
18
  font-style: normal;
21
19
  font-weight: 700;
22
- src: local('72-Bold'),
23
- url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
20
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"), local('72-Bold');
21
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
24
22
  }
25
23
 
26
24
  @font-face {
27
25
  font-family: "72full";
28
26
  font-style: normal;
29
27
  font-weight: 700;
30
- src: local('72-Bold-full'),
31
- url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
28
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
32
29
  }
33
30
 
34
31
  @font-face {
35
32
  font-family: '72-Bold';
36
33
  font-style: normal;
37
- src: local('72-Bold'),
38
- url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2");
34
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"), local('72-Bold');
35
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
39
36
  }
40
37
 
41
38
  @font-face {
42
39
  font-family: '72-Boldfull';
43
40
  font-style: normal;
44
- src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
41
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2");
45
42
  }
46
43
 
47
44
  @font-face {
48
45
  font-family: '72-Light';
49
46
  font-style: normal;
50
- src: local('72-Light'),
51
- url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2");
47
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Light.woff2?ui5-webcomponents) format("woff2"), local('72-Light');
48
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
52
49
  }
53
50
 
54
51
  @font-face {
55
52
  font-family: '72-Lightfull';
56
53
  font-style: normal;
57
- src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2");
54
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2");
55
+ }
56
+
57
+ @font-face {
58
+ font-family: '72Mono';
59
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Regular.woff2?ui5-webcomponents) format('woff2'), local('72Mono');
60
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
61
+ }
62
+
63
+ @font-face {
64
+ font-family: '72Monofull';
65
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Regular-full.woff2?ui5-webcomponents) format('woff2');
66
+ }
67
+
68
+ @font-face {
69
+ font-family: '72Mono-Bold';
70
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Bold.woff2?ui5-webcomponents) format('woff2'), local('72Mono-Bold');
71
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
72
+ }
73
+
74
+ @font-face {
75
+ font-family: '72Mono-Boldfull';
76
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Bold-full.woff2?ui5-webcomponents) format('woff2');
58
77
  }
59
78
 
60
79
  @font-face {
61
80
  font-family: "72Black";
62
81
  font-style: bold;
63
82
  font-weight: 900;
64
- src: local('72Black'),
65
- url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2");
83
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2"), local('72Black');
84
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
66
85
  }
86
+
87
+ @font-face {
88
+ font-family: '72Blackfull';
89
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black-full.woff2?ui5-webcomponents) format('woff2');
90
+ }
91
+
92
+ @font-face {
93
+ font-family: "72-SemiboldDuplex";
94
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-SemiboldDuplex.woff2?ui5-webcomponents) format("woff2"), local('72-SemiboldDuplex');
95
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
96
+ }
@@ -7,11 +7,3 @@
7
7
  .sapUiSizeCompact {
8
8
  --_ui5_content_density:compact;
9
9
  }
10
-
11
- [dir="rtl"] {
12
- --_ui5_dir:rtl;
13
- }
14
-
15
- [dir="ltr"] {
16
- --_ui5_dir:ltr;
17
- }
@@ -1,8 +1,23 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+ import type { Renderer } from "../UI5Element.js";
3
+ import type { TemplateFunction as Template } from "../renderer/executeTemplate.js";
4
+ import type { ComponentStylesData as Styles } from "../types.js";
1
5
  /**
2
6
  * Returns a custom element class decorator.
3
7
  *
4
- * @param { string } tag
8
+ * @param { string | object } tagNameOrComponentSettings
5
9
  * @returns { ClassDecorator }
6
10
  */
7
- declare const customElement: (tag: string) => ClassDecorator;
11
+ declare const customElement: (tagNameOrComponentSettings?: string | {
12
+ tag?: string;
13
+ renderer?: Renderer;
14
+ styles?: Styles;
15
+ template?: Template;
16
+ dependencies?: Array<typeof UI5Element>;
17
+ languageAware?: boolean;
18
+ themeAware?: boolean;
19
+ fastNavigation?: boolean;
20
+ formAssociated?: boolean;
21
+ shadowRootOptions?: Partial<ShadowRootInit>;
22
+ }) => ClassDecorator;
8
23
  export default customElement;
@@ -1,15 +1,41 @@
1
1
  /**
2
2
  * Returns a custom element class decorator.
3
3
  *
4
- * @param { string } tag
4
+ * @param { string | object } tagNameOrComponentSettings
5
5
  * @returns { ClassDecorator }
6
6
  */
7
- const customElement = (tag) => {
7
+ const customElement = (tagNameOrComponentSettings = {}) => {
8
8
  return (target) => {
9
- if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
10
- target.decoratorMetadata = {};
9
+ if (!Object.prototype.hasOwnProperty.call(target, "metadata")) {
10
+ target.metadata = {};
11
11
  }
12
- target.decoratorMetadata.tag = tag;
12
+ if (typeof tagNameOrComponentSettings === "string") {
13
+ target.metadata.tag = tagNameOrComponentSettings;
14
+ return;
15
+ }
16
+ const { tag, languageAware, themeAware, fastNavigation, formAssociated, shadowRootOptions, } = tagNameOrComponentSettings;
17
+ target.metadata.tag = tag;
18
+ if (languageAware) {
19
+ target.metadata.languageAware = languageAware;
20
+ }
21
+ if (themeAware) {
22
+ target.metadata.themeAware = themeAware;
23
+ }
24
+ if (fastNavigation) {
25
+ target.metadata.fastNavigation = fastNavigation;
26
+ }
27
+ if (formAssociated) {
28
+ target.metadata.formAssociated = formAssociated;
29
+ }
30
+ if (shadowRootOptions) {
31
+ target.metadata.shadowRootOptions = shadowRootOptions;
32
+ }
33
+ ["renderer", "template", "styles", "dependencies"].forEach((customElementEntity) => {
34
+ const customElementEntityValue = tagNameOrComponentSettings[customElementEntity];
35
+ customElementEntityValue && Object.defineProperty(target, customElementEntity, {
36
+ get: () => tagNameOrComponentSettings[customElementEntity],
37
+ });
38
+ });
13
39
  };
14
40
  };
15
41
  export default customElement;
@@ -1 +1 @@
1
- {"version":3,"file":"customElement.js","sourceRoot":"","sources":["../../src/decorators/customElement.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IACrD,OAAO,CAAC,MAAW,EAAE,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE;YACvE,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC9B;QAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;IACpC,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"customElement.js","sourceRoot":"","sources":["../../src/decorators/customElement.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,6BAWnB,EAAE,EAAkB,EAAE;IACzB,OAAO,CAAC,MAAW,EAAE,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;YAC9D,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;SACrB;QAED,IAAI,OAAO,0BAA0B,KAAK,QAAQ,EAAE;YACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,0BAA0B,CAAC;YACjD,OAAO;SACP;QAED,MAAM,EACL,GAAG,EACH,aAAa,EACb,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,GAChB,GAAG,0BAA0B,CAAC;QAEhC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QAC1B,IAAI,aAAa,EAAE;YAClB,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;SAC9C;QACD,IAAI,UAAU,EAAE;YACf,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;SACxC;QACD,IAAI,cAAc,EAAE;YACnB,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;SAChD;QACD,IAAI,cAAc,EAAE;YACnB,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;SAChD;QAED,IAAI,iBAAiB,EAAE;YACtB,MAAM,CAAC,QAAQ,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;SACtD;QAED,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,mBAA2B,EAAE,EAAE;YAC1F,MAAM,wBAAwB,GAAG,0BAA0B,CAAC,mBAAuC,CAAC,CAAC;YAErG,wBAAwB,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,EAAE;gBAC9E,GAAG,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,mBAAuC,CAAC;aAC9E,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import type UI5Element from \"../UI5Element.js\";\nimport type { Renderer } from \"../UI5Element.js\";\nimport type { TemplateFunction as Template } from \"../renderer/executeTemplate.js\";\nimport type { ComponentStylesData as Styles } from \"../types.js\";\n\n/**\n * Returns a custom element class decorator.\n *\n * @param { string | object } tagNameOrComponentSettings\n * @returns { ClassDecorator }\n */\nconst customElement = (tagNameOrComponentSettings: string | {\n\ttag?: string,\n\trenderer?: Renderer,\n\tstyles?: Styles,\n\ttemplate?: Template,\n\tdependencies?: Array<typeof UI5Element>,\n\tlanguageAware?: boolean,\n\tthemeAware?: boolean,\n\tfastNavigation?: boolean,\n\tformAssociated?: boolean,\n\tshadowRootOptions?: Partial<ShadowRootInit>,\n} = {}): ClassDecorator => {\n\treturn (target: any) => {\n\t\tif (!Object.prototype.hasOwnProperty.call(target, \"metadata\")) {\n\t\t\ttarget.metadata = {};\n\t\t}\n\n\t\tif (typeof tagNameOrComponentSettings === \"string\") {\n\t\t\ttarget.metadata.tag = tagNameOrComponentSettings;\n\t\t\treturn;\n\t\t}\n\n\t\tconst {\n\t\t\ttag,\n\t\t\tlanguageAware,\n\t\t\tthemeAware,\n\t\t\tfastNavigation,\n\t\t\tformAssociated,\n\t\t\tshadowRootOptions,\n\t\t } = tagNameOrComponentSettings;\n\n\t\ttarget.metadata.tag = tag;\n\t\tif (languageAware) {\n\t\t\ttarget.metadata.languageAware = languageAware;\n\t\t}\n\t\tif (themeAware) {\n\t\t\ttarget.metadata.themeAware = themeAware;\n\t\t}\n\t\tif (fastNavigation) {\n\t\t\ttarget.metadata.fastNavigation = fastNavigation;\n\t\t}\n\t\tif (formAssociated) {\n\t\t\ttarget.metadata.formAssociated = formAssociated;\n\t\t}\n\n\t\tif (shadowRootOptions) {\n\t\t\ttarget.metadata.shadowRootOptions = shadowRootOptions;\n\t\t}\n\n\t\t[\"renderer\", \"template\", \"styles\", \"dependencies\"].forEach((customElementEntity: string) => {\n\t\t\tconst customElementEntityValue = tagNameOrComponentSettings[customElementEntity as keyof typeof tag];\n\n\t\t\tcustomElementEntityValue && Object.defineProperty(target, customElementEntity, {\n\t\t\t\tget: () => tagNameOrComponentSettings[customElementEntity as keyof typeof tag],\n\t\t\t});\n\t\t});\n\t};\n};\n\nexport default customElement;\n"]}
@@ -1,4 +1,3 @@
1
- import { EventData } from "../UI5ElementMetadata.js";
2
1
  /**
3
2
  * Returns an event class decorator.
4
3
  *
@@ -6,5 +5,9 @@ import { EventData } from "../UI5ElementMetadata.js";
6
5
  * @param { EventData } data the event data
7
6
  * @returns { ClassDecorator }
8
7
  */
9
- declare const event: (name: string, data?: EventData) => ClassDecorator;
8
+ declare const event: <EventDetail>(name: string, data?: {
9
+ detail?: Record<keyof EventDetail, {
10
+ type: any;
11
+ }> | undefined;
12
+ }) => ClassDecorator;
10
13
  export default event;
@@ -7,14 +7,14 @@
7
7
  */
8
8
  const event = (name, data = {}) => {
9
9
  return (target) => {
10
- if (!Object.prototype.hasOwnProperty.call(target, "decoratorMetadata")) {
11
- target.decoratorMetadata = {};
10
+ if (!Object.prototype.hasOwnProperty.call(target, "metadata")) {
11
+ target.metadata = {};
12
12
  }
13
- const decoratorMetadata = target.decoratorMetadata;
14
- if (!decoratorMetadata.events) {
15
- decoratorMetadata.events = {};
13
+ const metadata = target.metadata;
14
+ if (!metadata.events) {
15
+ metadata.events = {};
16
16
  }
17
- const eventsMetadata = decoratorMetadata.events;
17
+ const eventsMetadata = metadata.events;
18
18
  if (!eventsMetadata[name]) {
19
19
  eventsMetadata[name] = data;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/decorators/event.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAkB,EAAE,EAAkB,EAAE;IACpE,OAAO,CAAC,MAAW,EAAE,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE;YACvE,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC9B;QAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC9B,iBAAiB,CAAC,MAAM,GAAG,EAAE,CAAC;SAC9B;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC1B,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SAC5B;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/decorators/event.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAc,IAAY,EAAE,OAA8D,EAAE,EAAkB,EAAE;IAC7H,OAAO,CAAC,MAAW,EAAE,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;YAC9D,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;SACrB;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACrB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;SACrB;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC1B,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SAC5B;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["/**\n * Returns an event class decorator.\n *\n * @param { string } name the event name\n * @param { EventData } data the event data\n * @returns { ClassDecorator }\n */\nconst event = <EventDetail>(name: string, data: { detail?: Record<keyof EventDetail, { type: any }> } = {}): ClassDecorator => {\n\treturn (target: any) => {\n\t\tif (!Object.prototype.hasOwnProperty.call(target, \"metadata\")) {\n\t\t\ttarget.metadata = {};\n\t\t}\n\n\t\tconst metadata = target.metadata;\n\t\tif (!metadata.events) {\n\t\t\tmetadata.events = {};\n\t\t}\n\n\t\tconst eventsMetadata = metadata.events;\n\t\tif (!eventsMetadata[name]) {\n\t\t\teventsMetadata[name] = data;\n\t\t}\n\t};\n};\n\nexport default event;\n"]}
@@ -7,14 +7,14 @@
7
7
  const property = (propData) => {
8
8
  return (target, propertyKey) => {
9
9
  const ctor = target.constructor;
10
- if (!Object.prototype.hasOwnProperty.call(ctor, "decoratorMetadata")) {
11
- ctor.decoratorMetadata = {};
10
+ if (!Object.prototype.hasOwnProperty.call(ctor, "metadata")) {
11
+ ctor.metadata = {};
12
12
  }
13
- const decoratorMetadata = ctor.decoratorMetadata;
14
- if (!decoratorMetadata.properties) {
15
- decoratorMetadata.properties = {};
13
+ const metadata = ctor.metadata;
14
+ if (!metadata.properties) {
15
+ metadata.properties = {};
16
16
  }
17
- const propsMetadata = decoratorMetadata.properties;
17
+ const propsMetadata = metadata.properties;
18
18
  if (!propsMetadata[propertyKey]) {
19
19
  propsMetadata[propertyKey] = propData || { type: String };
20
20
  }