@ui5/webcomponents-base 0.0.0-2c7615fe9 → 0.0.0-2cf9f07f8

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 (631) hide show
  1. package/.eslintignore +8 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +777 -0
  4. package/README.md +57 -7
  5. package/bundle.esm.js +23 -13
  6. package/config/wdio.conf.cjs +400 -0
  7. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  8. package/dist/AssetRegistry.js +2 -7
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +56 -28
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +69 -30
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -108
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  23. package/dist/CustomElementsScopeUtils.js +102 -0
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -54
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +150 -86
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -79
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +17 -110
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/IgnoreCustomElements.d.ts +27 -0
  41. package/dist/IgnoreCustomElements.js +39 -0
  42. package/dist/IgnoreCustomElements.js.map +1 -0
  43. package/dist/InitialConfiguration.d.ts +27 -0
  44. package/dist/InitialConfiguration.js +121 -127
  45. package/dist/InitialConfiguration.js.map +1 -0
  46. package/dist/Keys.d.ts +61 -0
  47. package/dist/Keys.js +178 -244
  48. package/dist/Keys.js.map +1 -0
  49. package/dist/ManagedStyles.d.ts +8 -0
  50. package/dist/ManagedStyles.js +78 -0
  51. package/dist/ManagedStyles.js.map +1 -0
  52. package/dist/MarkedEvents.d.ts +9 -0
  53. package/dist/MarkedEvents.js +15 -0
  54. package/dist/MarkedEvents.js.map +1 -0
  55. package/dist/MediaRange.d.ts +37 -0
  56. package/dist/MediaRange.js +54 -65
  57. package/dist/MediaRange.js.map +1 -0
  58. package/dist/PropertiesFileFormat.d.ts +8 -0
  59. package/dist/PropertiesFileFormat.js +72 -82
  60. package/dist/PropertiesFileFormat.js.map +1 -0
  61. package/dist/Render.d.ts +47 -0
  62. package/dist/Render.js +82 -112
  63. package/dist/Render.js.map +1 -0
  64. package/dist/RenderQueue.d.ts +19 -0
  65. package/dist/RenderQueue.js +52 -62
  66. package/dist/RenderQueue.js.map +1 -0
  67. package/dist/Runtimes.d.ts +27 -0
  68. package/dist/Runtimes.js +86 -0
  69. package/dist/Runtimes.js.map +1 -0
  70. package/dist/StaticArea.d.ts +3 -0
  71. package/dist/StaticArea.js +5 -1
  72. package/dist/StaticArea.js.map +1 -0
  73. package/dist/StaticAreaItem.d.ts +37 -0
  74. package/dist/StaticAreaItem.js +88 -93
  75. package/dist/StaticAreaItem.js.map +1 -0
  76. package/dist/SystemCSSVars.d.ts +2 -0
  77. package/dist/SystemCSSVars.js +6 -28
  78. package/dist/SystemCSSVars.js.map +1 -0
  79. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  80. package/dist/Theming.js +1 -1
  81. package/dist/Theming.js.map +1 -0
  82. package/dist/UI5Element.d.ts +380 -0
  83. package/dist/UI5Element.js +928 -989
  84. package/dist/UI5Element.js.map +1 -0
  85. package/dist/UI5ElementMetadata.d.ts +150 -0
  86. package/dist/UI5ElementMetadata.js +278 -298
  87. package/dist/UI5ElementMetadata.js.map +1 -0
  88. package/dist/animations/AnimationQueue.d.ts +8 -0
  89. package/dist/animations/AnimationQueue.js +31 -38
  90. package/dist/animations/AnimationQueue.js.map +1 -0
  91. package/dist/animations/animate.d.ts +14 -0
  92. package/dist/animations/animate.js +46 -51
  93. package/dist/animations/animate.js.map +1 -0
  94. package/dist/animations/scroll.d.ts +5 -0
  95. package/dist/animations/scroll.js +18 -27
  96. package/dist/animations/scroll.js.map +1 -0
  97. package/dist/animations/slideDown.d.ts +5 -0
  98. package/dist/animations/slideDown.js +53 -78
  99. package/dist/animations/slideDown.js.map +1 -0
  100. package/dist/animations/slideUp.d.ts +5 -0
  101. package/dist/animations/slideUp.js +49 -70
  102. package/dist/animations/slideUp.js.map +1 -0
  103. package/dist/api.json +1 -0
  104. package/dist/asset-registries/Icons.d.ts +39 -0
  105. package/dist/asset-registries/Icons.js +120 -112
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +18 -0
  108. package/dist/asset-registries/Illustrations.js +80 -18
  109. package/dist/asset-registries/Illustrations.js.map +1 -0
  110. package/dist/asset-registries/LocaleData.d.ts +7 -0
  111. package/dist/asset-registries/LocaleData.js +104 -118
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +11 -0
  114. package/dist/asset-registries/Themes.js +40 -66
  115. package/dist/asset-registries/Themes.js.map +1 -0
  116. package/dist/asset-registries/i18n.d.ts +23 -0
  117. package/dist/asset-registries/i18n.js +61 -81
  118. package/dist/asset-registries/i18n.js.map +1 -0
  119. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  120. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  121. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  122. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  123. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  124. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  125. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  126. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  127. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  128. package/dist/assets/Boot.34b7cea0.css +1 -0
  129. package/dist/assets/Boot.d9d05525.js +9 -0
  130. package/dist/assets/bundle.esm.f99c9fc6.js +50 -0
  131. package/dist/config/AnimationMode.d.ts +14 -0
  132. package/dist/config/AnimationMode.js +21 -18
  133. package/dist/config/AnimationMode.js.map +1 -0
  134. package/dist/config/CalendarType.d.ts +8 -0
  135. package/dist/config/CalendarType.js +13 -12
  136. package/dist/config/CalendarType.js.map +1 -0
  137. package/dist/config/FormatSettings.d.ts +15 -0
  138. package/dist/config/FormatSettings.js +15 -9
  139. package/dist/config/FormatSettings.js.map +1 -0
  140. package/dist/config/Icons.d.ts +40 -0
  141. package/dist/config/Icons.js +44 -0
  142. package/dist/config/Icons.js.map +1 -0
  143. package/dist/config/Language.d.ts +40 -0
  144. package/dist/config/Language.js +43 -43
  145. package/dist/config/Language.js.map +1 -0
  146. package/dist/config/NoConflict.d.ts +20 -0
  147. package/dist/config/NoConflict.js +41 -41
  148. package/dist/config/NoConflict.js.map +1 -0
  149. package/dist/config/RTL.d.ts +7 -0
  150. package/dist/config/RTL.js +26 -20
  151. package/dist/config/RTL.js.map +1 -0
  152. package/dist/config/Theme.d.ts +38 -0
  153. package/dist/config/Theme.js +64 -22
  154. package/dist/config/Theme.js.map +1 -0
  155. package/dist/config/ThemeRoot.d.ts +29 -0
  156. package/dist/config/ThemeRoot.js +59 -0
  157. package/dist/config/ThemeRoot.js.map +1 -0
  158. package/dist/config/Timezone.d.ts +17 -0
  159. package/dist/config/Timezone.js +30 -0
  160. package/dist/config/Timezone.js.map +1 -0
  161. package/dist/connectToComponent.d.ts +9 -0
  162. package/dist/connectToComponent.js +59 -0
  163. package/dist/connectToComponent.js.map +1 -0
  164. package/dist/css/BusyIndicator.css +80 -0
  165. package/dist/css/FontFace.css +84 -0
  166. package/dist/css/OverrideFontFace.css +32 -0
  167. package/dist/css/SystemCSSVars.css +17 -0
  168. package/dist/decorators/customElement.d.ts +23 -0
  169. package/dist/decorators/customElement.js +37 -0
  170. package/dist/decorators/customElement.js.map +1 -0
  171. package/dist/decorators/event.d.ts +10 -0
  172. package/dist/decorators/event.js +24 -0
  173. package/dist/decorators/event.js.map +1 -0
  174. package/dist/decorators/property.d.ts +9 -0
  175. package/dist/decorators/property.js +24 -0
  176. package/dist/decorators/property.js.map +1 -0
  177. package/dist/decorators/slot.d.ts +9 -0
  178. package/dist/decorators/slot.js +37 -0
  179. package/dist/decorators/slot.js.map +1 -0
  180. package/dist/delegate/ItemNavigation.d.ts +113 -0
  181. package/dist/delegate/ItemNavigation.js +277 -312
  182. package/dist/delegate/ItemNavigation.js.map +1 -0
  183. package/dist/delegate/ResizeHandler.d.ts +25 -0
  184. package/dist/delegate/ResizeHandler.js +72 -91
  185. package/dist/delegate/ResizeHandler.js.map +1 -0
  186. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  187. package/dist/delegate/ScrollEnablement.js +157 -180
  188. package/dist/delegate/ScrollEnablement.js.map +1 -0
  189. package/dist/features/F6Navigation.d.ts +19 -0
  190. package/dist/features/F6Navigation.js +151 -0
  191. package/dist/features/F6Navigation.js.map +1 -0
  192. package/dist/features/LegacyDateFormats.d.ts +18 -0
  193. package/dist/features/LegacyDateFormats.js +20 -0
  194. package/dist/features/LegacyDateFormats.js.map +1 -0
  195. package/dist/features/OpenUI5Element.d.ts +9 -0
  196. package/dist/features/OpenUI5Element.js +5 -0
  197. package/dist/features/OpenUI5Element.js.map +1 -0
  198. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  199. package/dist/features/OpenUI5Enablement.js +96 -0
  200. package/dist/features/OpenUI5Enablement.js.map +1 -0
  201. package/dist/features/OpenUI5Support.d.ts +36 -0
  202. package/dist/features/OpenUI5Support.js +150 -121
  203. package/dist/features/OpenUI5Support.js.map +1 -0
  204. package/dist/generated/AssetParameters.js +3 -1
  205. package/dist/generated/VersionInfo.js +10 -0
  206. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  207. package/dist/generated/css/BusyIndicator.css.js +7 -0
  208. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  209. package/dist/generated/css/FontFace.css.d.ts +3 -0
  210. package/dist/generated/css/FontFace.css.js +7 -0
  211. package/dist/generated/css/FontFace.css.js.map +1 -0
  212. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  213. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  214. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  215. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  216. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  217. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  218. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  219. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  220. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  221. package/dist/getSharedResource.d.ts +11 -0
  222. package/dist/getSharedResource.js +28 -18
  223. package/dist/getSharedResource.js.map +1 -0
  224. package/dist/global.d.ts +40 -0
  225. package/dist/i18nBundle.d.ts +43 -0
  226. package/dist/i18nBundle.js +68 -44
  227. package/dist/i18nBundle.js.map +1 -0
  228. package/dist/locale/Locale.d.ts +22 -0
  229. package/dist/locale/Locale.js +75 -87
  230. package/dist/locale/Locale.js.map +1 -0
  231. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  232. package/dist/locale/RTLAwareRegistry.js +6 -11
  233. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  234. package/dist/locale/applyDirection.d.ts +10 -0
  235. package/dist/locale/applyDirection.js +7 -7
  236. package/dist/locale/applyDirection.js.map +1 -0
  237. package/dist/locale/directionChange.d.ts +15 -0
  238. package/dist/locale/directionChange.js +7 -15
  239. package/dist/locale/directionChange.js.map +1 -0
  240. package/dist/locale/getEffectiveDir.d.ts +2 -0
  241. package/dist/locale/getEffectiveDir.js +20 -24
  242. package/dist/locale/getEffectiveDir.js.map +1 -0
  243. package/dist/locale/getLocale.d.ts +7 -0
  244. package/dist/locale/getLocale.js +26 -29
  245. package/dist/locale/getLocale.js.map +1 -0
  246. package/dist/locale/languageChange.d.ts +5 -0
  247. package/dist/locale/languageChange.js +8 -16
  248. package/dist/locale/languageChange.js.map +1 -0
  249. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  250. package/dist/locale/nextFallbackLocale.js +15 -19
  251. package/dist/locale/nextFallbackLocale.js.map +1 -0
  252. package/dist/locale/normalizeLocale.d.ts +7 -0
  253. package/dist/locale/normalizeLocale.js +34 -41
  254. package/dist/locale/normalizeLocale.js.map +1 -0
  255. package/dist/renderer/LitRenderer.d.ts +14 -0
  256. package/dist/renderer/LitRenderer.js +32 -23
  257. package/dist/renderer/LitRenderer.js.map +1 -0
  258. package/dist/renderer/directives/style-map.js +72 -0
  259. package/dist/renderer/executeTemplate.d.ts +13 -0
  260. package/dist/renderer/executeTemplate.js +20 -7
  261. package/dist/renderer/executeTemplate.js.map +1 -0
  262. package/dist/sap/base/Log.js +28 -37
  263. package/dist/sap/base/assert.js +5 -10
  264. package/dist/sap/base/security/URLListValidator.js +13 -2
  265. package/dist/sap/base/security/encodeCSS.js +14 -0
  266. package/dist/sap/base/security/encodeXML.js +23 -0
  267. package/dist/sap/base/strings/toHex.js +8 -0
  268. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
  269. package/dist/theming/CustomStyle.d.ts +6 -0
  270. package/dist/theming/CustomStyle.js +39 -31
  271. package/dist/theming/CustomStyle.js.map +1 -0
  272. package/dist/theming/ThemeLoaded.d.ts +5 -0
  273. package/dist/theming/ThemeLoaded.js +8 -16
  274. package/dist/theming/ThemeLoaded.js.map +1 -0
  275. package/dist/theming/ThemeRegistered.d.ts +4 -0
  276. package/dist/theming/ThemeRegistered.js +11 -0
  277. package/dist/theming/ThemeRegistered.js.map +1 -0
  278. package/dist/theming/applyTheme.d.ts +2 -0
  279. package/dist/theming/applyTheme.js +63 -65
  280. package/dist/theming/applyTheme.js.map +1 -0
  281. package/dist/theming/getConstructableStyle.d.ts +9 -0
  282. package/dist/theming/getConstructableStyle.js +12 -17
  283. package/dist/theming/getConstructableStyle.js.map +1 -0
  284. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  285. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  286. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  287. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  288. package/dist/theming/getEffectiveStyle.js +25 -23
  289. package/dist/theming/getEffectiveStyle.js.map +1 -0
  290. package/dist/theming/getStylesString.d.ts +3 -0
  291. package/dist/theming/getStylesString.js +9 -11
  292. package/dist/theming/getStylesString.js.map +1 -0
  293. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  294. package/dist/theming/getThemeDesignerTheme.js +73 -60
  295. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  296. package/dist/theming/preloadLinks.d.ts +3 -0
  297. package/dist/theming/preloadLinks.js +19 -0
  298. package/dist/theming/preloadLinks.js.map +1 -0
  299. package/dist/thirdparty/_merge.d.ts +2 -0
  300. package/dist/thirdparty/_merge.js +7 -4
  301. package/dist/thirdparty/_merge.js.map +1 -0
  302. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  303. package/dist/thirdparty/isPlainObject.js +11 -10
  304. package/dist/thirdparty/isPlainObject.js.map +1 -0
  305. package/dist/thirdparty/merge.d.ts +2 -0
  306. package/dist/thirdparty/merge.js +4 -8
  307. package/dist/thirdparty/merge.js.map +1 -0
  308. package/dist/types/AnimationMode.d.ts +32 -0
  309. package/dist/types/AnimationMode.js +33 -6
  310. package/dist/types/AnimationMode.js.map +1 -0
  311. package/dist/types/CSSColor.d.ts +15 -0
  312. package/dist/types/CSSColor.js +14 -5
  313. package/dist/types/CSSColor.js.map +1 -0
  314. package/dist/types/CalendarType.d.ts +37 -0
  315. package/dist/types/CalendarType.js +35 -18
  316. package/dist/types/CalendarType.js.map +1 -0
  317. package/dist/types/DOMReference.d.ts +17 -0
  318. package/dist/types/DOMReference.js +25 -0
  319. package/dist/types/DOMReference.js.map +1 -0
  320. package/dist/types/DataType.d.ts +25 -0
  321. package/dist/types/DataType.js +33 -26
  322. package/dist/types/DataType.js.map +1 -0
  323. package/dist/types/Float.d.ts +17 -0
  324. package/dist/types/Float.js +17 -10
  325. package/dist/types/Float.js.map +1 -0
  326. package/dist/types/Integer.d.ts +17 -0
  327. package/dist/types/Integer.js +17 -9
  328. package/dist/types/Integer.js.map +1 -0
  329. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  330. package/dist/types/InvisibleMessageMode.js +20 -23
  331. package/dist/types/InvisibleMessageMode.js.map +1 -0
  332. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  333. package/dist/types/ItemNavigationBehavior.js +22 -12
  334. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  335. package/dist/types/NavigationMode.d.ts +32 -0
  336. package/dist/types/NavigationMode.js +33 -6
  337. package/dist/types/NavigationMode.js.map +1 -0
  338. package/dist/types/ValueState.d.ts +42 -0
  339. package/dist/types/ValueState.js +41 -19
  340. package/dist/types/ValueState.js.map +1 -0
  341. package/dist/types.d.ts +18 -0
  342. package/dist/types.js +2 -0
  343. package/dist/types.js.map +1 -0
  344. package/dist/updateShadowRoot.d.ts +8 -0
  345. package/dist/updateShadowRoot.js +32 -16
  346. package/dist/updateShadowRoot.js.map +1 -0
  347. package/dist/util/AriaLabelHelper.d.ts +15 -0
  348. package/dist/util/AriaLabelHelper.js +166 -36
  349. package/dist/util/AriaLabelHelper.js.map +1 -0
  350. package/dist/util/Caret.d.ts +7 -0
  351. package/dist/util/Caret.js +16 -38
  352. package/dist/util/Caret.js.map +1 -0
  353. package/dist/util/ColorConversion.d.ts +30 -0
  354. package/dist/util/ColorConversion.js +315 -348
  355. package/dist/util/ColorConversion.js.map +1 -0
  356. package/dist/util/FetchHelper.d.ts +3 -0
  357. package/dist/util/FetchHelper.js +19 -25
  358. package/dist/util/FetchHelper.js.map +1 -0
  359. package/dist/util/FocusableElements.d.ts +4 -0
  360. package/dist/util/FocusableElements.js +67 -72
  361. package/dist/util/FocusableElements.js.map +1 -0
  362. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  363. package/dist/util/HTMLSanitizer.js +4 -5
  364. package/dist/util/HTMLSanitizer.js.map +1 -0
  365. package/dist/util/InvisibleMessage.d.ts +10 -0
  366. package/dist/util/InvisibleMessage.js +42 -44
  367. package/dist/util/InvisibleMessage.js.map +1 -0
  368. package/dist/util/PopupUtils.d.ts +7 -0
  369. package/dist/util/PopupUtils.js +58 -77
  370. package/dist/util/PopupUtils.js.map +1 -0
  371. package/dist/util/SlotsHelper.d.ts +9 -0
  372. package/dist/util/SlotsHelper.js +22 -35
  373. package/dist/util/SlotsHelper.js.map +1 -0
  374. package/dist/util/StringHelper.d.ts +3 -0
  375. package/dist/util/StringHelper.js +17 -20
  376. package/dist/util/StringHelper.js.map +1 -0
  377. package/dist/util/TabbableElements.d.ts +17 -0
  378. package/dist/util/TabbableElements.js +53 -43
  379. package/dist/util/TabbableElements.js.map +1 -0
  380. package/dist/util/arraysAreEqual.d.ts +2 -0
  381. package/dist/util/arraysAreEqual.js +10 -12
  382. package/dist/util/arraysAreEqual.js.map +1 -0
  383. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  384. package/dist/util/clamp.js +2 -2
  385. package/dist/util/clamp.js.map +1 -0
  386. package/dist/util/createLinkInHead.d.ts +7 -0
  387. package/dist/util/createLinkInHead.js +21 -0
  388. package/dist/util/createLinkInHead.js.map +1 -0
  389. package/dist/util/createStyleInHead.d.ts +8 -0
  390. package/dist/util/createStyleInHead.js +10 -10
  391. package/dist/util/createStyleInHead.js.map +1 -0
  392. package/dist/util/debounce.d.ts +2 -0
  393. package/dist/util/debounce.js +6 -8
  394. package/dist/util/debounce.js.map +1 -0
  395. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  396. package/dist/util/detectNavigatorLanguage.js +7 -10
  397. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  398. package/dist/util/escapeRegex.d.ts +8 -0
  399. package/dist/util/escapeRegex.js +11 -0
  400. package/dist/util/escapeRegex.js.map +1 -0
  401. package/dist/util/formatMessage.d.ts +2 -0
  402. package/dist/util/formatMessage.js +15 -19
  403. package/dist/util/formatMessage.js.map +1 -0
  404. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  405. package/dist/util/generateHighlightedMarkup.js +41 -0
  406. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  407. package/dist/util/getActiveElement.d.ts +2 -0
  408. package/dist/util/getActiveElement.js +6 -8
  409. package/dist/util/getActiveElement.js.map +1 -0
  410. package/dist/util/getClassCopy.d.ts +400 -0
  411. package/dist/util/getClassCopy.js +7 -7
  412. package/dist/util/getClassCopy.js.map +1 -0
  413. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  414. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  415. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  416. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  417. package/dist/util/getEffectiveContentDensity.js +2 -3
  418. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  419. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  420. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  421. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  422. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  423. package/dist/util/getFastNavigationGroups.js +51 -0
  424. package/dist/util/getFastNavigationGroups.js.map +1 -0
  425. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  426. package/dist/util/getFileExtension.js +9 -11
  427. package/dist/util/getFileExtension.js.map +1 -0
  428. package/dist/util/getNormalizedTarget.d.ts +7 -0
  429. package/dist/util/getNormalizedTarget.js +14 -0
  430. package/dist/util/getNormalizedTarget.js.map +1 -0
  431. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  432. package/dist/util/getSingletonElementInstance.js +17 -11
  433. package/dist/util/getSingletonElementInstance.js.map +1 -0
  434. package/dist/util/isElementClickable.d.ts +2 -0
  435. package/dist/util/isElementClickable.js +16 -0
  436. package/dist/util/isElementClickable.js.map +1 -0
  437. package/dist/util/isElementHidden.d.ts +2 -0
  438. package/dist/util/isElementHidden.js +8 -0
  439. package/dist/util/isElementHidden.js.map +1 -0
  440. package/dist/util/isElementInView.d.ts +6 -0
  441. package/dist/util/isElementInView.js +6 -9
  442. package/dist/util/isElementInView.js.map +1 -0
  443. package/dist/util/isElementTabbable.d.ts +9 -0
  444. package/dist/util/isElementTabbable.js +30 -0
  445. package/dist/util/isElementTabbable.js.map +1 -0
  446. package/dist/util/isValidPropertyName.d.ts +8 -0
  447. package/dist/util/isValidPropertyName.js +16 -17
  448. package/dist/util/isValidPropertyName.js.map +1 -0
  449. package/dist/util/whenDOMReady.d.ts +2 -0
  450. package/dist/util/whenDOMReady.js +11 -10
  451. package/dist/util/whenDOMReady.js.map +1 -0
  452. package/dist/util/willShowContent.d.ts +2 -0
  453. package/dist/util/willShowContent.js +7 -0
  454. package/dist/util/willShowContent.js.map +1 -0
  455. package/dist/validateThemeRoot.d.ts +2 -0
  456. package/dist/validateThemeRoot.js +48 -0
  457. package/dist/validateThemeRoot.js.map +1 -0
  458. package/index.js +227 -1
  459. package/lib/generate-asset-parameters/index.js +11 -6
  460. package/lib/generate-styles/index.js +31 -0
  461. package/lib/generate-version-info/index.js +32 -0
  462. package/package-scripts.cjs +71 -0
  463. package/package.json +12 -12
  464. package/src/css/BusyIndicator.css +80 -0
  465. package/src/css/FontFace.css +84 -0
  466. package/src/css/OverrideFontFace.css +32 -0
  467. package/src/css/SystemCSSVars.css +17 -0
  468. package/src/renderer/directives/style-map.js +72 -0
  469. package/tsconfig.json +14 -0
  470. package/used-modules.txt +4 -1
  471. package/config/rollup.config.js +0 -1
  472. package/config/wdio.conf.js +0 -1
  473. package/dist/RenderScheduler.js +0 -44
  474. package/dist/animations/config.js +0 -5
  475. package/dist/config/AssetsPath.js +0 -17
  476. package/dist/isLegacyBrowser.js +0 -3
  477. package/dist/resources/bundle.esm.js +0 -26
  478. package/dist/resources/bundle.esm.js.map +0 -1
  479. package/dist/test-resources/assets/Themes.js +0 -17
  480. package/dist/test-resources/elements/Child.js +0 -35
  481. package/dist/test-resources/elements/Generic.js +0 -84
  482. package/dist/test-resources/elements/GenericExt.js +0 -26
  483. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  484. package/dist/test-resources/elements/Parent.js +0 -41
  485. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  486. package/dist/test-resources/pages/AllTestElements.html +0 -42
  487. package/dist/test-resources/pages/Configuration.html +0 -18
  488. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  489. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  490. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  491. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  492. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  493. package/dist/test-resources/pages/i18n.html +0 -35
  494. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  495. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  496. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  497. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  498. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  499. package/dist/test-resources/specs/Theming.spec.js +0 -33
  500. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  501. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  502. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  503. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  504. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  505. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  506. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  507. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  508. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  509. package/dist/types/CSSSize.js +0 -9
  510. package/dist/types/PopupState.js +0 -37
  511. package/dist/util/encodeCSS.js +0 -24
  512. package/dist/util/findNodeOwner.js +0 -35
  513. package/dist/util/isDescendantOf.js +0 -15
  514. package/dist/util/isNodeClickable.js +0 -19
  515. package/dist/util/isNodeHidden.js +0 -9
  516. package/dist/util/isNodeTabbable.js +0 -28
  517. package/dist/util/setToArray.js +0 -10
  518. package/hash.txt +0 -1
  519. package/package-scripts.js +0 -62
  520. package/src/Boot.js +0 -43
  521. package/src/CustomElementsRegistry.js +0 -39
  522. package/src/CustomElementsScope.js +0 -108
  523. package/src/DOMObserver.js +0 -65
  524. package/src/Device.js +0 -102
  525. package/src/EventProvider.js +0 -82
  526. package/src/FeaturesRegistry.js +0 -11
  527. package/src/FontFace.js +0 -118
  528. package/src/InitialConfiguration.js +0 -162
  529. package/src/Keys.js +0 -248
  530. package/src/MediaRange.js +0 -109
  531. package/src/PropertiesFileFormat.js +0 -95
  532. package/src/Render.js +0 -173
  533. package/src/RenderQueue.js +0 -66
  534. package/src/RenderScheduler.js +0 -44
  535. package/src/StaticArea.js +0 -3
  536. package/src/StaticAreaItem.js +0 -107
  537. package/src/SystemCSSVars.js +0 -31
  538. package/src/UI5Element.js +0 -1026
  539. package/src/UI5ElementMetadata.js +0 -311
  540. package/src/animations/AnimationQueue.js +0 -42
  541. package/src/animations/animate.js +0 -53
  542. package/src/animations/config.js +0 -5
  543. package/src/animations/scroll.js +0 -28
  544. package/src/animations/slideDown.js +0 -79
  545. package/src/animations/slideUp.js +0 -71
  546. package/src/asset-registries/Icons.js +0 -128
  547. package/src/asset-registries/Illustrations.js +0 -23
  548. package/src/asset-registries/LocaleData.js +0 -150
  549. package/src/asset-registries/Themes.js +0 -78
  550. package/src/asset-registries/i18n.js +0 -121
  551. package/src/config/AnimationMode.js +0 -23
  552. package/src/config/AssetsPath.js +0 -17
  553. package/src/config/CalendarType.js +0 -18
  554. package/src/config/FormatSettings.js +0 -13
  555. package/src/config/Language.js +0 -68
  556. package/src/config/NoConflict.js +0 -51
  557. package/src/config/RTL.js +0 -31
  558. package/src/config/Theme.js +0 -28
  559. package/src/delegate/ItemNavigation.js +0 -351
  560. package/src/delegate/ResizeHandler.js +0 -106
  561. package/src/delegate/ScrollEnablement.js +0 -188
  562. package/src/features/OpenUI5Support.js +0 -125
  563. package/src/getSharedResource.js +0 -30
  564. package/src/i18nBundle.js +0 -55
  565. package/src/isLegacyBrowser.js +0 -3
  566. package/src/locale/Locale.js +0 -91
  567. package/src/locale/RTLAwareRegistry.js +0 -14
  568. package/src/locale/applyDirection.js +0 -17
  569. package/src/locale/directionChange.js +0 -32
  570. package/src/locale/getEffectiveDir.js +0 -28
  571. package/src/locale/getLocale.js +0 -41
  572. package/src/locale/languageChange.js +0 -22
  573. package/src/locale/nextFallbackLocale.js +0 -28
  574. package/src/locale/normalizeLocale.js +0 -54
  575. package/src/renderer/LitRenderer.js +0 -32
  576. package/src/renderer/executeTemplate.js +0 -17
  577. package/src/theming/CustomStyle.js +0 -40
  578. package/src/theming/ThemeLoaded.js +0 -22
  579. package/src/theming/applyTheme.js +0 -78
  580. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  581. package/src/theming/getConstructableStyle.js +0 -30
  582. package/src/theming/getEffectiveStyle.js +0 -30
  583. package/src/theming/getStylesString.js +0 -13
  584. package/src/theming/getThemeDesignerTheme.js +0 -67
  585. package/src/thirdparty/_merge.js +0 -32
  586. package/src/thirdparty/isPlainObject.js +0 -18
  587. package/src/thirdparty/merge.js +0 -10
  588. package/src/types/AnimationMode.js +0 -7
  589. package/src/types/CSSColor.js +0 -9
  590. package/src/types/CSSSize.js +0 -9
  591. package/src/types/CalendarType.js +0 -22
  592. package/src/types/DataType.js +0 -37
  593. package/src/types/Float.js +0 -14
  594. package/src/types/Integer.js +0 -13
  595. package/src/types/InvisibleMessageMode.js +0 -30
  596. package/src/types/ItemNavigationBehavior.js +0 -16
  597. package/src/types/NavigationMode.js +0 -7
  598. package/src/types/PopupState.js +0 -37
  599. package/src/types/ValueState.js +0 -22
  600. package/src/updateShadowRoot.js +0 -26
  601. package/src/util/AriaLabelHelper.js +0 -41
  602. package/src/util/Caret.js +0 -45
  603. package/src/util/ColorConversion.js +0 -370
  604. package/src/util/FetchHelper.js +0 -31
  605. package/src/util/FocusableElements.js +0 -77
  606. package/src/util/InvisibleMessage.js +0 -58
  607. package/src/util/PopupUtils.js +0 -93
  608. package/src/util/SlotsHelper.js +0 -43
  609. package/src/util/StringHelper.js +0 -26
  610. package/src/util/TabbableElements.js +0 -47
  611. package/src/util/arraysAreEqual.js +0 -15
  612. package/src/util/createStyleInHead.js +0 -18
  613. package/src/util/debounce.js +0 -17
  614. package/src/util/detectNavigatorLanguage.js +0 -13
  615. package/src/util/encodeCSS.js +0 -24
  616. package/src/util/findNodeOwner.js +0 -35
  617. package/src/util/formatMessage.js +0 -23
  618. package/src/util/getActiveElement.js +0 -11
  619. package/src/util/getClassCopy.js +0 -10
  620. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  621. package/src/util/getEffectiveContentDensity.js +0 -5
  622. package/src/util/getSingletonElementInstance.js +0 -13
  623. package/src/util/isDescendantOf.js +0 -15
  624. package/src/util/isElementInView.js +0 -15
  625. package/src/util/isNodeClickable.js +0 -19
  626. package/src/util/isNodeHidden.js +0 -9
  627. package/src/util/isNodeTabbable.js +0 -28
  628. package/src/util/isValidPropertyName.js +0 -29
  629. package/src/util/setToArray.js +0 -10
  630. package/src/util/whenDOMReady.js +0 -13
  631. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,9 @@
