@ui5/webcomponents-base 0.0.0-201dc9cbe → 0.0.0-20ff83d14

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 (668) hide show
  1. package/.eslintignore +10 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1343 -0
  4. package/README.md +58 -7
  5. package/bundle.esm.js +27 -15
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/.tsbuildinfo +1 -0
  8. package/dist/AssetRegistry.d.ts +5 -0
  9. package/dist/AssetRegistry.js +3 -8
  10. package/dist/AssetRegistry.js.map +1 -0
  11. package/dist/Boot.d.ts +10 -0
  12. package/dist/Boot.js +60 -34
  13. package/dist/Boot.js.map +1 -0
  14. package/dist/CSP.d.ts +33 -0
  15. package/dist/CSP.js +54 -0
  16. package/dist/CSP.js.map +1 -0
  17. package/dist/CustomElementsRegistry.d.ts +5 -0
  18. package/dist/CustomElementsRegistry.js +69 -30
  19. package/dist/CustomElementsRegistry.js.map +1 -0
  20. package/dist/CustomElementsScope.d.ts +7 -0
  21. package/dist/CustomElementsScope.js +11 -108
  22. package/dist/CustomElementsScope.js.map +1 -0
  23. package/dist/CustomElementsScopeUtils.d.ts +62 -0
  24. package/dist/CustomElementsScopeUtils.js +102 -0
  25. package/dist/CustomElementsScopeUtils.js.map +1 -0
  26. package/dist/DOMObserver.d.ts +11 -0
  27. package/dist/DOMObserver.js +12 -50
  28. package/dist/DOMObserver.js.map +1 -0
  29. package/dist/Device.d.ts +13 -0
  30. package/dist/Device.js +167 -815
  31. package/dist/Device.js.map +1 -0
  32. package/dist/EventProvider.d.ts +25 -0
  33. package/dist/EventProvider.js +67 -88
  34. package/dist/EventProvider.js.map +1 -0
  35. package/dist/FeaturesRegistry.d.ts +12 -0
  36. package/dist/FeaturesRegistry.js +41 -7
  37. package/dist/FeaturesRegistry.js.map +1 -0
  38. package/dist/FontFace.d.ts +2 -0
  39. package/dist/FontFace.js +17 -110
  40. package/dist/FontFace.js.map +1 -0
  41. package/dist/IgnoreCustomElements.d.ts +25 -0
  42. package/dist/IgnoreCustomElements.js +37 -0
  43. package/dist/IgnoreCustomElements.js.map +1 -0
  44. package/dist/InitialConfiguration.d.ts +27 -0
  45. package/dist/InitialConfiguration.js +126 -119
  46. package/dist/InitialConfiguration.js.map +1 -0
  47. package/dist/Keys.d.ts +61 -0
  48. package/dist/Keys.js +175 -215
  49. package/dist/Keys.js.map +1 -0
  50. package/dist/ManagedStyles.d.ts +9 -0
  51. package/dist/ManagedStyles.js +157 -0
  52. package/dist/ManagedStyles.js.map +1 -0
  53. package/dist/MarkedEvents.d.ts +9 -0
  54. package/dist/MarkedEvents.js +15 -0
  55. package/dist/MarkedEvents.js.map +1 -0
  56. package/dist/MediaRange.d.ts +31 -0
  57. package/dist/MediaRange.js +88 -0
  58. package/dist/MediaRange.js.map +1 -0
  59. package/dist/PropertiesFileFormat.d.ts +8 -0
  60. package/dist/PropertiesFileFormat.js +72 -82
  61. package/dist/PropertiesFileFormat.js.map +1 -0
  62. package/dist/Render.d.ts +47 -0
  63. package/dist/Render.js +82 -113
  64. package/dist/Render.js.map +1 -0
  65. package/dist/RenderQueue.d.ts +19 -0
  66. package/dist/RenderQueue.js +52 -62
  67. package/dist/RenderQueue.js.map +1 -0
  68. package/dist/Runtimes.d.ts +27 -0
  69. package/dist/Runtimes.js +86 -0
  70. package/dist/Runtimes.js.map +1 -0
  71. package/dist/StaticArea.d.ts +3 -0
  72. package/dist/StaticArea.js +7 -0
  73. package/dist/StaticArea.js.map +1 -0
  74. package/dist/StaticAreaItem.d.ts +35 -0
  75. package/dist/StaticAreaItem.js +90 -70
  76. package/dist/StaticAreaItem.js.map +1 -0
  77. package/dist/SystemCSSVars.d.ts +2 -0
  78. package/dist/SystemCSSVars.js +6 -28
  79. package/dist/SystemCSSVars.js.map +1 -0
  80. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  81. package/dist/Theming.js +1 -1
  82. package/dist/Theming.js.map +1 -0
  83. package/dist/UI5Element.d.ts +390 -0
  84. package/dist/UI5Element.js +994 -999
  85. package/dist/UI5Element.js.map +1 -0
  86. package/dist/UI5ElementMetadata.d.ts +149 -0
  87. package/dist/UI5ElementMetadata.js +288 -299
  88. package/dist/UI5ElementMetadata.js.map +1 -0
  89. package/dist/animations/AnimationQueue.d.ts +8 -0
  90. package/dist/animations/AnimationQueue.js +31 -38
  91. package/dist/animations/AnimationQueue.js.map +1 -0
  92. package/dist/animations/animate.d.ts +14 -0
  93. package/dist/animations/animate.js +46 -51
  94. package/dist/animations/animate.js.map +1 -0
  95. package/dist/animations/scroll.d.ts +5 -0
  96. package/dist/animations/scroll.js +18 -27
  97. package/dist/animations/scroll.js.map +1 -0
  98. package/dist/animations/slideDown.d.ts +5 -0
  99. package/dist/animations/slideDown.js +53 -78
  100. package/dist/animations/slideDown.js.map +1 -0
  101. package/dist/animations/slideUp.d.ts +5 -0
  102. package/dist/animations/slideUp.js +49 -70
  103. package/dist/animations/slideUp.js.map +1 -0
  104. package/dist/asset-registries/Icons.d.ts +39 -0
  105. package/dist/asset-registries/Icons.js +120 -96
  106. package/dist/asset-registries/Icons.js.map +1 -0
  107. package/dist/asset-registries/Illustrations.d.ts +19 -0
  108. package/dist/asset-registries/Illustrations.js +77 -0
  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 +106 -91
  112. package/dist/asset-registries/LocaleData.js.map +1 -0
  113. package/dist/asset-registries/Themes.d.ts +12 -0
  114. package/dist/asset-registries/Themes.js +57 -67
  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 +65 -83
  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/config/AnimationMode.d.ts +14 -0
  129. package/dist/config/AnimationMode.js +21 -18
  130. package/dist/config/AnimationMode.js.map +1 -0
  131. package/dist/config/CalendarType.d.ts +15 -0
  132. package/dist/config/CalendarType.js +31 -14
  133. package/dist/config/CalendarType.js.map +1 -0
  134. package/dist/config/FormatSettings.d.ts +15 -0
  135. package/dist/config/FormatSettings.js +15 -9
  136. package/dist/config/FormatSettings.js.map +1 -0
  137. package/dist/config/Icons.d.ts +40 -0
  138. package/dist/config/Icons.js +44 -0
  139. package/dist/config/Icons.js.map +1 -0
  140. package/dist/config/Language.d.ts +40 -0
  141. package/dist/config/Language.js +51 -48
  142. package/dist/config/Language.js.map +1 -0
  143. package/dist/config/NoConflict.d.ts +20 -0
  144. package/dist/config/NoConflict.js +41 -41
  145. package/dist/config/NoConflict.js.map +1 -0
  146. package/dist/config/Theme.d.ts +38 -0
  147. package/dist/config/Theme.js +67 -22
  148. package/dist/config/Theme.js.map +1 -0
  149. package/dist/config/ThemeRoot.d.ts +27 -0
  150. package/dist/config/ThemeRoot.js +57 -0
  151. package/dist/config/ThemeRoot.js.map +1 -0
  152. package/dist/config/Timezone.d.ts +17 -0
  153. package/dist/config/Timezone.js +30 -0
  154. package/dist/config/Timezone.js.map +1 -0
  155. package/dist/connectToComponent.d.ts +9 -0
  156. package/dist/connectToComponent.js +59 -0
  157. package/dist/connectToComponent.js.map +1 -0
  158. package/dist/css/BusyIndicator.css +80 -0
  159. package/dist/css/FontFace.css +96 -0
  160. package/dist/css/OverrideFontFace.css +32 -0
  161. package/dist/css/SystemCSSVars.css +9 -0
  162. package/dist/custom-elements-internal.json +2863 -0
  163. package/dist/custom-elements.json +2593 -0
  164. package/dist/decorators/customElement.d.ts +24 -0
  165. package/dist/decorators/customElement.js +39 -0
  166. package/dist/decorators/customElement.js.map +1 -0
  167. package/dist/decorators/event.d.ts +13 -0
  168. package/dist/decorators/event.js +24 -0
  169. package/dist/decorators/event.js.map +1 -0
  170. package/dist/decorators/property.d.ts +9 -0
  171. package/dist/decorators/property.js +24 -0
  172. package/dist/decorators/property.js.map +1 -0
  173. package/dist/decorators/slot.d.ts +9 -0
  174. package/dist/decorators/slot.js +37 -0
  175. package/dist/decorators/slot.js.map +1 -0
  176. package/dist/decorators.d.ts +5 -0
  177. package/dist/decorators.js +6 -0
  178. package/dist/decorators.js.map +1 -0
  179. package/dist/delegate/ItemNavigation.d.ts +114 -0
  180. package/dist/delegate/ItemNavigation.js +286 -264
  181. package/dist/delegate/ItemNavigation.js.map +1 -0
  182. package/dist/delegate/ResizeHandler.d.ts +23 -0
  183. package/dist/delegate/ResizeHandler.js +70 -91
  184. package/dist/delegate/ResizeHandler.js.map +1 -0
  185. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  186. package/dist/delegate/ScrollEnablement.js +159 -176
  187. package/dist/delegate/ScrollEnablement.js.map +1 -0
  188. package/dist/features/F6Navigation.d.ts +19 -0
  189. package/dist/features/F6Navigation.js +151 -0
  190. package/dist/features/F6Navigation.js.map +1 -0
  191. package/dist/features/LegacyDateFormats.d.ts +18 -0
  192. package/dist/features/LegacyDateFormats.js +20 -0
  193. package/dist/features/LegacyDateFormats.js.map +1 -0
  194. package/dist/features/OpenUI5Element.d.ts +9 -0
  195. package/dist/features/OpenUI5Element.js +5 -0
  196. package/dist/features/OpenUI5Element.js.map +1 -0
  197. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  198. package/dist/features/OpenUI5Enablement.js +96 -0
  199. package/dist/features/OpenUI5Enablement.js.map +1 -0
  200. package/dist/features/OpenUI5Support.d.ts +36 -0
  201. package/dist/features/OpenUI5Support.js +157 -87
  202. package/dist/features/OpenUI5Support.js.map +1 -0
  203. package/dist/features/patchPopup.d.ts +10 -0
  204. package/dist/features/patchPopup.js +15 -0
  205. package/dist/features/patchPopup.js.map +1 -0
  206. package/dist/generated/AssetParameters.d.ts +6 -0
  207. package/dist/generated/AssetParameters.js +4 -9
  208. package/dist/generated/AssetParameters.js.map +1 -0
  209. package/dist/generated/VersionInfo.d.ts +10 -0
  210. package/dist/generated/VersionInfo.js +11 -0
  211. package/dist/generated/VersionInfo.js.map +1 -0
  212. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  213. package/dist/generated/css/BusyIndicator.css.js +7 -0
  214. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  215. package/dist/generated/css/FontFace.css.d.ts +3 -0
  216. package/dist/generated/css/FontFace.css.js +7 -0
  217. package/dist/generated/css/FontFace.css.js.map +1 -0
  218. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  219. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  220. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  221. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  222. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  223. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  224. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  225. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
  226. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  227. package/dist/getSharedResource.d.ts +11 -0
  228. package/dist/getSharedResource.js +28 -18
  229. package/dist/getSharedResource.js.map +1 -0
  230. package/dist/global.d.ts +40 -0
  231. package/dist/i18nBundle.d.ts +41 -0
  232. package/dist/i18nBundle.js +65 -41
  233. package/dist/i18nBundle.js.map +1 -0
  234. package/dist/locale/Locale.d.ts +22 -0
  235. package/dist/locale/Locale.js +75 -87
  236. package/dist/locale/Locale.js.map +1 -0
  237. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  238. package/dist/locale/RTLAwareRegistry.js +6 -11
  239. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  240. package/dist/locale/applyDirection.d.ts +11 -0
  241. package/dist/locale/applyDirection.js +8 -7
  242. package/dist/locale/applyDirection.js.map +1 -0
  243. package/dist/locale/directionChange.d.ts +15 -0
  244. package/dist/locale/directionChange.js +7 -15
  245. package/dist/locale/directionChange.js.map +1 -0
  246. package/dist/locale/getEffectiveDir.d.ts +2 -0
  247. package/dist/locale/getEffectiveDir.js +6 -26
  248. package/dist/locale/getEffectiveDir.js.map +1 -0
  249. package/dist/locale/getLocale.d.ts +7 -0
  250. package/dist/locale/getLocale.js +26 -29
  251. package/dist/locale/getLocale.js.map +1 -0
  252. package/dist/locale/languageChange.d.ts +5 -0
  253. package/dist/locale/languageChange.js +8 -16
  254. package/dist/locale/languageChange.js.map +1 -0
  255. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  256. package/dist/locale/nextFallbackLocale.js +15 -19
  257. package/dist/locale/nextFallbackLocale.js.map +1 -0
  258. package/dist/locale/normalizeLocale.d.ts +7 -0
  259. package/dist/locale/normalizeLocale.js +34 -41
  260. package/dist/locale/normalizeLocale.js.map +1 -0
  261. package/dist/renderer/LitRenderer.d.ts +14 -0
  262. package/dist/renderer/LitRenderer.js +34 -24
  263. package/dist/renderer/LitRenderer.js.map +1 -0
  264. package/dist/renderer/directives/style-map.d.ts +13 -0
  265. package/dist/renderer/directives/style-map.js +72 -0
  266. package/dist/renderer/directives/style-map.js.map +1 -0
  267. package/dist/renderer/executeTemplate.d.ts +13 -0
  268. package/dist/renderer/executeTemplate.js +20 -7
  269. package/dist/renderer/executeTemplate.js.map +1 -0
  270. package/dist/sap/base/Log.js +750 -0
  271. package/dist/sap/base/assert.js +34 -0
  272. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  273. package/dist/sap/base/security/URLListValidator.js +406 -0
  274. package/dist/sap/base/security/encodeCSS.js +40 -0
  275. package/dist/sap/base/security/encodeXML.js +53 -0
  276. package/dist/sap/base/security/sanitizeHTML.js +38 -0
  277. package/dist/sap/base/strings/toHex.js +33 -0
  278. package/dist/sap/base/util/now.js +28 -0
  279. package/dist/sap/base/util/uid.js +27 -0
  280. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  281. package/dist/ssr-dom-shim.d.ts +1 -0
  282. package/dist/ssr-dom-shim.js +12 -0
  283. package/dist/ssr-dom-shim.js.map +1 -0
  284. package/dist/ssr-dom.d.ts +0 -0
  285. package/dist/ssr-dom.js +3 -0
  286. package/dist/ssr-dom.js.map +1 -0
  287. package/dist/theming/CustomStyle.d.ts +6 -0
  288. package/dist/theming/CustomStyle.js +39 -31
  289. package/dist/theming/CustomStyle.js.map +1 -0
  290. package/dist/theming/ThemeLoaded.d.ts +5 -0
  291. package/dist/theming/ThemeLoaded.js +8 -16
  292. package/dist/theming/ThemeLoaded.js.map +1 -0
  293. package/dist/theming/ThemeRegistered.d.ts +4 -0
  294. package/dist/theming/ThemeRegistered.js +11 -0
  295. package/dist/theming/ThemeRegistered.js.map +1 -0
  296. package/dist/theming/applyTheme.d.ts +2 -0
  297. package/dist/theming/applyTheme.js +63 -65
  298. package/dist/theming/applyTheme.js.map +1 -0
  299. package/dist/theming/getConstructableStyle.d.ts +9 -0
  300. package/dist/theming/getConstructableStyle.js +12 -17
  301. package/dist/theming/getConstructableStyle.js.map +1 -0
  302. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  303. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  304. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  305. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  306. package/dist/theming/getEffectiveStyle.js +25 -23
  307. package/dist/theming/getEffectiveStyle.js.map +1 -0
  308. package/dist/theming/getStylesString.d.ts +3 -0
  309. package/dist/theming/getStylesString.js +9 -11
  310. package/dist/theming/getStylesString.js.map +1 -0
  311. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  312. package/dist/theming/getThemeDesignerTheme.js +73 -60
  313. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  314. package/dist/theming/preloadLinks.d.ts +3 -0
  315. package/dist/theming/preloadLinks.js +19 -0
  316. package/dist/theming/preloadLinks.js.map +1 -0
  317. package/dist/thirdparty/_merge.d.ts +2 -0
  318. package/dist/thirdparty/_merge.js +7 -4
  319. package/dist/thirdparty/_merge.js.map +1 -0
  320. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  321. package/dist/thirdparty/isPlainObject.js +11 -10
  322. package/dist/thirdparty/isPlainObject.js.map +1 -0
  323. package/dist/thirdparty/merge.d.ts +2 -0
  324. package/dist/thirdparty/merge.js +4 -8
  325. package/dist/thirdparty/merge.js.map +1 -0
  326. package/dist/types/AnimationMode.d.ts +24 -0
  327. package/dist/types/AnimationMode.js +25 -6
  328. package/dist/types/AnimationMode.js.map +1 -0
  329. package/dist/types/CSSColor.d.ts +11 -0
  330. package/dist/types/CSSColor.js +10 -5
  331. package/dist/types/CSSColor.js.map +1 -0
  332. package/dist/types/CSSSize.d.ts +11 -0
  333. package/dist/types/CSSSize.js +10 -5
  334. package/dist/types/CSSSize.js.map +1 -0
  335. package/dist/types/CalendarType.d.ts +28 -0
  336. package/dist/types/CalendarType.js +26 -18
  337. package/dist/types/CalendarType.js.map +1 -0
  338. package/dist/types/DOMReference.d.ts +13 -0
  339. package/dist/types/DOMReference.js +21 -0
  340. package/dist/types/DOMReference.js.map +1 -0
  341. package/dist/types/DataType.d.ts +20 -0
  342. package/dist/types/DataType.js +31 -17
  343. package/dist/types/DataType.js.map +1 -0
  344. package/dist/types/Float.d.ts +14 -0
  345. package/dist/types/Float.js +14 -6
  346. package/dist/types/Float.js.map +1 -0
  347. package/dist/types/Integer.d.ts +14 -0
  348. package/dist/types/Integer.js +14 -5
  349. package/dist/types/Integer.js.map +1 -0
  350. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  351. package/dist/types/InvisibleMessageMode.js +20 -0
  352. package/dist/types/InvisibleMessageMode.js.map +1 -0
  353. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  354. package/dist/types/ItemNavigationBehavior.js +16 -12
  355. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  356. package/dist/types/MovePlacement.d.ts +20 -0
  357. package/dist/types/MovePlacement.js +22 -0
  358. package/dist/types/MovePlacement.js.map +1 -0
  359. package/dist/types/NavigationMode.d.ts +24 -0
  360. package/dist/types/NavigationMode.js +25 -6
  361. package/dist/types/NavigationMode.js.map +1 -0
  362. package/dist/types/Orientation.d.ts +16 -0
  363. package/dist/types/Orientation.js +18 -0
  364. package/dist/types/Orientation.js.map +1 -0
  365. package/dist/types/ValueState.d.ts +28 -0
  366. package/dist/types/ValueState.js +27 -19
  367. package/dist/types/ValueState.js.map +1 -0
  368. package/dist/types.d.ts +28 -0
  369. package/dist/types.js +2 -0
  370. package/dist/types.js.map +1 -0
  371. package/dist/updateShadowRoot.d.ts +8 -0
  372. package/dist/updateShadowRoot.js +32 -16
  373. package/dist/updateShadowRoot.js.map +1 -0
  374. package/dist/util/AriaLabelHelper.d.ts +15 -0
  375. package/dist/util/AriaLabelHelper.js +166 -36
  376. package/dist/util/AriaLabelHelper.js.map +1 -0
  377. package/dist/util/Caret.d.ts +7 -0
  378. package/dist/util/Caret.js +16 -38
  379. package/dist/util/Caret.js.map +1 -0
  380. package/dist/util/ColorConversion.d.ts +30 -0
  381. package/dist/util/ColorConversion.js +342 -0
  382. package/dist/util/ColorConversion.js.map +1 -0
  383. package/dist/util/FetchHelper.d.ts +3 -0
  384. package/dist/util/FetchHelper.js +19 -25
  385. package/dist/util/FetchHelper.js.map +1 -0
  386. package/dist/util/FocusableElements.d.ts +4 -0
  387. package/dist/util/FocusableElements.js +67 -68
  388. package/dist/util/FocusableElements.js.map +1 -0
  389. package/dist/util/HTMLSanitizer.d.ts +3 -0
  390. package/dist/util/HTMLSanitizer.js +6 -0
  391. package/dist/util/HTMLSanitizer.js.map +1 -0
  392. package/dist/util/InvisibleMessage.d.ts +10 -0
  393. package/dist/util/InvisibleMessage.js +56 -0
  394. package/dist/util/InvisibleMessage.js.map +1 -0
  395. package/dist/util/PopupUtils.d.ts +7 -0
  396. package/dist/util/PopupUtils.js +74 -0
  397. package/dist/util/PopupUtils.js.map +1 -0
  398. package/dist/util/SlotsHelper.d.ts +9 -0
  399. package/dist/util/SlotsHelper.js +22 -35
  400. package/dist/util/SlotsHelper.js.map +1 -0
  401. package/dist/util/StringHelper.d.ts +3 -0
  402. package/dist/util/StringHelper.js +17 -20
  403. package/dist/util/StringHelper.js.map +1 -0
  404. package/dist/util/TabbableElements.d.ts +17 -0
  405. package/dist/util/TabbableElements.js +53 -43
  406. package/dist/util/TabbableElements.js.map +1 -0
  407. package/dist/util/arraysAreEqual.d.ts +2 -0
  408. package/dist/util/arraysAreEqual.js +10 -12
  409. package/dist/util/arraysAreEqual.js.map +1 -0
  410. package/dist/util/clamp.d.ts +9 -0
  411. package/dist/util/clamp.js +13 -0
  412. package/dist/util/clamp.js.map +1 -0
  413. package/dist/util/createLinkInHead.d.ts +7 -0
  414. package/dist/util/createLinkInHead.js +21 -0
  415. package/dist/util/createLinkInHead.js.map +1 -0
  416. package/dist/util/createStyleInHead.d.ts +8 -0
  417. package/dist/util/createStyleInHead.js +11 -11
  418. package/dist/util/createStyleInHead.js.map +1 -0
  419. package/dist/util/debounce.d.ts +2 -0
  420. package/dist/util/debounce.js +6 -8
  421. package/dist/util/debounce.js.map +1 -0
  422. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  423. package/dist/util/detectNavigatorLanguage.js +13 -11
  424. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  425. package/dist/util/dragAndDrop/DragRegistry.d.ts +12 -0
  426. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  427. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  428. package/dist/util/dragAndDrop/findClosestPosition.d.ts +7 -0
  429. package/dist/util/dragAndDrop/findClosestPosition.js +59 -0
  430. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  431. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  432. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  433. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  434. package/dist/util/escapeRegex.d.ts +8 -0
  435. package/dist/util/escapeRegex.js +11 -0
  436. package/dist/util/escapeRegex.js.map +1 -0
  437. package/dist/util/formatMessage.d.ts +2 -0
  438. package/dist/util/formatMessage.js +15 -19
  439. package/dist/util/formatMessage.js.map +1 -0
  440. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  441. package/dist/util/generateHighlightedMarkup.js +41 -0
  442. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  443. package/dist/util/getActiveElement.d.ts +2 -0
  444. package/dist/util/getActiveElement.js +6 -8
  445. package/dist/util/getActiveElement.js.map +1 -0
  446. package/dist/util/getClassCopy.d.ts +421 -0
  447. package/dist/util/getClassCopy.js +10 -0
  448. package/dist/util/getClassCopy.js.map +1 -0
  449. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  450. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  451. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  452. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  453. package/dist/util/getEffectiveContentDensity.js +2 -3
  454. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  455. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  456. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  457. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  458. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  459. package/dist/util/getFastNavigationGroups.js +51 -0
  460. package/dist/util/getFastNavigationGroups.js.map +1 -0
  461. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  462. package/dist/util/getFileExtension.js +9 -11
  463. package/dist/util/getFileExtension.js.map +1 -0
  464. package/dist/util/getNormalizedTarget.d.ts +7 -0
  465. package/dist/util/getNormalizedTarget.js +14 -0
  466. package/dist/util/getNormalizedTarget.js.map +1 -0
  467. package/dist/util/getParentElement.d.ts +2 -0
  468. package/dist/util/getParentElement.js +5 -0
  469. package/dist/util/getParentElement.js.map +1 -0
  470. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  471. package/dist/util/getSingletonElementInstance.js +17 -11
  472. package/dist/util/getSingletonElementInstance.js.map +1 -0
  473. package/dist/util/isElementClickable.d.ts +2 -0
  474. package/dist/util/isElementClickable.js +16 -0
  475. package/dist/util/isElementClickable.js.map +1 -0
  476. package/dist/util/isElementContainingBlock.d.ts +2 -0
  477. package/dist/util/isElementContainingBlock.js +11 -0
  478. package/dist/util/isElementContainingBlock.js.map +1 -0
  479. package/dist/util/isElementHidden.d.ts +2 -0
  480. package/dist/util/isElementHidden.js +8 -0
  481. package/dist/util/isElementHidden.js.map +1 -0
  482. package/dist/util/isElementInView.d.ts +6 -0
  483. package/dist/util/isElementInView.js +12 -0
  484. package/dist/util/isElementInView.js.map +1 -0
  485. package/dist/util/isElementTabbable.d.ts +9 -0
  486. package/dist/util/isElementTabbable.js +30 -0
  487. package/dist/util/isElementTabbable.js.map +1 -0
  488. package/dist/util/isValidPropertyName.d.ts +8 -0
  489. package/dist/util/isValidPropertyName.js +16 -17
  490. package/dist/util/isValidPropertyName.js.map +1 -0
  491. package/dist/util/whenDOMReady.d.ts +2 -0
  492. package/dist/util/whenDOMReady.js +11 -10
  493. package/dist/util/whenDOMReady.js.map +1 -0
  494. package/dist/util/willShowContent.d.ts +2 -0
  495. package/dist/util/willShowContent.js +7 -0
  496. package/dist/util/willShowContent.js.map +1 -0
  497. package/dist/validateThemeRoot.d.ts +2 -0
  498. package/dist/validateThemeRoot.js +48 -0
  499. package/dist/validateThemeRoot.js.map +1 -0
  500. package/dist/vscode.html-custom-data.json +22 -0
  501. package/index.js +226 -2
  502. package/lib/generate-asset-parameters/index.js +11 -6
  503. package/lib/generate-styles/index.js +31 -0
  504. package/lib/generate-version-info/index.js +32 -0
  505. package/package-scripts.cjs +67 -0
  506. package/package.json +30 -11
  507. package/src/css/BusyIndicator.css +80 -0
  508. package/src/css/FontFace.css +96 -0
  509. package/src/css/OverrideFontFace.css +32 -0
  510. package/src/css/SystemCSSVars.css +9 -0
  511. package/tsconfig.json +20 -0
  512. package/used-modules.txt +14 -0
  513. package/config/rollup.config.js +0 -1
  514. package/config/wdio.conf.js +0 -1
  515. package/dist/RenderScheduler.js +0 -44
  516. package/dist/animations/config.js +0 -5
  517. package/dist/config/AssetsPath.js +0 -17
  518. package/dist/config/RTL.js +0 -31
  519. package/dist/isLegacyBrowser.js +0 -3
  520. package/dist/renderer/ifDefined.js +0 -21
  521. package/dist/renderer/scopeHTML.js +0 -32
  522. package/dist/resources/bundle.esm.js +0 -121
  523. package/dist/resources/bundle.esm.js.map +0 -1
  524. package/dist/test-resources/assets/Themes.js +0 -17
  525. package/dist/test-resources/elements/Child.js +0 -35
  526. package/dist/test-resources/elements/Generic.js +0 -84
  527. package/dist/test-resources/elements/GenericExt.js +0 -26
  528. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  529. package/dist/test-resources/elements/Parent.js +0 -41
  530. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  531. package/dist/test-resources/pages/AllTestElements.html +0 -39
  532. package/dist/test-resources/pages/Configuration.html +0 -18
  533. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  534. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  535. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  536. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  537. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  538. package/dist/test-resources/pages/i18n.html +0 -35
  539. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  540. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  541. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  542. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  543. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  544. package/dist/test-resources/specs/Theming.spec.js +0 -31
  545. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -240
  546. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
  547. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -73
  548. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  549. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  550. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  551. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  552. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  553. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  554. package/dist/types/PopupState.js +0 -37
  555. package/dist/util/encodeCSS.js +0 -24
  556. package/dist/util/findNodeOwner.js +0 -35
  557. package/dist/util/isDescendantOf.js +0 -15
  558. package/dist/util/isNodeClickable.js +0 -19
  559. package/dist/util/isNodeHidden.js +0 -9
  560. package/dist/util/isNodeTabbable.js +0 -28
  561. package/dist/util/setToArray.js +0 -10
  562. package/package-scripts.js +0 -46
  563. package/src/AssetRegistry.js +0 -11
  564. package/src/Boot.js +0 -48
  565. package/src/CustomElementsRegistry.js +0 -39
  566. package/src/CustomElementsScope.js +0 -108
  567. package/src/DOMObserver.js +0 -61
  568. package/src/Device.js +0 -823
  569. package/src/EventProvider.js +0 -91
  570. package/src/FeaturesRegistry.js +0 -11
  571. package/src/FontFace.js +0 -118
  572. package/src/InitialConfiguration.js +0 -150
  573. package/src/Keys.js +0 -221
  574. package/src/PropertiesFileFormat.js +0 -95
  575. package/src/Render.js +0 -174
  576. package/src/RenderQueue.js +0 -66
  577. package/src/RenderScheduler.js +0 -44
  578. package/src/StaticAreaItem.js +0 -80
  579. package/src/SystemCSSVars.js +0 -31
  580. package/src/UI5Element.js +0 -1032
  581. package/src/UI5ElementMetadata.js +0 -311
  582. package/src/animations/AnimationQueue.js +0 -42
  583. package/src/animations/animate.js +0 -53
  584. package/src/animations/config.js +0 -5
  585. package/src/animations/scroll.js +0 -28
  586. package/src/animations/slideDown.js +0 -79
  587. package/src/animations/slideUp.js +0 -71
  588. package/src/asset-registries/Icons.js +0 -112
  589. package/src/asset-registries/LocaleData.js +0 -121
  590. package/src/asset-registries/Themes.js +0 -78
  591. package/src/asset-registries/i18n.js +0 -120
  592. package/src/config/AnimationMode.js +0 -23
  593. package/src/config/AssetsPath.js +0 -17
  594. package/src/config/CalendarType.js +0 -18
  595. package/src/config/FormatSettings.js +0 -13
  596. package/src/config/Language.js +0 -68
  597. package/src/config/NoConflict.js +0 -51
  598. package/src/config/RTL.js +0 -31
  599. package/src/config/Theme.js +0 -28
  600. package/src/delegate/ItemNavigation.js +0 -293
  601. package/src/delegate/ResizeHandler.js +0 -106
  602. package/src/delegate/ScrollEnablement.js +0 -182
  603. package/src/features/OpenUI5Support.js +0 -90
  604. package/src/getSharedResource.js +0 -30
  605. package/src/i18nBundle.js +0 -52
  606. package/src/isLegacyBrowser.js +0 -3
  607. package/src/locale/Locale.js +0 -91
  608. package/src/locale/RTLAwareRegistry.js +0 -14
  609. package/src/locale/applyDirection.js +0 -17
  610. package/src/locale/directionChange.js +0 -32
  611. package/src/locale/getEffectiveDir.js +0 -28
  612. package/src/locale/getLocale.js +0 -41
  613. package/src/locale/languageChange.js +0 -22
  614. package/src/locale/nextFallbackLocale.js +0 -28
  615. package/src/locale/normalizeLocale.js +0 -54
  616. package/src/renderer/LitRenderer.js +0 -31
  617. package/src/renderer/executeTemplate.js +0 -17
  618. package/src/renderer/ifDefined.js +0 -21
  619. package/src/renderer/scopeHTML.js +0 -32
  620. package/src/theming/CustomStyle.js +0 -40
  621. package/src/theming/ThemeLoaded.js +0 -22
  622. package/src/theming/applyTheme.js +0 -78
  623. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  624. package/src/theming/getConstructableStyle.js +0 -30
  625. package/src/theming/getEffectiveStyle.js +0 -30
  626. package/src/theming/getStylesString.js +0 -13
  627. package/src/theming/getThemeDesignerTheme.js +0 -67
  628. package/src/thirdparty/_merge.js +0 -32
  629. package/src/thirdparty/isPlainObject.js +0 -18
  630. package/src/thirdparty/merge.js +0 -10
  631. package/src/types/AnimationMode.js +0 -7
  632. package/src/types/CSSColor.js +0 -9
  633. package/src/types/CSSSize.js +0 -9
  634. package/src/types/CalendarType.js +0 -22
  635. package/src/types/DataType.js +0 -25
  636. package/src/types/Float.js +0 -10
  637. package/src/types/Integer.js +0 -9
  638. package/src/types/ItemNavigationBehavior.js +0 -16
  639. package/src/types/NavigationMode.js +0 -7
  640. package/src/types/PopupState.js +0 -37
  641. package/src/types/ValueState.js +0 -22
  642. package/src/updateShadowRoot.js +0 -26
  643. package/src/util/AriaLabelHelper.js +0 -41
  644. package/src/util/Caret.js +0 -45
  645. package/src/util/FetchHelper.js +0 -31
  646. package/src/util/FocusableElements.js +0 -73
  647. package/src/util/SlotsHelper.js +0 -43
  648. package/src/util/StringHelper.js +0 -26
  649. package/src/util/TabbableElements.js +0 -47
  650. package/src/util/arraysAreEqual.js +0 -15
  651. package/src/util/createStyleInHead.js +0 -18
  652. package/src/util/debounce.js +0 -17
  653. package/src/util/detectNavigatorLanguage.js +0 -13
  654. package/src/util/encodeCSS.js +0 -24
  655. package/src/util/findNodeOwner.js +0 -35
  656. package/src/util/formatMessage.js +0 -23
  657. package/src/util/getActiveElement.js +0 -11
  658. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  659. package/src/util/getEffectiveContentDensity.js +0 -5
  660. package/src/util/getSingletonElementInstance.js +0 -13
  661. package/src/util/isDescendantOf.js +0 -15
  662. package/src/util/isNodeClickable.js +0 -19
  663. package/src/util/isNodeHidden.js +0 -9
  664. package/src/util/isNodeTabbable.js +0 -28
  665. package/src/util/isValidPropertyName.js +0 -29
  666. package/src/util/setToArray.js +0 -10
  667. package/src/util/whenDOMReady.js +0 -13
  668. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,13 +1,15 @@
