@ui5/webcomponents-base 0.0.0-306572ffa → 0.0.0-31ad69296

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 (744) hide show
  1. package/.eslintignore +10 -3
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1396 -0
  4. package/README.md +58 -7
  5. package/bundle.esm.js +34 -24
  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 +6 -10
  10. package/dist/AssetRegistry.js.map +1 -0
  11. package/dist/Boot.d.ts +10 -0
  12. package/dist/Boot.js +74 -0
  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 +23 -0
  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 -78
  34. package/dist/EventProvider.js.map +1 -0
  35. package/dist/FeaturesRegistry.d.ts +3 -0
  36. package/dist/FeaturesRegistry.js +5 -7
  37. package/dist/FeaturesRegistry.js.map +1 -0
  38. package/dist/FontFace.d.ts +2 -0
  39. package/dist/FontFace.js +21 -69
  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 +130 -104
  46. package/dist/InitialConfiguration.js.map +1 -0
  47. package/dist/Keys.d.ts +61 -0
  48. package/dist/Keys.js +175 -182
  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 +85 -0
  61. package/dist/PropertiesFileFormat.js.map +1 -0
  62. package/dist/Render.d.ts +47 -0
  63. package/dist/Render.js +143 -0
  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 +4 -28
  73. package/dist/StaticArea.js.map +1 -0
  74. package/dist/StaticAreaItem.d.ts +35 -0
  75. package/dist/StaticAreaItem.js +94 -102
  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/dist/Theming.d.ts +3 -0
  81. package/dist/Theming.js +3 -2
  82. package/dist/Theming.js.map +1 -0
  83. package/dist/UI5Element.d.ts +389 -0
  84. package/dist/UI5Element.js +999 -1058
  85. package/dist/UI5Element.js.map +1 -0
  86. package/dist/UI5ElementMetadata.d.ts +143 -0
  87. package/dist/UI5ElementMetadata.js +281 -200
  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 +136 -31
  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 +125 -114
  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 +58 -77
  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 +80 -85
  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 +59 -29
  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 +23 -0
  165. package/dist/decorators/customElement.js +36 -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 +311 -278
  181. package/dist/delegate/ItemNavigation.js.map +1 -0
  182. package/dist/delegate/ResizeHandler.d.ts +23 -0
  183. package/dist/delegate/ResizeHandler.js +82 -62
  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 -153
  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 +66 -42
  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 +11 -8
  242. package/dist/locale/applyDirection.js.map +1 -0
  243. package/dist/locale/directionChange.d.ts +15 -0
  244. package/dist/locale/directionChange.js +24 -0
  245. package/dist/locale/directionChange.js.map +1 -0
  246. package/dist/locale/getEffectiveDir.d.ts +2 -0
  247. package/dist/locale/getEffectiveDir.js +8 -0
  248. package/dist/locale/getEffectiveDir.js.map +1 -0
  249. package/dist/locale/getLocale.d.ts +7 -0
  250. package/dist/locale/getLocale.js +28 -21
  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 +40 -32
  289. package/dist/theming/CustomStyle.js.map +1 -0
  290. package/dist/theming/ThemeLoaded.d.ts +5 -0
  291. package/dist/theming/ThemeLoaded.js +14 -0
  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 +64 -69
  298. package/dist/theming/applyTheme.js.map +1 -0
  299. package/dist/theming/getConstructableStyle.d.ts +9 -0
  300. package/dist/theming/getConstructableStyle.js +13 -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 +26 -17
  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 +14 -0
  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 -17
  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 +42 -0
  373. package/dist/updateShadowRoot.js.map +1 -0
  374. package/dist/util/AriaLabelHelper.d.ts +15 -0
  375. package/dist/util/AriaLabelHelper.js +171 -0
  376. package/dist/util/AriaLabelHelper.js.map +1 -0
  377. package/dist/util/Caret.d.ts +7 -0
  378. package/dist/util/Caret.js +23 -0
  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 -61
  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 +30 -0
  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 +13 -0
  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 +15 -0
  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 +9 -0
  445. package/dist/util/getActiveElement.js.map +1 -0
  446. package/dist/util/getClassCopy.d.ts +420 -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 +4 -0
  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 +17 -16
  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 -14
  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/bundle.es5.js +0 -28
  514. package/config/rollup.config.js +0 -1
  515. package/config/wdio.conf.js +0 -1
  516. package/dist/RenderScheduler.js +0 -166
  517. package/dist/SVGIconRegistry.js +0 -62
  518. package/dist/animations/config.js +0 -5
  519. package/dist/boot.js +0 -34
  520. package/dist/compatibility/DOMObserver.js +0 -62
  521. package/dist/compatibility/patchNodeValue.js +0 -24
  522. package/dist/compatibility/whenPolyfillLoaded.js +0 -26
  523. package/dist/config/RTL.js +0 -31
  524. package/dist/delegate/CustomResize.js +0 -78
  525. package/dist/delegate/NativeResize.js +0 -44
  526. package/dist/features/PropertiesFormatSupport.js +0 -8
  527. package/dist/features/browsersupport/Edge.js +0 -6
  528. package/dist/features/browsersupport/IE11.js +0 -41
  529. package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  530. package/dist/renderer/ifDefined.js +0 -21
  531. package/dist/renderer/scopeHTML.js +0 -32
  532. package/dist/resources/bundle.es5.js +0 -212
  533. package/dist/resources/bundle.es5.js.map +0 -1
  534. package/dist/resources/bundle.esm.js +0 -129
  535. package/dist/resources/bundle.esm.js.map +0 -1
  536. package/dist/test-resources/assets/Themes.js +0 -17
  537. package/dist/test-resources/elements/Child.js +0 -35
  538. package/dist/test-resources/elements/Generic.js +0 -84
  539. package/dist/test-resources/elements/GenericExt.js +0 -26
  540. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  541. package/dist/test-resources/elements/Parent.js +0 -37
  542. package/dist/test-resources/elements/WithStaticArea.js +0 -76
  543. package/dist/test-resources/pages/AllTestElements.html +0 -42
  544. package/dist/test-resources/pages/Configuration.html +0 -20
  545. package/dist/test-resources/pages/ConfigurationScript.html +0 -36
  546. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  547. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  548. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  549. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  550. package/dist/test-resources/pages/i18n.html +0 -40
  551. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
  552. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
  553. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
  554. package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
  555. package/dist/test-resources/specs/StaticArea.spec.js +0 -34
  556. package/dist/test-resources/specs/Theming.spec.js +0 -31
  557. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
  558. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -96
  559. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
  560. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
  561. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
  562. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
  563. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
  564. package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
  565. package/dist/theming/CSSVarsPonyfill.js +0 -24
  566. package/dist/theming/adaptCSSForIE.js +0 -95
  567. package/dist/theming/createComponentStyleTag.js +0 -55
  568. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  569. package/dist/thirdparty/Array.from.js +0 -16
  570. package/dist/thirdparty/Array.prototype.fill.js +0 -44
  571. package/dist/thirdparty/Array.prototype.find.js +0 -46
  572. package/dist/thirdparty/Array.prototype.includes.js +0 -51
  573. package/dist/thirdparty/Element.prototype.closest.js +0 -11
  574. package/dist/thirdparty/Element.prototype.matches.js +0 -6
  575. package/dist/thirdparty/Map.prototype.keys.js +0 -9
  576. package/dist/thirdparty/Number.isInteger.js +0 -5
  577. package/dist/thirdparty/Number.isNaN.js +0 -1
  578. package/dist/thirdparty/Number.parseInt.js +0 -1
  579. package/dist/thirdparty/Object.assign.js +0 -31
  580. package/dist/thirdparty/Object.entries.js +0 -11
  581. package/dist/thirdparty/Symbol.js +0 -2
  582. package/dist/thirdparty/WeakSet.js +0 -27
  583. package/dist/thirdparty/es6-string-methods.js +0 -182
  584. package/dist/thirdparty/events-polyfills.js +0 -89
  585. package/dist/thirdparty/fetch.js +0 -1
  586. package/dist/thirdparty/template.js +0 -600
  587. package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  588. package/dist/types/PopupState.js +0 -37
  589. package/dist/util/findNodeOwner.js +0 -35
  590. package/dist/util/getEffectiveAriaLabelText.js +0 -28
  591. package/dist/util/isDescendantOf.js +0 -15
  592. package/dist/util/isNodeClickable.js +0 -19
  593. package/dist/util/isNodeHidden.js +0 -9
  594. package/dist/util/isNodeTabbable.js +0 -28
  595. package/dist/util/isSlot.js +0 -3
  596. package/dist/util/parseProperties.js +0 -89
  597. package/dist/util/setToArray.js +0 -10
  598. package/dist/webcomponentsjs/LICENSE.md +0 -19
  599. package/dist/webcomponentsjs/README.md +0 -229
  600. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
  601. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
  602. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
  603. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
  604. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
  605. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
  606. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
  607. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
  608. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
  609. package/dist/webcomponentsjs/package.json +0 -46
  610. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  611. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  612. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  613. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  614. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  615. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  616. package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
  617. package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
  618. package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
  619. package/package-scripts.js +0 -47
  620. package/src/AssetRegistry.js +0 -10
  621. package/src/CustomElementsRegistry.js +0 -39
  622. package/src/CustomElementsScope.js +0 -108
  623. package/src/Device.js +0 -823
  624. package/src/EventProvider.js +0 -81
  625. package/src/FeaturesRegistry.js +0 -11
  626. package/src/FontFace.js +0 -73
  627. package/src/InitialConfiguration.js +0 -131
  628. package/src/Keys.js +0 -188
  629. package/src/RenderQueue.js +0 -66
  630. package/src/RenderScheduler.js +0 -166
  631. package/src/SVGIconRegistry.js +0 -62
  632. package/src/StaticArea.js +0 -31
  633. package/src/StaticAreaItem.js +0 -108
  634. package/src/SystemCSSVars.js +0 -31
  635. package/src/Theming.js +0 -3
  636. package/src/UI5Element.js +0 -1078
  637. package/src/UI5ElementMetadata.js +0 -212
  638. package/src/animations/AnimationQueue.js +0 -42
  639. package/src/animations/animate.js +0 -53
  640. package/src/animations/config.js +0 -5
  641. package/src/animations/scroll.js +0 -28
  642. package/src/animations/slideDown.js +0 -79
  643. package/src/animations/slideUp.js +0 -71
  644. package/src/asset-registries/Icons.js +0 -31
  645. package/src/asset-registries/LocaleData.js +0 -125
  646. package/src/asset-registries/Themes.js +0 -87
  647. package/src/asset-registries/i18n.js +0 -107
  648. package/src/boot.js +0 -34
  649. package/src/compatibility/DOMObserver.js +0 -62
  650. package/src/compatibility/patchNodeValue.js +0 -24
  651. package/src/compatibility/whenPolyfillLoaded.js +0 -26
  652. package/src/config/AnimationMode.js +0 -23
  653. package/src/config/CalendarType.js +0 -18
  654. package/src/config/FormatSettings.js +0 -13
  655. package/src/config/Language.js +0 -41
  656. package/src/config/NoConflict.js +0 -51
  657. package/src/config/RTL.js +0 -31
  658. package/src/config/Theme.js +0 -28
  659. package/src/delegate/CustomResize.js +0 -78
  660. package/src/delegate/ItemNavigation.js +0 -282
  661. package/src/delegate/NativeResize.js +0 -44
  662. package/src/delegate/ResizeHandler.js +0 -65
  663. package/src/delegate/ScrollEnablement.js +0 -159
  664. package/src/features/OpenUI5Support.js +0 -90
  665. package/src/features/PropertiesFormatSupport.js +0 -8
  666. package/src/features/browsersupport/Edge.js +0 -6
  667. package/src/features/browsersupport/IE11.js +0 -41
  668. package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
  669. package/src/getSharedResource.js +0 -30
  670. package/src/i18nBundle.js +0 -52
  671. package/src/locale/Locale.js +0 -91
  672. package/src/locale/RTLAwareRegistry.js +0 -14
  673. package/src/locale/applyDirection.js +0 -15
  674. package/src/locale/getLocale.js +0 -31
  675. package/src/locale/languageChange.js +0 -22
  676. package/src/locale/nextFallbackLocale.js +0 -28
  677. package/src/locale/normalizeLocale.js +0 -54
  678. package/src/renderer/LitRenderer.js +0 -31
  679. package/src/renderer/executeTemplate.js +0 -17
  680. package/src/renderer/ifDefined.js +0 -21
  681. package/src/renderer/scopeHTML.js +0 -32
  682. package/src/theming/CSSVarsPonyfill.js +0 -24
  683. package/src/theming/CustomStyle.js +0 -40
  684. package/src/theming/adaptCSSForIE.js +0 -95
  685. package/src/theming/applyTheme.js +0 -81
  686. package/src/theming/createComponentStyleTag.js +0 -55
  687. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  688. package/src/theming/getConstructableStyle.js +0 -29
  689. package/src/theming/getEffectiveStyle.js +0 -23
  690. package/src/theming/getStylesString.js +0 -13
  691. package/src/theming/getThemeDesignerTheme.js +0 -67
  692. package/src/thirdparty/Array.from.js +0 -16
  693. package/src/thirdparty/Array.prototype.fill.js +0 -44
  694. package/src/thirdparty/Array.prototype.find.js +0 -46
  695. package/src/thirdparty/Array.prototype.includes.js +0 -51
  696. package/src/thirdparty/Element.prototype.closest.js +0 -11
  697. package/src/thirdparty/Element.prototype.matches.js +0 -6
  698. package/src/thirdparty/Map.prototype.keys.js +0 -9
  699. package/src/thirdparty/Number.isInteger.js +0 -5
  700. package/src/thirdparty/Number.isNaN.js +0 -1
  701. package/src/thirdparty/Number.parseInt.js +0 -1
  702. package/src/thirdparty/Object.assign.js +0 -31
  703. package/src/thirdparty/Object.entries.js +0 -11
  704. package/src/thirdparty/Symbol.js +0 -2
  705. package/src/thirdparty/WeakSet.js +0 -27
  706. package/src/thirdparty/_merge.js +0 -32
  707. package/src/thirdparty/es6-string-methods.js +0 -182
  708. package/src/thirdparty/events-polyfills.js +0 -89
  709. package/src/thirdparty/fetch.js +0 -1
  710. package/src/thirdparty/isPlainObject.js +0 -18
  711. package/src/thirdparty/merge.js +0 -10
  712. package/src/thirdparty/template.js +0 -600
  713. package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
  714. package/src/types/AnimationMode.js +0 -7
  715. package/src/types/CSSSize.js +0 -9
  716. package/src/types/CalendarType.js +0 -22
  717. package/src/types/DataType.js +0 -25
  718. package/src/types/Float.js +0 -10
  719. package/src/types/Integer.js +0 -9
  720. package/src/types/ItemNavigationBehavior.js +0 -21
  721. package/src/types/NavigationMode.js +0 -7
  722. package/src/types/PopupState.js +0 -37
  723. package/src/types/ValueState.js +0 -22
  724. package/src/util/FetchHelper.js +0 -31
  725. package/src/util/FocusableElements.js +0 -66
  726. package/src/util/StringHelper.js +0 -26
  727. package/src/util/TabbableElements.js +0 -47
  728. package/src/util/createStyleInHead.js +0 -18
  729. package/src/util/detectNavigatorLanguage.js +0 -13
  730. package/src/util/findNodeOwner.js +0 -35
  731. package/src/util/formatMessage.js +0 -23
  732. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  733. package/src/util/getEffectiveAriaLabelText.js +0 -28
  734. package/src/util/getSingletonElementInstance.js +0 -13
  735. package/src/util/isDescendantOf.js +0 -15
  736. package/src/util/isNodeClickable.js +0 -19
  737. package/src/util/isNodeHidden.js +0 -9
  738. package/src/util/isNodeTabbable.js +0 -28
  739. package/src/util/isSlot.js +0 -3
  740. package/src/util/isValidPropertyName.js +0 -27
  741. package/src/util/parseProperties.js +0 -89
  742. package/src/util/setToArray.js +0 -10
  743. package/src/util/whenDOMReady.js +0 -13
  744. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,47 +1,57 @@