1
+ /* eslint no-unused-vars: 0 */
2
+ import { html, repeat, ifDefined } from "../../../renderer/LitRenderer.js";
3
+ function block0(context, tags, suffix) { return html `<div>Root text: ${ifDefined(this.text)}${repeat(this.items, (item, index) => item._id || index, (item, index) => block1.call(this, context, tags, suffix, item, index))} Root text: ${ifDefined(this.text)}</div>`; }
4
+ function block1(context, tags, suffix, item, index) { return html `<h3>Item-${index}</h3>${item.text ? block2.call(this, context, tags, suffix, item, index) : undefined}<ul>${repeat(item.words, (item, index) => item._id || index, (item, index) => block3.call(this, context, tags, suffix, item, index))}</ul>${item.text ? block4.call(this, context, tags, suffix, item, index) : undefined}`; }
5
+ function block2(context, tags, suffix, item, index) { return html `<div class="before-each-content--start--${index}">Root text: ${ifDefined(this.text)}, Item text: ${ifDefined(item.text)}</div>`; }
6
+ function block3(context, tags, suffix, item, index) { return html `<li><h3>Word-${index}</h3><div class="nested-each-content--${index}--0">Root Text: ${ifDefined(this.text)}, Word text: ${ifDefined(item.text)}</div><div class="nested-each-content--${index}--1">Root Text: ${ifDefined(this.text)}, Word text: ${ifDefined(item.text)}</div></li>`; }
7
+ function block4(context, tags, suffix, item, index) { return html `<div class="after-each-content--end--${index}">Root text: ${ifDefined(this.text)}, Item text: ${ifDefined(item.text)}</div>`; }
8
+ export default block0;
9
+ //# sourceMappingURL=WithComplexTemplateTemplate.lit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WithComplexTemplateTemplate.lit.js","sourceRoot":"","sources":["../../../../src/generated/templates/elements/WithComplexTemplateTemplate.lit.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,IAAI,EAAO,MAAM,EAAsB,SAAS,EAAwB,MAAM,kCAAkC,CAAC;AAK1H,SAAS,MAAM,CAA6B,OAAmB,EAAE,IAAc,EAAE,MAA0B,IAAI,OAAO,IAAI,CAAA,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAE,IAAkC,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAE,eAAe,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC;AACxX,SAAS,MAAM,CAA6B,OAAmB,EAAE,IAAc,EAAE,MAA0B,EAAE,IAAS,EAAE,KAAa,IAAI,OAAO,IAAI,CAAA,YAAY,KAAK,QAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAU,OAAQ,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAE,IAAkC,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAE,QAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAU,EAAE,CAAC,CAAA,CAAC;AACrgB,SAAS,MAAM,CAA6B,OAAmB,EAAE,IAAc,EAAE,MAA0B,EAAE,IAAS,EAAE,KAAa,IAAI,OAAO,IAAI,CAAA,2CAA2C,KAAK,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC;AACtR,SAAS,MAAM,CAA6B,OAAmB,EAAE,IAAc,EAAE,MAA0B,EAAE,IAAS,EAAE,KAAa,IAAI,OAAO,IAAI,CAAA,gBAAgB,KAAK,yCAAyC,KAAK,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,KAAK,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA,CAAC;AAC3a,SAAS,MAAM,CAA6B,OAAmB,EAAE,IAAc,EAAE,MAA0B,EAAE,IAAS,EAAE,KAAa,IAAI,OAAO,IAAI,CAAA,wCAAwC,KAAK,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC;AAGnR,eAAe,MAAM,CAAC","sourcesContent":["/* eslint no-unused-vars: 0 */\nimport { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from \"../../../renderer/LitRenderer.js\";\nimport type UI5Element from \"../../../UI5Element.js\";\n\timport type WithComplexTemplate from \"../../../../test/elements/WithComplexTemplate.js\";\n\timport type { ClassMapValue } from \"../../../types.js\";\n\t\nfunction block0 (this: WithComplexTemplate, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div>Root text: ${ifDefined(this.text)}${ repeat(this.items, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block1.call(this, context, tags, suffix, item, index)) } Root text: ${ifDefined(this.text)}</div>`;}\nfunction block1 (this: WithComplexTemplate, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<h3>Item-${index}</h3>${ item.text ? block2.call(this, context, tags, suffix, item, index) : undefined }<ul>${ repeat(item.words, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block3.call(this, context, tags, suffix, item, index)) }</ul>${ item.text ? block4.call(this, context, tags, suffix, item, index) : undefined }`;}\nfunction block2 (this: WithComplexTemplate, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class=\"before-each-content--start--${index}\">Root text: ${ifDefined(this.text)}, Item text: ${ifDefined(item.text)}</div>`;}\nfunction block3 (this: WithComplexTemplate, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<li><h3>Word-${index}</h3><div class=\"nested-each-content--${index}--0\">Root Text: ${ifDefined(this.text)}, Word text: ${ifDefined(item.text)}</div><div class=\"nested-each-content--${index}--1\">Root Text: ${ifDefined(this.text)}, Word text: ${ifDefined(item.text)}</div></li>`;}\nfunction block4 (this: WithComplexTemplate, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`<div class=\"after-each-content--end--${index}\">Root text: ${ifDefined(this.text)}, Item text: ${ifDefined(item.text)}</div>`;}\n\n\nexport default block0;"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.
3
+ * The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "body" element of the page.
4
+ *
5
+ * @public
6
+ * @param namespace Unique ID of the resource, may contain "." to denote hierarchy
7
+ * @param initialValue Object or primitive that will be used as an initial value if the resource does not exist
8
+ * @returns {*}
9
+ */
10
+ declare const getSharedResource: <T>(namespace: string, initialValue: T) => T;
11
+ export default getSharedResource;
@@ -1,10 +1,19 @@
1
1
  import getSingletonElementInstance from "./util/getSingletonElementInstance.js";
