@ui5/webcomponents-base 0.0.0-64a57f090 → 0.0.0-69dbc5a15

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 (814) hide show
  1. package/CHANGELOG.md +1331 -0
  2. package/README.md +3 -13
  3. package/cypress/specs/Accessor.cy.ts +79 -0
  4. package/cypress/specs/Boot.cy.ts +19 -0
  5. package/cypress/specs/ConfigurationChange.cy.ts +41 -0
  6. package/cypress/specs/ConfigurationScript.cy.ts +116 -0
  7. package/cypress/specs/ConfigurationURL.cy.ts +182 -0
  8. package/cypress/specs/CustomMount.cy.ts +34 -0
  9. package/cypress/specs/CustomTheme.cy.ts +36 -0
  10. package/cypress/specs/EventProvider.cy.ts +59 -0
  11. package/cypress/specs/SystemDOMElements.cy.ts +8 -0
  12. package/cypress/specs/Theming.cy.ts +74 -0
  13. package/cypress/specs/UI5ElementInvalidation.cy.ts +207 -0
  14. package/cypress/specs/UI5ElementLifecycle.cy.ts +82 -0
  15. package/cypress/specs/UI5ElementListenForChildPropChanges.cy.ts +62 -0
  16. package/cypress/specs/UI5ElementMetadataExt.cy.ts +42 -0
  17. package/cypress/specs/UI5ElementPropertyValidation.cy.ts +16 -0
  18. package/cypress/specs/UI5ElementPropsAndAttrs.cy.ts +113 -0
  19. package/cypress/specs/UI5ElementShadowDOM.cy.ts +30 -0
  20. package/cypress/specs/UI5ElementSlots.cy.ts +116 -0
  21. package/cypress/specs/WithComplexTemplate.cy.ts +32 -0
  22. package/cypress/tsconfig.json +20 -0
  23. package/cypress.config.js +3 -0
  24. package/dist/.tsbuildinfobuild +1 -0
  25. package/dist/AssetRegistry.d.ts +2 -2
  26. package/dist/AssetRegistry.js +2 -2
  27. package/dist/AssetRegistry.js.map +1 -1
  28. package/dist/Boot.d.ts +3 -2
  29. package/dist/Boot.js +11 -7
  30. package/dist/Boot.js.map +1 -1
  31. package/dist/CustomElementsRegistry.js +1 -1
  32. package/dist/CustomElementsRegistry.js.map +1 -1
  33. package/dist/CustomElementsScope.d.ts +2 -2
  34. package/dist/CustomElementsScopeUtils.js.map +1 -1
  35. package/dist/DOMObserver.js.map +1 -1
  36. package/dist/Device.d.ts +16 -2
  37. package/dist/Device.js +10 -14
  38. package/dist/Device.js.map +1 -1
  39. package/dist/EventProvider.js.map +1 -1
  40. package/dist/FeaturesRegistry.d.ts +16 -1
  41. package/dist/FeaturesRegistry.js +37 -1
  42. package/dist/FeaturesRegistry.js.map +1 -1
  43. package/dist/FontFace.js +6 -1
  44. package/dist/FontFace.js.map +1 -1
  45. package/dist/IgnoreCustomElements.d.ts +3 -5
  46. package/dist/IgnoreCustomElements.js +3 -5
  47. package/dist/IgnoreCustomElements.js.map +1 -1
  48. package/dist/InitialConfiguration.d.ts +9 -3
  49. package/dist/InitialConfiguration.js +26 -8
  50. package/dist/InitialConfiguration.js.map +1 -1
  51. package/dist/Keys.d.ts +4 -1
  52. package/dist/Keys.js +110 -106
  53. package/dist/Keys.js.map +1 -1
  54. package/dist/Location.d.ts +11 -0
  55. package/dist/Location.js +49 -0
  56. package/dist/Location.js.map +1 -0
  57. package/dist/ManagedStyles.d.ts +5 -6
  58. package/dist/ManagedStyles.js +45 -54
  59. package/dist/ManagedStyles.js.map +1 -1
  60. package/dist/MediaRange.d.ts +6 -12
  61. package/dist/MediaRange.js +21 -31
  62. package/dist/MediaRange.js.map +1 -1
  63. package/dist/PropertiesFileFormat.js.map +1 -1
  64. package/dist/Render.js.map +1 -1
  65. package/dist/RenderQueue.js.map +1 -1
  66. package/dist/Runtimes.js +11 -0
  67. package/dist/Runtimes.js.map +1 -1
  68. package/dist/SystemCSSVars.js.map +1 -1
  69. package/dist/UI5Element.d.ts +111 -76
  70. package/dist/UI5Element.js +389 -231
  71. package/dist/UI5Element.js.map +1 -1
  72. package/dist/UI5ElementMetadata.d.ts +41 -27
  73. package/dist/UI5ElementMetadata.js +34 -72
  74. package/dist/UI5ElementMetadata.js.map +1 -1
  75. package/dist/animations/AnimationQueue.js.map +1 -1
  76. package/dist/animations/animate.js.map +1 -1
  77. package/dist/animations/slideUp.js.map +1 -1
  78. package/dist/asset-registries/Icons.d.ts +1 -1
  79. package/dist/asset-registries/Icons.js +1 -1
  80. package/dist/asset-registries/Icons.js.map +1 -1
  81. package/dist/asset-registries/Illustrations.d.ts +1 -0
  82. package/dist/asset-registries/Illustrations.js +20 -28
  83. package/dist/asset-registries/Illustrations.js.map +1 -1
  84. package/dist/asset-registries/LocaleData.js +1 -1
  85. package/dist/asset-registries/LocaleData.js.map +1 -1
  86. package/dist/asset-registries/Themes.d.ts +5 -7
  87. package/dist/asset-registries/Themes.js +27 -12
  88. package/dist/asset-registries/Themes.js.map +1 -1
  89. package/dist/asset-registries/i18n.d.ts +2 -2
  90. package/dist/asset-registries/i18n.js +4 -3
  91. package/dist/asset-registries/i18n.js.map +1 -1
  92. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -1
  93. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +1 -1
  94. package/dist/asset-registries/util/IconCollectionsByTheme.js +1 -1
  95. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -1
  96. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +3 -3
  97. package/dist/asset-registries/util/getIconCollectionByTheme.js +3 -3
  98. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -1
  99. package/dist/config/AnimationMode.js +6 -1
  100. package/dist/config/AnimationMode.js.map +1 -1
  101. package/dist/config/CalendarType.js +5 -0
  102. package/dist/config/CalendarType.js.map +1 -1
  103. package/dist/config/ConfigurationReset.d.ts +4 -0
  104. package/dist/config/ConfigurationReset.js +11 -0
  105. package/dist/config/ConfigurationReset.js.map +1 -0
  106. package/dist/config/Fonts.d.ts +16 -0
  107. package/dist/config/Fonts.js +30 -0
  108. package/dist/config/Fonts.js.map +1 -0
  109. package/dist/config/FormatSettings.js +4 -0
  110. package/dist/config/FormatSettings.js.map +1 -1
  111. package/dist/config/Icons.d.ts +8 -8
  112. package/dist/config/Icons.js +7 -7
  113. package/dist/config/Icons.js.map +1 -1
  114. package/dist/config/Language.d.ts +1 -1
  115. package/dist/config/Language.js +11 -3
  116. package/dist/config/Language.js.map +1 -1
  117. package/dist/config/NoConflict.js +4 -0
  118. package/dist/config/NoConflict.js.map +1 -1
  119. package/dist/config/Theme.d.ts +4 -3
  120. package/dist/config/Theme.js +17 -6
  121. package/dist/config/Theme.js.map +1 -1
  122. package/dist/config/ThemeRoot.d.ts +2 -4
  123. package/dist/config/ThemeRoot.js +6 -4
  124. package/dist/config/ThemeRoot.js.map +1 -1
  125. package/dist/config/Timezone.d.ts +1 -1
  126. package/dist/config/Timezone.js +5 -1
  127. package/dist/config/Timezone.js.map +1 -1
  128. package/dist/config/Tooltips.d.ts +19 -0
  129. package/dist/config/Tooltips.js +29 -0
  130. package/dist/config/Tooltips.js.map +1 -0
  131. package/dist/connectToComponent.js.map +1 -1
  132. package/dist/converters/DOMReference.d.ts +5 -0
  133. package/dist/converters/DOMReference.js +13 -0
  134. package/dist/converters/DOMReference.js.map +1 -0
  135. package/dist/css/FontFace.css +13 -1
  136. package/dist/css/SystemCSSVars.css +0 -8
  137. package/dist/custom-elements-internal.json +2721 -0
  138. package/dist/custom-elements.json +2455 -0
  139. package/dist/decorators/bound.d.ts +1 -0
  140. package/dist/decorators/bound.js +34 -0
  141. package/dist/decorators/bound.js.map +1 -0
  142. package/dist/decorators/customElement.d.ts +42 -3
  143. package/dist/decorators/customElement.js +17 -6
  144. package/dist/decorators/customElement.js.map +1 -1
  145. package/dist/decorators/event-strict.d.ts +15 -0
  146. package/dist/decorators/event-strict.js +26 -0
  147. package/dist/decorators/event-strict.js.map +1 -0
  148. package/dist/decorators/event.d.ts +8 -2
  149. package/dist/decorators/event.js +3 -0
  150. package/dist/decorators/event.js.map +1 -1
  151. package/dist/decorators/i18n.d.ts +17 -0
  152. package/dist/decorators/i18n.js +26 -0
  153. package/dist/decorators/i18n.js.map +1 -0
  154. package/dist/decorators/property.d.ts +1 -1
  155. package/dist/decorators/property.js +1 -1
  156. package/dist/decorators/property.js.map +1 -1
  157. package/dist/decorators/query.d.ts +25 -0
  158. package/dist/decorators/query.js +32 -0
  159. package/dist/decorators/query.js.map +1 -0
  160. package/dist/decorators/queryAll.d.ts +27 -0
  161. package/dist/decorators/queryAll.js +34 -0
  162. package/dist/decorators/queryAll.js.map +1 -0
  163. package/dist/decorators/slot.d.ts +1 -1
  164. package/dist/decorators/slot.js.map +1 -1
  165. package/dist/decorators.d.ts +8 -0
  166. package/dist/decorators.js +9 -0
  167. package/dist/decorators.js.map +1 -0
  168. package/dist/delegate/ItemNavigation.d.ts +9 -8
  169. package/dist/delegate/ItemNavigation.js +11 -12
  170. package/dist/delegate/ItemNavigation.js.map +1 -1
  171. package/dist/delegate/ResizeHandler.d.ts +4 -6
  172. package/dist/delegate/ResizeHandler.js +4 -6
  173. package/dist/delegate/ResizeHandler.js.map +1 -1
  174. package/dist/delegate/ScrollEnablement.js +2 -2
  175. package/dist/delegate/ScrollEnablement.js.map +1 -1
  176. package/dist/features/F6Navigation.d.ts +3 -3
  177. package/dist/features/F6Navigation.js +27 -8
  178. package/dist/features/F6Navigation.js.map +1 -1
  179. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  180. package/dist/features/InputElementsFormSupport.js +39 -0
  181. package/dist/features/InputElementsFormSupport.js.map +1 -0
  182. package/dist/features/LegacyDateFormats.js.map +1 -1
  183. package/dist/features/OpenUI5Enablement.d.ts +3 -3
  184. package/dist/features/OpenUI5Enablement.js.map +1 -1
  185. package/dist/features/OpenUI5Support.d.ts +1 -3
  186. package/dist/features/OpenUI5Support.js +11 -22
  187. package/dist/features/OpenUI5Support.js.map +1 -1
  188. package/dist/features/patchPatcher.d.ts +11 -0
  189. package/dist/features/patchPatcher.js +11 -0
  190. package/dist/features/patchPatcher.js.map +1 -0
  191. package/dist/features/patchPopup.d.ts +15 -0
  192. package/dist/features/patchPopup.js +61 -0
  193. package/dist/features/patchPopup.js.map +1 -0
  194. package/dist/generated/AssetParameters.d.ts +6 -0
  195. package/dist/generated/AssetParameters.js +3 -10
  196. package/dist/generated/AssetParameters.js.map +1 -0
  197. package/dist/generated/VersionInfo.d.ts +10 -0
  198. package/dist/generated/VersionInfo.js +9 -8
  199. package/dist/generated/VersionInfo.js.map +1 -0
  200. package/dist/generated/css/BusyIndicator.css.d.ts +2 -3
  201. package/dist/generated/css/BusyIndicator.css.js +1 -6
  202. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  203. package/dist/generated/css/FontFace.css.d.ts +2 -3
  204. package/dist/generated/css/FontFace.css.js +1 -6
  205. package/dist/generated/css/FontFace.css.js.map +1 -1
  206. package/dist/generated/css/OverrideFontFace.css.d.ts +2 -3
  207. package/dist/generated/css/OverrideFontFace.css.js +1 -6
  208. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  209. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -3
  210. package/dist/generated/css/SystemCSSVars.css.js +1 -6
  211. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  212. package/dist/getSharedResource.js.map +1 -1
  213. package/dist/i18nBundle.d.ts +1 -3
  214. package/dist/i18nBundle.js +1 -4
  215. package/dist/i18nBundle.js.map +1 -1
  216. package/dist/index.d.ts +8 -0
  217. package/dist/jsx-dev-runtime.d.ts +4 -0
  218. package/dist/jsx-dev-runtime.js +43 -0
  219. package/dist/jsx-dev-runtime.js.map +1 -0
  220. package/dist/jsx-runtime.d.ts +50 -0
  221. package/dist/jsx-runtime.js +27 -0
  222. package/dist/jsx-runtime.js.map +1 -0
  223. package/dist/jsx-utils.d.ts +3 -0
  224. package/dist/jsx-utils.js +39 -0
  225. package/dist/jsx-utils.js.map +1 -0
  226. package/dist/locale/Locale.js.map +1 -1
  227. package/dist/locale/applyDirection.d.ts +3 -2
  228. package/dist/locale/applyDirection.js +3 -2
  229. package/dist/locale/applyDirection.js.map +1 -1
  230. package/dist/locale/getEffectiveDir.d.ts +1 -1
  231. package/dist/locale/getEffectiveDir.js +3 -19
  232. package/dist/locale/getEffectiveDir.js.map +1 -1
  233. package/dist/locale/getLocale.js.map +1 -1
  234. package/dist/locale/nextFallbackLocale.js.map +1 -1
  235. package/dist/locale/normalizeLocale.js.map +1 -1
  236. package/dist/prod/AssetRegistry.js +2 -0
  237. package/dist/prod/AssetRegistry.js.map +7 -0
  238. package/dist/prod/Boot.js +2 -0
  239. package/dist/prod/Boot.js.map +7 -0
  240. package/dist/prod/CustomElementsRegistry.js +10 -0
  241. package/dist/prod/CustomElementsRegistry.js.map +7 -0
  242. package/dist/prod/CustomElementsScope.js +2 -0
  243. package/dist/prod/CustomElementsScope.js.map +7 -0
  244. package/dist/prod/CustomElementsScopeUtils.js +2 -0
  245. package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
  246. package/dist/prod/DOMObserver.js +2 -0
  247. package/dist/prod/DOMObserver.js.map +7 -0
  248. package/dist/prod/Device.js +2 -0
  249. package/dist/prod/Device.js.map +7 -0
  250. package/dist/prod/EventProvider.js +2 -0
  251. package/dist/prod/EventProvider.js.map +7 -0
  252. package/dist/prod/FeaturesRegistry.js +2 -0
  253. package/dist/prod/FeaturesRegistry.js.map +7 -0
  254. package/dist/prod/FontFace.js +2 -0
  255. package/dist/prod/FontFace.js.map +7 -0
  256. package/dist/prod/IgnoreCustomElements.js +2 -0
  257. package/dist/prod/IgnoreCustomElements.js.map +7 -0
  258. package/dist/prod/InitialConfiguration.js +2 -0
  259. package/dist/prod/InitialConfiguration.js.map +7 -0
  260. package/dist/prod/Keys.js +2 -0
  261. package/dist/prod/Keys.js.map +7 -0
  262. package/dist/prod/Location.js +2 -0
  263. package/dist/prod/Location.js.map +7 -0
  264. package/dist/prod/ManagedStyles.js +2 -0
  265. package/dist/prod/ManagedStyles.js.map +7 -0
  266. package/dist/prod/MediaRange.js +2 -0
  267. package/dist/prod/MediaRange.js.map +7 -0
  268. package/dist/prod/PropertiesFileFormat.js +3 -0
  269. package/dist/prod/PropertiesFileFormat.js.map +7 -0
  270. package/dist/prod/Render.js +2 -0
  271. package/dist/prod/Render.js.map +7 -0
  272. package/dist/prod/RenderQueue.js +2 -0
  273. package/dist/prod/RenderQueue.js.map +7 -0
  274. package/dist/prod/Runtimes.js +2 -0
  275. package/dist/prod/Runtimes.js.map +7 -0
  276. package/dist/prod/SystemCSSVars.js +2 -0
  277. package/dist/prod/SystemCSSVars.js.map +7 -0
  278. package/dist/prod/Theming.js +2 -0
  279. package/dist/prod/Theming.js.map +7 -0
  280. package/dist/prod/UI5Element.js +2 -0
  281. package/dist/prod/UI5Element.js.map +7 -0
  282. package/dist/prod/UI5ElementMetadata.js +2 -0
  283. package/dist/prod/UI5ElementMetadata.js.map +7 -0
  284. package/dist/prod/animations/AnimationQueue.js +2 -0
  285. package/dist/prod/animations/AnimationQueue.js.map +7 -0
  286. package/dist/prod/animations/animate.js +2 -0
  287. package/dist/prod/animations/animate.js.map +7 -0
  288. package/dist/prod/animations/scroll.js +2 -0
  289. package/dist/prod/animations/scroll.js.map +7 -0
  290. package/dist/prod/animations/slideDown.js +2 -0
  291. package/dist/prod/animations/slideDown.js.map +7 -0
  292. package/dist/prod/animations/slideUp.js +2 -0
  293. package/dist/prod/animations/slideUp.js.map +7 -0
  294. package/dist/prod/asset-registries/Icons.js +2 -0
  295. package/dist/prod/asset-registries/Icons.js.map +7 -0
  296. package/dist/prod/asset-registries/Illustrations.js +2 -0
  297. package/dist/prod/asset-registries/Illustrations.js.map +7 -0
  298. package/dist/prod/asset-registries/LocaleData.js +2 -0
  299. package/dist/prod/asset-registries/LocaleData.js.map +7 -0
  300. package/dist/prod/asset-registries/Themes.js +2 -0
  301. package/dist/prod/asset-registries/Themes.js.map +7 -0
  302. package/dist/prod/asset-registries/i18n.js +2 -0
  303. package/dist/prod/asset-registries/i18n.js.map +7 -0
  304. package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
  305. package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
  306. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
  307. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
  308. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
  309. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
  310. package/dist/prod/config/AnimationMode.js +2 -0
  311. package/dist/prod/config/AnimationMode.js.map +7 -0
  312. package/dist/prod/config/CalendarType.js +2 -0
  313. package/dist/prod/config/CalendarType.js.map +7 -0
  314. package/dist/prod/config/ConfigurationReset.js +2 -0
  315. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  316. package/dist/prod/config/Fonts.js +2 -0
  317. package/dist/prod/config/Fonts.js.map +7 -0
  318. package/dist/prod/config/FormatSettings.js +2 -0
  319. package/dist/prod/config/FormatSettings.js.map +7 -0
  320. package/dist/prod/config/Icons.js +2 -0
  321. package/dist/prod/config/Icons.js.map +7 -0
  322. package/dist/prod/config/Language.js +2 -0
  323. package/dist/prod/config/Language.js.map +7 -0
  324. package/dist/prod/config/NoConflict.js +2 -0
  325. package/dist/prod/config/NoConflict.js.map +7 -0
  326. package/dist/prod/config/Theme.js +2 -0
  327. package/dist/prod/config/Theme.js.map +7 -0
  328. package/dist/prod/config/ThemeRoot.js +2 -0
  329. package/dist/prod/config/ThemeRoot.js.map +7 -0
  330. package/dist/prod/config/Timezone.js +2 -0
  331. package/dist/prod/config/Timezone.js.map +7 -0
  332. package/dist/prod/config/Tooltips.js +2 -0
  333. package/dist/prod/config/Tooltips.js.map +7 -0
  334. package/dist/prod/connectToComponent.js +2 -0
  335. package/dist/prod/connectToComponent.js.map +7 -0
  336. package/dist/prod/converters/DOMReference.js +2 -0
  337. package/dist/prod/converters/DOMReference.js.map +7 -0
  338. package/dist/prod/decorators/bound.js +2 -0
  339. package/dist/prod/decorators/bound.js.map +7 -0
  340. package/dist/prod/decorators/customElement.js +2 -0
  341. package/dist/prod/decorators/customElement.js.map +7 -0
  342. package/dist/prod/decorators/event-strict.js +2 -0
  343. package/dist/prod/decorators/event-strict.js.map +7 -0
  344. package/dist/prod/decorators/event.js +2 -0
  345. package/dist/prod/decorators/event.js.map +7 -0
  346. package/dist/prod/decorators/i18n.js +2 -0
  347. package/dist/prod/decorators/i18n.js.map +7 -0
  348. package/dist/prod/decorators/property.js +2 -0
  349. package/dist/prod/decorators/property.js.map +7 -0
  350. package/dist/prod/decorators/query.js +2 -0
  351. package/dist/prod/decorators/query.js.map +7 -0
  352. package/dist/prod/decorators/queryAll.js +2 -0
  353. package/dist/prod/decorators/queryAll.js.map +7 -0
  354. package/dist/prod/decorators/slot.js +2 -0
  355. package/dist/prod/decorators/slot.js.map +7 -0
  356. package/dist/prod/decorators.js +2 -0
  357. package/dist/prod/decorators.js.map +7 -0
  358. package/dist/prod/delegate/ItemNavigation.js +2 -0
  359. package/dist/prod/delegate/ItemNavigation.js.map +7 -0
  360. package/dist/prod/delegate/ResizeHandler.js +2 -0
  361. package/dist/prod/delegate/ResizeHandler.js.map +7 -0
  362. package/dist/prod/delegate/ScrollEnablement.js +2 -0
  363. package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
  364. package/dist/prod/features/F6Navigation.js +2 -0
  365. package/dist/prod/features/F6Navigation.js.map +7 -0
  366. package/dist/prod/features/InputElementsFormSupport.js +2 -0
  367. package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
  368. package/dist/prod/features/LegacyDateFormats.js +2 -0
  369. package/dist/prod/features/LegacyDateFormats.js.map +7 -0
  370. package/dist/prod/features/OpenUI5Element.js +2 -0
  371. package/dist/prod/features/OpenUI5Element.js.map +7 -0
  372. package/dist/prod/features/OpenUI5Enablement.js +21 -0
  373. package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
  374. package/dist/prod/features/OpenUI5Support.js +2 -0
  375. package/dist/prod/features/OpenUI5Support.js.map +7 -0
  376. package/dist/prod/features/patchPatcher.js +2 -0
  377. package/dist/prod/features/patchPatcher.js.map +7 -0
  378. package/dist/prod/features/patchPopup.js +2 -0
  379. package/dist/prod/features/patchPopup.js.map +7 -0
  380. package/dist/prod/generated/AssetParameters.js +2 -0
  381. package/dist/prod/generated/AssetParameters.js.map +7 -0
  382. package/dist/prod/generated/VersionInfo.js +2 -0
  383. package/dist/prod/generated/VersionInfo.js.map +7 -0
  384. package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
  385. package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
  386. package/dist/prod/generated/css/FontFace.css.js +2 -0
  387. package/dist/prod/generated/css/FontFace.css.js.map +7 -0
  388. package/dist/prod/generated/css/OverrideFontFace.css.js +2 -0
  389. package/dist/prod/generated/css/OverrideFontFace.css.js.map +7 -0
  390. package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
  391. package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
  392. package/dist/prod/getSharedResource.js +2 -0
  393. package/dist/prod/getSharedResource.js.map +7 -0
  394. package/dist/prod/global.d.js +2 -0
  395. package/dist/prod/global.d.js.map +7 -0
  396. package/dist/prod/i18nBundle.js +2 -0
  397. package/dist/prod/i18nBundle.js.map +7 -0
  398. package/dist/prod/index.d.js +2 -0
  399. package/dist/prod/index.d.js.map +7 -0
  400. package/dist/prod/jsx-dev-runtime.js +2 -0
  401. package/dist/prod/jsx-dev-runtime.js.map +7 -0
  402. package/dist/prod/jsx-runtime.js +2 -0
  403. package/dist/prod/jsx-runtime.js.map +7 -0
  404. package/dist/prod/jsx-utils.js +2 -0
  405. package/dist/prod/jsx-utils.js.map +7 -0
  406. package/dist/prod/locale/Locale.js +2 -0
  407. package/dist/prod/locale/Locale.js.map +7 -0
  408. package/dist/prod/locale/RTLAwareRegistry.js +2 -0
  409. package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
  410. package/dist/prod/locale/applyDirection.js +2 -0
  411. package/dist/prod/locale/applyDirection.js.map +7 -0
  412. package/dist/prod/locale/directionChange.js +2 -0
  413. package/dist/prod/locale/directionChange.js.map +7 -0
  414. package/dist/prod/locale/getEffectiveDir.js +2 -0
  415. package/dist/prod/locale/getEffectiveDir.js.map +7 -0
  416. package/dist/prod/locale/getLocale.js +2 -0
  417. package/dist/prod/locale/getLocale.js.map +7 -0
  418. package/dist/prod/locale/languageChange.js +2 -0
  419. package/dist/prod/locale/languageChange.js.map +7 -0
  420. package/dist/prod/locale/nextFallbackLocale.js +2 -0
  421. package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
  422. package/dist/prod/locale/normalizeLocale.js +2 -0
  423. package/dist/prod/locale/normalizeLocale.js.map +7 -0
  424. package/dist/prod/renderer/JsxRenderer.js +2 -0
  425. package/dist/prod/renderer/JsxRenderer.js.map +7 -0
  426. package/dist/prod/renderer/LitRenderer.js +2 -0
  427. package/dist/prod/renderer/LitRenderer.js.map +7 -0
  428. package/dist/prod/renderer/directives/style-map.js +6 -0
  429. package/dist/prod/renderer/directives/style-map.js.map +7 -0
  430. package/dist/prod/renderer/executeTemplate.js +2 -0
  431. package/dist/prod/renderer/executeTemplate.js.map +7 -0
  432. package/dist/prod/sap/base/Log.js +750 -0
  433. package/dist/prod/sap/base/assert.js +34 -0
  434. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
  435. package/dist/prod/sap/base/security/URLListValidator.js +406 -0
  436. package/dist/prod/sap/base/security/encodeCSS.js +40 -0
  437. package/dist/prod/sap/base/security/encodeXML.js +53 -0
  438. package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
  439. package/dist/prod/sap/base/strings/toHex.js +33 -0
  440. package/dist/prod/sap/base/util/now.js +28 -0
  441. package/dist/prod/sap/base/util/uid.js +27 -0
  442. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  443. package/dist/prod/ssr-dom-shim.js +2 -0
  444. package/dist/prod/ssr-dom-shim.js.map +7 -0
  445. package/dist/prod/ssr-dom.js +2 -0
  446. package/dist/prod/ssr-dom.js.map +7 -0
  447. package/dist/prod/theming/CustomStyle.js +2 -0
  448. package/dist/prod/theming/CustomStyle.js.map +7 -0
  449. package/dist/prod/theming/ThemeLoaded.js +2 -0
  450. package/dist/prod/theming/ThemeLoaded.js.map +7 -0
  451. package/dist/prod/theming/ThemeRegistered.js +2 -0
  452. package/dist/prod/theming/ThemeRegistered.js.map +7 -0
  453. package/dist/prod/theming/applyTheme.js +2 -0
  454. package/dist/prod/theming/applyTheme.js.map +7 -0
  455. package/dist/prod/theming/getConstructableStyle.js +2 -0
  456. package/dist/prod/theming/getConstructableStyle.js.map +7 -0
  457. package/dist/prod/theming/getEffectiveStyle.js +2 -0
  458. package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
  459. package/dist/prod/theming/getStylesString.js +2 -0
  460. package/dist/prod/theming/getStylesString.js.map +7 -0
  461. package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
  462. package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
  463. package/dist/prod/thirdparty/_merge.js +2 -0
  464. package/dist/prod/thirdparty/_merge.js.map +7 -0
  465. package/dist/prod/thirdparty/isPlainObject.js +2 -0
  466. package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
  467. package/dist/prod/thirdparty/merge.js +2 -0
  468. package/dist/prod/thirdparty/merge.js.map +7 -0
  469. package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
  470. package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
  471. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
  472. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
  473. package/dist/prod/thirdparty/preact/jsxRuntime.module.js +2 -0
  474. package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
  475. package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
  476. package/dist/prod/thirdparty/preact/preact.module.js +2 -0
  477. package/dist/prod/types/AnimationMode.js +2 -0
  478. package/dist/prod/types/AnimationMode.js.map +7 -0
  479. package/dist/prod/types/CalendarType.js +2 -0
  480. package/dist/prod/types/CalendarType.js.map +7 -0
  481. package/dist/prod/types/InvisibleMessageMode.js +2 -0
  482. package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
  483. package/dist/prod/types/ItemNavigationBehavior.js +2 -0
  484. package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
  485. package/dist/prod/types/MovePlacement.js +2 -0
  486. package/dist/prod/types/MovePlacement.js.map +7 -0
  487. package/dist/prod/types/NavigationMode.js +2 -0
  488. package/dist/prod/types/NavigationMode.js.map +7 -0
  489. package/dist/prod/types/Orientation.js +2 -0
  490. package/dist/prod/types/Orientation.js.map +7 -0
  491. package/dist/prod/types/ValueState.js +2 -0
  492. package/dist/prod/types/ValueState.js.map +7 -0
  493. package/dist/prod/types.js +2 -0
  494. package/dist/prod/types.js.map +7 -0
  495. package/dist/prod/updateShadowRoot.js +2 -0
  496. package/dist/prod/updateShadowRoot.js.map +7 -0
  497. package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
  498. package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
  499. package/dist/prod/util/Caret.js +2 -0
  500. package/dist/prod/util/Caret.js.map +7 -0
  501. package/dist/prod/util/ColorConversion.js +2 -0
  502. package/dist/prod/util/ColorConversion.js.map +7 -0
  503. package/dist/prod/util/FetchHelper.js +2 -0
  504. package/dist/prod/util/FetchHelper.js.map +7 -0
  505. package/dist/prod/util/FocusableElements.js +2 -0
  506. package/dist/prod/util/FocusableElements.js.map +7 -0
  507. package/dist/prod/util/HTMLSanitizer.js +2 -0
  508. package/dist/prod/util/HTMLSanitizer.js.map +7 -0
  509. package/dist/prod/util/InvisibleMessage.js +2 -0
  510. package/dist/prod/util/InvisibleMessage.js.map +7 -0
  511. package/dist/prod/util/PopupUtils.js +2 -0
  512. package/dist/prod/util/PopupUtils.js.map +7 -0
  513. package/dist/prod/util/SelectionAssistant.js +2 -0
  514. package/dist/prod/util/SelectionAssistant.js.map +7 -0
  515. package/dist/prod/util/SlotsHelper.js +2 -0
  516. package/dist/prod/util/SlotsHelper.js.map +7 -0
  517. package/dist/prod/util/StringHelper.js +2 -0
  518. package/dist/prod/util/StringHelper.js.map +7 -0
  519. package/dist/prod/util/TabbableElements.js +2 -0
  520. package/dist/prod/util/TabbableElements.js.map +7 -0
  521. package/dist/prod/util/arraysAreEqual.js +2 -0
  522. package/dist/prod/util/arraysAreEqual.js.map +7 -0
  523. package/dist/prod/util/clamp.js +2 -0
  524. package/dist/prod/util/clamp.js.map +7 -0
  525. package/dist/prod/util/createLinkInHead.js +2 -0
  526. package/dist/prod/util/createLinkInHead.js.map +7 -0
  527. package/dist/prod/util/debounce.js +2 -0
  528. package/dist/prod/util/debounce.js.map +7 -0
  529. package/dist/prod/util/detectNavigatorLanguage.js +2 -0
  530. package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
  531. package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
  532. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
  533. package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
  534. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
  535. package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
  536. package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
  537. package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
  538. package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
  539. package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
  540. package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
  541. package/dist/prod/util/escapeRegex.js +2 -0
  542. package/dist/prod/util/escapeRegex.js.map +7 -0
  543. package/dist/prod/util/fixSafariActiveState.js +2 -0
  544. package/dist/prod/util/fixSafariActiveState.js.map +7 -0
  545. package/dist/prod/util/formatMessage.js +2 -0
  546. package/dist/prod/util/formatMessage.js.map +7 -0
  547. package/dist/prod/util/generateHighlightedMarkup.js +2 -0
  548. package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
  549. package/dist/prod/util/getActiveElement.js +2 -0
  550. package/dist/prod/util/getActiveElement.js.map +7 -0
  551. package/dist/prod/util/getClassCopy.js +2 -0
  552. package/dist/prod/util/getClassCopy.js.map +7 -0
  553. package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
  554. package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
  555. package/dist/prod/util/getEffectiveContentDensity.js +2 -0
  556. package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
  557. package/dist/prod/util/getEffectiveScrollbarStyle.js +26 -0
  558. package/dist/prod/util/getEffectiveScrollbarStyle.js.map +7 -0
  559. package/dist/prod/util/getFastNavigationGroups.js +2 -0
  560. package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
  561. package/dist/prod/util/getFileExtension.js +2 -0
  562. package/dist/prod/util/getFileExtension.js.map +7 -0
  563. package/dist/prod/util/getNormalizedTarget.js +2 -0
  564. package/dist/prod/util/getNormalizedTarget.js.map +7 -0
  565. package/dist/prod/util/getSingletonElementInstance.js +2 -0
  566. package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
  567. package/dist/prod/util/hash2str.js +2 -0
  568. package/dist/prod/util/hash2str.js.map +7 -0
  569. package/dist/prod/util/isElementClickable.js +2 -0
  570. package/dist/prod/util/isElementClickable.js.map +7 -0
  571. package/dist/prod/util/isElementHidden.js +2 -0
  572. package/dist/prod/util/isElementHidden.js.map +7 -0
  573. package/dist/prod/util/isElementInView.js +2 -0
  574. package/dist/prod/util/isElementInView.js.map +7 -0
  575. package/dist/prod/util/isElementTabbable.js +2 -0
  576. package/dist/prod/util/isElementTabbable.js.map +7 -0
  577. package/dist/prod/util/isValidPropertyName.js +2 -0
  578. package/dist/prod/util/isValidPropertyName.js.map +7 -0
  579. package/dist/prod/util/toLowercaseEnumValue.js +2 -0
  580. package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
  581. package/dist/prod/util/whenDOMReady.js +2 -0
  582. package/dist/prod/util/whenDOMReady.js.map +7 -0
  583. package/dist/prod/util/willShowContent.js +2 -0
  584. package/dist/prod/util/willShowContent.js.map +7 -0
  585. package/dist/prod/validateThemeRoot.js +2 -0
  586. package/dist/prod/validateThemeRoot.js.map +7 -0
  587. package/dist/renderer/JsxRenderer.d.ts +3 -0
  588. package/dist/renderer/JsxRenderer.js +16 -0
  589. package/dist/renderer/JsxRenderer.js.map +1 -0
  590. package/dist/renderer/LitRenderer.d.ts +3 -3
  591. package/dist/renderer/LitRenderer.js +5 -10
  592. package/dist/renderer/LitRenderer.js.map +1 -1
  593. package/dist/renderer/directives/style-map.d.ts +13 -0
  594. package/dist/renderer/directives/style-map.js +59 -59
  595. package/dist/renderer/directives/style-map.js.map +1 -0
  596. package/dist/renderer/executeTemplate.d.ts +3 -4
  597. package/dist/renderer/executeTemplate.js +1 -19
  598. package/dist/renderer/executeTemplate.js.map +1 -1
  599. package/dist/sap/base/Log.js +698 -188
  600. package/dist/sap/base/assert.js +28 -1
  601. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  602. package/dist/sap/base/security/URLListValidator.js +253 -6
  603. package/dist/sap/base/security/encodeCSS.js +34 -8
  604. package/dist/sap/base/security/encodeXML.js +47 -17
  605. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  606. package/dist/sap/base/strings/toHex.js +27 -2
  607. package/dist/sap/base/util/now.js +24 -3
  608. package/dist/sap/base/util/uid.js +27 -0
  609. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +2 -2
  610. package/dist/ssr-dom-shim.d.ts +1 -0
  611. package/dist/ssr-dom-shim.js +12 -0
  612. package/dist/ssr-dom-shim.js.map +1 -0
  613. package/dist/ssr-dom.d.ts +1 -0
  614. package/dist/ssr-dom.js +3 -0
  615. package/dist/ssr-dom.js.map +1 -0
  616. package/dist/theming/CustomStyle.js.map +1 -1
  617. package/dist/theming/applyTheme.js +5 -5
  618. package/dist/theming/applyTheme.js.map +1 -1
  619. package/dist/theming/getConstructableStyle.d.ts +2 -2
  620. package/dist/theming/getConstructableStyle.js +3 -3
  621. package/dist/theming/getConstructableStyle.js.map +1 -1
  622. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  623. package/dist/theming/getEffectiveStyle.js +5 -12
  624. package/dist/theming/getEffectiveStyle.js.map +1 -1
  625. package/dist/theming/getStylesString.js +2 -4
  626. package/dist/theming/getStylesString.js.map +1 -1
  627. package/dist/theming/getThemeDesignerTheme.js +2 -1
  628. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  629. package/dist/thirdparty/_merge.js.map +1 -1
  630. package/dist/thirdparty/isPlainObject.js.map +1 -1
  631. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  632. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  633. package/dist/thirdparty/preact/jsxRuntime.module.js +2 -0
  634. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  635. package/dist/thirdparty/preact/preact.module.js +2 -0
  636. package/dist/types/AnimationMode.d.ts +0 -8
  637. package/dist/types/AnimationMode.js +0 -8
  638. package/dist/types/AnimationMode.js.map +1 -1
  639. package/dist/types/CalendarType.d.ts +0 -9
  640. package/dist/types/CalendarType.js +0 -9
  641. package/dist/types/CalendarType.js.map +1 -1
  642. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  643. package/dist/types/InvisibleMessageMode.js +4 -11
  644. package/dist/types/InvisibleMessageMode.js.map +1 -1
  645. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  646. package/dist/types/ItemNavigationBehavior.js +0 -6
  647. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  648. package/dist/types/MovePlacement.d.ts +20 -0
  649. package/dist/types/MovePlacement.js +22 -0
  650. package/dist/types/MovePlacement.js.map +1 -0
  651. package/dist/types/NavigationMode.d.ts +0 -8
  652. package/dist/types/NavigationMode.js +0 -8
  653. package/dist/types/NavigationMode.js.map +1 -1
  654. package/dist/types/Orientation.d.ts +16 -0
  655. package/dist/types/Orientation.js +18 -0
  656. package/dist/types/Orientation.js.map +1 -0
  657. package/dist/types/ValueState.d.ts +3 -17
  658. package/dist/types/ValueState.js +3 -17
  659. package/dist/types/ValueState.js.map +1 -1
  660. package/dist/types.d.ts +37 -14
  661. package/dist/types.js.map +1 -1
  662. package/dist/updateShadowRoot.d.ts +1 -2
  663. package/dist/updateShadowRoot.js +4 -29
  664. package/dist/updateShadowRoot.js.map +1 -1
  665. package/dist/util/{AriaLabelHelper.d.ts → AccessibilityTextsHelper.d.ts} +4 -2
  666. package/dist/util/{AriaLabelHelper.js → AccessibilityTextsHelper.js} +36 -8
  667. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  668. package/dist/util/Caret.js.map +1 -1
  669. package/dist/util/ColorConversion.d.ts +2 -1
  670. package/dist/util/ColorConversion.js +212 -197
  671. package/dist/util/ColorConversion.js.map +1 -1
  672. package/dist/util/FetchHelper.js.map +1 -1
  673. package/dist/util/FocusableElements.js +14 -12
  674. package/dist/util/FocusableElements.js.map +1 -1
  675. package/dist/util/InvisibleMessage.d.ts +1 -1
  676. package/dist/util/InvisibleMessage.js +2 -2
  677. package/dist/util/InvisibleMessage.js.map +1 -1
  678. package/dist/util/PopupUtils.d.ts +1 -3
  679. package/dist/util/PopupUtils.js +1 -15
  680. package/dist/util/PopupUtils.js.map +1 -1
  681. package/dist/util/SelectionAssistant.d.ts +12 -0
  682. package/dist/util/SelectionAssistant.js +79 -0
  683. package/dist/util/SelectionAssistant.js.map +1 -0
  684. package/dist/util/SlotsHelper.js.map +1 -1
  685. package/dist/util/StringHelper.d.ts +3 -1
  686. package/dist/util/StringHelper.js +15 -1
  687. package/dist/util/StringHelper.js.map +1 -1
  688. package/dist/util/TabbableElements.js +3 -10
  689. package/dist/util/TabbableElements.js.map +1 -1
  690. package/dist/util/arraysAreEqual.js.map +1 -1
  691. package/dist/util/clamp.js +2 -1
  692. package/dist/util/clamp.js.map +1 -1
  693. package/dist/util/createLinkInHead.d.ts +1 -1
  694. package/dist/util/createLinkInHead.js +1 -1
  695. package/dist/util/createLinkInHead.js.map +1 -1
  696. package/dist/util/debounce.js.map +1 -1
  697. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  698. package/dist/util/detectNavigatorLanguage.js +6 -1
  699. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  700. package/dist/util/dragAndDrop/DragRegistry.d.ts +33 -0
  701. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  702. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  703. package/dist/util/dragAndDrop/findClosestPosition.d.ts +11 -0
  704. package/dist/util/dragAndDrop/findClosestPosition.js +102 -0
  705. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  706. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  707. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  708. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  709. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  710. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  711. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  712. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  713. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  714. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  715. package/dist/util/fixSafariActiveState.d.ts +2 -0
  716. package/dist/util/fixSafariActiveState.js +11 -0
  717. package/dist/util/fixSafariActiveState.js.map +1 -0
  718. package/dist/util/formatMessage.js.map +1 -1
  719. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  720. package/dist/util/getActiveElement.js.map +1 -1
  721. package/dist/util/getClassCopy.d.ts +142 -103
  722. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  723. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  724. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  725. package/dist/util/getEffectiveScrollbarStyle.d.ts +1 -1
  726. package/dist/util/getEffectiveScrollbarStyle.js +31 -1
  727. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  728. package/dist/util/getFastNavigationGroups.js.map +1 -1
  729. package/dist/util/getFileExtension.js.map +1 -1
  730. package/dist/util/getNormalizedTarget.js.map +1 -1
  731. package/dist/util/getSingletonElementInstance.js.map +1 -1
  732. package/dist/util/hash2str.d.ts +1 -0
  733. package/dist/util/hash2str.js +14 -0
  734. package/dist/util/hash2str.js.map +1 -0
  735. package/dist/util/isElementClickable.js.map +1 -1
  736. package/dist/util/isElementHidden.js.map +1 -1
  737. package/dist/util/isElementTabbable.js +2 -2
  738. package/dist/util/isElementTabbable.js.map +1 -1
  739. package/dist/util/isValidPropertyName.js.map +1 -1
  740. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  741. package/dist/util/toLowercaseEnumValue.js +4 -0
  742. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  743. package/dist/util/whenDOMReady.js.map +1 -1
  744. package/dist/validateThemeRoot.js +3 -2
  745. package/dist/validateThemeRoot.js.map +1 -1
  746. package/dist/vscode.html-custom-data.json +22 -0
  747. package/index.js +1 -23
  748. package/package-scripts.cjs +26 -23
  749. package/package.json +30 -9
  750. package/src/css/FontFace.css +13 -1
  751. package/src/css/SystemCSSVars.css +0 -8
  752. package/src/thirdparty/preact/jsxRuntime.module.js +2 -0
  753. package/src/thirdparty/preact/preact.module.js +2 -0
  754. package/src/thirdparty/preact/version.txt +1 -0
  755. package/tsconfig.json +19 -13
  756. package/.eslintignore +0 -16
  757. package/.eslintrc.cjs +0 -3
  758. package/bundle.esm.js +0 -67
  759. package/config/wdio.conf.cjs +0 -400
  760. package/dist/CSP.d.ts +0 -30
  761. package/dist/CSP.js +0 -51
  762. package/dist/CSP.js.map +0 -1
  763. package/dist/MarkedEvents.d.ts +0 -9
  764. package/dist/MarkedEvents.js +0 -15
  765. package/dist/MarkedEvents.js.map +0 -1
  766. package/dist/StaticArea.d.ts +0 -3
  767. package/dist/StaticArea.js +0 -7
  768. package/dist/StaticArea.js.map +0 -1
  769. package/dist/StaticAreaItem.d.ts +0 -37
  770. package/dist/StaticAreaItem.js +0 -102
  771. package/dist/StaticAreaItem.js.map +0 -1
  772. package/dist/api.json +0 -1
  773. package/dist/assets/Boot-34b7cea0.css +0 -1
  774. package/dist/assets/Boot-c953ce57.js +0 -9
  775. package/dist/assets/bundle.esm-a0b43d30.js +0 -50
  776. package/dist/config/RTL.d.ts +0 -7
  777. package/dist/config/RTL.js +0 -37
  778. package/dist/config/RTL.js.map +0 -1
  779. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +0 -4
  780. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -9
  781. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +0 -1
  782. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  783. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  784. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  785. package/dist/theming/preloadLinks.d.ts +0 -3
  786. package/dist/theming/preloadLinks.js +0 -19
  787. package/dist/theming/preloadLinks.js.map +0 -1
  788. package/dist/types/CSSColor.d.ts +0 -15
  789. package/dist/types/CSSColor.js +0 -18
  790. package/dist/types/CSSColor.js.map +0 -1
  791. package/dist/types/CSSSize.d.ts +0 -15
  792. package/dist/types/CSSSize.js +0 -18
  793. package/dist/types/CSSSize.js.map +0 -1
  794. package/dist/types/DOMReference.d.ts +0 -17
  795. package/dist/types/DOMReference.js +0 -25
  796. package/dist/types/DOMReference.js.map +0 -1
  797. package/dist/types/DataType.d.ts +0 -25
  798. package/dist/types/DataType.js +0 -44
  799. package/dist/types/DataType.js.map +0 -1
  800. package/dist/types/Float.d.ts +0 -17
  801. package/dist/types/Float.js +0 -21
  802. package/dist/types/Float.js.map +0 -1
  803. package/dist/types/Integer.d.ts +0 -17
  804. package/dist/types/Integer.js +0 -21
  805. package/dist/types/Integer.js.map +0 -1
  806. package/dist/util/AriaLabelHelper.js.map +0 -1
  807. package/dist/util/createStyleInHead.d.ts +0 -8
  808. package/dist/util/createStyleInHead.js +0 -18
  809. package/dist/util/createStyleInHead.js.map +0 -1
  810. package/lib/generate-asset-parameters/index.js +0 -27
  811. package/lib/generate-styles/index.js +0 -31
  812. package/lib/generate-version-info/index.js +0 -32
  813. package/src/renderer/directives/style-map.js +0 -72
  814. package/used-modules.txt +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"FetchHelper.js","sourceRoot":"","sources":["../../src/util/FetchHelper.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;AAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;AACrD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;AAExD,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC5B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KACnC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;KACvC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC5B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KACnC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;KACvC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC","sourcesContent":["const fetchPromises = new Map<string, Promise<Response>>();\nconst jsonPromises = new Map<string, Promise<any>>();\nconst textPromises = new Map<string, Promise<string>>();\n\nconst fetchTextOnce = async (url: string) => {\n\tif (!fetchPromises.get(url)) {\n\t\tfetchPromises.set(url, fetch(url));\n\t}\n\tconst response = await fetchPromises.get(url);\n\n\tif (response && !textPromises.get(url)) {\n\t\ttextPromises.set(url, response.text());\n\t}\n\n\treturn textPromises.get(url);\n};\n\nconst fetchJsonOnce = async (url: string) => {\n\tif (!fetchPromises.get(url)) {\n\t\tfetchPromises.set(url, fetch(url));\n\t}\n\tconst response = await fetchPromises.get(url);\n\n\tif (response && !jsonPromises.get(url)) {\n\t\tjsonPromises.set(url, response.json());\n\t}\n\n\treturn jsonPromises.get(url);\n};\n\nexport { fetchTextOnce, fetchJsonOnce };\n"]}
