@ui5/webcomponents-base 0.0.0-4b9b0ab7c → 0.0.0-4e88b8243

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 (634) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +1672 -0
  3. package/README.md +6 -12
  4. package/cypress/specs/Accessor.cy.ts +79 -0
  5. package/cypress/specs/Boot.cy.ts +19 -0
  6. package/cypress/specs/ConfigurationChange.cy.ts +41 -0
  7. package/cypress/specs/ConfigurationScript.cy.ts +116 -0
  8. package/cypress/specs/ConfigurationURL.cy.ts +182 -0
  9. package/cypress/specs/CustomMount.cy.ts +34 -0
  10. package/cypress/specs/CustomTheme.cy.ts +36 -0
  11. package/cypress/specs/EventProvider.cy.ts +59 -0
  12. package/cypress/specs/SystemDOMElements.cy.ts +8 -0
  13. package/cypress/specs/Theming.cy.ts +74 -0
  14. package/cypress/specs/UI5ElementInvalidation.cy.ts +207 -0
  15. package/cypress/specs/UI5ElementLifecycle.cy.ts +82 -0
  16. package/cypress/specs/UI5ElementListenForChildPropChanges.cy.ts +62 -0
  17. package/cypress/specs/UI5ElementMetadataExt.cy.ts +42 -0
  18. package/cypress/specs/UI5ElementPropertyValidation.cy.ts +16 -0
  19. package/cypress/specs/UI5ElementPropsAndAttrs.cy.ts +113 -0
  20. package/cypress/specs/UI5ElementShadowDOM.cy.ts +30 -0
  21. package/cypress/specs/UI5ElementSlots.cy.ts +116 -0
  22. package/cypress/specs/WithComplexTemplate.cy.ts +32 -0
  23. package/cypress/tsconfig.json +20 -0
  24. package/cypress.config.js +3 -0
  25. package/dist/.tsbuildinfobuild +1 -0
  26. package/dist/AssetRegistry.d.ts +2 -2
  27. package/dist/AssetRegistry.js +2 -2
  28. package/dist/AssetRegistry.js.map +1 -1
  29. package/dist/Boot.d.ts +3 -2
  30. package/dist/Boot.js +22 -12
  31. package/dist/Boot.js.map +1 -1
  32. package/dist/CustomElementsRegistry.js +1 -1
  33. package/dist/CustomElementsRegistry.js.map +1 -1
  34. package/dist/CustomElementsScope.d.ts +4 -4
  35. package/dist/CustomElementsScope.js +2 -2
  36. package/dist/CustomElementsScope.js.map +1 -1
  37. package/dist/CustomElementsScopeUtils.d.ts +8 -1
  38. package/dist/CustomElementsScopeUtils.js +13 -1
  39. package/dist/CustomElementsScopeUtils.js.map +1 -1
  40. package/dist/DOMObserver.js.map +1 -1
  41. package/dist/Device.d.ts +17 -2
  42. package/dist/Device.js +19 -14
  43. package/dist/Device.js.map +1 -1
  44. package/dist/EventProvider.js +1 -1
  45. package/dist/EventProvider.js.map +1 -1
  46. package/dist/FeaturesRegistry.d.ts +16 -1
  47. package/dist/FeaturesRegistry.js +37 -1
  48. package/dist/FeaturesRegistry.js.map +1 -1
  49. package/dist/FontFace.js +6 -1
  50. package/dist/FontFace.js.map +1 -1
  51. package/dist/IgnoreCustomElements.d.ts +25 -0
  52. package/dist/IgnoreCustomElements.js +37 -0
  53. package/dist/IgnoreCustomElements.js.map +1 -0
  54. package/dist/InitialConfiguration.d.ts +15 -3
  55. package/dist/InitialConfiguration.js +41 -9
  56. package/dist/InitialConfiguration.js.map +1 -1
  57. package/dist/Keys.d.ts +8 -1
  58. package/dist/Keys.js +114 -106
  59. package/dist/Keys.js.map +1 -1
  60. package/dist/Location.d.ts +11 -0
  61. package/dist/Location.js +49 -0
  62. package/dist/Location.js.map +1 -0
  63. package/dist/ManagedStyles.d.ts +5 -6
  64. package/dist/ManagedStyles.js +45 -53
  65. package/dist/ManagedStyles.js.map +1 -1
  66. package/dist/MediaRange.d.ts +6 -12
  67. package/dist/MediaRange.js +21 -31
  68. package/dist/MediaRange.js.map +1 -1
  69. package/dist/PropertiesFileFormat.js.map +1 -1
  70. package/dist/Render.js.map +1 -1
  71. package/dist/RenderQueue.js.map +1 -1
  72. package/dist/Runtimes.js +11 -0
  73. package/dist/Runtimes.js.map +1 -1
  74. package/dist/SystemCSSVars.js.map +1 -1
  75. package/dist/Theming.js.map +1 -1
  76. package/dist/UI5Element.d.ts +111 -75
  77. package/dist/UI5Element.js +394 -229
  78. package/dist/UI5Element.js.map +1 -1
  79. package/dist/UI5ElementMetadata.d.ts +41 -27
  80. package/dist/UI5ElementMetadata.js +34 -72
  81. package/dist/UI5ElementMetadata.js.map +1 -1
  82. package/dist/animations/AnimationQueue.js.map +1 -1
  83. package/dist/animations/animate.js.map +1 -1
  84. package/dist/animations/scroll.js.map +1 -1
  85. package/dist/animations/slideDown.js.map +1 -1
  86. package/dist/animations/slideUp.js.map +1 -1
  87. package/dist/asset-registries/Icons.d.ts +21 -12
  88. package/dist/asset-registries/Icons.js +51 -19
  89. package/dist/asset-registries/Icons.js.map +1 -1
  90. package/dist/asset-registries/Illustrations.d.ts +2 -0
  91. package/dist/asset-registries/Illustrations.js +51 -20
  92. package/dist/asset-registries/Illustrations.js.map +1 -1
  93. package/dist/asset-registries/LocaleData.js +1 -1
  94. package/dist/asset-registries/LocaleData.js.map +1 -1
  95. package/dist/asset-registries/Themes.d.ts +5 -7
  96. package/dist/asset-registries/Themes.js +28 -13
  97. package/dist/asset-registries/Themes.js.map +1 -1
  98. package/dist/asset-registries/i18n.d.ts +2 -2
  99. package/dist/asset-registries/i18n.js +12 -5
  100. package/dist/asset-registries/i18n.js.map +1 -1
  101. package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.d.ts +1 -2
  102. package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.js +1 -2
  103. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  104. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  105. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  106. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  107. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  108. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  109. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  110. package/dist/config/AnimationMode.d.ts +2 -2
  111. package/dist/config/AnimationMode.js +6 -1
  112. package/dist/config/AnimationMode.js.map +1 -1
  113. package/dist/config/CalendarType.d.ts +8 -1
  114. package/dist/config/CalendarType.js +23 -2
  115. package/dist/config/CalendarType.js.map +1 -1
  116. package/dist/config/ConfigurationReset.d.ts +4 -0
  117. package/dist/config/ConfigurationReset.js +11 -0
  118. package/dist/config/ConfigurationReset.js.map +1 -0
  119. package/dist/config/Fonts.d.ts +16 -0
  120. package/dist/config/Fonts.js +30 -0
  121. package/dist/config/Fonts.js.map +1 -0
  122. package/dist/config/FormatSettings.js +4 -0
  123. package/dist/config/FormatSettings.js.map +1 -1
  124. package/dist/config/Icons.d.ts +9 -24
  125. package/dist/config/Icons.js +8 -67
  126. package/dist/config/Icons.js.map +1 -1
  127. package/dist/config/Language.d.ts +11 -2
  128. package/dist/config/Language.js +24 -4
  129. package/dist/config/Language.js.map +1 -1
  130. package/dist/config/NoConflict.js +5 -0
  131. package/dist/config/NoConflict.js.map +1 -1
  132. package/dist/config/Theme.d.ts +16 -5
  133. package/dist/config/Theme.js +39 -9
  134. package/dist/config/Theme.js.map +1 -1
  135. package/dist/config/ThemeRoot.d.ts +27 -0
  136. package/dist/config/ThemeRoot.js +61 -0
  137. package/dist/config/ThemeRoot.js.map +1 -0
  138. package/dist/config/Timezone.d.ts +17 -0
  139. package/dist/config/Timezone.js +34 -0
  140. package/dist/config/Timezone.js.map +1 -0
  141. package/dist/config/Tooltips.d.ts +19 -0
  142. package/dist/config/Tooltips.js +29 -0
  143. package/dist/config/Tooltips.js.map +1 -0
  144. package/dist/connectToComponent.d.ts +9 -0
  145. package/dist/connectToComponent.js +59 -0
  146. package/dist/connectToComponent.js.map +1 -0
  147. package/dist/converters/DOMReference.d.ts +5 -0
  148. package/dist/converters/DOMReference.js +13 -0
  149. package/dist/converters/DOMReference.js.map +1 -0
  150. package/dist/css/FontFace.css +47 -17
  151. package/dist/css/SystemCSSVars.css +0 -8
  152. package/dist/decorators/bound.d.ts +1 -0
  153. package/dist/decorators/bound.js +34 -0
  154. package/dist/decorators/bound.js.map +1 -0
  155. package/dist/decorators/customElement.d.ts +42 -3
  156. package/dist/decorators/customElement.js +26 -9
  157. package/dist/decorators/customElement.js.map +1 -1
  158. package/dist/decorators/event-strict.d.ts +15 -0
  159. package/dist/decorators/event-strict.js +26 -0
  160. package/dist/decorators/event-strict.js.map +1 -0
  161. package/dist/decorators/event.d.ts +8 -2
  162. package/dist/decorators/event.js +3 -0
  163. package/dist/decorators/event.js.map +1 -1
  164. package/dist/decorators/i18n.d.ts +17 -0
  165. package/dist/decorators/i18n.js +26 -0
  166. package/dist/decorators/i18n.js.map +1 -0
  167. package/dist/decorators/property.d.ts +1 -1
  168. package/dist/decorators/property.js +1 -1
  169. package/dist/decorators/property.js.map +1 -1
  170. package/dist/decorators/query.d.ts +25 -0
  171. package/dist/decorators/query.js +32 -0
  172. package/dist/decorators/query.js.map +1 -0
  173. package/dist/decorators/queryAll.d.ts +27 -0
  174. package/dist/decorators/queryAll.js +34 -0
  175. package/dist/decorators/queryAll.js.map +1 -0
  176. package/dist/decorators/slot.d.ts +1 -1
  177. package/dist/decorators/slot.js +2 -2
  178. package/dist/decorators/slot.js.map +1 -1
  179. package/dist/decorators.d.ts +8 -0
  180. package/dist/decorators.js +9 -0
  181. package/dist/decorators.js.map +1 -0
  182. package/dist/delegate/ItemNavigation.d.ts +9 -8
  183. package/dist/delegate/ItemNavigation.js +13 -14
  184. package/dist/delegate/ItemNavigation.js.map +1 -1
  185. package/dist/delegate/ResizeHandler.d.ts +4 -6
  186. package/dist/delegate/ResizeHandler.js +11 -11
  187. package/dist/delegate/ResizeHandler.js.map +1 -1
  188. package/dist/delegate/ScrollEnablement.js +2 -2
  189. package/dist/delegate/ScrollEnablement.js.map +1 -1
  190. package/dist/features/F6Navigation.d.ts +3 -3
  191. package/dist/features/F6Navigation.js +27 -8
  192. package/dist/features/F6Navigation.js.map +1 -1
  193. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  194. package/dist/features/InputElementsFormSupport.js +39 -0
  195. package/dist/features/InputElementsFormSupport.js.map +1 -0
  196. package/dist/features/LegacyDateFormats.js.map +1 -1
  197. package/dist/features/OpenUI5Element.js.map +1 -1
  198. package/dist/features/OpenUI5Enablement.d.ts +3 -3
  199. package/dist/features/OpenUI5Enablement.js.map +1 -1
  200. package/dist/features/OpenUI5Support.d.ts +15 -6
  201. package/dist/features/OpenUI5Support.js +91 -46
  202. package/dist/features/OpenUI5Support.js.map +1 -1
  203. package/dist/features/patchPatcher.d.ts +11 -0
  204. package/dist/features/patchPatcher.js +11 -0
  205. package/dist/features/patchPatcher.js.map +1 -0
  206. package/dist/features/patchPopup.d.ts +15 -0
  207. package/dist/features/patchPopup.js +61 -0
  208. package/dist/features/patchPopup.js.map +1 -0
  209. package/dist/generated/AssetParameters.d.ts +6 -0
  210. package/dist/generated/AssetParameters.js +4 -9
  211. package/dist/generated/AssetParameters.js.map +1 -0
  212. package/dist/generated/VersionInfo.d.ts +10 -0
  213. package/dist/generated/VersionInfo.js +9 -8
  214. package/dist/generated/VersionInfo.js.map +1 -0
  215. package/dist/generated/css/BusyIndicator.css.d.ts +2 -3
  216. package/dist/generated/css/BusyIndicator.css.js +1 -6
  217. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  218. package/dist/generated/css/FontFace.css.d.ts +2 -3
  219. package/dist/generated/css/FontFace.css.js +1 -6
  220. package/dist/generated/css/FontFace.css.js.map +1 -1
  221. package/dist/generated/css/OverrideFontFace.css.d.ts +2 -3
  222. package/dist/generated/css/OverrideFontFace.css.js +1 -6
  223. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  224. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -3
  225. package/dist/generated/css/SystemCSSVars.css.js +1 -6
  226. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  227. package/dist/getSharedResource.d.ts +1 -1
  228. package/dist/getSharedResource.js +8 -2
  229. package/dist/getSharedResource.js.map +1 -1
  230. package/dist/global.d.ts +2 -0
  231. package/dist/i18nBundle.d.ts +2 -4
  232. package/dist/i18nBundle.js +3 -5
  233. package/dist/i18nBundle.js.map +1 -1
  234. package/dist/index.d.ts +8 -0
  235. package/dist/jsx-dev-runtime.d.ts +4 -0
  236. package/dist/jsx-dev-runtime.js +43 -0
  237. package/dist/jsx-dev-runtime.js.map +1 -0
  238. package/dist/jsx-runtime.d.ts +50 -0
  239. package/dist/jsx-runtime.js +27 -0
  240. package/dist/jsx-runtime.js.map +1 -0
  241. package/dist/jsx-utils.d.ts +3 -0
  242. package/dist/jsx-utils.js +39 -0
  243. package/dist/jsx-utils.js.map +1 -0
  244. package/dist/locale/Locale.js.map +1 -1
  245. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  246. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  247. package/dist/locale/applyDirection.d.ts +3 -2
  248. package/dist/locale/applyDirection.js +3 -2
  249. package/dist/locale/applyDirection.js.map +1 -1
  250. package/dist/locale/directionChange.js.map +1 -1
  251. package/dist/locale/getEffectiveDir.d.ts +1 -1
  252. package/dist/locale/getEffectiveDir.js +3 -19
  253. package/dist/locale/getEffectiveDir.js.map +1 -1
  254. package/dist/locale/getLocale.js.map +1 -1
  255. package/dist/locale/languageChange.js.map +1 -1
  256. package/dist/locale/nextFallbackLocale.js.map +1 -1
  257. package/dist/locale/normalizeLocale.js.map +1 -1
  258. package/dist/renderer/JsxRenderer.d.ts +3 -0
  259. package/dist/renderer/JsxRenderer.js +16 -0
  260. package/dist/renderer/JsxRenderer.js.map +1 -0
  261. package/dist/renderer/LitRenderer.d.ts +3 -3
  262. package/dist/renderer/LitRenderer.js +5 -10
  263. package/dist/renderer/LitRenderer.js.map +1 -1
  264. package/dist/renderer/directives/style-map.d.ts +13 -0
  265. package/dist/renderer/directives/style-map.js +59 -59
  266. package/dist/renderer/directives/style-map.js.map +1 -0
  267. package/dist/renderer/executeTemplate.d.ts +3 -4
  268. package/dist/renderer/executeTemplate.js +1 -19
  269. package/dist/renderer/executeTemplate.js.map +1 -1
  270. package/dist/sap/base/Log.js +698 -188
  271. package/dist/sap/base/assert.js +28 -1
  272. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  273. package/dist/sap/base/security/URLListValidator.js +253 -6
  274. package/dist/sap/base/security/encodeCSS.js +34 -8
  275. package/dist/sap/base/security/encodeXML.js +47 -17
  276. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  277. package/dist/sap/base/strings/toHex.js +27 -2
  278. package/dist/sap/base/util/now.js +24 -3
  279. package/dist/sap/base/util/uid.js +27 -0
  280. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +113 -98
  281. package/dist/ssr-dom-shim.d.ts +1 -0
  282. package/dist/ssr-dom-shim.js +12 -0
  283. package/dist/ssr-dom-shim.js.map +1 -0
  284. package/dist/ssr-dom.d.ts +1 -0
  285. package/dist/ssr-dom.js +3 -0
  286. package/dist/ssr-dom.js.map +1 -0
  287. package/dist/theming/CustomStyle.js.map +1 -1
  288. package/dist/theming/ThemeLoaded.js.map +1 -1
  289. package/dist/theming/ThemeRegistered.d.ts +1 -2
  290. package/dist/theming/ThemeRegistered.js +1 -4
  291. package/dist/theming/ThemeRegistered.js.map +1 -1
  292. package/dist/theming/applyTheme.js +9 -9
  293. package/dist/theming/applyTheme.js.map +1 -1
  294. package/dist/theming/getConstructableStyle.d.ts +2 -2
  295. package/dist/theming/getConstructableStyle.js +3 -3
  296. package/dist/theming/getConstructableStyle.js.map +1 -1
  297. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  298. package/dist/theming/getEffectiveStyle.js +5 -12
  299. package/dist/theming/getEffectiveStyle.js.map +1 -1
  300. package/dist/theming/getStylesString.js +2 -4
  301. package/dist/theming/getStylesString.js.map +1 -1
  302. package/dist/theming/getThemeDesignerTheme.js +2 -1
  303. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  304. package/dist/thirdparty/_merge.js.map +1 -1
  305. package/dist/thirdparty/isPlainObject.js.map +1 -1
  306. package/dist/thirdparty/merge.js.map +1 -1
  307. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  308. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  309. package/dist/thirdparty/preact/jsxRuntime.module.js +2 -0
  310. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  311. package/dist/thirdparty/preact/preact.module.js +2 -0
  312. package/dist/types/AnimationMode.d.ts +0 -8
  313. package/dist/types/AnimationMode.js +0 -8
  314. package/dist/types/AnimationMode.js.map +1 -1
  315. package/dist/types/CalendarType.d.ts +0 -9
  316. package/dist/types/CalendarType.js +0 -9
  317. package/dist/types/CalendarType.js.map +1 -1
  318. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  319. package/dist/types/InvisibleMessageMode.js +4 -11
  320. package/dist/types/InvisibleMessageMode.js.map +1 -1
  321. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  322. package/dist/types/ItemNavigationBehavior.js +0 -6
  323. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  324. package/dist/types/MovePlacement.d.ts +20 -0
  325. package/dist/types/MovePlacement.js +22 -0
  326. package/dist/types/MovePlacement.js.map +1 -0
  327. package/dist/types/NavigationMode.d.ts +0 -8
  328. package/dist/types/NavigationMode.js +0 -8
  329. package/dist/types/NavigationMode.js.map +1 -1
  330. package/dist/types/Orientation.d.ts +16 -0
  331. package/dist/types/Orientation.js +18 -0
  332. package/dist/types/Orientation.js.map +1 -0
  333. package/dist/types/ValueState.d.ts +3 -17
  334. package/dist/types/ValueState.js +3 -17
  335. package/dist/types/ValueState.js.map +1 -1
  336. package/dist/types.d.ts +37 -14
  337. package/dist/types.js.map +1 -1
  338. package/dist/updateShadowRoot.d.ts +1 -2
  339. package/dist/updateShadowRoot.js +4 -25
  340. package/dist/updateShadowRoot.js.map +1 -1
  341. package/dist/util/{AriaLabelHelper.d.ts → AccessibilityTextsHelper.d.ts} +4 -2
  342. package/dist/util/{AriaLabelHelper.js → AccessibilityTextsHelper.js} +36 -8
  343. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  344. package/dist/util/Caret.js.map +1 -1
  345. package/dist/util/ColorConversion.d.ts +2 -1
  346. package/dist/util/ColorConversion.js +212 -197
  347. package/dist/util/ColorConversion.js.map +1 -1
  348. package/dist/util/FetchHelper.js.map +1 -1
  349. package/dist/util/FocusableElements.js +18 -15
  350. package/dist/util/FocusableElements.js.map +1 -1
  351. package/dist/util/HTMLSanitizer.js.map +1 -1
  352. package/dist/util/InvisibleMessage.js +2 -2
  353. package/dist/util/InvisibleMessage.js.map +1 -1
  354. package/dist/util/PopupUtils.d.ts +1 -3
  355. package/dist/util/PopupUtils.js +1 -15
  356. package/dist/util/PopupUtils.js.map +1 -1
  357. package/dist/util/SelectionAssistant.d.ts +12 -0
  358. package/dist/util/SelectionAssistant.js +79 -0
  359. package/dist/util/SelectionAssistant.js.map +1 -0
  360. package/dist/util/SlotsHelper.js.map +1 -1
  361. package/dist/util/StringHelper.d.ts +3 -1
  362. package/dist/util/StringHelper.js +15 -1
  363. package/dist/util/StringHelper.js.map +1 -1
  364. package/dist/util/TabbableElements.js +3 -10
  365. package/dist/util/TabbableElements.js.map +1 -1
  366. package/dist/util/arraysAreEqual.js.map +1 -1
  367. package/dist/util/clamp.js +2 -1
  368. package/dist/util/clamp.js.map +1 -1
  369. package/dist/util/createLinkInHead.d.ts +1 -1
  370. package/dist/util/createLinkInHead.js +1 -1
  371. package/dist/util/createLinkInHead.js.map +1 -1
  372. package/dist/util/debounce.js.map +1 -1
  373. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  374. package/dist/util/detectNavigatorLanguage.js +6 -1
  375. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  376. package/dist/util/dragAndDrop/DragRegistry.d.ts +33 -0
  377. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  378. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  379. package/dist/util/dragAndDrop/findClosestPosition.d.ts +11 -0
  380. package/dist/util/dragAndDrop/findClosestPosition.js +102 -0
  381. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  382. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  383. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  384. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  385. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  386. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  387. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  388. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  389. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  390. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  391. package/dist/util/escapeRegex.js.map +1 -1
  392. package/dist/util/fixSafariActiveState.d.ts +2 -0
  393. package/dist/util/fixSafariActiveState.js +11 -0
  394. package/dist/util/fixSafariActiveState.js.map +1 -0
  395. package/dist/util/formatMessage.js.map +1 -1
  396. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  397. package/dist/util/getActiveElement.js.map +1 -1
  398. package/dist/util/getClassCopy.d.ts +142 -102
  399. package/dist/util/getClassCopy.js.map +1 -1
  400. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  401. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  402. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  403. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  404. package/dist/util/getEffectiveScrollbarStyle.d.ts +1 -1
  405. package/dist/util/getEffectiveScrollbarStyle.js +31 -1
  406. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  407. package/dist/util/getFastNavigationGroups.js.map +1 -1
  408. package/dist/util/getFileExtension.js.map +1 -1
  409. package/dist/util/getNormalizedTarget.js.map +1 -1
  410. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  411. package/dist/util/getSingletonElementInstance.js +11 -2
  412. package/dist/util/getSingletonElementInstance.js.map +1 -1
  413. package/dist/util/hash2str.d.ts +1 -0
  414. package/dist/util/hash2str.js +14 -0
  415. package/dist/util/hash2str.js.map +1 -0
  416. package/dist/util/isElementClickable.js.map +1 -1
  417. package/dist/util/isElementHidden.js.map +1 -1
  418. package/dist/util/isElementInView.js.map +1 -1
  419. package/dist/util/isElementTabbable.js +2 -2
  420. package/dist/util/isElementTabbable.js.map +1 -1
  421. package/dist/util/isValidPropertyName.js.map +1 -1
  422. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  423. package/dist/util/toLowercaseEnumValue.js +4 -0
  424. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  425. package/dist/util/whenDOMReady.js.map +1 -1
  426. package/dist/util/willShowContent.js.map +1 -1
  427. package/dist/validateThemeRoot.js +15 -13
  428. package/dist/validateThemeRoot.js.map +1 -1
  429. package/index.js +205 -1
  430. package/package-scripts.cjs +74 -0
  431. package/package.json +31 -9
  432. package/src/css/FontFace.css +47 -17
  433. package/src/css/SystemCSSVars.css +0 -8
  434. package/src/thirdparty/preact/jsxRuntime.module.js +2 -0
  435. package/src/thirdparty/preact/preact.module.js +2 -0
  436. package/src/thirdparty/preact/version.txt +1 -0
  437. package/tsconfig.json +19 -12
  438. package/.eslintignore +0 -16
  439. package/bundle.esm.js +0 -62
  440. package/config/wdio.conf.js +0 -1
  441. package/dist/CSP.d.ts +0 -30
  442. package/dist/CSP.js +0 -51
  443. package/dist/CSP.js.map +0 -1
  444. package/dist/MarkedEvents.d.ts +0 -9
  445. package/dist/MarkedEvents.js +0 -15
  446. package/dist/MarkedEvents.js.map +0 -1
  447. package/dist/StaticArea.d.ts +0 -0
  448. package/dist/StaticArea.js +0 -6
  449. package/dist/StaticArea.js.map +0 -1
  450. package/dist/StaticAreaItem.d.ts +0 -36
  451. package/dist/StaticAreaItem.js +0 -99
  452. package/dist/StaticAreaItem.js.map +0 -1
  453. package/dist/api.json +0 -1
  454. package/dist/assets/Boot.6335ce08.css +0 -1
  455. package/dist/assets/Boot.e74b2a49.js +0 -9
  456. package/dist/assets/bundle.esm.abaf0306.js +0 -52
  457. package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
  458. package/dist/config/RTL.d.ts +0 -7
  459. package/dist/config/RTL.js +0 -37
  460. package/dist/config/RTL.js.map +0 -1
  461. package/dist/config/ThemeRoots.d.ts +0 -4
  462. package/dist/config/ThemeRoots.js +0 -28
  463. package/dist/config/ThemeRoots.js.map +0 -1
  464. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -11
  465. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  466. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  467. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  468. package/dist/theming/preloadLinks.d.ts +0 -3
  469. package/dist/theming/preloadLinks.js +0 -19
  470. package/dist/theming/preloadLinks.js.map +0 -1
  471. package/dist/types/CSSColor.d.ts +0 -15
  472. package/dist/types/CSSColor.js +0 -18
  473. package/dist/types/CSSColor.js.map +0 -1
  474. package/dist/types/DOMReference.d.ts +0 -17
  475. package/dist/types/DOMReference.js +0 -25
  476. package/dist/types/DOMReference.js.map +0 -1
  477. package/dist/types/DataType.d.ts +0 -25
  478. package/dist/types/DataType.js +0 -44
  479. package/dist/types/DataType.js.map +0 -1
  480. package/dist/types/Float.d.ts +0 -17
  481. package/dist/types/Float.js +0 -21
  482. package/dist/types/Float.js.map +0 -1
  483. package/dist/types/Integer.d.ts +0 -17
  484. package/dist/types/Integer.js +0 -21
  485. package/dist/types/Integer.js.map +0 -1
  486. package/dist/util/AriaLabelHelper.js.map +0 -1
  487. package/dist/util/createStyleInHead.d.ts +0 -8
  488. package/dist/util/createStyleInHead.js +0 -18
  489. package/dist/util/createStyleInHead.js.map +0 -1
  490. package/lib/generate-asset-parameters/index.js +0 -25
  491. package/lib/generate-styles/index.js +0 -31
  492. package/lib/generate-version-info/index.js +0 -32
  493. package/package-scripts.js +0 -71
  494. package/src/AssetRegistry.ts +0 -11
  495. package/src/Boot.ts +0 -85
  496. package/src/CSP.ts +0 -66
  497. package/src/CustomElementsRegistry.ts +0 -98
  498. package/src/CustomElementsScope.ts +0 -33
  499. package/src/CustomElementsScopeUtils.ts +0 -115
  500. package/src/DOMObserver.ts +0 -28
  501. package/src/Device.ts +0 -203
  502. package/src/EventProvider.ts +0 -87
  503. package/src/FeaturesRegistry.ts +0 -14
  504. package/src/FontFace.ts +0 -31
  505. package/src/InitialConfiguration.ts +0 -207
  506. package/src/Keys.ts +0 -295
  507. package/src/ManagedStyles.ts +0 -92
  508. package/src/MarkedEvents.ts +0 -20
  509. package/src/MediaRange.ts +0 -110
  510. package/src/PropertiesFileFormat.ts +0 -95
  511. package/src/Render.ts +0 -180
  512. package/src/RenderQueue.ts +0 -71
  513. package/src/Runtimes.ts +0 -114
  514. package/src/StaticArea.ts +0 -3
  515. package/src/StaticAreaItem.ts +0 -113
  516. package/src/SystemCSSVars.ts +0 -10
  517. package/src/Theming.ts +0 -4
  518. package/src/UI5Element.ts +0 -1159
  519. package/src/UI5ElementMetadata.ts +0 -389
  520. package/src/animations/AnimationQueue.ts +0 -43
  521. package/src/animations/animate.ts +0 -64
  522. package/src/animations/scroll.ts +0 -21
  523. package/src/animations/slideDown.ts +0 -72
  524. package/src/animations/slideUp.ts +0 -67
  525. package/src/asset-registries/Icons.ts +0 -161
  526. package/src/asset-registries/Illustrations.ts +0 -75
  527. package/src/asset-registries/LocaleData.ts +0 -172
  528. package/src/asset-registries/Themes.ts +0 -74
  529. package/src/asset-registries/i18n.ts +0 -118
  530. package/src/assets-meta/IconCollectionsAlias.ts +0 -41
  531. package/src/config/AnimationMode.ts +0 -33
  532. package/src/config/CalendarType.ts +0 -23
  533. package/src/config/FormatSettings.ts +0 -35
  534. package/src/config/Icons.ts +0 -126
  535. package/src/config/Language.ts +0 -72
  536. package/src/config/NoConflict.ts +0 -67
  537. package/src/config/RTL.ts +0 -45
  538. package/src/config/Theme.ts +0 -64
  539. package/src/config/ThemeRoots.ts +0 -41
  540. package/src/decorators/customElement.ts +0 -57
  541. package/src/decorators/event.ts +0 -28
  542. package/src/decorators/property.ts +0 -30
  543. package/src/decorators/slot.ts +0 -49
  544. package/src/delegate/ItemNavigation.ts +0 -393
  545. package/src/delegate/ResizeHandler.ts +0 -100
  546. package/src/delegate/ScrollEnablement.ts +0 -224
  547. package/src/features/F6Navigation.ts +0 -195
  548. package/src/features/LegacyDateFormats.ts +0 -40
  549. package/src/features/OpenUI5Element.ts +0 -11
  550. package/src/features/OpenUI5Enablement.ts +0 -117
  551. package/src/features/OpenUI5Support.ts +0 -153
  552. package/src/generated/css/BusyIndicator.css.ts +0 -9
  553. package/src/generated/css/FontFace.css.ts +0 -9
  554. package/src/generated/css/OverrideFontFace.css.ts +0 -9
  555. package/src/generated/css/SystemCSSVars.css.ts +0 -9
  556. package/src/getSharedResource.ts +0 -39
  557. package/src/global.d.ts +0 -38
  558. package/src/i18nBundle.ts +0 -108
  559. package/src/locale/Locale.ts +0 -101
  560. package/src/locale/RTLAwareRegistry.ts +0 -16
  561. package/src/locale/applyDirection.ts +0 -18
  562. package/src/locale/directionChange.ts +0 -34
  563. package/src/locale/getEffectiveDir.ts +0 -28
  564. package/src/locale/getLocale.ts +0 -46
  565. package/src/locale/languageChange.ts +0 -24
  566. package/src/locale/nextFallbackLocale.ts +0 -28
  567. package/src/locale/normalizeLocale.ts +0 -56
  568. package/src/renderer/LitRenderer.ts +0 -60
  569. package/src/renderer/directives/style-map.js +0 -72
  570. package/src/renderer/executeTemplate.ts +0 -40
  571. package/src/theming/CustomStyle.ts +0 -64
  572. package/src/theming/ThemeLoaded.ts +0 -24
  573. package/src/theming/ThemeRegistered.ts +0 -24
  574. package/src/theming/applyTheme.ts +0 -92
  575. package/src/theming/getConstructableStyle.ts +0 -31
  576. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  577. package/src/theming/getEffectiveStyle.ts +0 -41
  578. package/src/theming/getStylesString.ts +0 -15
  579. package/src/theming/getThemeDesignerTheme.ts +0 -101
  580. package/src/theming/preloadLinks.ts +0 -24
  581. package/src/thirdparty/_merge.ts +0 -32
  582. package/src/thirdparty/isPlainObject.ts +0 -18
  583. package/src/thirdparty/merge.ts +0 -5
  584. package/src/types/AnimationMode.ts +0 -33
  585. package/src/types/CSSColor.ts +0 -19
  586. package/src/types/CalendarType.ts +0 -38
  587. package/src/types/DOMReference.ts +0 -28
  588. package/src/types/DataType.ts +0 -51
  589. package/src/types/Float.ts +0 -24
  590. package/src/types/Integer.ts +0 -24
  591. package/src/types/InvisibleMessageMode.ts +0 -27
  592. package/src/types/ItemNavigationBehavior.ts +0 -26
  593. package/src/types/NavigationMode.ts +0 -33
  594. package/src/types/ValueState.ts +0 -47
  595. package/src/types.ts +0 -30
  596. package/src/updateShadowRoot.ts +0 -42
  597. package/src/util/AriaLabelHelper.ts +0 -218
  598. package/src/util/Caret.ts +0 -28
  599. package/src/util/ColorConversion.ts +0 -399
  600. package/src/util/FetchHelper.ts +0 -31
  601. package/src/util/FocusableElements.ts +0 -92
  602. package/src/util/HTMLSanitizer.ts +0 -9
  603. package/src/util/InvisibleMessage.ts +0 -69
  604. package/src/util/PopupUtils.ts +0 -112
  605. package/src/util/SlotsHelper.ts +0 -39
  606. package/src/util/StringHelper.ts +0 -26
  607. package/src/util/TabbableElements.ts +0 -70
  608. package/src/util/arraysAreEqual.ts +0 -15
  609. package/src/util/clamp.ts +0 -12
  610. package/src/util/createLinkInHead.ts +0 -25
  611. package/src/util/createStyleInHead.ts +0 -20
  612. package/src/util/debounce.ts +0 -18
  613. package/src/util/detectNavigatorLanguage.ts +0 -13
  614. package/src/util/escapeRegex.ts +0 -11
  615. package/src/util/formatMessage.ts +0 -24
  616. package/src/util/generateHighlightedMarkup.ts +0 -43
  617. package/src/util/getActiveElement.ts +0 -11
  618. package/src/util/getClassCopy.ts +0 -12
  619. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  620. package/src/util/getEffectiveContentDensity.ts +0 -5
  621. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  622. package/src/util/getFastNavigationGroups.ts +0 -63
  623. package/src/util/getFileExtension.ts +0 -21
  624. package/src/util/getNormalizedTarget.ts +0 -16
  625. package/src/util/getSingletonElementInstance.ts +0 -13
  626. package/src/util/isElementClickable.ts +0 -19
  627. package/src/util/isElementHidden.ts +0 -9
  628. package/src/util/isElementInView.ts +0 -15
  629. package/src/util/isElementTabbable.ts +0 -37
  630. package/src/util/isValidPropertyName.ts +0 -29
  631. package/src/util/whenDOMReady.ts +0 -13
  632. package/src/util/willShowContent.ts +0 -7
  633. package/src/validateThemeRoot.ts +0 -58
  634. package/used-modules.txt +0 -10