2
-
3
- const getSharedResourcesInstance = () => getSingletonElementInstance("ui5-shared-resources", document.head);
4
-
2
+ const getMetaDomEl = () => {
3
+ const el = document.createElement("meta");
4
+ el.setAttribute("name", "ui5-shared-resources");
5
+ el.setAttribute("content", ""); // attribute "content" should be present when "name" is set.
6
+ return el;
7
+ };
8
+ const getSharedResourcesInstance = () => {
9
+ if (typeof document === "undefined") {
10
+ return null;
11
+ }
12
+ return getSingletonElementInstance(`meta[name="ui5-shared-resources"]`, document.head, getMetaDomEl);
13
+ };
5
14
  /**
6
15
  * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.
7
- * The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "head" element of the page.
16
+ * The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "body" element of the page.
8
17
  *
9
18
  * @public
10
19
  * @param namespace Unique ID of the resource, may contain "." to denote hierarchy
@@ -12,19 +21,20 @@ const getSharedResourcesInstance = () => getSingletonElementInstance("ui5-shared
12
21
  * @returns {*}
13
22
  */
14
23
  const getSharedResource = (namespace, initialValue) => {
15
- const parts = namespace.split(".");
16
- let current = getSharedResourcesInstance();
17
-
18
- for (let i = 0; i < parts.length; i++) {
19
- const part = parts[i];
20
- const lastPart = i === parts.length - 1;
21
- if (!Object.prototype.hasOwnProperty.call(current, part)) {
22
- current[part] = lastPart ? initialValue : {};
23
- }
24
- current = current[part];
25
- }
26
-
27
- return current;
24
+ const parts = namespace.split(".");
25
+ let current = getSharedResourcesInstance();
26
+ if (!current) {
27
+ return initialValue;
28
+ }
29
+ for (let i = 0; i < parts.length; i++) {
30
+ const part = parts[i];
31
+ const lastPart = i === parts.length - 1;
32
+ if (!Object.prototype.hasOwnProperty.call(current, part)) {
33
+ current[part] = lastPart ? initialValue : {};
34
+ }
35
+ current = current[part];
36
+ }
37
+ return current;
28
38
  };