1
+ {"version":3,"file":"FetchHelper.js","sourceRoot":"","sources":["../../src/util/FetchHelper.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;AAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;AACrD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;AAExD,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC","sourcesContent":["const fetchPromises = new Map<string, Promise<Response>>();\nconst jsonPromises = new Map<string, Promise<any>>();\nconst textPromises = new Map<string, Promise<string>>();\n\nconst fetchTextOnce = async (url: string) => {\n\tif (!fetchPromises.get(url)) {\n\t\tfetchPromises.set(url, fetch(url));\n\t}\n\tconst response = await fetchPromises.get(url);\n\n\tif (response && !textPromises.get(url)) {\n\t\ttextPromises.set(url, response.text());\n\t}\n\n\treturn textPromises.get(url);\n};\n\nconst fetchJsonOnce = async (url: string) => {\n\tif (!fetchPromises.get(url)) {\n\t\tfetchPromises.set(url, fetch(url));\n\t}\n\tconst response = await fetchPromises.get(url);\n\n\tif (response && !jsonPromises.get(url)) {\n\t\tjsonPromises.set(url, response.json());\n\t}\n\n\treturn jsonPromises.get(url);\n};\n\nexport { fetchTextOnce, fetchJsonOnce };\n"]}
@@ -41,19 +41,21 @@ const findFocusableElement = async (container, forward, startFromContainer) => {
41
41
  /* eslint-disable no-await-in-loop */
42
42
  while (child) {
43
43
  const originalChild = child;
44
- if (instanceOfUI5Element(child)) {
45
- child = await child.getFocusDomRefAsync();
46
- }
47
- if (!child) {
48
- return null;
49
- }
50
- if (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {
51
- if (isElementClickable(child)) {
52
- return (child && typeof child.focus === "function") ? child : null;
44
+ if (!isElementHidden(originalChild)) {
45
+ if (instanceOfUI5Element(child)) {
46
+ child = await child.getFocusDomRefAsync();
47
+ }
48
+ if (!child || isElementHidden(child)) {
49
+ return null;
53
50
  }
54
- focusableDescendant = await findFocusableElement(child, forward);
55
- if (focusableDescendant) {
56
- return (focusableDescendant && typeof focusableDescendant.focus === "function") ? focusableDescendant : null;
51
+ if (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {
52
+ if (isElementClickable(child)) {
53
+ return (child && typeof child.focus === "function") ? child : null;
54
+ }
55
+ focusableDescendant = await findFocusableElement(child, forward);
56
+ if (focusableDescendant) {
57
+ return (focusableDescendant && typeof focusableDescendant.focus === "function") ? focusableDescendant : null;
58
+ }
57
59
  }
58
60
  }
59
61
  child = forward ? originalChild.nextSibling : originalChild.previousSibling;
@@ -1 +1 @@
1
- {"version":3,"file":"FocusableElements.js","sourceRoot":"","sources":["../../src/util/FocusableElements.ts"],"names":[],"mappings":"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","sourcesContent":["import isElementHidden from \"./isElementHidden.js\";\nimport isElementClickable from \"./isElementClickable.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\n\ntype FocusableElementPromise = Promise<HTMLElement | null>;\n\nconst isFocusTrap = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-trap\");\n};\n\nconst getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, true, startFromContainer);\n};\n\nconst getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, false, startFromContainer);\n};\n\nconst isElemFocusable = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-redirect\") || !isElementHidden(el);\n};\n\nconst findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {\n\tlet child: HTMLElement | undefined;\n\tlet assignedElements;\n\tlet currentIndex = -1;\n\n\tif (container.shadowRoot) {\n\t\tchild = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tcurrentIndex = forward ? 0 : assignedElements.length - 1;\n\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;\n\t}\n\n\tlet focusableDescendant;\n\n\t/* eslint-disable no-await-in-loop */\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement | undefined = child;\n\n\t\tif (instanceOfUI5Element(child)) {\n\t\t\tchild = await child.getFocusDomRefAsync();\n\t\t}\n\n\t\tif (!child) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {\n\t\t\tif (isElementClickable(child)) {\n\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t}\n\n\t\t\tfocusableDescendant = await findFocusableElement(child, forward);\n\t\t\tif (focusableDescendant) {\n\t\t\t\treturn (focusableDescendant && typeof focusableDescendant.focus === \"function\") ? focusableDescendant : null;\n\t\t\t}\n\t\t}\n\n\t\tchild = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;\n\n\t\t// If the child element is not part of the currently assigned element,\n\t\t// we have to check the next/previous element assigned to the slot or continue with the next/previous sibling of the slot,\n\t\t// otherwise, the nextSibling/previousSibling is the next element inside the light DOM\n\t\tif (assignedElements && !assignedElements[currentIndex].contains(child)) {\n\t\t\tcurrentIndex = forward ? currentIndex + 1 : currentIndex - 1;\n\n\t\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t\t}\n\t}\n\n\t/* eslint-enable no-await-in-loop */\n\n\treturn null;\n};\n\nexport {\n\tgetFirstFocusableElement,\n\tgetLastFocusableElement,\n};\n"]}
1
+ {"version":3,"file":"FocusableElements.js","sourceRoot":"","sources":["../../src/util/FocusableElements.ts"],"names":[],"mappings":"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","sourcesContent":["import isElementHidden from \"./isElementHidden.js\";\nimport isElementClickable from \"./isElementClickable.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\n\ntype FocusableElementPromise = Promise<HTMLElement | null>;\n\nconst isFocusTrap = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-trap\");\n};\n\nconst getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, true, startFromContainer);\n};\n\nconst getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, false, startFromContainer);\n};\n\nconst isElemFocusable = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-redirect\") || !isElementHidden(el);\n};\n\nconst findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {\n\tlet child: HTMLElement | undefined;\n\tlet assignedElements;\n\tlet currentIndex = -1;\n\n\tif (container.shadowRoot) {\n\t\tchild = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tcurrentIndex = forward ? 0 : assignedElements.length - 1;\n\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;\n\t}\n\n\tlet focusableDescendant;\n\n\t/* eslint-disable no-await-in-loop */\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement | undefined = child;\n\n\t\tif (!isElementHidden(originalChild)) {\n\t\t\tif (instanceOfUI5Element(child)) {\n\t\t\t\tchild = await child.getFocusDomRefAsync();\n\t\t\t}\n\n\t\t\tif (!child || isElementHidden(child)) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {\n\t\t\t\tif (isElementClickable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tfocusableDescendant = await findFocusableElement(child, forward);\n\t\t\t\tif (focusableDescendant) {\n\t\t\t\t\treturn (focusableDescendant && typeof focusableDescendant.focus === \"function\") ? focusableDescendant : null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tchild = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;\n\n\t\t// If the child element is not part of the currently assigned element,\n\t\t// we have to check the next/previous element assigned to the slot or continue with the next/previous sibling of the slot,\n\t\t// otherwise, the nextSibling/previousSibling is the next element inside the light DOM\n\t\tif (assignedElements && !assignedElements[currentIndex].contains(child)) {\n\t\t\tcurrentIndex = forward ? currentIndex + 1 : currentIndex - 1;\n\n\t\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t\t}\n\t}\n\n\t/* eslint-enable no-await-in-loop */\n\n\treturn null;\n};\n\nexport {\n\tgetFirstFocusableElement,\n\tgetLastFocusableElement,\n};\n"]}
@@ -6,5 +6,5 @@ import InvisibleMessageMode from "../types/InvisibleMessageMode.js";
6
6
  * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.
7
7
  * @public
8
8
  */
9
- declare const announce: (message: string, mode: `${InvisibleMessageMode}`) => void;
9
+ declare const announce: (message: string, mode: InvisibleMessageMode) => void;
10
10
  export default announce;
@@ -25,8 +25,8 @@ attachBoot(() => {
25
25
  assertiveSpan.setAttribute("role", "alert");
26
26
  setOutOfViewportStyles(politeSpan);
27
27
  setOutOfViewportStyles(assertiveSpan);
28
- getSingletonElementInstance("ui5-static-area").appendChild(politeSpan);
29
- getSingletonElementInstance("ui5-static-area").appendChild(assertiveSpan);
28
+ getSingletonElementInstance("ui5-announcement-area").appendChild(politeSpan);
29
+ getSingletonElementInstance("ui5-announcement-area").appendChild(assertiveSpan);
30
30
  });
31
31
  /**
32
32
  * Inserts the string into the respective span, depending on the mode provided.
@@ -1 +1 @@
1
- {"version":3,"file":"InvisibleMessage.js","sourceRoot":"","sources":["../../src/util/InvisibleMessage.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,IAAI,UAAuB,CAAC;AAC5B,IAAI,aAA0B,CAAC;AAE/B,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC/B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACxC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAC7B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;IACzB,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACjC,CAAC,CAAC;AAEF,UAAU,CAAC,GAAG,EAAE;IACf,IAAI,UAAU,IAAI,aAAa,EAAE;QAChC,OAAO;KACP;IAED,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACxD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9D,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/C,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAErD,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEtC,2BAA2B,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACvE,2BAA2B,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,IAA+B,EAAE,EAAE;IACrE,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAElF,oFAAoF;IACpF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAE3B,IAAI,IAAI,KAAK,oBAAoB,CAAC,SAAS,IAAI,IAAI,KAAK,oBAAoB,CAAC,MAAM,EAAE;QACpF,OAAO,CAAC,IAAI,CAAC,0IAA0I,CAAC,CAAC,CAAC,sBAAsB;KAChL;IAED,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE;QACf,iFAAiF;QACjF,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACtB;IACF,CAAC,EAAE,IAAI,CAAC,CAAC;AACV,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import InvisibleMessageMode from \"../types/InvisibleMessageMode.js\";\nimport getSingletonElementInstance from \"./getSingletonElementInstance.js\";\nimport { attachBoot } from \"../Boot.js\";\n\nlet politeSpan: HTMLElement;\nlet assertiveSpan: HTMLElement;\n\nconst setOutOfViewportStyles = (el: HTMLElement) => {\n\tel.style.position = \"absolute\";\n\tel.style.clip = \"rect(1px,1px,1px,1px)\";\n\tel.style.userSelect = \"none\";\n\tel.style.left = \"-1000px\";\n\tel.style.top = \"-1000px\";\n\tel.style.pointerEvents = \"none\";\n};\n\nattachBoot(() => {\n\tif (politeSpan && assertiveSpan) {\n\t\treturn;\n\t}\n\n\tpoliteSpan = document.createElement(\"span\");\n\tassertiveSpan = document.createElement(\"span\");\n\n\tpoliteSpan.classList.add(\"ui5-invisiblemessage-polite\");\n\tassertiveSpan.classList.add(\"ui5-invisiblemessage-assertive\");\n\n\tpoliteSpan.setAttribute(\"aria-live\", \"polite\");\n\tassertiveSpan.setAttribute(\"aria-live\", \"assertive\");\n\n\tpoliteSpan.setAttribute(\"role\", \"alert\");\n\tassertiveSpan.setAttribute(\"role\", \"alert\");\n\n\tsetOutOfViewportStyles(politeSpan);\n\tsetOutOfViewportStyles(assertiveSpan);\n\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(politeSpan);\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(assertiveSpan);\n});\n\n/**\n * Inserts the string into the respective span, depending on the mode provided.\n *\n * @param { string } message String to be announced by the screen reader.\n * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.\n * @public\n */\nconst announce = (message: string, mode: `${InvisibleMessageMode}`) => {\n\t// If no type is presented, fallback to polite announcement.\n\tconst span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;\n\n\t// Set textContent to empty string in order to trigger screen reader's announcement.\n\tspan.textContent = \"\";\n\tspan.textContent = message;\n\n\tif (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {\n\t\tconsole.warn(`You have entered an invalid mode. Valid values are: \"Polite\" and \"Assertive\". The framework will automatically set the mode to \"Polite\".`); // eslint-disable-line\n\t}\n\n\t// clear the span in order to avoid reading it out while in JAWS reading node\n\tsetTimeout(() => {\n\t\t// ensure that we clear the text node only if no announce is made in the meantime\n\t\tif (span.textContent === message) {\n\t\t\tspan.textContent = \"\";\n\t\t}\n\t}, 3000);\n};\n\nexport default announce;\n"]}
1
+ {"version":3,"file":"InvisibleMessage.js","sourceRoot":"","sources":["../../src/util/InvisibleMessage.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,IAAI,UAAuB,CAAC;AAC5B,IAAI,aAA0B,CAAC;AAE/B,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC/B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACxC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAC7B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;IACzB,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACjC,CAAC,CAAC;AAEF,UAAU,CAAC,GAAG,EAAE;IACf,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QACjC,OAAO;IACR,CAAC;IAED,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACxD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9D,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/C,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAErD,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEtC,2BAA2B,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7E,2BAA2B,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,IAA0B,EAAE,EAAE;IAChE,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAElF,oFAAoF;IACpF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAE3B,IAAI,IAAI,KAAK,oBAAoB,CAAC,SAAS,IAAI,IAAI,KAAK,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,0IAA0I,CAAC,CAAC,CAAC,sBAAsB;IACjL,CAAC;IAED,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE;QACf,iFAAiF;QACjF,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACvB,CAAC;IACF,CAAC,EAAE,IAAI,CAAC,CAAC;AACV,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import InvisibleMessageMode from \"../types/InvisibleMessageMode.js\";\nimport getSingletonElementInstance from \"./getSingletonElementInstance.js\";\nimport { attachBoot } from \"../Boot.js\";\n\nlet politeSpan: HTMLElement;\nlet assertiveSpan: HTMLElement;\n\nconst setOutOfViewportStyles = (el: HTMLElement) => {\n\tel.style.position = \"absolute\";\n\tel.style.clip = \"rect(1px,1px,1px,1px)\";\n\tel.style.userSelect = \"none\";\n\tel.style.left = \"-1000px\";\n\tel.style.top = \"-1000px\";\n\tel.style.pointerEvents = \"none\";\n};\n\nattachBoot(() => {\n\tif (politeSpan && assertiveSpan) {\n\t\treturn;\n\t}\n\n\tpoliteSpan = document.createElement(\"span\");\n\tassertiveSpan = document.createElement(\"span\");\n\n\tpoliteSpan.classList.add(\"ui5-invisiblemessage-polite\");\n\tassertiveSpan.classList.add(\"ui5-invisiblemessage-assertive\");\n\n\tpoliteSpan.setAttribute(\"aria-live\", \"polite\");\n\tassertiveSpan.setAttribute(\"aria-live\", \"assertive\");\n\n\tpoliteSpan.setAttribute(\"role\", \"alert\");\n\tassertiveSpan.setAttribute(\"role\", \"alert\");\n\n\tsetOutOfViewportStyles(politeSpan);\n\tsetOutOfViewportStyles(assertiveSpan);\n\n\tgetSingletonElementInstance(\"ui5-announcement-area\").appendChild(politeSpan);\n\tgetSingletonElementInstance(\"ui5-announcement-area\").appendChild(assertiveSpan);\n});\n\n/**\n * Inserts the string into the respective span, depending on the mode provided.\n *\n * @param { string } message String to be announced by the screen reader.\n * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.\n * @public\n */\nconst announce = (message: string, mode: InvisibleMessageMode) => {\n\t// If no type is presented, fallback to polite announcement.\n\tconst span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;\n\n\t// Set textContent to empty string in order to trigger screen reader's announcement.\n\tspan.textContent = \"\";\n\tspan.textContent = message;\n\n\tif (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {\n\t\tconsole.warn(`You have entered an invalid mode. Valid values are: \"Polite\" and \"Assertive\". The framework will automatically set the mode to \"Polite\".`); // eslint-disable-line\n\t}\n\n\t// clear the span in order to avoid reading it out while in JAWS reading node\n\tsetTimeout(() => {\n\t\t// ensure that we clear the text node only if no announce is made in the meantime\n\t\tif (span.textContent === message) {\n\t\t\tspan.textContent = \"\";\n\t\t}\n\t}, 3000);\n};\n\nexport default announce;\n"]}
@@ -2,6 +2,4 @@ declare const getFocusedElement: () => HTMLElement | null;
2
2
  declare const isFocusedElementWithinNode: (node: HTMLElement) => boolean;
3
3
  declare const isClickInRect: (e: MouseEvent | TouchEvent, rect: DOMRect) => boolean;
4
4
  declare const getClosedPopupParent: (el: HTMLElement) => HTMLElement;
5
- declare const getNextZIndex: () => number | undefined;
6
- declare const getCurrentZIndex: () => number;
7
- export { getFocusedElement, isClickInRect, getClosedPopupParent, getNextZIndex, getCurrentZIndex, isFocusedElementWithinNode, };
5
+ export { getFocusedElement, isClickInRect, getClosedPopupParent, isFocusedElementWithinNode, };
@@ -1,7 +1,4 @@
1
- import getSharedResource from "../getSharedResource.js";
2
- import { getFeature } from "../FeaturesRegistry.js";
3
1
  import getActiveElement from "./getActiveElement.js";
4
- const popupUtilsData = getSharedResource("PopupUtilsData", { currentZIndex: 100 });
5
2
  const getFocusedElement = () => {
6
3
  const element = getActiveElement();
7
4
  return (element && typeof element.focus === "function") ? element : null;
@@ -59,16 +56,5 @@ const getClosedPopupParent = (el) => {
59
56
  }
60
57
  return getClosedPopupParent(parent);
61
58
  };
62
- const getNextZIndex = () => {
63
- const openUI5Support = getFeature("OpenUI5Support");
64
- if (openUI5Support && openUI5Support.isOpenUI5Detected()) { // use OpenUI5 for getting z-index values, if loaded
65
- return openUI5Support.getNextZIndex();
66
- }
67
- popupUtilsData.currentZIndex += 2;
68
- return popupUtilsData.currentZIndex;
69
- };
70
- const getCurrentZIndex = () => {
71
- return popupUtilsData.currentZIndex;
72
- };
73
- export { getFocusedElement, isClickInRect, getClosedPopupParent, getNextZIndex, getCurrentZIndex, isFocusedElementWithinNode, };
59
+ export { getFocusedElement, isClickInRect, getClosedPopupParent, isFocusedElementWithinNode, };
74
60
  //# sourceMappingURL=PopupUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopupUtils.js","sourceRoot":"","sources":["../../src/util/PopupUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import getSharedResource from \"../getSharedResource.js\";\nimport { getFeature } from \"../FeaturesRegistry.js\";\nimport getActiveElement from \"./getActiveElement.js\";\nimport type OpenUI5Support from \"../features/OpenUI5Support.js\";\n\ntype PopupUtilsData = {\n\tcurrentZIndex: number\n};\n\nconst popupUtilsData = getSharedResource<PopupUtilsData>(\"PopupUtilsData\", { currentZIndex: 100 });\n\nconst getFocusedElement = () => {\n\tconst element = getActiveElement() as HTMLElement;\n\treturn (element && typeof element.focus === \"function\") ? element : null;\n};\n\nconst isFocusedElementWithinNode = (node: HTMLElement) => {\n\tconst fe = getFocusedElement();\n\n\tif (fe) {\n\t\treturn isNodeContainedWithin(node, fe);\n\t}\n\n\treturn false;\n};\n\nconst isNodeContainedWithin = (parent: HTMLElement, child: HTMLElement): boolean => {\n\tlet currentNode: HTMLElement | undefined = parent;\n\n\tif (currentNode.shadowRoot) {\n\t\tconst children = Array.from(currentNode.shadowRoot.children) as Array<HTMLElement>;\n\t\tcurrentNode = children.find(n => n.localName !== \"style\");\n\n\t\tif (!currentNode) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (currentNode === child) {\n\t\treturn true;\n\t}\n\n\tconst childNodes = currentNode.localName === \"slot\" ? (currentNode as HTMLSlotElement).assignedNodes() : currentNode.children;\n\n\tif (childNodes) {\n\t\treturn Array.from(childNodes).some(n => isNodeContainedWithin(n as HTMLElement, child));\n\t}\n\n\treturn false;\n};\n\nconst isPointInRect = (x: number, y: number, rect: DOMRect) => {\n\treturn x >= rect.left && x <= rect.right\n\t\t&& y >= rect.top && y <= rect.bottom;\n};\n\nconst isClickInRect = (e: MouseEvent | TouchEvent, rect: DOMRect) => {\n\tlet x;\n\tlet y;\n\n\tif (e instanceof MouseEvent) {\n\t\tx = e.clientX;\n\t\ty = e.clientY;\n\t} else {\n\t\tconst touch = e.touches[0];\n\t\tx = touch.clientX;\n\t\ty = touch.clientY;\n\t}\n\n\treturn isPointInRect(x, y, rect);\n};\n\ninterface PopupInterface { // Refactor: replace with Popup.js\n\t_show: () => void,\n\topen: boolean,\n}\nfunction instanceOfPopup(object: any): object is PopupInterface {\n\treturn \"isUI5Element\" in object && \"_show\" in object;\n}\n\nconst getClosedPopupParent = (el: HTMLElement): HTMLElement => {\n\tconst parent = el.parentElement || (el.getRootNode && (el.getRootNode() as ShadowRoot).host);\n\n\tif (parent && ((instanceOfPopup(parent) || parent === document.documentElement))) {\n\t\treturn parent as HTMLElement;\n\t}\n\n\treturn getClosedPopupParent(parent as HTMLElement);\n};\n\nconst getNextZIndex = () => {\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\tif (openUI5Support && openUI5Support.isOpenUI5Detected()) { // use OpenUI5 for getting z-index values, if loaded\n\t\treturn openUI5Support.getNextZIndex();\n\t}\n\n\tpopupUtilsData.currentZIndex += 2;\n\treturn popupUtilsData.currentZIndex;\n};\n\nconst getCurrentZIndex = () => {\n\treturn popupUtilsData.currentZIndex;\n};\n\nexport {\n\tgetFocusedElement,\n\tisClickInRect,\n\tgetClosedPopupParent,\n\tgetNextZIndex,\n\tgetCurrentZIndex,\n\tisFocusedElementWithinNode,\n};\n"]}
1
+ {"version":3,"file":"PopupUtils.js","sourceRoot":"","sources":["../../src/util/PopupUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import getActiveElement from \"./getActiveElement.js\";\n\nconst getFocusedElement = () => {\n\tconst element = getActiveElement() as HTMLElement;\n\treturn (element && typeof element.focus === \"function\") ? element : null;\n};\n\nconst isFocusedElementWithinNode = (node: HTMLElement) => {\n\tconst fe = getFocusedElement();\n\n\tif (fe) {\n\t\treturn isNodeContainedWithin(node, fe);\n\t}\n\n\treturn false;\n};\n\nconst isNodeContainedWithin = (parent: HTMLElement, child: HTMLElement): boolean => {\n\tlet currentNode: HTMLElement | undefined = parent;\n\n\tif (currentNode.shadowRoot) {\n\t\tconst children = Array.from(currentNode.shadowRoot.children) as Array<HTMLElement>;\n\t\tcurrentNode = children.find(n => n.localName !== \"style\");\n\n\t\tif (!currentNode) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (currentNode === child) {\n\t\treturn true;\n\t}\n\n\tconst childNodes = currentNode.localName === \"slot\" ? (currentNode as HTMLSlotElement).assignedNodes() : currentNode.children;\n\n\tif (childNodes) {\n\t\treturn Array.from(childNodes).some(n => isNodeContainedWithin(n as HTMLElement, child));\n\t}\n\n\treturn false;\n};\n\nconst isPointInRect = (x: number, y: number, rect: DOMRect) => {\n\treturn x >= rect.left && x <= rect.right\n\t\t&& y >= rect.top && y <= rect.bottom;\n};\n\nconst isClickInRect = (e: MouseEvent | TouchEvent, rect: DOMRect) => {\n\tlet x;\n\tlet y;\n\n\tif (e instanceof MouseEvent) {\n\t\tx = e.clientX;\n\t\ty = e.clientY;\n\t} else {\n\t\tconst touch = e.touches[0];\n\t\tx = touch.clientX;\n\t\ty = touch.clientY;\n\t}\n\n\treturn isPointInRect(x, y, rect);\n};\n\ninterface PopupInterface { // Refactor: replace with Popup.js\n\t_show: () => void,\n\topen: boolean,\n}\nfunction instanceOfPopup(object: any): object is PopupInterface {\n\treturn \"isUI5Element\" in object && \"_show\" in object;\n}\n\nconst getClosedPopupParent = (el: HTMLElement): HTMLElement => {\n\tconst parent = el.parentElement || (el.getRootNode && (el.getRootNode() as ShadowRoot).host);\n\n\tif (parent && ((instanceOfPopup(parent) || parent === document.documentElement))) {\n\t\treturn parent as HTMLElement;\n\t}\n\n\treturn getClosedPopupParent(parent as HTMLElement);\n};\n\nexport {\n\tgetFocusedElement,\n\tisClickInRect,\n\tgetClosedPopupParent,\n\tisFocusedElementWithinNode,\n};\n"]}
@@ -0,0 +1,12 @@
1
+ declare const getElementSelection: (element: HTMLElement) => {
2
+ selectedText: string;
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ top: number;
8
+ right: number;
9
+ bottom: number;
10
+ left: number;
11
+ };
12
+ export default getElementSelection;
@@ -0,0 +1,79 @@
1
+ import getEffectiveScrollbarStyle from "../util/getEffectiveScrollbarStyle.js";
2
+ const copyAndApplyStyles = (element, copiedElement) => {
3
+ const computedStyles = getComputedStyle(element);
4
+ for (let i = 0; i < computedStyles.length; i++) {
5
+ const propertyName = computedStyles[i];
6
+ copiedElement.style.setProperty(propertyName, computedStyles.getPropertyValue(propertyName));
7
+ }
8
+ element.tagName === "INPUT" && setInputSpecificStyles(copiedElement);
9
+ copiedElement.style.position = "absolute";
10
+ copiedElement.style.left = `${element.getBoundingClientRect().left}px`;
11
+ copiedElement.style.top = `${element.getBoundingClientRect().top}px`;
12
+ setUnInteractableStyles(copiedElement);
13
+ document.body.appendChild(copiedElement);
14
+ };
15
+ const setUnInteractableStyles = (element) => {
16
+ element.style.position = "absolute";
17
+ element.style.userSelect = "none";
18
+ element.style.pointerEvents = "none";
19
+ element.style.zIndex = "-1";
20
+ element.style.opacity = "0";
21
+ };
22
+ const setInputSpecificStyles = (element) => {
23
+ element.style.whiteSpace = "nowrap";
24
+ element.style.overflowX = "auto";
25
+ element.style.overflowY = "hidden";
26
+ };
27
+ const applyScrollStylings = () => {
28
+ const sheet = new CSSStyleSheet();
29
+ const styles = getEffectiveScrollbarStyle();
30
+ sheet.replaceSync(styles);
31
+ document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];
32
+ };
33
+ const createCopy = () => {
34
+ const copiedElement = document.createElement("div");
35
+ copiedElement.id = "ui5-selection-mirror";
36
+ copiedElement.contentEditable = "true";
37
+ applyScrollStylings();
38
+ document.body.appendChild(copiedElement);
39
+ };
40
+ const applyScrollPosition = (element, copiedElement) => {
41
+ copiedElement.scrollTop = element.scrollTop;
42
+ copiedElement.scrollLeft = element.scrollLeft;
43
+ };
44
+ const getSelectionCoordinates = (element, mirror) => {
45
+ const { selectionStart, selectionEnd } = element;
46
+ const selectedText = element.value.slice(selectionStart, element.selectionEnd);
47
+ const range = document.createRange();
48
+ range.setStart(mirror.firstChild, selectionEnd - 1);
49
+ range.setEnd(mirror.firstChild, selectionEnd);
50
+ applyScrollPosition(element, mirror);
51
+ const rangeRect = range.getBoundingClientRect();
52
+ const rectObject = {
53
+ x: rangeRect.x,
54
+ y: rangeRect.y,
55
+ width: rangeRect.width,
56
+ height: rangeRect.height,
57
+ top: rangeRect.top,
58
+ right: rangeRect.right,
59
+ bottom: rangeRect.bottom,
60
+ left: rangeRect.left,
61
+ };
62
+ document.body.removeChild(mirror);
63
+ return { ...rectObject, selectedText };
64
+ };
65
+ const getElementSelection = (element) => {
66
+ const innerElement = element.shadowRoot.querySelector("textarea")
67
+ || element.shadowRoot.querySelector("input");
68
+ if (!document.getElementById("ui5-selection-mirror")) {
69
+ createCopy();
70
+ }
71
+ const copiedElement = document.getElementById("ui5-selection-mirror");
72
+ copiedElement.textContent = innerElement.value;
73
+ if (innerElement) {
74
+ copyAndApplyStyles(innerElement, copiedElement);
75
+ }
76
+ return getSelectionCoordinates(innerElement, copiedElement);
77
+ };
78
+ export default getElementSelection;
79
+ //# sourceMappingURL=SelectionAssistant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectionAssistant.js","sourceRoot":"","sources":["../../src/util/SelectionAssistant.ts"],"names":[],"mappings":"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","sourcesContent":["import getEffectiveScrollbarStyle from \"../util/getEffectiveScrollbarStyle.js\";\n\nconst copyAndApplyStyles = (element: HTMLElement, copiedElement: HTMLElement) => {\n\tconst computedStyles = getComputedStyle(element);\n\n\tfor (let i = 0; i < computedStyles.length; i++) {\n\t\tconst propertyName = computedStyles[i];\n\t\tcopiedElement.style.setProperty(propertyName, computedStyles.getPropertyValue(propertyName));\n\t}\n\n\telement.tagName === \"INPUT\" && setInputSpecificStyles(copiedElement);\n\n\tcopiedElement.style.position = \"absolute\";\n\tcopiedElement.style.left = `${element.getBoundingClientRect().left}px`;\n\tcopiedElement.style.top = `${element.getBoundingClientRect().top}px`;\n\n\tsetUnInteractableStyles(copiedElement);\n\n\tdocument.body.appendChild(copiedElement);\n};\n\nconst setUnInteractableStyles = (element: HTMLElement) => {\n\telement.style.position = \"absolute\";\n\telement.style.userSelect = \"none\";\n\telement.style.pointerEvents = \"none\";\n\telement.style.zIndex = \"-1\";\n\telement.style.opacity = \"0\";\n};\n\nconst setInputSpecificStyles = (element: HTMLElement) => {\n\telement.style.whiteSpace = \"nowrap\";\n\telement.style.overflowX = \"auto\";\n\telement.style.overflowY = \"hidden\";\n};\n\nconst applyScrollStylings = () => {\n\tconst sheet = new CSSStyleSheet();\n\tconst styles = getEffectiveScrollbarStyle();\n\n\tsheet.replaceSync(styles);\n\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n};\n\nconst createCopy = () => {\n\tconst copiedElement = document.createElement(\"div\");\n\n\tcopiedElement.id = \"ui5-selection-mirror\";\n\tcopiedElement.contentEditable = \"true\";\n\n\tapplyScrollStylings();\n\n\tdocument.body.appendChild(copiedElement);\n};\n\nconst applyScrollPosition = (element: HTMLElement, copiedElement: HTMLElement) => {\n\tcopiedElement.scrollTop = element.scrollTop;\n\tcopiedElement.scrollLeft = element.scrollLeft;\n};\n\nconst getSelectionCoordinates = (element: HTMLInputElement | HTMLTextAreaElement, mirror: HTMLDivElement) => {\n\tconst { selectionStart, selectionEnd } = element;\n\tconst selectedText = element.value.slice(\n\t\tselectionStart!,\n\t\telement.selectionEnd!,\n\t);\n\tconst range = document.createRange();\n\n\trange.setStart(mirror.firstChild!, selectionEnd! - 1);\n\trange.setEnd(mirror.firstChild!, selectionEnd!);\n\n\tapplyScrollPosition(element, mirror);\n\n\tconst rangeRect = range.getBoundingClientRect();\n\tconst rectObject = {\n\t\tx: rangeRect.x,\n\t\ty: rangeRect.y,\n\t\twidth: rangeRect.width,\n\t\theight: rangeRect.height,\n\t\ttop: rangeRect.top,\n\t\tright: rangeRect.right,\n\t\tbottom: rangeRect.bottom,\n\t\tleft: rangeRect.left,\n\t};\n\n\tdocument.body.removeChild(mirror);\n\n\treturn { ...rectObject, selectedText };\n};\n\nconst getElementSelection = (element: HTMLElement) => {\n\tconst innerElement = element.shadowRoot!.querySelector(\"textarea\")\n\t\t|| element.shadowRoot!.querySelector(\"input\");\n\n\tif (!document.getElementById(\"ui5-selection-mirror\")) {\n\t\tcreateCopy();\n\t}\n\n\tconst copiedElement = document.getElementById(\n\t\t\"ui5-selection-mirror\",\n\t)!;\n\n\tcopiedElement.textContent = innerElement!.value;\n\n\tif (innerElement) {\n\t\tcopyAndApplyStyles(innerElement, copiedElement)!;\n\t}\n\n\treturn getSelectionCoordinates(innerElement!, copiedElement as HTMLDivElement);\n};\n\nexport default getElementSelection;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SlotsHelper.js","sourceRoot":"","sources":["../../src/util/SlotsHelper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,GAAG,CAAC,IAAU,EAAE,EAAE;IAClC,6CAA6C;IAC7C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC,EAAE;QACnC,OAAO,SAAS,CAAC;KACjB;IAED,kGAAkG;IAClG,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KAC/B;IAED,iCAAiC;IACjC,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,EAAE;IACtC,IAAI,IAAI,YAAY,eAAe,EAAE;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,CAAC;KACzF;IAED,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAAqB,EAAE,EAAE;IACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAiB,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,OAAO,EACN,WAAW,EACX,eAAe,EACf,mBAAmB,GACnB,CAAC","sourcesContent":["/**\n * Determines the slot to which a node should be assigned\n * @param node Text node or HTML element\n * @returns {string}\n */\nconst getSlotName = (node: Node) => {\n\t// Text nodes can only go to the default slot\n\tif (!(node instanceof HTMLElement)) {\n\t\treturn \"default\";\n\t}\n\n\t// Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)\n\tconst slot = node.getAttribute(\"slot\");\n\tif (slot) {\n\t\tconst match = slot.match(/^(.+?)-\\d+$/);\n\t\treturn match ? match[1] : slot;\n\t}\n\n\t// Use default slot as a fallback\n\treturn \"default\";\n};\n\nconst getSlottedNodes = (node: Node) => {\n\tif (node instanceof HTMLSlotElement) {\n\t\treturn node.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);\n\t}\n\n\treturn [node];\n};\n\nconst getSlottedNodesList = (nodeList: Array<Node>) => {\n\treturn nodeList.reduce((acc, curr) => acc.concat(getSlottedNodes(curr)), [] as Array<Node>);\n};\n\nexport {\n\tgetSlotName,\n\tgetSlottedNodes,\n\tgetSlottedNodesList,\n};\n"]}
1
+ {"version":3,"file":"SlotsHelper.js","sourceRoot":"","sources":["../../src/util/SlotsHelper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,GAAG,CAAC,IAAU,EAAE,EAAE;IAClC,6CAA6C;IAC7C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,kGAAkG;IAClG,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,iCAAiC;IACjC,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,EAAE;IACtC,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAAqB,EAAE,EAAE;IACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAiB,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,OAAO,EACN,WAAW,EACX,eAAe,EACf,mBAAmB,GACnB,CAAC","sourcesContent":["/**\n * Determines the slot to which a node should be assigned\n * @param node Text node or HTML element\n * @returns {string}\n */\nconst getSlotName = (node: Node) => {\n\t// Text nodes can only go to the default slot\n\tif (!(node instanceof HTMLElement)) {\n\t\treturn \"default\";\n\t}\n\n\t// Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)\n\tconst slot = node.getAttribute(\"slot\");\n\tif (slot) {\n\t\tconst match = slot.match(/^(.+?)-\\d+$/);\n\t\treturn match ? match[1] : slot;\n\t}\n\n\t// Use default slot as a fallback\n\treturn \"default\";\n};\n\nconst getSlottedNodes = (node: Node) => {\n\tif (node instanceof HTMLSlotElement) {\n\t\treturn node.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);\n\t}\n\n\treturn [node];\n};\n\nconst getSlottedNodesList = (nodeList: Array<Node>) => {\n\treturn nodeList.reduce((acc, curr) => acc.concat(getSlottedNodes(curr)), [] as Array<Node>);\n};\n\nexport {\n\tgetSlotName,\n\tgetSlottedNodes,\n\tgetSlottedNodesList,\n};\n"]}
@@ -1,3 +1,5 @@
1
1
  declare const kebabToCamelCase: (string: string) => string;
2
2
  declare const camelToKebabCase: (string: string) => string;
3
- export { kebabToCamelCase, camelToKebabCase };
3
+ declare const pascalToKebabCase: (pascalString: string) => string;
4
+ declare const kebabToPascalCase: (src: string) => string;
5
+ export { kebabToCamelCase, camelToKebabCase, pascalToKebabCase, kebabToPascalCase, };
@@ -1,5 +1,6 @@
1
1
  const kebabToCamelMap = new Map();
2
2
  const camelToKebabMap = new Map();
3
+ const kebabToPascalMap = new Map();
3
4
  const kebabToCamelCase = (string) => {
4
5
  if (!kebabToCamelMap.has(string)) {
5
6
  const result = toCamelCase(string.split("-"));
@@ -14,10 +15,23 @@ const camelToKebabCase = (string) => {
14
15
  }
15
16
  return camelToKebabMap.get(string);
16
17
  };
18
+ const pascalToKebabCase = (pascalString) => {
19
+ return camelToKebabCase(pascalString);
20
+ };
17
21
  const toCamelCase = (parts) => {
18
22
  return parts.map((string, index) => {
19
23
  return index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
20
24
  }).join("");
21
25
  };
22
- export { kebabToCamelCase, camelToKebabCase };
26
+ const kebabToPascalCase = (src) => {
27
+ const cachedName = kebabToPascalMap.get(src);
28
+ if (cachedName) {
29
+ return cachedName;
30
+ }
31
+ const camelStr = kebabToCamelCase(src);
32
+ const result = camelStr.charAt(0).toUpperCase() + camelStr.slice(1);
33
+ kebabToPascalMap.set(src, result);
34
+ return result;
35
+ };
36
+ export { kebabToCamelCase, camelToKebabCase, pascalToKebabCase, kebabToPascalCase, };
23
37
  //# sourceMappingURL=StringHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StringHelper.js","sourceRoot":"","sources":["../../src/util/StringHelper.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAElD,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAClC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["const kebabToCamelMap = new Map<string, string>();\nconst camelToKebabMap = new Map<string, string>();\n\nconst kebabToCamelCase = (string: string) => {\n\tif (!kebabToCamelMap.has(string)) {\n\t\tconst result = toCamelCase(string.split(\"-\"));\n\t\tkebabToCamelMap.set(string, result);\n\t}\n\treturn kebabToCamelMap.get(string)!;\n};\n\nconst camelToKebabCase = (string: string) => {\n\tif (!camelToKebabMap.has(string)) {\n\t\tconst result = string.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n\t\tcamelToKebabMap.set(string, result);\n\t}\n\treturn camelToKebabMap.get(string)!;\n};\n\nconst toCamelCase = (parts: Array<string>) => {\n\treturn parts.map((string, index) => {\n\t\treturn index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n\t}).join(\"\");\n};\n\nexport { kebabToCamelCase, camelToKebabCase };\n"]}
1
+ {"version":3,"file":"StringHelper.js","sourceRoot":"","sources":["../../src/util/StringHelper.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEnD,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAClD,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAClC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GACjB,CAAC","sourcesContent":["const kebabToCamelMap = new Map<string, string>();\nconst camelToKebabMap = new Map<string, string>();\nconst kebabToPascalMap = new Map<string, string>();\n\nconst kebabToCamelCase = (string: string) => {\n\tif (!kebabToCamelMap.has(string)) {\n\t\tconst result = toCamelCase(string.split(\"-\"));\n\t\tkebabToCamelMap.set(string, result);\n\t}\n\treturn kebabToCamelMap.get(string)!;\n};\n\nconst camelToKebabCase = (string: string) => {\n\tif (!camelToKebabMap.has(string)) {\n\t\tconst result = string.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n\t\tcamelToKebabMap.set(string, result);\n\t}\n\treturn camelToKebabMap.get(string)!;\n};\n\nconst pascalToKebabCase = (pascalString: string) => {\n\treturn camelToKebabCase(pascalString);\n};\n\nconst toCamelCase = (parts: Array<string>) => {\n\treturn parts.map((string, index) => {\n\t\treturn index === 0 ? string.toLowerCase() : string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n\t}).join(\"\");\n};\n\nconst kebabToPascalCase = (src: string) => {\n\tconst cachedName = kebabToPascalMap.get(src);\n\tif (cachedName) {\n\t\treturn cachedName;\n\t}\n\n\tconst camelStr = kebabToCamelCase(src);\n\tconst result = camelStr.charAt(0).toUpperCase() + camelStr.slice(1);\n\tkebabToPascalMap.set(src, result);\n\treturn result;\n};\n\nexport {\n\tkebabToCamelCase,\n\tcamelToKebabCase,\n\tpascalToKebabCase,\n\tkebabToPascalCase,\n};\n"]}
@@ -29,18 +29,10 @@ const getTabbables = (nodes, tabbables) => {
29
29
  if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {
30
30
  return;
31
31
  }
32
- let currentElement = currentNode;
32
+ const currentElement = currentNode;
33
33
  if (currentElement.hasAttribute("data-sap-no-tab-ref")) {
34
34
  return;
35
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
36
  if (isElementTabbable(currentElement)) {
45
37
  tabbableElements.push(currentElement);
46
38
  }
@@ -48,7 +40,8 @@ const getTabbables = (nodes, tabbables) => {
48
40
  getTabbables(currentElement.assignedNodes(), tabbableElements);
49
41
  }
50
42
  else {
51
- getTabbables([...currentElement.children], tabbableElements);
43
+ const children = currentElement.shadowRoot ? currentElement.shadowRoot.children : currentElement.children;
44
+ getTabbables([...children], tabbableElements);
52
45
  }
53
46
  });
54
47
  return tabbableElements;
@@ -1 +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"]}
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,CAAC;QACZ,OAAO,gBAAgB,CAAC;IACzB,CAAC;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,CAAC;YAC3F,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,WAA0B,CAAC;QAClD,IAAI,cAAc,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACxD,OAAO;QACR,CAAC;QAED,IAAI,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,cAAc,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACvC,YAAY,CAAE,cAAkC,CAAC,aAAa,EAAwB,EAAE,gBAAgB,CAAC,CAAC;QAC3G,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC1G,YAAY,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC/C,CAAC;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\tconst 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 (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\tconst children = currentElement.shadowRoot ? currentElement.shadowRoot.children : currentElement.children;\n\t\t\tgetTabbables([...children], tabbableElements);\n\t\t}\n\t});\n\n\treturn tabbableElements;\n};\n\nexport {\n\tgetTabbableElements,\n\tgetLastTabbableElement,\n};\n"]}
@@ -1 +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"]}
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,CAAC;QACjC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;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"]}
@@ -6,7 +6,8 @@
6
6
  * @returns {number}
7
7
  */
8
8
  const clamp = (val, min, max) => {
9
- return Math.min(Math.max(val, min), max);
9
+ // handles case when max < min
10
+ return Math.min(Math.max(val, min), Math.max(min, max));
10
11
  };
11
12
  export default clamp;
12
13
  //# sourceMappingURL=clamp.js.map
@@ -1 +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,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1C,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\treturn Math.min(Math.max(val, min), max);\n};\n\nexport default clamp;\n"]}
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"]}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Creates a <link> tag in the <head> tag
2
+ * Creates a `<link>` tag in the `<head>` tag
3
3
  * @param href - the CSS
4
4
  * @param attributes - optional attributes to add to the tag
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Creates a <link> tag in the <head> tag
2
+ * Creates a `<link>` tag in the `<head>` tag
3
3
  * @param href - the CSS
4
4
  * @param attributes - optional attributes to add to the tag
5
5
  */
@@ -1 +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"]}
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,CAAC;QAChB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;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"]}
@@ -1 +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"]}
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 type { 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"]}
@@ -1,2 +1,2 @@
1
- declare const _default: () => string;
2
- export default _default;
1
+ declare const detectNavigatorLanguage: () => string;
2
+ export default detectNavigatorLanguage;
@@ -1,5 +1,9 @@
1
1
  import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
2
- export default () => {
2
+ const isSSR = typeof document === "undefined";
3
+ const detectNavigatorLanguage = () => {
4
+ if (isSSR) {
5
+ return DEFAULT_LANGUAGE;
6
+ }
3
7
  const browserLanguages = navigator.languages;
4
8
  const navigatorLanguage = () => {
5
9
  return navigator.language;
@@ -7,4 +11,5 @@ export default () => {
7
11
  const rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();
8
12
  return rawLocale || DEFAULT_LANGUAGE;
9
13
  };
14
+ export default detectNavigatorLanguage;
10
15
  //# sourceMappingURL=detectNavigatorLanguage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detectNavigatorLanguage.js","sourceRoot":"","sources":["../../src/util/detectNavigatorLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,eAAe,GAAG,EAAE;IACnB,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","sourcesContent":["import { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nexport default () => {\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"]}
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,CAAC;QACX,OAAO,gBAAgB,CAAC;IACzB,CAAC;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,33 @@
1
+ import type UI5Element from "../../UI5Element.js";
2
+ import type MovePlacement from "../../types/MovePlacement.js";
3
+ declare const setDraggedElement: (element: HTMLElement | null) => void;
4
+ type SetDraggedElementFunction = typeof setDraggedElement;
5
+ type DragAndDropSettings = {
6
+ /**
7
+ * Allow cross-browser and file drag and drop.
8
+ */
9
+ crossDnD?: boolean;
10
+ /**
11
+ * Pass the original event in the event parameters.
12
+ */
13
+ originalEvent?: boolean;
14
+ };
15
+ type MoveEventDetail = {
16
+ originalEvent: Event;
17
+ source: {
18
+ element: HTMLElement;
19
+ };
20
+ destination: {
21
+ element: HTMLElement;
22
+ placement: `${MovePlacement}`;
23
+ };
24
+ };
25
+ declare const DragRegistry: {
26
+ subscribe: (subscriber: UI5Element) => void;
27
+ unsubscribe: (subscriber: UI5Element) => void;
28
+ addSelfManagedArea: (area: HTMLElement | ShadowRoot) => (element: HTMLElement | null) => void;
29
+ removeSelfManagedArea: (area: HTMLElement | ShadowRoot) => void;
30
+ getDraggedElement: () => HTMLElement | null;
31
+ };
32
+ export default DragRegistry;
33
+ export type { SetDraggedElementFunction, DragAndDropSettings, MoveEventDetail, };