@@ -1,218 +0,0 @@
1
- import UI5Element, { ChangeInfo } from "../UI5Element.js";
2
-
3
- type InvalidateCallback = (changeInfo: ChangeInfo) => void;
4
- type MutationCallback = () => void;
5
- type AssociatedElement = {
6
- observer: MutationObserver | null;
7
- callbacks: Array<MutationCallback>;
8
- };
9
- type RegisteredElement = {
10
- host: UI5Element;
11
- observedElements: Array<HTMLElement>;
12
- callback: MutationCallback;
13
- invalidationCallback: InvalidateCallback;
14
- };
15
-
16
- const associatedElements = new WeakMap<HTMLElement, AssociatedElement>();
17
- const registeredElements = new WeakMap<UI5Element, RegisteredElement>();
18
-
19
- type AccessibleElement = HTMLElement & {
20
- accessibleNameRef: string;
21
- accessibleName: string;
22
- };
23
-
24
- const observerOptions = {
25
- attributes: true,
26
- childList: true,
27
- characterData: true,
28
- subtree: true,
29
- };
30
-
31
- const getEffectiveAriaLabelText = (el: HTMLElement) => {
32
- const accessibleEl = el as AccessibleElement;
33
-
34
- if (!accessibleEl.accessibleNameRef) {
35
- if (accessibleEl.accessibleName) {
36
- return accessibleEl.accessibleName;
37
- }
38
-
39
- return undefined;
40
- }
41
-
42
- return getAllAccessibleNameRefTexts(el);
43
- };
44
-
45
- /**
46
- *
47
- * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
48
- */
49
- const getAllAccessibleNameRefTexts = (el: HTMLElement) => {
50
- const ids = (el as AccessibleElement).accessibleNameRef?.split(" ") ?? [];
51
- const owner = el.getRootNode() as HTMLElement;
52
- let result = "";
53
-
54
- ids.forEach((elementId: string, index: number) => {
55
- const element = owner.querySelector(`[id='${elementId}']`);
56
- const text = `${element && element.textContent ? element.textContent : ""}`;
57
- if (text) {
58
- result += text;
59
- if (index < ids.length - 1) {
60
- result += " ";
61
- }
62
- }
63
- });
64
-
65
- return result;
66
- };
67
-
68
- const _getAllAssociatedElementsFromDOM = (el: UI5Element): Array<HTMLElement> => {
69
- const set = new Set<HTMLElement>();
70
- // adding labels with attribute for matching the el.id
71
- const labelsForAssociated = _getAssociatedLabels(el);
72
- labelsForAssociated.forEach(itm => {
73
- set.add(itm);
74
- });
75
- // adding other elements that id is the same as accessibleNameRef value
76
- const value = el["accessibleNameRef" as keyof typeof el] as string;
77
- const ids = value?.split(" ") ?? [];
78
- ids.forEach(id => {
79
- const refEl = _getReferencedElementById(el, id);
80
- if (refEl) {
81
- set.add(refEl);
82
- }
83
- });
84
- return Array.from(set);
85
- };
86
-
87
- const _getAssociatedLabels = (el: HTMLElement): Array<HTMLElement> => {
88
- const labels = (el.getRootNode() as HTMLElement).querySelectorAll<HTMLElement>(`[for="${el.id}"]`);
89
- return Array.from(labels);
90
- };
91
-
92
- const _getReferencedElementById = (el: HTMLElement, elementId: string): HTMLElement | null => {
93
- return (el.getRootNode() as HTMLElement).querySelector<HTMLElement>(`[id='${elementId}']`);
94
- };
95
-
96
- /**
97
- * @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related "label for" texts
98
- */
99
- const getAssociatedLabelForTexts = (el: HTMLElement) => {
100
- const results: Array<string> = [];
101
- const labels = _getAssociatedLabels(el);
102
-
103
- labels.forEach((label: HTMLElement) => {
104
- const labelText = label.textContent;
105
- labelText && results.push(labelText);
106
- });
107
-
108
- if (results.length) {
109
- return results.join(" ");
110
- }
111
-
112
- return undefined;
113
- };
114
-
115
- const _createInvalidationCallback = (el: UI5Element) => {
116
- const invalidationCallback = (changeInfo: ChangeInfo) => {
117
- if (!(changeInfo && changeInfo.type === "property" && changeInfo.name === "accessibleNameRef")) {
118
- return;
119
- }
120
- const registeredElement = registeredElements.get(el);
121
- if (!registeredElement) {
122
- return;
123
- }
124
- const oldAssociatedElements = registeredElement.observedElements;
125
- const newAssociatedElements = _getAllAssociatedElementsFromDOM(el);
126
- oldAssociatedElements.forEach(oldElement => {
127
- if (!newAssociatedElements.includes(oldElement)) {
128
- _removeObservedElementFromRegisteredElement(registeredElement, oldElement);
129
- }
130
- });
131
- newAssociatedElements.forEach(newElement => {
132
- if (!oldAssociatedElements.includes(newElement)) {
133
- _addObservedElementToRegisteredElement(registeredElement, newElement);
134
- registeredElement.observedElements.push(newElement);
135
- }
136
- });
137
- registeredElement?.callback();
138
- };
139
- return invalidationCallback;
140
- };
141
-
142
- const registerUI5Element = (el: UI5Element, callback: MutationCallback) => {
143
- if (registeredElements.has(el)) {
144
- return;
145
- }
146
- const allAssociatedElements = _getAllAssociatedElementsFromDOM(el);
147
- const invalidationCallback = _createInvalidationCallback(el);
148
- const registeredElement = {
149
- host: el,
150
- observedElements: allAssociatedElements,
151
- callback,
152
- invalidationCallback,
153
- };
154
- registeredElements.set(el, registeredElement);
155
- el.attachInvalidate(invalidationCallback);
156
-
157
- allAssociatedElements.forEach((element: HTMLElement) => {
158
- _addObservedElementToRegisteredElement(registeredElement, element);
159
- });
160
- callback();
161
- };
162
-
163
- const _addObservedElementToRegisteredElement = (registeredElement: RegisteredElement, element: HTMLElement) => {
164
- let associatedElement = associatedElements.get(element);
165
- if (!associatedElement) {
166
- associatedElement = { observer: null, callbacks: [] };
167
- const observer = new MutationObserver(() => {
168
- const callbacks = (associatedElement as AssociatedElement).callbacks;
169
- callbacks.forEach(callback => {
170
- callback();
171
- });
172
- const domEl = document.getElementById(element.id);
173
- // if no longer should be observed from this registeredElement, remove it
174
- if (!(registeredElement.host.id === element.getAttribute("for") || domEl)) {
175
- _removeObservedElementFromRegisteredElement(registeredElement, element);
176
- }
177
- });
178
- associatedElement.observer = observer;
179
- observer.observe(element, observerOptions);
180
- associatedElements.set(element, associatedElement);
181
- }
182
- if (!associatedElement.callbacks.includes(registeredElement.callback)) {
183
- associatedElement.callbacks.push(registeredElement.callback);
184
- }
185
- };
186
-
187
- const _removeObservedElementFromRegisteredElement = (registeredElement: RegisteredElement, element: HTMLElement) => {
188
- const associatedElement = associatedElements.get(element);
189
- if (associatedElement) {
190
- associatedElement.callbacks = associatedElement.callbacks.filter(itm => itm !== registeredElement.callback);
191
- if (!associatedElement.callbacks.length) {
192
- associatedElement.observer?.disconnect();
193
- associatedElements.delete(element);
194
- }
195
- }
196
- registeredElement.observedElements = registeredElement.observedElements.filter(itm => itm !== element);
197
- };
198
-
199
- const deregisterUI5Element = (el: UI5Element) => {
200
- const registeredElement = registeredElements.get(el);
201
- if (!registeredElement) {
202
- return;
203
- }
204
- const oldObservedElements = [...registeredElement.observedElements];
205
- oldObservedElements.forEach(observedElement => {
206
- _removeObservedElementFromRegisteredElement(registeredElement, observedElement);
207
- });
208
- el.detachInvalidate(registeredElement.invalidationCallback);
209
- registeredElements.delete(el);
210
- };
211
-
212
- export {
213
- getEffectiveAriaLabelText,
214
- getAssociatedLabelForTexts,
215
- registerUI5Element,
216
- deregisterUI5Element,
217
- getAllAccessibleNameRefTexts,
218
- };
package/src/util/Caret.ts DELETED
@@ -1,28 +0,0 @@
1
- /**
2
- * Returns the caret (cursor) position of the specified text field (field).
3
- * Return value range is 0-field.value.length.
4
- */
5
- const getCaretPosition = (field: HTMLInputElement): number | null => {
6
- // Initialize
7
- let caretPos: number | null = 0;
8
-
9
- if (field.selectionStart || field.selectionStart === 0) { // Firefox support
10
- caretPos = field.selectionDirection === "backward" ? field.selectionStart : field.selectionEnd;
11
- }
12
-
13
- return caretPos;
14
- };
15
-
16
- const setCaretPosition = (field: HTMLInputElement, caretPos: number | null) => {
17
- if (field.selectionStart) {
18
- field.focus();
19
- field.setSelectionRange(caretPos, caretPos);
20
- } else {
21
- field.focus();
22
- }
23
- };
24
-
25
- export {
26
- getCaretPosition,
27
- setCaretPosition,
28
- };
@@ -1,399 +0,0 @@
1
- /**
2
- *
3
- * @param {String} color Color in one of the following formats: RGBA or HEX
4
- */
5
-
6
- type ColorHSL = {
7
- h: number,
8
- s: number,
9
- l: number,
10
- };
11
-
12
- type ColorRGB = {
13
- r: number,
14
- b: number,
15
- g: number,
16
- };
17
-
18
- /**
19
- * Map of CSS colors to hex representation
20
- */
21
- enum CSSColors {
22
- aliceblue = "f0f8ff",
23
- antiquewhite = "faebd7",
24
- aqua = "00ffff",
25
- aquamarine = "7fffd4",
26
- azure = "f0ffff",
27
- beige = "f5f5dc",
28
- bisque = "ffe4c4",
29
- black = "000000",
30
- blanchedalmond = "ffebcd",
31
- blue = "0000ff",
32
- blueviolet = "8a2be2",
33
- brown = "a52a2a",
34
- burlywood = "deb887",
35
- cadetblue = "5f9ea0",
36
- chartreuse = "7fff00",
37
- chocolate = "d2691e",
38
- coral = "ff7f50",
39
- cornflowerblue = "6495ed",
40
- cornsilk = "fff8dc",
41
- crimson = "dc143c",
42
- cyan = "00ffff",
43
- darkblue = "00008b",
44
- darkcyan = "008b8b",
45
- darkgoldenrod = "b8860b",
46
- darkgray = "a9a9a9",
47
- darkgrey = "a9a9a9",
48
- darkgreen = "006400",
49
- darkkhaki = "bdb76b",
50
- darkmagenta = "8b008b",
51
- darkolivegreen = "556b2f",
52
- darkorange = "ff8c00",
53
- darkorchid = "9932cc",
54
- darkred = "8b0000",
55
- darksalmon = "e9967a",
56
- darkseagreen = "8fbc8f",
57
- darkslateblue = "483d8b",
58
- darkslategray = "2f4f4f",
59
- darkslategrey = "2f4f4f",
60
- darkturquoise = "00ced1",
61
- darkviolet = "9400d3",
62
- deeppink = "ff1493",
63
- deepskyblue = "00bfff",
64
- dimgray = "696969",
65
- dimgrey = "696969",
66
- dodgerblue = "1e90ff",
67
- firebrick = "b22222",
68
- floralwhite = "fffaf0",
69
- forestgreen = "228b22",
70
- fuchsia = "ff00ff",
71
- gainsboro = "dcdcdc",
72
- ghostwhite = "f8f8ff",
73
- gold = "ffd700",
74
- goldenrod = "daa520",
75
- gray = "808080",
76
- grey = "808080",
77
- green = "008000",
78
- greenyellow = "adff2f",
79
- honeydew = "f0fff0",
80
- hotpink = "ff69b4",
81
- indianred = "cd5c5c",
82
- indigo = "4b0082",
83
- ivory = "fffff0",
84
- khaki = "f0e68c",
85
- lavender = "e6e6fa",
86
- lavenderblush = "fff0f5",
87
- lawngreen = "7cfc00",
88
- lemonchiffon = "fffacd",
89
- lightblue = "add8e6",
90
- lightcoral = "f08080",
91
- lightcyan = "e0ffff",
92
- lightgoldenrodyellow = "fafad2",
93
- lightgray = "d3d3d3",
94
- lightgrey = "d3d3d3",
95
- lightgreen = "90ee90",
96
- lightpink = "ffb6c1",
97
- lightsalmon = "ffa07a",
98
- lightseagreen = "20b2aa",
99
- lightskyblue = "87cefa",
100
- lightslategray = "778899",
101
- lightslategrey = "778899",
102
- lightsteelblue = "b0c4de",
103
- lightyellow = "ffffe0",
104
- lime = "00ff00",
105
- limegreen = "32cd32",
106
- linen = "faf0e6",
107
- magenta = "ff00ff",
108
- maroon = "800000",
109
- mediumaquamarine = "66cdaa",
110
- mediumblue = "0000cd",
111
- mediumorchid = "ba55d3",
112
- mediumpurple = "9370db",
113
- mediumseagreen = "3cb371",
114
- mediumslateblue = "7b68ee",
115
- mediumspringgreen = "00fa9a",
116
- mediumturquoise = "48d1cc",
117
- mediumvioletred = "c71585",
118
- midnightblue = "191970",
119
- mintcream = "f5fffa",
120
- mistyrose = "ffe4e1",
121
- moccasin = "ffe4b5",
122
- navajowhite = "ffdead",
123
- navy = "000080",
124
- oldlace = "fdf5e6",
125
- olive = "808000",
126
- olivedrab = "6b8e23",
127
- orange = "ffa500",
128
- orangered = "ff4500",
129
- orchid = "da70d6",
130
- palegoldenrod = "eee8aa",
131
- palegreen = "98fb98",
132
- paleturquoise = "afeeee",
133
- palevioletred = "db7093",
134
- papayawhip = "ffefd5",
135
- peachpuff = "ffdab9",
136
- peru = "cd853f",
137
- pink = "ffc0cb",
138
- plum = "dda0dd",
139
- powderblue = "b0e0e6",
140
- purple = "800080",
141
- red = "ff0000",
142
- rosybrown = "bc8f8f",
143
- royalblue = "4169e1",
144
- saddlebrown = "8b4513",
145
- salmon = "fa8072",
146
- sandybrown = "f4a460",
147
- seagreen = "2e8b57",
148
- seashell = "fff5ee",
149
- sienna = "a0522d",
150
- silver = "c0c0c0",
151
- skyblue = "87ceeb",
152
- slateblue = "6a5acd",
153
- slategray = "708090",
154
- slategrey = "708090",
155
- snow = "fffafa",
156
- springgreen = "00ff7f",
157
- steelblue = "4682b4",
158
- tan = "d2b48c",
159
- teal = "008080",
160
- thistle = "d8bfd8",
161
- tomato = "ff6347",
162
- turquoise = "40e0d0",
163
- violet = "ee82ee",
164
- wheat = "f5deb3",
165
- white = "ffffff",
166
- whitesmoke = "f5f5f5",
167
- yellow = "ffff00",
168
- yellowgreen = "9acd32",
169
- transparent = "00000000",
170
- }
171
-
172
- const getRGBColor = (color: string): ColorRGB => {
173
- if (color.startsWith("rgba")) {
174
- return RGBAToRGB(color);
175
- }
176
-
177
- if (color.startsWith("rgb")) {
178
- return RGBStringToRGBObject(color);
179
- }
180
-
181
- // HEX
182
- if (color.indexOf("#") === 0) {
183
- // Shorthand Syntax
184
- if (color.length === 4) {
185
- color = `${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;
186
- } else {
187
- color = color.slice(1, color.length);
188
- }
189
- }
190
-
191
- // Css Color
192
- if (color in CSSColors) {
193
- color = CSSColors[color as keyof typeof CSSColors];
194
- }
195
-
196
- return HEXToRGB(color);
197
- };
198
-
199
- /**
200
- * Return an object with the properties for each of the main colors(red, green, blue)
201
- * @param {String} color Receives a color in the following format: "rgba(0, 0, 0, 1)
202
- */
203
- const RGBAToRGB = (color: string): ColorRGB => {
204
- const openingBracketIndex = color.indexOf("("),
205
- commasIndexes = [];
206
-
207
- for (let i = 0; i < color.length; i++) {
208
- if (color[i] === ",") {
209
- commasIndexes.push(i);
210
- }
211
- }
212
-
213
- return {
214
- r: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),
215
- g: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),
216
- b: parseInt(color.slice(commasIndexes[1] + 1, commasIndexes[2]).trim()),
217
- };
218
- };
219
-
220
- /**
221
- * Return an object with the properties for each of the main colors(red, green, blue)
222
- * @param {String} color Receives a color in the following format: "rgb(0, 0, 0)
223
- */
224
- const RGBStringToRGBObject = (color: string): ColorRGB => {
225
- const openingBracketIndex = color.indexOf("("),
226
- closingBraketIndex = color.indexOf(")"),
227
- commasIndexes = [];
228
-
229
- for (let i = 0; i < color.length; i++) {
230
- if (color[i] === ",") {
231
- commasIndexes.push(i);
232
- }
233
- }
234
-
235
- return {
236
- r: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),
237
- g: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),
238
- b: parseInt(color.slice(commasIndexes[1] + 1, closingBraketIndex).trim()),
239
- };
240
- };
241
-
242
- const HSLToRGB = (color: ColorHSL): ColorRGB => {
243
- // Formula taken from https://www.rapidtables.com/convert/color/hsl-to-rgb.html
244
- const C = (1 - Math.abs((2 * color.l) - 1)) * color.s,
245
- X = C * (1 - Math.abs(((color.h / 60) % 2) - 1)),
246
- m = color.l - C / 2;
247
-
248
- let tempColor: ColorRGB;
249
- switch (Math.round(color.h / 60)) {
250
- // 0 ≤ H < 60
251
- case 0:
252
- tempColor = {
253
- r: C,
254
- g: X,
255
- b: 0,
256
- };
257
- break;
258
-
259
- // 60 ≤ H < 120
260
- case 1:
261
- tempColor = {
262
- r: X,
263
- g: C,
264
- b: 0,
265
- };
266
- break;
267
-
268
- // 120 ≤ H < 180
269
- case 2:
270
- tempColor = {
271
- r: 0,
272
- g: C,
273
- b: X,
274
- };
275
- break;
276
-
277
- // 180 ≤ H < 240
278
- case 3:
279
- tempColor = {
280
- r: 0,
281
- g: X,
282
- b: C,
283
- };
284
- break;
285
-
286
- // 240 ≤ H < 300
287
- case 4:
288
- tempColor = {
289
- r: X,
290
- g: 0,
291
- b: C,
292
- };
293
- break;
294
-
295
- // 300 ≤ H < 360
296
- default:
297
- tempColor = {
298
- r: C,
299
- g: 0,
300
- b: X,
301
- };
302
- }
303
-
304
- return {
305
- r: Math.floor((tempColor.r + m) * 255),
306
- g: Math.floor((tempColor.g + m) * 255),
307
- b: Math.floor((tempColor.b + m) * 255),
308
- };
309
- };
310
-
311
- const HEXToRGB = (hex: string): ColorRGB => {
312
- // Please make sure you pass a valid 6 digit hex color
313
- // In the implementation of this method we assume that the hex argument is a 6 digit valid hex color
314
-
315
- return {
316
- r: parseInt(hex.substr(0, 2), 16),
317
- g: parseInt(hex.substr(2, 2), 16),
318
- b: parseInt(hex.substr(4, 2), 16),
319
- };
320
- };
321
-
322
- /**
323
- * Returns the hex value of the color as string
324
- * @param {Object} color Receives an object with the properties for each of the main colors(r, g, b)
325
- */
326
- const RGBtoHEX = (color: ColorRGB): string => {
327
- const hexMap = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E"];
328
- let hexValue = "#";
329
-
330
- let divisionNumber = color.r / 16;
331
- let remainder = color.r % 16;
332
- hexValue += String(hexMap[Math.floor(divisionNumber)]);
333
- hexValue += String(hexMap[remainder]);
334
-
335
- divisionNumber = color.g / 16;
336
- remainder = color.g % 16;
337
- hexValue += String(hexMap[Math.floor(divisionNumber)]);
338
- hexValue += String(hexMap[remainder]);
339
-
340
- divisionNumber = color.b / 16;
341
- remainder = color.b % 16;
342
- hexValue += String(hexMap[Math.floor(divisionNumber)]);
343
- hexValue += String(hexMap[remainder]);
344
-
345
- return hexValue;
346
- };
347
-
348
- const RGBToHSL = (color: ColorRGB): ColorHSL => {
349
- const R = color.r / 255,
350
- G = color.g / 255,
351
- B = color.b / 255,
352
- max = Math.max(R, G, B),
353
- min = Math.min(R, G, B),
354
- delta = max - min;
355
-
356
- let h = 0,
357
- s;
358
-
359
- // Hue calculation
360
- if (delta === 0) {
361
- h = 0;
362
- } else if (max === R) {
363
- h = 60 * (((G - B) / delta) % 6);
364
- } else if (max === G) {
365
- h = 60 * (((B - R) / delta) + 2);
366
- } else if (max === B) {
367
- h = 60 * (((R - G) / delta) + 4);
368
- }
369
-
370
- // Lightness calculation
371
- const l = (max + min) / 2;
372
-
373
- // Saturation calculation
374
- if (delta === 0) {
375
- s = 0;
376
- } else {
377
- s = delta / (1 - Math.abs(2 * l - 1));
378
- }
379
-
380
- return {
381
- h,
382
- s,
383
- l,
384
- };
385
- };
386
-
387
- export {
388
- getRGBColor,
389
- HSLToRGB,
390
- HEXToRGB,
391
- RGBToHSL,
392
- RGBStringToRGBObject,
393
- RGBtoHEX,
394
- };
395
-
396
- export type {
397
- ColorHSL,
398
- ColorRGB,
399
- };
@@ -1,31 +0,0 @@
1
- const fetchPromises = new Map<string, Promise<Response>>();
2
- const jsonPromises = new Map<string, Promise<any>>();
3
- const textPromises = new Map<string, Promise<string>>();
4
-
5
- const fetchTextOnce = async (url: string) => {
6
- if (!fetchPromises.get(url)) {
7
- fetchPromises.set(url, fetch(url));
8
- }
9
- const response = await fetchPromises.get(url);
10
-
11
- if (response && !textPromises.get(url)) {
12
- textPromises.set(url, response.text());
13
- }
14
-
15
- return textPromises.get(url);
16
- };
17
-
18
- const fetchJsonOnce = async (url: string) => {
19
- if (!fetchPromises.get(url)) {
20
- fetchPromises.set(url, fetch(url));
21
- }
22
- const response = await fetchPromises.get(url);
23
-
24
- if (response && !jsonPromises.get(url)) {
25
- jsonPromises.set(url, response.json());
26
- }
27
-
28
- return jsonPromises.get(url);
29
- };
30
-
31
- export { fetchTextOnce, fetchJsonOnce };