29
-
30
39
  export default getSharedResource;
40
+ //# sourceMappingURL=getSharedResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSharedResource.js","sourceRoot":"","sources":["../src/getSharedResource.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAEhF,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAChD,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,4DAA4D;IAC5F,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,GAAmB,EAAE;IACvD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACpC,OAAO,IAAI,CAAC;KACZ;IACD,OAAO,2BAA2B,CAAC,mCAAmC,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACtG,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CAAI,SAAiB,EAAE,YAAe,EAAK,EAAE;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,0BAA0B,EAAyB,CAAC;IAElE,IAAI,CAAC,OAAO,EAAE;QACb,OAAO,YAAY,CAAC;KACpB;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACzD,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB;IAED,OAAO,OAAY,CAAC;AACrB,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import getSingletonElementInstance from \"./util/getSingletonElementInstance.js\";\n\nconst getMetaDomEl = () => {\n\tconst el = document.createElement(\"meta\");\n\tel.setAttribute(\"name\", \"ui5-shared-resources\");\n\tel.setAttribute(\"content\", \"\"); // attribute \"content\" should be present when \"name\" is set.\n\treturn el;\n};\n\nconst getSharedResourcesInstance = (): Element | null => {\n\tif (typeof document === \"undefined\") {\n\t\treturn null;\n\t}\n\treturn getSingletonElementInstance(`meta[name=\"ui5-shared-resources\"]`, document.head, getMetaDomEl);\n};\n\n/**\n * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.\n * The data will be accessed via a singleton \"ui5-shared-resources\" HTML element in the \"body\" element of the page.\n *\n * @public\n * @param namespace Unique ID of the resource, may contain \".\" to denote hierarchy\n * @param initialValue Object or primitive that will be used as an initial value if the resource does not exist\n * @returns {*}\n */\nconst getSharedResource = <T>(namespace: string, initialValue: T): T => {\n\tconst parts = namespace.split(\".\");\n\tlet current = getSharedResourcesInstance() as Record<string, any>;\n\n\tif (!current) {\n\t\treturn initialValue;\n\t}\n\n\tfor (let i = 0; i < parts.length; i++) {\n\t\tconst part = parts[i];\n\t\tconst lastPart = i === parts.length - 1;\n\t\tif (!Object.prototype.hasOwnProperty.call(current, part)) {\n\t\t\tcurrent[part] = lastPart ? initialValue : {};\n\t\t}\n\t\tcurrent = current[part];\n\t}\n\n\treturn current as T;\n};\n\nexport default getSharedResource;\n"]}
@@ -0,0 +1,40 @@
1
+ export {};
2
+
3
+ declare global {
4
+
5
+ type VersionInfo = {
6
+ version: string,
7
+ major: number,
8
+ minor: number,
9
+ patch: number,
10
+ suffix: string,
11
+ isNext: boolean,
12
+ buildTime: number,
13
+ }
14
+
15
+ interface Window {
16
+ sap: any;
17
+ chrome: any;
18
+ v8: any;
19
+ }
20
+
21
+ module "*generated/AssetParameters.js" {
22
+ const DEFAULT_THEME: string;
23
+ const SUPPORTED_THEMES: Array<string>;
24
+ const DEFAULT_LANGUAGE: string;
25
+ const DEFAULT_LOCALE: string;
26
+ const SUPPORTED_LOCALES: Array<string>;
27
+ export {
28
+ DEFAULT_THEME,
29
+ SUPPORTED_THEMES,
30
+ DEFAULT_LANGUAGE,
31
+ DEFAULT_LOCALE,
32
+ SUPPORTED_LOCALES,
33
+ };
34
+ }
35
+
36
+ module "*generated/VersionInfo.js" {
37
+ const content: VersionInfo;
38
+ export default content;
39
+ }
40
+ }
@@ -0,0 +1,43 @@
1
+ import { registerI18nLoader } from "./asset-registries/i18n.js";
2
+ type I18nText = {
3
+ key: string;
4
+ defaultText: string;
5
+ };
6
+ type I18nBundleGetter = (packageName: string) => Promise<I18nBundle>;
7
+ /**
8
+ * @class
9
+ * @public
10
+ */
11
+ declare class I18nBundle {
12
+ packageName: string;
13
+ constructor(packageName: string);
14
+ /**
15
+ * Returns a text in the currently loaded language
16
+ *
17
+ * @public
18
+ * @param {Object|String} textObj key/defaultText pair or just the key
19
+ * @param params Values for the placeholders
20
+ * @returns {string}
21
+ */
22
+ getText(textObj: I18nText | string, ...params: Array<number | string>): string;
23
+ }
24
+ /**
25
+ * Fetches and returns the I18nBundle instance for the given package.
26
+ *
27
+ * @public
28
+ * @param packageName
29
+ * @returns { Promise<I18nBundle> }
30
+ */
31
+ declare const getI18nBundle: (packageName: string) => Promise<I18nBundle>;
32
+ /**
33
+ * Allows developers to provide a custom getI18nBundle implementation
34
+ * If this function is called, the custom implementation will be used for all components and will completely
35
+ * replace the default implementation.
36
+ *
37
+ * @public
38
+ * @param customGet the function to use instead of the standard getI18nBundle implementation
39
+ */
40
+ declare const registerCustomI18nBundleGetter: (customGet: I18nBundleGetter) => void;
41
+ export default I18nBundle;
42
+ export { registerI18nLoader, getI18nBundle, registerCustomI18nBundleGetter, };
43
+ export type { I18nText, };
@@ -1,55 +1,79 @@
1
1
  import { registerI18nLoader, fetchI18nBundle, getI18nBundleData } from "./asset-registries/i18n.js";