1
1
  import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
2
-
3
- export default () => {
4
- const browserLanguages = navigator.languages;
5
-
6
- const navigatorLanguage = () => {
7
- return navigator.language;
8
- };
9
-
10
- const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage() || navigator.userLanguage || navigator.browserLanguage;
11
-
12
- return rawLocale || DEFAULT_LANGUAGE;
2
+ const isSSR = typeof document === "undefined";
3
+ const detectNavigatorLanguage = () => {
4
+ if (isSSR) {
5
+ return DEFAULT_LANGUAGE;
6
+ }
7
+ const browserLanguages = navigator.languages;
8
+ const navigatorLanguage = () => {
9
+ return navigator.language;
10
+ };
11
+ const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();
12
+ return rawLocale || DEFAULT_LANGUAGE;
13
13
  };
14
+ export default detectNavigatorLanguage;
15
+ //# sourceMappingURL=detectNavigatorLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectNavigatorLanguage.js","sourceRoot":"","sources":["../../src/util/detectNavigatorLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC;AAE9C,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACpC,IAAI,KAAK,EAAE;QACV,OAAO,gBAAgB,CAAC;KACxB;IACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC;IAE7C,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC9B,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC;IAEnF,OAAO,SAAS,IAAI,gBAAgB,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC","sourcesContent":["import { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nconst isSSR = typeof document === \"undefined\";\n\nconst detectNavigatorLanguage = () => {\n\tif (isSSR) {\n\t\treturn DEFAULT_LANGUAGE;\n\t}\n\tconst browserLanguages = navigator.languages;\n\n\tconst navigatorLanguage = () => {\n\t\treturn navigator.language;\n\t};\n\n\tconst rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();\n\n\treturn rawLocale || DEFAULT_LANGUAGE;\n};\n\nexport default detectNavigatorLanguage;\n"]}
@@ -0,0 +1,12 @@
1
+ import type UI5Element from "../../UI5Element";
2
+ declare const setDraggedElement: (element: HTMLElement | null) => void;
3
+ type SetDraggedElementFunction = typeof setDraggedElement;
4
+ declare const DragRegistry: {
5
+ subscribe: (subscriber: UI5Element) => void;
6
+ unsubscribe: (subscriber: UI5Element) => void;
7
+ addSelfManagedArea: (area: HTMLElement | ShadowRoot) => (element: HTMLElement | null) => void;
8
+ removeSelfManagedArea: (area: HTMLElement | ShadowRoot) => void;
9
+ getDraggedElement: () => HTMLElement | null;
10
+ };
11
+ export default DragRegistry;
12
+ export type { SetDraggedElementFunction, };
@@ -0,0 +1,66 @@
1
+ let draggedElement = null;
2
+ let globalHandlersAttached = false;
3
+ const subscribers = new Set();
4
+ const selfManagedDragAreas = new Set();
5
+ const ondragstart = (e) => {
6
+ if (!e.dataTransfer || !(e.target instanceof HTMLElement)) {
7
+ return;
8
+ }
9
+ if (!selfManagedDragAreas.has(e.target)) {
10
+ draggedElement = e.target;
11
+ }
12
+ };
13
+ const ondragend = () => {
14
+ draggedElement = null;
15
+ };
16
+ const ondrop = () => {
17
+ draggedElement = null;
18
+ };
19
+ const setDraggedElement = (element) => {
20
+ draggedElement = element;
21
+ };
22
+ const getDraggedElement = () => {
23
+ return draggedElement;
24
+ };
25
+ const attachGlobalHandlers = () => {
26
+ if (globalHandlersAttached) {
27
+ return;
28
+ }
29
+ document.body.addEventListener("dragstart", ondragstart);
30
+ document.body.addEventListener("dragend", ondragend);
31
+ document.body.addEventListener("drop", ondrop);
32
+ };
33
+ const detachGlobalHandlers = () => {
34
+ document.body.removeEventListener("dragstart", ondragstart);
35
+ document.body.removeEventListener("dragend", ondragend);
36
+ document.body.removeEventListener("drop", ondrop);
37
+ globalHandlersAttached = false;
38
+ };
39
+ const subscribe = (subscriber) => {
40
+ subscribers.add(subscriber);
41
+ if (!globalHandlersAttached) {
42
+ attachGlobalHandlers();
43
+ }
44
+ };
45
+ const unsubscribe = (subscriber) => {
46
+ subscribers.delete(subscriber);
47
+ if (subscribers.size === 0 && globalHandlersAttached) {
48
+ detachGlobalHandlers();
49
+ }
50
+ };
51
+ const addSelfManagedArea = (area) => {
52
+ selfManagedDragAreas.add(area);
53
+ return setDraggedElement;
54
+ };
55
+ const removeSelfManagedArea = (area) => {
56
+ selfManagedDragAreas.delete(area);
57
+ };
58
+ const DragRegistry = {
59
+ subscribe,
60
+ unsubscribe,
61
+ addSelfManagedArea,
62
+ removeSelfManagedArea,
63
+ getDraggedElement,
64
+ };
65
+ export default DragRegistry;
66
+ //# sourceMappingURL=DragRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragRegistry.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/DragRegistry.ts"],"names":[],"mappings":"AAEA,IAAI,cAAc,GAAuB,IAAI,CAAC;AAC9C,IAAI,sBAAsB,GAAG,KAAK,CAAC;AACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAc,CAAC;AAC1C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEjE,MAAM,WAAW,GAAG,CAAC,CAAY,EAAE,EAAE;IACpC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE;QAC1D,OAAO;KACP;IAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QACxC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;KAC1B;AACF,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,GAAG,EAAE;IACtB,cAAc,GAAG,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,EAAE;IACnB,cAAc,GAAG,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,OAA2B,EAAE,EAAE;IACzD,cAAc,GAAG,OAAO,CAAC;AAC1B,CAAC,CAAC;AAGF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC9B,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACjC,IAAI,sBAAsB,EAAE;QAC3B,OAAO;KACP;IAED,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACjC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,sBAAsB,GAAG,KAAK,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,UAAsB,EAAE,EAAE;IAC5C,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE5B,IAAI,CAAC,sBAAsB,EAAE;QAC5B,oBAAoB,EAAE,CAAC;KACvB;AACF,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAE,EAAE;IAC9C,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE/B,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,sBAAsB,EAAE;QACrD,oBAAoB,EAAE,CAAC;KACvB;AACF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAA8B,EAAE,EAAE;IAC7D,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/B,OAAO,iBAAiB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,IAA8B,EAAE,EAAE;IAChE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG;IACpB,SAAS;IACT,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;CACjB,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import type UI5Element from \"../../UI5Element\";\n\nlet draggedElement: HTMLElement | null = null;\nlet globalHandlersAttached = false;\nconst subscribers = new Set<UI5Element>();\nconst selfManagedDragAreas = new Set<HTMLElement | ShadowRoot>();\n\nconst ondragstart = (e: DragEvent) => {\n\tif (!e.dataTransfer || !(e.target instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\tif (!selfManagedDragAreas.has(e.target)) {\n\t\tdraggedElement = e.target;\n\t}\n};\n\nconst ondragend = () => {\n\tdraggedElement = null;\n};\n\nconst ondrop = () => {\n\tdraggedElement = null;\n};\n\nconst setDraggedElement = (element: HTMLElement | null) => {\n\tdraggedElement = element;\n};\ntype SetDraggedElementFunction = typeof setDraggedElement;\n\nconst getDraggedElement = () => {\n\treturn draggedElement;\n};\n\nconst attachGlobalHandlers = () => {\n\tif (globalHandlersAttached) {\n\t\treturn;\n\t}\n\n\tdocument.body.addEventListener(\"dragstart\", ondragstart);\n\tdocument.body.addEventListener(\"dragend\", ondragend);\n\tdocument.body.addEventListener(\"drop\", ondrop);\n};\n\nconst detachGlobalHandlers = () => {\n\tdocument.body.removeEventListener(\"dragstart\", ondragstart);\n\tdocument.body.removeEventListener(\"dragend\", ondragend);\n\tdocument.body.removeEventListener(\"drop\", ondrop);\n\tglobalHandlersAttached = false;\n};\n\nconst subscribe = (subscriber: UI5Element) => {\n\tsubscribers.add(subscriber);\n\n\tif (!globalHandlersAttached) {\n\t\tattachGlobalHandlers();\n\t}\n};\n\nconst unsubscribe = (subscriber: UI5Element) => {\n\tsubscribers.delete(subscriber);\n\n\tif (subscribers.size === 0 && globalHandlersAttached) {\n\t\tdetachGlobalHandlers();\n\t}\n};\n\nconst addSelfManagedArea = (area: HTMLElement | ShadowRoot) => {\n\tselfManagedDragAreas.add(area);\n\n\treturn setDraggedElement;\n};\n\nconst removeSelfManagedArea = (area: HTMLElement | ShadowRoot) => {\n\tselfManagedDragAreas.delete(area);\n};\n\nconst DragRegistry = {\n\tsubscribe,\n\tunsubscribe,\n\taddSelfManagedArea,\n\tremoveSelfManagedArea,\n\tgetDraggedElement,\n};\n\nexport default DragRegistry;\nexport type {\n\tSetDraggedElementFunction,\n};\n"]}
@@ -0,0 +1,7 @@
1
+ import MovePlacement from "../../types/MovePlacement.js";
2
+ import Orientation from "../../types/Orientation.js";
3
+ declare const findClosestPosition: (elements: Array<HTMLElement>, point: number, layoutOrientation: Orientation) => {
4
+ element: HTMLElement;
5
+ placements: MovePlacement[];
6
+ } | null;
7
+ export default findClosestPosition;
@@ -0,0 +1,59 @@
1
+ import MovePlacement from "../../types/MovePlacement.js";
2
+ import Orientation from "../../types/Orientation.js";
3
+ const closestPlacement = (point, beforePoint, centerPoint, afterPoint) => {
4
+ const distToBeforePoint = Math.abs(point - beforePoint);
5
+ const distToCenterPoint = Math.abs(point - centerPoint);
6
+ const distToAfterPoint = Math.abs(point - afterPoint);
7
+ const closestPoint = Math.min(distToBeforePoint, distToCenterPoint, distToAfterPoint);
8
+ let placements = [];
9
+ switch (closestPoint) {
10
+ case distToBeforePoint:
11
+ placements = [MovePlacement.Before];
12
+ break;
13
+ case distToCenterPoint:
14
+ placements = [MovePlacement.On, distToBeforePoint < distToAfterPoint ? MovePlacement.Before : MovePlacement.After];
15
+ break;
16
+ case distToAfterPoint:
17
+ placements = [MovePlacement.After];
18
+ break;
19
+ }
20
+ return placements;
21
+ };
22
+ const findClosestPosition = (elements, point, layoutOrientation) => {
23
+ let shortestDist = Number.POSITIVE_INFINITY;
24
+ let closestElement = null;
25
+ // determine which element is most closest to the point
26
+ for (let i = 0; i < elements.length; i++) {
27
+ const el = elements[i];
28
+ const { left, width, top, height, } = el.getBoundingClientRect();
29
+ let elemCenter;
30
+ if (layoutOrientation === Orientation.Vertical) {
31
+ elemCenter = top + height / 2;
32
+ }
33
+ else { // Horizontal
34
+ elemCenter = left + width / 2;
35
+ }
36
+ const distanceToCenter = Math.abs(point - elemCenter);
37
+ if (distanceToCenter < shortestDist) {
38
+ shortestDist = distanceToCenter;
39
+ closestElement = el;
40
+ }
41
+ }
42
+ if (!closestElement) {
43
+ return null;
44
+ }
45
+ const { width, height, left, right, top, bottom, } = closestElement.getBoundingClientRect();
46
+ let placements;
47
+ if (layoutOrientation === Orientation.Vertical) {
48
+ placements = closestPlacement(point, top, top + height / 2, bottom);
49
+ }
50
+ else { // Horizontal
51
+ placements = closestPlacement(point, left, left + width / 2, right);
52
+ }
53
+ return {
54
+ element: closestElement,
55
+ placements,
56
+ };
57
+ };
58
+ export default findClosestPosition;
59
+ //# sourceMappingURL=findClosestPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findClosestPosition.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/findClosestPosition.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAE,WAAmB,EAAE,UAAkB,EAAE,EAAE;IACxG,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC5B,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CAChB,CAAC;IACF,IAAI,UAAU,GAAyB,EAAE,CAAC;IAE1C,QAAQ,YAAY,EAAE;QACtB,KAAK,iBAAiB;YACrB,UAAU,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM;QACP,KAAK,iBAAiB;YACrB,UAAU,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnH,MAAM;QACP,KAAK,gBAAgB;YACpB,UAAU,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM;KACN;IAED,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAA4B,EAAE,KAAa,EAAE,iBAA8B,EAAE,EAAE;IAC3G,IAAI,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC5C,IAAI,cAAc,GAAuB,IAAI,CAAC;IAE9C,uDAAuD;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,EACL,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GACxB,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QAE/B,IAAI,UAAU,CAAC;QACf,IAAI,iBAAiB,KAAK,WAAW,CAAC,QAAQ,EAAE;YAC/C,UAAU,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;SAC9B;aAAM,EAAE,aAAa;YACrB,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;SAC9B;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;QAEtD,IAAI,gBAAgB,GAAG,YAAY,EAAE;YACpC,YAAY,GAAG,gBAAgB,CAAC;YAChC,cAAc,GAAG,EAAE,CAAC;SACpB;KACD;IAED,IAAI,CAAC,cAAc,EAAE;QACpB,OAAO,IAAI,CAAC;KACZ;IAED,MAAM,EACL,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GACvC,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC;IAEf,IAAI,iBAAiB,KAAK,WAAW,CAAC,QAAQ,EAAE;QAC/C,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;KACpE;SAAM,EAAE,aAAa;QACrB,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,OAAO;QACN,OAAO,EAAE,cAAc;QACvB,UAAU;KACV,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import MovePlacement from \"../../types/MovePlacement.js\";\nimport Orientation from \"../../types/Orientation.js\";\n\nconst closestPlacement = (point: number, beforePoint: number, centerPoint: number, afterPoint: number) => {\n\tconst distToBeforePoint = Math.abs(point - beforePoint);\n\tconst distToCenterPoint = Math.abs(point - centerPoint);\n\tconst distToAfterPoint = Math.abs(point - afterPoint);\n\tconst closestPoint = Math.min(\n\t\tdistToBeforePoint,\n\t\tdistToCenterPoint,\n\t\tdistToAfterPoint,\n\t);\n\tlet placements: Array<MovePlacement> = [];\n\n\tswitch (closestPoint) {\n\tcase distToBeforePoint:\n\t\tplacements = [MovePlacement.Before];\n\t\tbreak;\n\tcase distToCenterPoint:\n\t\tplacements = [MovePlacement.On, distToBeforePoint < distToAfterPoint ? MovePlacement.Before : MovePlacement.After];\n\t\tbreak;\n\tcase distToAfterPoint:\n\t\tplacements = [MovePlacement.After];\n\t\tbreak;\n\t}\n\n\treturn placements;\n};\n\nconst findClosestPosition = (elements: Array<HTMLElement>, point: number, layoutOrientation: Orientation) => {\n\tlet shortestDist = Number.POSITIVE_INFINITY;\n\tlet closestElement: HTMLElement | null = null;\n\n\t// determine which element is most closest to the point\n\tfor (let i = 0; i < elements.length; i++) {\n\t\tconst el = elements[i];\n\t\tconst {\n\t\t\tleft, width, top, height,\n\t\t} = el.getBoundingClientRect();\n\n\t\tlet elemCenter;\n\t\tif (layoutOrientation === Orientation.Vertical) {\n\t\t\telemCenter = top + height / 2;\n\t\t} else { // Horizontal\n\t\t\telemCenter = left + width / 2;\n\t\t}\n\n\t\tconst distanceToCenter = Math.abs(point - elemCenter);\n\n\t\tif (distanceToCenter < shortestDist) {\n\t\t\tshortestDist = distanceToCenter;\n\t\t\tclosestElement = el;\n\t\t}\n\t}\n\n\tif (!closestElement) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\twidth, height, left, right, top, bottom,\n\t} = closestElement.getBoundingClientRect();\n\tlet placements;\n\n\tif (layoutOrientation === Orientation.Vertical) {\n\t\tplacements = closestPlacement(point, top, top + height / 2, bottom);\n\t} else { // Horizontal\n\t\tplacements = closestPlacement(point, left, left + width / 2, right);\n\t}\n\n\treturn {\n\t\telement: closestElement,\n\t\tplacements,\n\t};\n};\n\nexport default findClosestPosition;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const longDragOverHandler: (targetsSelector: string) => (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(arg0: DragEvent, arg1: boolean) => any>) => TypedPropertyDescriptor<(arg0: DragEvent, arg1: boolean) => any>;
2
+ export default longDragOverHandler;
@@ -0,0 +1,25 @@
1
+ let lastTarget = null;
2
+ let lastTargetDragOverStart = Date.now();
3
+ const LONG_DRAG_OVER_THRESHOLD = 300;
4
+ const longDragOverHandler = (targetsSelector) => {
5
+ return (target, propertyKey, descriptor) => {
6
+ const origHandler = descriptor.value;
7
+ descriptor.value = function handleDragOver(e) {
8
+ let isLongDragOver = false;
9
+ if (e.target instanceof HTMLElement) {
10
+ const currentTarget = e.target.closest(targetsSelector);
11
+ if (currentTarget === lastTarget && Date.now() - lastTargetDragOverStart >= LONG_DRAG_OVER_THRESHOLD) {
12
+ isLongDragOver = true;
13
+ }
14
+ else if (currentTarget !== lastTarget) {
15
+ lastTarget = currentTarget;
16
+ lastTargetDragOverStart = Date.now();
17
+ }
18
+ }
19
+ origHandler.apply(this, [e, isLongDragOver]);
20
+ };
21
+ return descriptor;
22
+ };
23
+ };
24
+ export default longDragOverHandler;
25
+ //# sourceMappingURL=longDragOverHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longDragOverHandler.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/longDragOverHandler.ts"],"names":[],"mappings":"AAAA,IAAI,UAAU,GAAuB,IAAI,CAAC;AAC1C,IAAI,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,MAAM,mBAAmB,GAAG,CAAC,eAAuB,EAAE,EAAE;IACvD,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA4E,EAAE,EAAE;QACzH,MAAM,WAAW,GAAG,UAAU,CAAC,KAAM,CAAC;QAEtC,UAAU,CAAC,KAAK,GAAG,SAAS,cAAc,CAAC,CAAY;YACtD,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,EAAE;gBACpC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAc,eAAe,CAAC,CAAC;gBAErE,IAAI,aAAa,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB,IAAI,wBAAwB,EAAE;oBACrG,cAAc,GAAG,IAAI,CAAC;iBACtB;qBAAM,IAAI,aAAa,KAAK,UAAU,EAAE;oBACxC,UAAU,GAAG,aAAa,CAAC;oBAC3B,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;iBACrC;aACD;YAED,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACnB,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["let lastTarget: HTMLElement | null = null;\nlet lastTargetDragOverStart = Date.now();\nconst LONG_DRAG_OVER_THRESHOLD = 300;\n\nconst longDragOverHandler = (targetsSelector: string) => {\n\treturn (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(arg0: DragEvent, arg1: boolean) => any>) => {\n\t\tconst origHandler = descriptor.value!;\n\n\t\tdescriptor.value = function handleDragOver(e: DragEvent) {\n\t\t\tlet isLongDragOver = false;\n\n\t\t\tif (e.target instanceof HTMLElement) {\n\t\t\t\tconst currentTarget = e.target.closest<HTMLElement>(targetsSelector);\n\n\t\t\t\tif (currentTarget === lastTarget && Date.now() - lastTargetDragOverStart >= LONG_DRAG_OVER_THRESHOLD) {\n\t\t\t\t\tisLongDragOver = true;\n\t\t\t\t} else if (currentTarget !== lastTarget) {\n\t\t\t\t\tlastTarget = currentTarget;\n\t\t\t\t\tlastTargetDragOverStart = Date.now();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\torigHandler.apply(this, [e, isLongDragOver]);\n\t\t};\n\n\t\treturn descriptor;\n\t};\n};\n\nexport default longDragOverHandler;\n"]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Escapes a regular expression text so that it can be used in a regular expression.
3
+ *
4
+ * @param { string } text the string to be interpreted literally
5
+ * @returns { string } the escaped string
6
+ */
7
+ declare const escapeRegex: (text: string) => string;
8
+ export default escapeRegex;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Escapes a regular expression text so that it can be used in a regular expression.
3
+ *
4
+ * @param { string } text the string to be interpreted literally
5
+ * @returns { string } the escaped string
6
+ */
7
+ const escapeRegex = (text) => {
8
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
9
+ };
10
+ export default escapeRegex;
11
+ //# sourceMappingURL=escapeRegex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escapeRegex.js","sourceRoot":"","sources":["../../src/util/escapeRegex.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["/**\n * Escapes a regular expression text so that it can be used in a regular expression.\n *\n * @param { string } text the string to be interpreted literally\n * @returns { string } the escaped string\n */\nconst escapeRegex = (text: string) => {\n\treturn text.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n};\n\nexport default escapeRegex;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const formatMessage: (text: string, values: Array<number | string>) => string;
2
+ export default formatMessage;
@@ -1,23 +1,19 @@
1
1
  const messageFormatRegEX = /('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g;
2
-
3
2
  const formatMessage = (text, values) => {
4
- values = values || [];
5
-
6
- return text.replace(messageFormatRegEX, ($0, $1, $2, $3, offset) => {
7
- if ($1) {
8
- return '\''; /* eslint-disable-line */
9
- }
10
-
11
- if ($2) {
12
- return $2.replace(/''/g, '\''); /* eslint-disable-line */
13
- }
14
-
15
- if ($3) {
16
- return String(values[parseInt($3)]);
17
- }
18
-
19
- throw new Error(`[i18n]: pattern syntax error at pos ${offset}`);
20
- });
3
+ values = values || [];
4
+ return text.replace(messageFormatRegEX, ($0, $1, $2, $3, offset) => {
5
+ if ($1) {
6
+ return '\''; /* eslint-disable-line */
7
+ }
8
+ if ($2) {
9
+ return $2.replace(/''/g, '\''); /* eslint-disable-line */
10
+ }
11
+ if ($3) {
12
+ const ind = typeof $3 === "string" ? parseInt($3) : $3;
13
+ return String(values[ind]);
14
+ }
15
+ throw new Error(`[i18n]: pattern syntax error at pos ${offset}`);
16
+ });
21
17
  };
22
-
23
18
  export default formatMessage;
19
+ //# sourceMappingURL=formatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatMessage.js","sourceRoot":"","sources":["../../src/util/formatMessage.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,oEAAoE,CAAC;AAEhG,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,MAA8B,EAAE,EAAE;IACtE,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;IAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAmB,EAAE,MAAc,EAAE,EAAE;QAC3F,IAAI,EAAE,EAAE;YACP,OAAO,IAAI,CAAC,CAAC,yBAAyB;SACtC;QAED,IAAI,EAAE,EAAE;YACP,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB;SACzD;QAED,IAAI,EAAE,EAAE;YACP,MAAM,GAAG,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3B;QAED,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["const messageFormatRegEX = /('')|'([^']+(?:''[^']*)*)(?:'|$)|\\{([0-9]+(?:\\s*,[^{}]*)?)\\}|[{}]/g;\n\nconst formatMessage = (text: string, values: Array<number | string>) => {\n\tvalues = values || [];\n\n\treturn text.replace(messageFormatRegEX, ($0, $1, $2, $3: string | number, offset: number) => {\n\t\tif ($1) {\n\t\t\treturn '\\''; /* eslint-disable-line */\n\t\t}\n\n\t\tif ($2) {\n\t\t\treturn $2.replace(/''/g, '\\''); /* eslint-disable-line */\n\t\t}\n\n\t\tif ($3) {\n\t\t\tconst ind = typeof $3 === \"string\" ? parseInt($3) : $3;\n\t\t\treturn String(values[ind]);\n\t\t}\n\n\t\tthrow new Error(`[i18n]: pattern syntax error at pos ${offset}`);\n\t});\n};\n\nexport default formatMessage;\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Generate markup for a raw string where a particular text is wrapped with some tag, by default `<b>` (bold) tag.
3
+ * All inputs to this function are considered literal text, and special characters will always be escaped.
4
+ * @param {string} text The text to add highlighting to
5
+ * @param {string} textToHighlight The text which should be highlighted
6
+ * @return {string} the markup HTML which contains all occurrances of the input text surrounded with a `<b>` tag.
7
+ */
8
+ declare function generateHighlightedMarkup(text: string, textToHighlight: string): string;
9
+ export default generateHighlightedMarkup;
@@ -0,0 +1,41 @@
1
+ import escapeRegex from "./escapeRegex.js";
2
+ // @ts-ignore
3
+ import encodeXML from "../sap/base/security/encodeXML.js";
4
+ // utility to replace all occurances of a string
5
+ function replaceAll(text, find, replace, caseInsensitive) {
6
+ return text.replaceAll(new RegExp(escapeRegex(find), `${caseInsensitive ? "i" : ""}g`), replace);
7
+ }
8
+ /**
9
+ * Generate markup for a raw string where a particular text is wrapped with some tag, by default `<b>` (bold) tag.
10
+ * All inputs to this function are considered literal text, and special characters will always be escaped.
11
+ * @param {string} text The text to add highlighting to
12
+ * @param {string} textToHighlight The text which should be highlighted
13
+ * @return {string} the markup HTML which contains all occurrances of the input text surrounded with a `<b>` tag.
14
+ */
15
+ function generateHighlightedMarkup(text, textToHighlight) {
16
+ if (!text || !textToHighlight) {
17
+ return text;
18
+ }
19
+ // a token is some string that does not appear in either of the input strings
20
+ // repeat the token until it does not appear in the string
21
+ const makeToken = (t) => {
22
+ const [s, e] = t.split("");
23
+ while (text.indexOf(t) >= 0 || textToHighlight.indexOf(t) >= 0) {
24
+ t = `${s}${t}${e}`;
25
+ }
26
+ return t;
27
+ };
28
+ // It doesn't matter what characters are used as long as all 4 of them are unique
29
+ // And also that encodeXML will not change these characters
30
+ const openToken = makeToken("12");
31
+ const closeToken = makeToken("34");
32
+ // wrap every occurance of the textToHighlight using the open/close tokens (instead of markup at this point)
33
+ let result = encodeXML(replaceAll(text, textToHighlight, (match) => `${openToken}${match}${closeToken}`, true));
34
+ // now replace the open and close tokens with the markup that we expect
35
+ [[openToken, "<b>"], [closeToken, "</b>"]].forEach(([find, replace]) => {
36
+ result = replaceAll(result, find, replace, false);
37
+ });
38
+ return result;
39
+ }
40
+ export default generateHighlightedMarkup;
41
+ //# sourceMappingURL=generateHighlightedMarkup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateHighlightedMarkup.js","sourceRoot":"","sources":["../../src/util/generateHighlightedMarkup.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,aAAa;AACb,OAAO,SAAS,MAAM,mCAAmC,CAAC;AAE1D,gDAAgD;AAChD,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY,EAAE,OAAiE,EAAE,eAAwB;IAC1I,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAiB,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,IAAY,EAAE,eAAuB;IACvE,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE;QAC9B,OAAO,IAAI,CAAC;KACZ;IACD,6EAA6E;IAC7E,0DAA0D;IAC1D,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;QAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC/D,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;SACnB;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;IACF,iFAAiF;IACjF,2DAA2D;IAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,4GAA4G;IAC5G,IAAI,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,EAAE,EAAE,IAAI,CAAC,CAAW,CAAC;IAClI,uEAAuE;IACvE,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;QACtE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,eAAe,yBAAyB,CAAC","sourcesContent":["import escapeRegex from \"./escapeRegex.js\";\n// @ts-ignore\nimport encodeXML from \"../sap/base/security/encodeXML.js\";\n\n// utility to replace all occurances of a string\nfunction replaceAll(text: string, find: string, replace: string | ((substring: string, ...args: any[]) => string), caseInsensitive: boolean) {\n\treturn text.replaceAll(new RegExp(escapeRegex(find), `${caseInsensitive ? \"i\" : \"\"}g`), replace as string);\n}\n\n/**\n * Generate markup for a raw string where a particular text is wrapped with some tag, by default `<b>` (bold) tag.\n * All inputs to this function are considered literal text, and special characters will always be escaped.\n * @param {string} text The text to add highlighting to\n * @param {string} textToHighlight The text which should be highlighted\n * @return {string} the markup HTML which contains all occurrances of the input text surrounded with a `<b>` tag.\n */\nfunction generateHighlightedMarkup(text: string, textToHighlight: string) {\n\tif (!text || !textToHighlight) {\n\t\treturn text;\n\t}\n\t// a token is some string that does not appear in either of the input strings\n\t// repeat the token until it does not appear in the string\n\tconst makeToken = (t: string) => {\n\t\tconst [s, e] = t.split(\"\");\n\t\twhile (text.indexOf(t) >= 0 || textToHighlight.indexOf(t) >= 0) {\n\t\t\tt = `${s}${t}${e}`;\n\t\t}\n\t\treturn t;\n\t};\n\t// It doesn't matter what characters are used as long as all 4 of them are unique\n\t// And also that encodeXML will not change these characters\n\tconst openToken = makeToken(\"12\");\n\tconst closeToken = makeToken(\"34\");\n\t// wrap every occurance of the textToHighlight using the open/close tokens (instead of markup at this point)\n\tlet result = encodeXML(replaceAll(text, textToHighlight, (match: string) => `${openToken}${match}${closeToken}`, true)) as string;\n\t// now replace the open and close tokens with the markup that we expect\n\t[[openToken, \"<b>\"], [closeToken, \"</b>\"]].forEach(([find, replace]) => {\n\t\tresult = replaceAll(result, find, replace, false);\n\t});\n\treturn result;\n}\n\nexport default generateHighlightedMarkup;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const getActiveElement: () => Element | null;
2
+ export default getActiveElement;
@@ -1,11 +1,9 @@
1
1
  const getActiveElement = () => {
2
- let element = document.activeElement;
3
-
4
- while (element && element.shadowRoot && element.shadowRoot.activeElement) {
5
- element = element.shadowRoot.activeElement;
6
- }
7
-
8
- return element;
2
+ let element = document.activeElement;
3
+ while (element && element.shadowRoot && element.shadowRoot.activeElement) {
4
+ element = element.shadowRoot.activeElement;
5
+ }
6
+ return element;
9
7
  };
10
-
11
8
  export default getActiveElement;
9
+ //# sourceMappingURL=getActiveElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getActiveElement.js","sourceRoot":"","sources":["../../src/util/getActiveElement.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC7B,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;IAErC,OAAO,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE;QACzE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;KAC3C;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["const getActiveElement = () => {\n\tlet element = document.activeElement;\n\n\twhile (element && element.shadowRoot && element.shadowRoot.activeElement) {\n\t\telement = element.shadowRoot.activeElement;\n\t}\n\n\treturn element;\n};\n\nexport default getActiveElement;\n"]}