1
- import isNodeTabbable from "./isNodeTabbable.js";
2
-
3
- const getTabbableElements = node => {
4
- return getTabbables(node.children);
1
+ import isElementTabbable from "./isElementTabbable.js";
2
+ /**
3
+ * Returns the tabbable elements within the provided HTMLElement.
4
+ *
5
+ * @public
6
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
7
+ * @returns { Array<HTMLElement> } the tabbable elements
8
+ */
9
+ const getTabbableElements = (el) => {
10
+ return getTabbables([...el.children]);
5
11
  };
6
-
7
- const getLastTabbableElement = node => {
8
- const tabbables = getTabbables(node.children);
9
- return tabbables.length ? tabbables[tabbables.length - 1] : null;
12
+ /**
13
+ * Returns the last tabbable element within the provided HTMLElement.
14
+ *
15
+ * @public
16
+ * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)
17
+ * @returns { HTMLElement | null } the last tabbable element or "null" if not found
18
+ */
19
+ const getLastTabbableElement = (el) => {
20
+ const tabbables = getTabbables([...el.children]);
21
+ return tabbables.length ? tabbables[tabbables.length - 1] : null;
10
22
  };
11
-
12
23
  const getTabbables = (nodes, tabbables) => {
13
- const tabbablesNodes = tabbables || [];
14
-
15
- if (!nodes) {
16
- return tabbablesNodes;
17
- }
18
-
19
- Array.from(nodes).forEach(currentNode => {
20
- if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {
21
- return;
22
- }
23
-
24
- if (currentNode.shadowRoot) {
25
- // get the root node of the ShadowDom (1st none style tag)
26
- const children = currentNode.shadowRoot.children;
27
- currentNode = Array.from(children).find(node => node.tagName !== "STYLE");
28
- }
29
-
30
- if (isNodeTabbable(currentNode)) {
31
- tabbablesNodes.push(currentNode);
32
- }
33
-
34
- if (currentNode.tagName === "SLOT") {
35
- getTabbables(currentNode.assignedNodes(), tabbablesNodes);
36
- } else {
37
- getTabbables(currentNode.children, tabbablesNodes);
38
- }
39
- });
40
-
41
- return tabbablesNodes;
42
- };
43
-
44
- export {
45
- getTabbableElements,
46
- getLastTabbableElement,
24
+ const tabbableElements = tabbables || [];
25
+ if (!nodes) {
26
+ return tabbableElements;
27
+ }
28
+ nodes.forEach(currentNode => {
29
+ if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {
30
+ return;
31
+ }
32
+ let currentElement = currentNode;
33
+ if (currentElement.hasAttribute("data-sap-no-tab-ref")) {
34
+ return;
35
+ }
36
+ if (currentElement.shadowRoot) {
37
+ // get the root node of the ShadowDom (1st none style tag)
38
+ const children = currentElement.shadowRoot.children;
39
+ currentElement = Array.from(children).find(node => node.tagName !== "STYLE");
40
+ }
41
+ if (!currentElement) {
42
+ return;
43
+ }
44
+ if (isElementTabbable(currentElement)) {
45
+ tabbableElements.push(currentElement);
46
+ }
47
+ if (currentElement.tagName === "SLOT") {
48
+ getTabbables(currentElement.assignedNodes(), tabbableElements);
49
+ }
50
+ else {
51
+ getTabbables([...currentElement.children], tabbableElements);
52
+ }
53
+ });
54
+ return tabbableElements;
47
55
  };
56
+ export { getTabbableElements, getLastTabbableElement, };
57
+ //# sourceMappingURL=TabbableElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabbableElements.js","sourceRoot":"","sources":["../../src/util/TabbableElements.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAAC,EAAe,EAAsB,EAAE;IACnE,OAAO,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAsB,EAAE;IACtE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,SAA8B,EAAsB,EAAE;IAC/F,MAAM,gBAAgB,GAAG,SAAS,IAAI,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACX,OAAO,gBAAgB,CAAC;KACxB;IAED,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC3B,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;YAC1F,OAAO;SACP;QAED,IAAI,cAAc,GAAG,WAA0B,CAAC;QAChD,IAAI,cAAc,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;YACvD,OAAO;SACP;QAED,IAAI,cAAc,CAAC,UAAU,EAAE;YAC9B,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC;YACpD,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAgB,CAAC;SAC5F;QAED,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO;SACP;QAED,IAAI,iBAAiB,CAAC,cAAc,CAAC,EAAE;YACtC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACtC;QAED,IAAI,cAAc,CAAC,OAAO,KAAK,MAAM,EAAE;YACtC,YAAY,CAAE,cAAkC,CAAC,aAAa,EAAwB,EAAE,gBAAgB,CAAC,CAAC;SAC1G;aAAM;YACN,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;SAC7D;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AACzB,CAAC,CAAC;AAEF,OAAO,EACN,mBAAmB,EACnB,sBAAsB,GACtB,CAAC","sourcesContent":["import isElementTabbable from \"./isElementTabbable.js\";\n\n/**\n * Returns the tabbable elements within the provided HTMLElement.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { Array<HTMLElement> } the tabbable elements\n */\nconst getTabbableElements = (el: HTMLElement): Array<HTMLElement> => {\n\treturn getTabbables([...el.children]);\n};\n\n/**\n * Returns the last tabbable element within the provided HTMLElement.\n *\n * @public\n * @param { HTMLElement } el the component to operate on (component that slots or contains within its shadow root the items the user navigates among)\n * @returns { HTMLElement | null } the last tabbable element or \"null\" if not found\n */\nconst getLastTabbableElement = (el: HTMLElement): HTMLElement | null => {\n\tconst tabbables = getTabbables([...el.children]);\n\treturn tabbables.length ? tabbables[tabbables.length - 1] : null;\n};\n\nconst getTabbables = (nodes: Array<Node>, tabbables?: Array<HTMLElement>): Array<HTMLElement> => {\n\tconst tabbableElements = tabbables || [];\n\n\tif (!nodes) {\n\t\treturn tabbableElements;\n\t}\n\n\tnodes.forEach(currentNode => {\n\t\tif (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet currentElement = currentNode as HTMLElement;\n\t\tif (currentElement.hasAttribute(\"data-sap-no-tab-ref\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (currentElement.shadowRoot) {\n\t\t\t// get the root node of the ShadowDom (1st none style tag)\n\t\t\tconst children = currentElement.shadowRoot.children;\n\t\t\tcurrentElement = Array.from(children).find(node => node.tagName !== \"STYLE\") as HTMLElement;\n\t\t}\n\n\t\tif (!currentElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isElementTabbable(currentElement)) {\n\t\t\ttabbableElements.push(currentElement);\n\t\t}\n\n\t\tif (currentElement.tagName === \"SLOT\") {\n\t\t\tgetTabbables((currentElement as HTMLSlotElement).assignedNodes() as Array<HTMLElement>, tabbableElements);\n\t\t} else {\n\t\t\tgetTabbables([...currentElement.children], tabbableElements);\n\t\t}\n\t});\n\n\treturn tabbableElements;\n};\n\nexport {\n\tgetTabbableElements,\n\tgetLastTabbableElement,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ declare const arraysAreEqual: (arr1: Array<any>, arr2: Array<any>) => boolean;
2
+ export default arraysAreEqual;
@@ -0,0 +1,13 @@
1
+ const arraysAreEqual = (arr1, arr2) => {
2
+ if (arr1.length !== arr2.length) {
3
+ return false;
4
+ }
5
+ for (let i = 0; i < arr1.length; i++) {
6
+ if (arr1[i] !== arr2[i]) {
7
+ return false;
8
+ }
9
+ }
10
+ return true;
11
+ };
12
+ export default arraysAreEqual;
13
+ //# sourceMappingURL=arraysAreEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arraysAreEqual.js","sourceRoot":"","sources":["../../src/util/arraysAreEqual.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,CAAC,IAAgB,EAAE,IAAgB,EAAE,EAAE;IAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;QAChC,OAAO,KAAK,CAAC;KACb;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;YACxB,OAAO,KAAK,CAAC;SACb;KACD;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["const arraysAreEqual = (arr1: Array<any>, arr2: Array<any>) => {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tif (arr1[i] !== arr2[i]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n};\n\nexport default arraysAreEqual;\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns a value clamped between an upper bound 'max' and lower bound 'min'.
3
+ * @param {number} val value
4
+ * @param {number} min lower bound
5
+ * @param {number} max upper bound
6
+ * @returns {number}
7
+ */
8
+ declare const clamp: (val: number, min: number, max: number) => number;
9
+ export default clamp;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Returns a value clamped between an upper bound 'max' and lower bound 'min'.
3
+ * @param {number} val value
4
+ * @param {number} min lower bound
5
+ * @param {number} max upper bound
6
+ * @returns {number}
7
+ */
8
+ const clamp = (val, min, max) => {
9
+ // handles case when max < min
10
+ return Math.min(Math.max(val, min), Math.max(min, max));
11
+ };
12
+ export default clamp;
13
+ //# sourceMappingURL=clamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clamp.js","sourceRoot":"","sources":["../../src/util/clamp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE;IACvD,8BAA8B;IAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["/**\n * Returns a value clamped between an upper bound 'max' and lower bound 'min'.\n * @param {number} val value\n * @param {number} min lower bound\n * @param {number} max upper bound\n * @returns {number}\n */\nconst clamp = (val: number, min: number, max: number) => {\n\t// handles case when max < min\n\treturn Math.min(Math.max(val, min), Math.max(min, max));\n};\n\nexport default clamp;\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Creates a `<link>` tag in the `<head>` tag
3
+ * @param href - the CSS
4
+ * @param attributes - optional attributes to add to the tag
5
+ */
6
+ declare const createLinkInHead: (href: string, attributes?: Record<string, string>) => Promise<Event>;
7
+ export default createLinkInHead;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Creates a `<link>` tag in the `<head>` tag
3
+ * @param href - the CSS
4
+ * @param attributes - optional attributes to add to the tag
5
+ */
6
+ const createLinkInHead = (href, attributes) => {
7
+ const link = document.createElement("link");
8
+ link.type = "text/css";
9
+ link.rel = "stylesheet";
10
+ if (attributes) {
11
+ Object.entries(attributes).forEach(pair => link.setAttribute(...pair));
12
+ }
13
+ link.href = href;
14
+ document.head.appendChild(link);
15
+ return new Promise(resolve => {
16
+ link.addEventListener("load", resolve);
17
+ link.addEventListener("error", resolve); // intended
18
+ });
19
+ };
20
+ export default createLinkInHead;
21
+ //# sourceMappingURL=createLinkInHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLinkInHead.js","sourceRoot":"","sources":["../../src/util/createLinkInHead.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,UAAmC,EAAE,EAAE;IAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACvB,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;IAExB,IAAI,UAAU,EAAE;QACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;KACvE;IAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAEjB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhC,OAAO,IAAI,OAAO,CAAQ,OAAO,CAAC,EAAE;QACnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW;IACrD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["/**\n * Creates a `<link>` tag in the `<head>` tag\n * @param href - the CSS\n * @param attributes - optional attributes to add to the tag\n */\nconst createLinkInHead = (href: string, attributes?: Record<string, string>) => {\n\tconst link = document.createElement(\"link\");\n\tlink.type = \"text/css\";\n\tlink.rel = \"stylesheet\";\n\n\tif (attributes) {\n\t\tObject.entries(attributes).forEach(pair => link.setAttribute(...pair));\n\t}\n\n\tlink.href = href;\n\n\tdocument.head.appendChild(link);\n\n\treturn new Promise<Event>(resolve => {\n\t\tlink.addEventListener(\"load\", resolve);\n\t\tlink.addEventListener(\"error\", resolve); // intended\n\t});\n};\n\nexport default createLinkInHead;\n"]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Creates a `<style>` tag in the `<head>` tag
3
+ * @param cssText - the CSS
4
+ * @param attributes - optional attributes to add to the tag
5
+ * @returns {HTMLElement}
6
+ */
7
+ declare const createStyleInHead: (cssText: string, attributes?: Record<string, string>) => HTMLStyleElement;
8
+ export default createStyleInHead;
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Creates a <style> tag in the <head> tag
2
+ * Creates a `<style>` tag in the `<head>` tag
3
3
  * @param cssText - the CSS
4
4
  * @param attributes - optional attributes to add to the tag
5
5
  * @returns {HTMLElement}
6
6
  */
7
- const createStyleInHead = (cssText, attributes = {}) => {
8
- const style = document.createElement("style");
9
- style.type = "text/css";
10
-
11
- Object.entries(attributes).forEach(pair => style.setAttribute(...pair));
12
-
13
- style.textContent = cssText;
14
- document.head.appendChild(style);
15
- return style;
7
+ const createStyleInHead = (cssText, attributes) => {
8
+ const style = document.createElement("style");
9
+ style.type = "text/css";
10
+ if (attributes) {
11
+ Object.entries(attributes).forEach(pair => style.setAttribute(...pair));
12
+ }
13
+ style.textContent = cssText;
14
+ document.head.appendChild(style);
15
+ return style;
16
16
  };
17
-
18
17
  export default createStyleInHead;
18
+ //# sourceMappingURL=createStyleInHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStyleInHead.js","sourceRoot":"","sources":["../../src/util/createStyleInHead.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,UAAmC,EAAE,EAAE;IAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;IAExB,IAAI,UAAU,EAAE;QACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;KACxE;IAED,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["/**\n * Creates a `<style>` tag in the `<head>` tag\n * @param cssText - the CSS\n * @param attributes - optional attributes to add to the tag\n * @returns {HTMLElement}\n */\nconst createStyleInHead = (cssText: string, attributes?: Record<string, string>) => {\n\tconst style = document.createElement(\"style\");\n\tstyle.type = \"text/css\";\n\n\tif (attributes) {\n\t\tObject.entries(attributes).forEach(pair => style.setAttribute(...pair));\n\t}\n\n\tstyle.textContent = cssText;\n\tdocument.head.appendChild(style);\n\treturn style;\n};\n\nexport default createStyleInHead;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const debounce: (fn: () => void, delay: number) => void;
2
+ export default debounce;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Delays function execution by given threshold.
3
+ * @param fn {Function}
4
+ * @param delay {Integer}
5
+ */
6
+ let debounceInterval = null;
7
+ const debounce = (fn, delay) => {
8
+ debounceInterval && clearTimeout(debounceInterval);
9
+ debounceInterval = setTimeout(() => {
10
+ debounceInterval = null;
11
+ fn();
12
+ }, delay);
13
+ };
14
+ export default debounce;
15
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/util/debounce.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,IAAI,gBAAgB,GAAmB,IAAI,CAAC;AAE5C,MAAM,QAAQ,GAAG,CAAC,EAAc,EAAE,KAAa,EAAE,EAAE;IAClD,gBAAgB,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;QAClC,gBAAgB,GAAG,IAAI,CAAC;QACxB,EAAE,EAAE,CAAC;IACN,CAAC,EAAE,KAAK,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import { Timeout } from \"../types.js\";\n\n/**\n * Delays function execution by given threshold.\n * @param fn {Function}\n * @param delay {Integer}\n */\nlet debounceInterval: Timeout | null = null;\n\nconst debounce = (fn: () => void, delay: number) => {\n\tdebounceInterval && clearTimeout(debounceInterval);\n\tdebounceInterval = setTimeout(() => {\n\t\tdebounceInterval = null;\n\t\tfn();\n\t}, delay);\n};\n\nexport default debounce;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const detectNavigatorLanguage: () => string;
2
+ export default detectNavigatorLanguage;
@@ -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;