2
2
  import formatMessage from "./util/formatMessage.js";
3
-
4
3
  const I18nBundleInstances = new Map();
5
-
4
+ let customGetI18nBundle;
6
5
  /**
7
6
  * @class
8
7
  * @public
9
8
  */
10
9
  class I18nBundle {
11
- constructor(packageName) {
12
- this.packageName = packageName;
13
- }
14
-
15
- /**
16
- * Returns a text in the currently loaded language
17
- *
18
- * @param {Object|String} textObj key/defaultText pair or just the key
19
- * @param params Values for the placeholders
20
- * @returns {*}
21
- */
22
- getText(textObj, ...params) {
23
- if (typeof textObj === "string") {
24
- textObj = { key: textObj, defaultText: textObj };
25
- }
26
-
27
- if (!textObj || !textObj.key) {
28
- return "";
29
- }
30
-
31
- const bundle = getI18nBundleData(this.packageName);
32
- if (bundle && !bundle[textObj.key]) {
33
- console.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`); // eslint-disable-line
34
- }
35
- const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
36
-
37
- return formatMessage(messageText, params);
38
- }
10
+ constructor(packageName) {
11
+ this.packageName = packageName;
12
+ }
13
+ /**
14
+ * Returns a text in the currently loaded language
15
+ *
16
+ * @public
17
+ * @param {Object|String} textObj key/defaultText pair or just the key
18
+ * @param params Values for the placeholders
19
+ * @returns {string}
20
+ */
21
+ getText(textObj, ...params) {
22
+ if (typeof textObj === "string") {
23
+ textObj = { key: textObj, defaultText: textObj };
24
+ }
25
+ if (!textObj || !textObj.key) {
26
+ return "";
27
+ }
28
+ const bundle = getI18nBundleData(this.packageName);
29
+ if (bundle && !bundle[textObj.key]) {
30
+ // eslint-disable-next-line no-console
31
+ console.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`);
32
+ }
33
+ const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
34
+ return formatMessage(messageText, params);
35
+ }
39
36
  }
40
-
41
- const getI18nBundle = packageName => {
42
- if (I18nBundleInstances.has(packageName)) {
43
- return I18nBundleInstances.get(packageName);
44
- }
45
-
46
- const i18nBundle = new I18nBundle(packageName);
47
- I18nBundleInstances.set(packageName, i18nBundle);
48
- return i18nBundle;
37
+ /**
38
+ * Returns the I18nBundle instance for the given package synchronously.
39
+ *
40
+ * @public
41
+ * @param packageName
42
+ * @returns { I18nBundle }
43
+ */
44
+ const getI18nBundleSync = (packageName) => {
45
+ if (I18nBundleInstances.has(packageName)) {
46
+ return I18nBundleInstances.get(packageName);
47
+ }
48
+ const i18nBundle = new I18nBundle(packageName);
49
+ I18nBundleInstances.set(packageName, i18nBundle);
50
+ return i18nBundle;
51
+ };
52
+ /**
53
+ * Fetches and returns the I18nBundle instance for the given package.
54
+ *
55
+ * @public
56
+ * @param packageName
57
+ * @returns { Promise<I18nBundle> }
58
+ */
59
+ const getI18nBundle = async (packageName) => {
60
+ if (customGetI18nBundle) {
61
+ return customGetI18nBundle(packageName);
62
+ }
63
+ await fetchI18nBundle(packageName);
64
+ return getI18nBundleSync(packageName);
49
65
  };
50
-
51
- export {
52
- registerI18nLoader,
53
- fetchI18nBundle,
54
- getI18nBundle,
66
+ /**
67
+ * Allows developers to provide a custom getI18nBundle implementation
68
+ * If this function is called, the custom implementation will be used for all components and will completely
69
+ * replace the default implementation.
70
+ *
71
+ * @public
72
+ * @param customGet the function to use instead of the standard getI18nBundle implementation
73
+ */
74
+ const registerCustomI18nBundleGetter = (customGet) => {
75
+ customGetI18nBundle = customGet;
55
76
  };
77
+ export default I18nBundle;
78
+ export { registerI18nLoader, getI18nBundle, registerCustomI18nBundleGetter, };
79
+ //# sourceMappingURL=i18nBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18nBundle.js","sourceRoot":"","sources":["../src/i18nBundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAsB,CAAC;AAE1D,IAAI,mBAAqC,CAAC;AAS1C;;;GAGG;AACH,MAAM,UAAU;IAGf,YAAY,WAAmB;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAA0B,EAAE,GAAG,MAA8B;QACpE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAChC,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;SACjD;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC7B,OAAO,EAAE,CAAC;SACV;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACnC,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,GAAG,8DAA8D,CAAC,CAAC;SAC/F;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAE/G,OAAO,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACD;AAED;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAc,EAAE;IAC7D,IAAI,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACzC,OAAO,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;KAC7C;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/C,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,WAAmB,EAAuB,EAAE;IACxE,IAAI,mBAAmB,EAAE;QACxB,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;KACxC;IAED,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,8BAA8B,GAAG,CAAC,SAA2B,EAAE,EAAE;IACtE,mBAAmB,GAAG,SAAS,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC;AAE1B,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,8BAA8B,GAC9B,CAAC","sourcesContent":["import { registerI18nLoader, fetchI18nBundle, getI18nBundleData } from \"./asset-registries/i18n.js\";\nimport formatMessage from \"./util/formatMessage.js\";\n\nconst I18nBundleInstances = new Map<string, I18nBundle>();\n\nlet customGetI18nBundle: I18nBundleGetter;\n\ntype I18nText = {\n\tkey: string,\n\tdefaultText: string,\n};\n\ntype I18nBundleGetter = (packageName: string) => Promise<I18nBundle>;\n\n/**\n * @class\n * @public\n */\nclass I18nBundle {\n\tpackageName: string;\n\n\tconstructor(packageName: string) {\n\t\tthis.packageName = packageName;\n\t}\n\n\t/**\n\t * Returns a text in the currently loaded language\n\t *\n\t * @public\n\t * @param {Object|String} textObj key/defaultText pair or just the key\n\t * @param params Values for the placeholders\n\t * @returns {string}\n\t */\n\tgetText(textObj: I18nText | string, ...params: Array<number | string>): string {\n\t\tif (typeof textObj === \"string\") {\n\t\t\ttextObj = { key: textObj, defaultText: textObj };\n\t\t}\n\n\t\tif (!textObj || !textObj.key) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst bundle = getI18nBundleData(this.packageName);\n\t\tif (bundle && !bundle[textObj.key]) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`);\n\t\t}\n\t\tconst messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);\n\n\t\treturn formatMessage(messageText, params);\n\t}\n}\n\n/**\n * Returns the I18nBundle instance for the given package synchronously.\n *\n * @public\n * @param packageName\n * @returns { I18nBundle }\n */\nconst getI18nBundleSync = (packageName: string): I18nBundle => {\n\tif (I18nBundleInstances.has(packageName)) {\n\t\treturn I18nBundleInstances.get(packageName)!;\n\t}\n\n\tconst i18nBundle = new I18nBundle(packageName);\n\tI18nBundleInstances.set(packageName, i18nBundle);\n\treturn i18nBundle;\n};\n\n/**\n * Fetches and returns the I18nBundle instance for the given package.\n *\n * @public\n * @param packageName\n * @returns { Promise<I18nBundle> }\n */\nconst getI18nBundle = async (packageName: string): Promise<I18nBundle> => {\n\tif (customGetI18nBundle) {\n\t\treturn customGetI18nBundle(packageName);\n\t}\n\n\tawait fetchI18nBundle(packageName);\n\treturn getI18nBundleSync(packageName);\n};\n\n/**\n * Allows developers to provide a custom getI18nBundle implementation\n * If this function is called, the custom implementation will be used for all components and will completely\n * replace the default implementation.\n *\n * @public\n * @param customGet the function to use instead of the standard getI18nBundle implementation\n */\nconst registerCustomI18nBundleGetter = (customGet: I18nBundleGetter) => {\n\tcustomGetI18nBundle = customGet;\n};\n\nexport default I18nBundle;\n\nexport {\n\tregisterI18nLoader,\n\tgetI18nBundle,\n\tregisterCustomI18nBundleGetter,\n};\n\nexport type {\n\tI18nText,\n};\n"]}
@@ -0,0 +1,22 @@
1
+ declare class Locale {
2
+ sLocaleId: string;
3
+ sLanguage: string;
4
+ sScript: string;
5
+ sRegion: string;
6
+ sVariant: string | null;
7
+ sExtension: string | null;
8
+ sPrivateUse: string | null;
9
+ constructor(sLocaleId: string);
10
+ getLanguage(): string;
11
+ getScript(): string;
12
+ getRegion(): string;
13
+ getVariant(): string | null;
14
+ getVariantSubtags(): string[];
15
+ getExtension(): string | null;
16
+ getExtensionSubtags(): string[];
17
+ getPrivateUse(): string | null;
18
+ getPrivateUseSubtags(): string[];
19
+ hasPrivateUseSubtag(sSubtag: string): boolean;
20
+ toString(): string;
21
+ }
22
+ export default Locale;
@@ -1,91 +1,79 @@
1
+ import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
1
2
  const rLocale = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;
2
-
3
3
  class Locale {
4
- constructor(sLocaleId) {
5
- const aResult = rLocale.exec(sLocaleId.replace(/_/g, "-"));
6
- if (aResult === null) {
7
- throw new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);
8
- }
9
- this.sLocaleId = sLocaleId;
10
- this.sLanguage = aResult[1] || null;
11
- this.sScript = aResult[2] || null;
12
- this.sRegion = aResult[3] || null;
13
- this.sVariant = (aResult[4] && aResult[4].slice(1)) || null;
14
- this.sExtension = (aResult[5] && aResult[5].slice(1)) || null;
15
- this.sPrivateUse = aResult[6] || null;
16
- if (this.sLanguage) {
17
- this.sLanguage = this.sLanguage.toLowerCase();
18
- }
19
- if (this.sScript) {
20
- this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {
21
- return s.toUpperCase();
22
- });
23
- }
24
- if (this.sRegion) {
25
- this.sRegion = this.sRegion.toUpperCase();
26
- }
27
- }
28
-
29
- getLanguage() {
30
- return this.sLanguage;
31
- }
32
-
33
- getScript() {
34
- return this.sScript;
35
- }
36
-
37
- getRegion() {
38
- return this.sRegion;
39
- }
40
-
41
- getVariant() {
42
- return this.sVariant;
43
- }
44
-
45
- getVariantSubtags() {
46
- return this.sVariant ? this.sVariant.split("-") : [];
47
- }
48
-
49
- getExtension() {
50
- return this.sExtension;
51
- }
52
-
53
- getExtensionSubtags() {
54
- return this.sExtension ? this.sExtension.slice(2).split("-") : [];
55
- }
56
-
57
- getPrivateUse() {
58
- return this.sPrivateUse;
59
- }
60
-
61
- getPrivateUseSubtags() {
62
- return this.sPrivateUse ? this.sPrivateUse.slice(2).split("-") : [];
63
- }
64
-
65
- hasPrivateUseSubtag(sSubtag) {
66
- return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
67
- }
68
-
69
- toString() {
70
- const r = [this.sLanguage];
71
-
72
- if (this.sScript) {
73
- r.push(this.sScript);
74
- }
75
- if (this.sRegion) {
76
- r.push(this.sRegion);
77
- }
78
- if (this.sVariant) {
79
- r.push(this.sVariant);
80
- }
81
- if (this.sExtension) {
82
- r.push(this.sExtension);
83
- }
84
- if (this.sPrivateUse) {
85
- r.push(this.sPrivateUse);
86
- }
87
- return r.join("-");
88
- }
4
+ constructor(sLocaleId) {
5
+ const aResult = rLocale.exec(sLocaleId.replace(/_/g, "-"));
6
+ if (aResult === null) {
7
+ throw new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);
8
+ }
9
+ this.sLocaleId = sLocaleId;
10
+ this.sLanguage = aResult[1] || DEFAULT_LANGUAGE;
11
+ this.sScript = aResult[2] || "";
12
+ this.sRegion = aResult[3] || "";
13
+ this.sVariant = (aResult[4] && aResult[4].slice(1)) || null;
14
+ this.sExtension = (aResult[5] && aResult[5].slice(1)) || null;
15
+ this.sPrivateUse = aResult[6] || null;
16
+ if (this.sLanguage) {
17
+ this.sLanguage = this.sLanguage.toLowerCase();
18
+ }
19
+ if (this.sScript) {
20
+ this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {
21
+ return s.toUpperCase();
22
+ });
23
+ }
24
+ if (this.sRegion) {
25
+ this.sRegion = this.sRegion.toUpperCase();
26
+ }
27
+ }
28
+ getLanguage() {
29
+ return this.sLanguage;
30
+ }
31
+ getScript() {
32
+ return this.sScript;
33
+ }
34
+ getRegion() {
35
+ return this.sRegion;
36
+ }
37
+ getVariant() {
38
+ return this.sVariant;
39
+ }
40
+ getVariantSubtags() {
41
+ return this.sVariant ? this.sVariant.split("-") : [];
42
+ }
43
+ getExtension() {
44
+ return this.sExtension;
45
+ }
46
+ getExtensionSubtags() {
47
+ return this.sExtension ? this.sExtension.slice(2).split("-") : [];
48
+ }
49
+ getPrivateUse() {
50
+ return this.sPrivateUse;
51
+ }
52
+ getPrivateUseSubtags() {
53
+ return this.sPrivateUse ? this.sPrivateUse.slice(2).split("-") : [];
54
+ }
55
+ hasPrivateUseSubtag(sSubtag) {
56
+ return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
57
+ }
58
+ toString() {
59
+ const r = [this.sLanguage];
60
+ if (this.sScript) {
61
+ r.push(this.sScript);
62
+ }
63
+ if (this.sRegion) {
64
+ r.push(this.sRegion);
65
+ }
66
+ if (this.sVariant) {
67
+ r.push(this.sVariant);
68
+ }
69
+ if (this.sExtension) {
70
+ r.push(this.sExtension);
71
+ }
72
+ if (this.sPrivateUse) {
73
+ r.push(this.sPrivateUse);
74
+ }
75
+ return r.join("-");
76
+ }
89
77
  }
90
-
91
78
  export default Locale;
79
+ //# sourceMappingURL=Locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Locale.js","sourceRoot":"","sources":["../../src/locale/Locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,OAAO,GAAG,4MAA4M,CAAC;AAE7N,MAAM,MAAM;IASX,YAAY,SAAiB;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,IAAI,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,6BAA6B,CAAC,CAAC;SAC9E;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gBAC/D,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;SACH;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;SAC1C;IACF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,mBAAmB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,oBAAoB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,mBAAmB,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ;QACP,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACD;AAED,eAAe,MAAM,CAAC","sourcesContent":["import { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nconst rLocale = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;\n\nclass Locale {\n\tsLocaleId: string;\n\tsLanguage: string;\n\tsScript: string;\n\tsRegion: string;\n\tsVariant: string | null;\n\tsExtension: string | null;\n\tsPrivateUse: string | null;\n\n\tconstructor(sLocaleId: string) {\n\t\tconst aResult = rLocale.exec(sLocaleId.replace(/_/g, \"-\"));\n\t\tif (aResult === null) {\n\t\t\tthrow new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);\n\t\t}\n\t\tthis.sLocaleId = sLocaleId;\n\t\tthis.sLanguage = aResult[1] || DEFAULT_LANGUAGE;\n\t\tthis.sScript = aResult[2] || \"\";\n\t\tthis.sRegion = aResult[3] || \"\";\n\t\tthis.sVariant = (aResult[4] && aResult[4].slice(1)) || null;\n\t\tthis.sExtension = (aResult[5] && aResult[5].slice(1)) || null;\n\t\tthis.sPrivateUse = aResult[6] || null;\n\t\tif (this.sLanguage) {\n\t\t\tthis.sLanguage = this.sLanguage.toLowerCase();\n\t\t}\n\t\tif (this.sScript) {\n\t\t\tthis.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {\n\t\t\t\treturn s.toUpperCase();\n\t\t\t});\n\t\t}\n\t\tif (this.sRegion) {\n\t\t\tthis.sRegion = this.sRegion.toUpperCase();\n\t\t}\n\t}\n\n\tgetLanguage() {\n\t\treturn this.sLanguage;\n\t}\n\n\tgetScript() {\n\t\treturn this.sScript;\n\t}\n\n\tgetRegion() {\n\t\treturn this.sRegion;\n\t}\n\n\tgetVariant() {\n\t\treturn this.sVariant;\n\t}\n\n\tgetVariantSubtags() {\n\t\treturn this.sVariant ? this.sVariant.split(\"-\") : [];\n\t}\n\n\tgetExtension() {\n\t\treturn this.sExtension;\n\t}\n\n\tgetExtensionSubtags() {\n\t\treturn this.sExtension ? this.sExtension.slice(2).split(\"-\") : [];\n\t}\n\n\tgetPrivateUse() {\n\t\treturn this.sPrivateUse;\n\t}\n\n\tgetPrivateUseSubtags() {\n\t\treturn this.sPrivateUse ? this.sPrivateUse.slice(2).split(\"-\") : [];\n\t}\n\n\thasPrivateUseSubtag(sSubtag: string) {\n\t\treturn this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;\n\t}\n\n\ttoString() {\n\t\tconst r = [this.sLanguage];\n\n\t\tif (this.sScript) {\n\t\t\tr.push(this.sScript);\n\t\t}\n\t\tif (this.sRegion) {\n\t\t\tr.push(this.sRegion);\n\t\t}\n\t\tif (this.sVariant) {\n\t\t\tr.push(this.sVariant);\n\t\t}\n\t\tif (this.sExtension) {\n\t\t\tr.push(this.sExtension);\n\t\t}\n\t\tif (this.sPrivateUse) {\n\t\t\tr.push(this.sPrivateUse);\n\t\t}\n\t\treturn r.join(\"-\");\n\t}\n}\n\nexport default Locale;\n"]}
@@ -0,0 +1,4 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+ declare const markAsRtlAware: (klass: typeof UI5Element) => void;
3
+ declare const isRtlAware: (klass: typeof UI5Element) => boolean;
4
+ export { markAsRtlAware, isRtlAware, };
@@ -1,14 +1,9 @@
1
1
  const rtlAwareSet = new Set();
2
-
3
- const markAsRtlAware = klass => {
4
- rtlAwareSet.add(klass);
2
+ const markAsRtlAware = (klass) => {
3
+ rtlAwareSet.add(klass);
5
4
  };
6
-
7
- const isRtlAware = klass => {
8
- return rtlAwareSet.has(klass);
9
- };
10
-
11
- export {
12
- markAsRtlAware,
13
- isRtlAware,
5
+ const isRtlAware = (klass) => {
6
+ return rtlAwareSet.has(klass);
14
7
  };
8
+ export { markAsRtlAware, isRtlAware, };
9
+ //# sourceMappingURL=RTLAwareRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RTLAwareRegistry.js","sourceRoot":"","sources":["../../src/locale/RTLAwareRegistry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;AAEjD,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAE,EAAE;IACnD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAE,EAAE;IAC/C,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,OAAO,EACN,cAAc,EACd,UAAU,GACV,CAAC","sourcesContent":["import type UI5Element from \"../UI5Element.js\";\n\nconst rtlAwareSet = new Set<typeof UI5Element>();\n\nconst markAsRtlAware = (klass: typeof UI5Element) => {\n\trtlAwareSet.add(klass);\n};\n\nconst isRtlAware = (klass: typeof UI5Element) => {\n\treturn rtlAwareSet.has(klass);\n};\n\nexport {\n\tmarkAsRtlAware,\n\tisRtlAware,\n};\n"]}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Re-renders all RTL-aware UI5 Elements.
3
+ *
4
+ * <b>Note:</b> Call this method whenever you change the "dir" property anywhere in your HTML page.
5
+ * <b>Example:</b> <code>document.body.dir = "rtl"; applyDirection();</code>
6
+ * @public
7
+ * @returns {Promise<void>}
8
+ */
9
+ declare const applyDirection: () => Promise<void>;
10
+ export default applyDirection;
@@ -1,17 +1,17 @@
1
1
  import { reRenderAllUI5Elements } from "../Render.js";
2
2
  import { fireDirectionChange } from "./directionChange.js";
3
-
4
3
  /**
5
4
  * Re-renders all RTL-aware UI5 Elements.
6
- * Call this method whenever you change the "dir" property anywhere in your HTML page
7
- * Example: document.body.dir = "rtl"; applyDirection();
8
5
  *
6
+ * <b>Note:</b> Call this method whenever you change the "dir" property anywhere in your HTML page.
7
+ * <b>Example:</b> <code>document.body.dir = "rtl"; applyDirection();</code>
8
+ * @public
9
9
  * @returns {Promise<void>}
10
10
  */
11
11
  const applyDirection = async () => {
12
- const listenersResults = fireDirectionChange();
13
- await Promise.all(listenersResults);
14
- await reRenderAllUI5Elements({ rtlAware: true });
12
+ const listenersResults = fireDirectionChange();
13
+ await Promise.all(listenersResults);
14
+ await reRenderAllUI5Elements({ rtlAware: true });
15
15
  };
16
-
17
16
  export default applyDirection;
17
+ //# sourceMappingURL=applyDirection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyDirection.js","sourceRoot":"","sources":["../../src/locale/applyDirection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,KAAK,IAAmB,EAAE;IAChD,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,MAAM,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { reRenderAllUI5Elements } from \"../Render.js\";\nimport { fireDirectionChange } from \"./directionChange.js\";\n\n/**\n * Re-renders all RTL-aware UI5 Elements.\n *\n * <b>Note:</b> Call this method whenever you change the \"dir\" property anywhere in your HTML page.\n * <b>Example:</b> <code>document.body.dir = \"rtl\"; applyDirection();</code>\n * @public\n * @returns {Promise<void>}\n */\nconst applyDirection = async (): Promise<void> => {\n\tconst listenersResults = fireDirectionChange();\n\tawait Promise.all(listenersResults);\n\tawait reRenderAllUI5Elements({ rtlAware: true });\n};\n\nexport default applyDirection;\n"]}
@@ -0,0 +1,15 @@
1
+ type DirectionChangeCallback = () => void;
2
+ /**
3
+ * Attach a callback that will be executed whenever the application calls the "applyDirection" function
4
+ * @public
5
+ * @param listener
6
+ */
7
+ declare const attachDirectionChange: (listener: DirectionChangeCallback) => void;
8
+ /**
9
+ * Detach a callback that was passed with "attachDirectionChange"
10
+ * @public
11
+ * @param listener
12
+ */
13
+ declare const detachDirectionChange: (listener: DirectionChangeCallback) => void;
14
+ declare const fireDirectionChange: () => void[];
15
+ export { attachDirectionChange, detachDirectionChange, fireDirectionChange, };