@ui5/webcomponents-base 0.0.0-d1315d658 → 0.0.0-d473b9686
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.
- package/CHANGELOG.md +948 -0
- package/README.md +2 -9
- package/config/wdio.conf.cjs +0 -8
- package/dist/.tsbuildinfo +1 -0
- package/dist/AssetRegistry.d.ts +2 -2
- package/dist/AssetRegistry.js +2 -2
- package/dist/AssetRegistry.js.map +1 -1
- package/dist/Boot.d.ts +3 -2
- package/dist/Boot.js +8 -6
- package/dist/Boot.js.map +1 -1
- package/dist/CustomElementsScope.d.ts +4 -4
- package/dist/CustomElementsScope.js +2 -2
- package/dist/CustomElementsScope.js.map +1 -1
- package/dist/CustomElementsScopeUtils.d.ts +8 -1
- package/dist/CustomElementsScopeUtils.js +13 -1
- package/dist/CustomElementsScopeUtils.js.map +1 -1
- package/dist/Device.d.ts +2 -2
- package/dist/Device.js +14 -12
- package/dist/Device.js.map +1 -1
- package/dist/IgnoreCustomElements.d.ts +3 -5
- package/dist/IgnoreCustomElements.js +3 -5
- package/dist/IgnoreCustomElements.js.map +1 -1
- package/dist/InitialConfiguration.d.ts +2 -2
- package/dist/InitialConfiguration.js +6 -5
- package/dist/InitialConfiguration.js.map +1 -1
- package/dist/Keys.d.ts +3 -1
- package/dist/Keys.js +109 -106
- package/dist/Keys.js.map +1 -1
- package/dist/ManagedStyles.d.ts +5 -4
- package/dist/ManagedStyles.js +55 -60
- package/dist/ManagedStyles.js.map +1 -1
- package/dist/MediaRange.d.ts +6 -12
- package/dist/MediaRange.js +21 -31
- package/dist/MediaRange.js.map +1 -1
- package/dist/UI5Element.d.ts +50 -54
- package/dist/UI5Element.js +179 -112
- package/dist/UI5Element.js.map +1 -1
- package/dist/UI5ElementMetadata.d.ts +13 -13
- package/dist/UI5ElementMetadata.js +26 -15
- package/dist/UI5ElementMetadata.js.map +1 -1
- package/dist/asset-registries/Icons.d.ts +4 -3
- package/dist/asset-registries/Icons.js +28 -17
- package/dist/asset-registries/Icons.js.map +1 -1
- package/dist/asset-registries/Illustrations.d.ts +2 -0
- package/dist/asset-registries/Illustrations.js +51 -20
- package/dist/asset-registries/Illustrations.js.map +1 -1
- package/dist/asset-registries/LocaleData.js +1 -1
- package/dist/asset-registries/LocaleData.js.map +1 -1
- package/dist/asset-registries/Themes.d.ts +4 -3
- package/dist/asset-registries/Themes.js +26 -10
- package/dist/asset-registries/Themes.js.map +1 -1
- package/dist/asset-registries/i18n.d.ts +2 -2
- package/dist/asset-registries/i18n.js +4 -3
- package/dist/asset-registries/i18n.js.map +1 -1
- package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.d.ts +1 -2
- package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.js +1 -2
- package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
- package/dist/config/AnimationMode.js +2 -1
- package/dist/config/AnimationMode.js.map +1 -1
- package/dist/config/CalendarType.d.ts +8 -1
- package/dist/config/CalendarType.js +18 -2
- package/dist/config/CalendarType.js.map +1 -1
- package/dist/config/Icons.d.ts +9 -24
- package/dist/config/Icons.js +8 -67
- package/dist/config/Icons.js.map +1 -1
- package/dist/config/Language.d.ts +1 -1
- package/dist/config/Language.js +6 -3
- package/dist/config/Language.js.map +1 -1
- package/dist/config/Theme.d.ts +4 -3
- package/dist/config/Theme.js +13 -6
- package/dist/config/Theme.js.map +1 -1
- package/dist/config/ThemeRoot.d.ts +2 -4
- package/dist/config/ThemeRoot.js +2 -4
- package/dist/config/ThemeRoot.js.map +1 -1
- package/dist/config/Timezone.d.ts +1 -1
- package/dist/config/Timezone.js +1 -1
- package/dist/config/Timezone.js.map +1 -1
- package/dist/connectToComponent.d.ts +9 -0
- package/dist/connectToComponent.js +59 -0
- package/dist/connectToComponent.js.map +1 -0
- package/dist/css/FontFace.css +13 -1
- package/dist/css/SystemCSSVars.css +0 -8
- package/dist/decorators/customElement.d.ts +3 -3
- package/dist/decorators/customElement.js +11 -6
- package/dist/decorators/customElement.js.map +1 -1
- package/dist/decorators/event.d.ts +5 -2
- package/dist/decorators/event.js.map +1 -1
- package/dist/decorators.d.ts +5 -0
- package/dist/decorators.js +6 -0
- package/dist/decorators.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +9 -8
- package/dist/delegate/ItemNavigation.js +12 -13
- package/dist/delegate/ItemNavigation.js.map +1 -1
- package/dist/delegate/ResizeHandler.d.ts +4 -6
- package/dist/delegate/ResizeHandler.js +4 -6
- package/dist/delegate/ResizeHandler.js.map +1 -1
- package/dist/delegate/ScrollEnablement.js +2 -2
- package/dist/delegate/ScrollEnablement.js.map +1 -1
- package/dist/features/InputElementsFormSupport.d.ts +18 -0
- package/dist/features/InputElementsFormSupport.js +40 -0
- package/dist/features/InputElementsFormSupport.js.map +1 -0
- package/dist/features/OpenUI5Enablement.d.ts +1 -1
- package/dist/features/OpenUI5Support.d.ts +0 -2
- package/dist/features/OpenUI5Support.js +8 -22
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/features/patchPatcher.d.ts +11 -0
- package/dist/features/patchPatcher.js +11 -0
- package/dist/features/patchPatcher.js.map +1 -0
- package/dist/features/patchPopup.d.ts +14 -0
- package/dist/features/patchPopup.js +50 -0
- package/dist/features/patchPopup.js.map +1 -0
- package/dist/generated/AssetParameters.d.ts +6 -0
- package/dist/generated/AssetParameters.js +3 -10
- package/dist/generated/AssetParameters.js.map +1 -0
- package/dist/generated/VersionInfo.d.ts +10 -0
- package/dist/generated/VersionInfo.js +9 -8
- package/dist/generated/VersionInfo.js.map +1 -0
- package/dist/generated/css/FontFace.css.js +1 -1
- package/dist/generated/css/FontFace.css.js.map +1 -1
- package/dist/generated/css/SystemCSSVars.css.js +1 -1
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +1 -1
- package/dist/i18nBundle.d.ts +1 -3
- package/dist/i18nBundle.js +1 -4
- package/dist/i18nBundle.js.map +1 -1
- package/dist/locale/applyDirection.d.ts +3 -2
- package/dist/locale/applyDirection.js +3 -2
- package/dist/locale/applyDirection.js.map +1 -1
- package/dist/locale/getEffectiveDir.d.ts +1 -1
- package/dist/locale/getEffectiveDir.js +3 -19
- package/dist/locale/getEffectiveDir.js.map +1 -1
- package/dist/renderer/LitRenderer.d.ts +2 -2
- package/dist/renderer/LitRenderer.js +2 -8
- package/dist/renderer/LitRenderer.js.map +1 -1
- package/dist/renderer/directives/style-map.d.ts +13 -0
- package/dist/renderer/directives/style-map.js +59 -59
- package/dist/renderer/directives/style-map.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +8 -0
- package/dist/renderer/executeTemplate.js +1 -0
- package/dist/renderer/executeTemplate.js.map +1 -1
- package/dist/sap/base/Log.js +698 -188
- package/dist/sap/base/assert.js +28 -1
- package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
- package/dist/sap/base/security/URLListValidator.js +253 -6
- package/dist/sap/base/security/encodeCSS.js +34 -8
- package/dist/sap/base/security/encodeXML.js +47 -17
- package/dist/sap/base/security/sanitizeHTML.js +35 -13
- package/dist/sap/base/strings/toHex.js +27 -2
- package/dist/sap/base/util/now.js +24 -3
- package/dist/sap/base/util/uid.js +27 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/dist/ssr-dom-shim.d.ts +1 -0
- package/dist/ssr-dom-shim.js +12 -0
- package/dist/ssr-dom-shim.js.map +1 -0
- package/dist/ssr-dom.d.ts +0 -0
- package/dist/ssr-dom.js +0 -0
- package/dist/theming/applyTheme.js +5 -6
- package/dist/theming/applyTheme.js.map +1 -1
- package/dist/theming/getConstructableStyle.d.ts +1 -1
- package/dist/theming/getConstructableStyle.js +3 -3
- package/dist/theming/getConstructableStyle.js.map +1 -1
- package/dist/theming/getEffectiveStyle.d.ts +1 -1
- package/dist/theming/getEffectiveStyle.js +5 -12
- package/dist/theming/getEffectiveStyle.js.map +1 -1
- package/dist/types/AnimationMode.d.ts +0 -8
- package/dist/types/AnimationMode.js +0 -8
- package/dist/types/AnimationMode.js.map +1 -1
- package/dist/types/AriaHasPopup.d.ts +32 -0
- package/dist/types/AriaHasPopup.js +34 -0
- package/dist/types/AriaHasPopup.js.map +1 -0
- package/dist/types/AriaLandmarkRole.d.ts +79 -0
- package/dist/types/AriaLandmarkRole.js +81 -0
- package/dist/types/AriaLandmarkRole.js.map +1 -0
- package/dist/types/AriaRole.d.ts +27 -0
- package/dist/types/AriaRole.js +29 -0
- package/dist/types/AriaRole.js.map +1 -0
- package/dist/types/CSSColor.d.ts +0 -4
- package/dist/types/CSSColor.js +0 -4
- package/dist/types/CSSColor.js.map +1 -1
- package/dist/types/CSSSize.d.ts +11 -0
- package/dist/types/CSSSize.js +14 -0
- package/dist/types/CSSSize.js.map +1 -0
- package/dist/types/CalendarType.d.ts +0 -9
- package/dist/types/CalendarType.js +0 -9
- package/dist/types/CalendarType.js.map +1 -1
- package/dist/types/DOMReference.d.ts +1 -5
- package/dist/types/DOMReference.js +1 -5
- package/dist/types/DOMReference.js.map +1 -1
- package/dist/types/DataType.d.ts +1 -6
- package/dist/types/DataType.js +1 -6
- package/dist/types/DataType.js.map +1 -1
- package/dist/types/Float.d.ts +0 -3
- package/dist/types/Float.js +0 -3
- package/dist/types/Float.js.map +1 -1
- package/dist/types/Integer.d.ts +0 -3
- package/dist/types/Integer.js +0 -3
- package/dist/types/Integer.js.map +1 -1
- package/dist/types/InvisibleMessageMode.d.ts +5 -10
- package/dist/types/InvisibleMessageMode.js +4 -11
- package/dist/types/InvisibleMessageMode.js.map +1 -1
- package/dist/types/ItemNavigationBehavior.d.ts +0 -6
- package/dist/types/ItemNavigationBehavior.js +0 -6
- package/dist/types/ItemNavigationBehavior.js.map +1 -1
- package/dist/types/MovePlacement.d.ts +20 -0
- package/dist/types/MovePlacement.js +22 -0
- package/dist/types/MovePlacement.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +0 -8
- package/dist/types/NavigationMode.js +0 -8
- package/dist/types/NavigationMode.js.map +1 -1
- package/dist/types/Orientation.d.ts +16 -0
- package/dist/types/Orientation.js +18 -0
- package/dist/types/Orientation.js.map +1 -0
- package/dist/types/ValueState.d.ts +3 -17
- package/dist/types/ValueState.js +3 -17
- package/dist/types/ValueState.js.map +1 -1
- package/dist/types.d.ts +24 -1
- package/dist/types.js.map +1 -1
- package/dist/updateShadowRoot.d.ts +1 -2
- package/dist/updateShadowRoot.js +5 -28
- package/dist/updateShadowRoot.js.map +1 -1
- package/dist/util/ColorConversion.js +200 -195
- package/dist/util/ColorConversion.js.map +1 -1
- package/dist/util/InvisibleMessage.d.ts +1 -1
- package/dist/util/InvisibleMessage.js +2 -2
- package/dist/util/InvisibleMessage.js.map +1 -1
- package/dist/util/PopupUtils.d.ts +1 -3
- package/dist/util/PopupUtils.js +1 -15
- package/dist/util/PopupUtils.js.map +1 -1
- package/dist/util/clamp.js +2 -1
- package/dist/util/clamp.js.map +1 -1
- package/dist/util/createLinkInHead.d.ts +1 -1
- package/dist/util/createLinkInHead.js +1 -1
- package/dist/util/createLinkInHead.js.map +1 -1
- package/dist/util/detectNavigatorLanguage.d.ts +2 -2
- package/dist/util/detectNavigatorLanguage.js +6 -1
- package/dist/util/detectNavigatorLanguage.js.map +1 -1
- package/dist/util/dragAndDrop/DragRegistry.d.ts +12 -0
- package/dist/util/dragAndDrop/DragRegistry.js +68 -0
- package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
- package/dist/util/dragAndDrop/findClosestPosition.d.ts +7 -0
- package/dist/util/dragAndDrop/findClosestPosition.js +59 -0
- package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
- package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
- package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
- package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +64 -43
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
- package/dist/util/getDesigntimePropertyAsArray.js +2 -1
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
- package/dist/util/getParentElement.d.ts +2 -0
- package/dist/util/getParentElement.js +5 -0
- package/dist/util/getParentElement.js.map +1 -0
- package/dist/util/isElementContainingBlock.d.ts +2 -0
- package/dist/util/isElementContainingBlock.js +11 -0
- package/dist/util/isElementContainingBlock.js.map +1 -0
- package/index.js +3 -19
- package/package-scripts.cjs +22 -19
- package/package.json +23 -8
- package/src/css/FontFace.css +13 -1
- package/src/css/SystemCSSVars.css +0 -8
- package/tsconfig.json +6 -0
- package/.eslintignore +0 -16
- package/.eslintrc.cjs +0 -3
- package/bundle.esm.js +0 -67
- package/dist/CSP.d.ts +0 -30
- package/dist/CSP.js +0 -51
- package/dist/CSP.js.map +0 -1
- package/dist/StaticArea.d.ts +0 -3
- package/dist/StaticArea.js +0 -7
- package/dist/StaticArea.js.map +0 -1
- package/dist/StaticAreaItem.d.ts +0 -37
- package/dist/StaticAreaItem.js +0 -105
- package/dist/StaticAreaItem.js.map +0 -1
- package/dist/api.json +0 -1
- package/dist/assets/Boot.34b7cea0.css +0 -1
- package/dist/assets/Boot.f668b2d0.js +0 -9
- package/dist/assets/bundle.esm.88a9eda7.js +0 -50
- package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
- package/dist/config/RTL.d.ts +0 -7
- package/dist/config/RTL.js +0 -37
- package/dist/config/RTL.js.map +0 -1
- package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
- package/dist/theming/getEffectiveLinksHrefs.js +0 -17
- package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
- package/dist/theming/preloadLinks.d.ts +0 -3
- package/dist/theming/preloadLinks.js +0 -19
- package/dist/theming/preloadLinks.js.map +0 -1
- package/dist/util/createStyleInHead.d.ts +0 -8
- package/dist/util/createStyleInHead.js +0 -18
- package/dist/util/createStyleInHead.js.map +0 -1
- package/lib/generate-asset-parameters/index.js +0 -27
- package/lib/generate-styles/index.js +0 -31
- package/lib/generate-version-info/index.js +0 -32
- package/src/renderer/directives/style-map.js +0 -72
- package/used-modules.txt +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorConversion.js","sourceRoot":"","sources":["../../src/util/ColorConversion.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * @param {String} color Color in one of the following formats: RGBA or HEX\n */\n\ntype ColorHSL = {\n\th: number,\n\ts: number,\n\tl: number,\n};\n\ntype ColorRGB = {\n\tr: number,\n\tb: number,\n\tg: number,\n};\n\n/**\n * Map of CSS colors to hex representation\n */\nenum CSSColors {\n\taliceblue = \"f0f8ff\",\n\tantiquewhite = \"faebd7\",\n\taqua = \"00ffff\",\n\taquamarine = \"7fffd4\",\n\tazure = \"f0ffff\",\n\tbeige = \"f5f5dc\",\n\tbisque = \"ffe4c4\",\n\tblack = \"000000\",\n\tblanchedalmond = \"ffebcd\",\n\tblue = \"0000ff\",\n\tblueviolet = \"8a2be2\",\n\tbrown = \"a52a2a\",\n\tburlywood = \"deb887\",\n\tcadetblue = \"5f9ea0\",\n\tchartreuse = \"7fff00\",\n\tchocolate = \"d2691e\",\n\tcoral = \"ff7f50\",\n\tcornflowerblue = \"6495ed\",\n\tcornsilk = \"fff8dc\",\n\tcrimson = \"dc143c\",\n\tcyan = \"00ffff\",\n\tdarkblue = \"00008b\",\n\tdarkcyan = \"008b8b\",\n\tdarkgoldenrod = \"b8860b\",\n\tdarkgray = \"a9a9a9\",\n\tdarkgrey = \"a9a9a9\",\n\tdarkgreen = \"006400\",\n\tdarkkhaki = \"bdb76b\",\n\tdarkmagenta = \"8b008b\",\n\tdarkolivegreen = \"556b2f\",\n\tdarkorange = \"ff8c00\",\n\tdarkorchid = \"9932cc\",\n\tdarkred = \"8b0000\",\n\tdarksalmon = \"e9967a\",\n\tdarkseagreen = \"8fbc8f\",\n\tdarkslateblue = \"483d8b\",\n\tdarkslategray = \"2f4f4f\",\n\tdarkslategrey = \"2f4f4f\",\n\tdarkturquoise = \"00ced1\",\n\tdarkviolet = \"9400d3\",\n\tdeeppink = \"ff1493\",\n\tdeepskyblue = \"00bfff\",\n\tdimgray = \"696969\",\n\tdimgrey = \"696969\",\n\tdodgerblue = \"1e90ff\",\n\tfirebrick = \"b22222\",\n\tfloralwhite = \"fffaf0\",\n\tforestgreen = \"228b22\",\n\tfuchsia = \"ff00ff\",\n\tgainsboro = \"dcdcdc\",\n\tghostwhite = \"f8f8ff\",\n\tgold = \"ffd700\",\n\tgoldenrod = \"daa520\",\n\tgray = \"808080\",\n\tgrey = \"808080\",\n\tgreen = \"008000\",\n\tgreenyellow = \"adff2f\",\n\thoneydew = \"f0fff0\",\n\thotpink = \"ff69b4\",\n\tindianred = \"cd5c5c\",\n\tindigo = \"4b0082\",\n\tivory = \"fffff0\",\n\tkhaki = \"f0e68c\",\n\tlavender = \"e6e6fa\",\n\tlavenderblush = \"fff0f5\",\n\tlawngreen = \"7cfc00\",\n\tlemonchiffon = \"fffacd\",\n\tlightblue = \"add8e6\",\n\tlightcoral = \"f08080\",\n\tlightcyan = \"e0ffff\",\n\tlightgoldenrodyellow = \"fafad2\",\n\tlightgray = \"d3d3d3\",\n\tlightgrey = \"d3d3d3\",\n\tlightgreen = \"90ee90\",\n\tlightpink = \"ffb6c1\",\n\tlightsalmon = \"ffa07a\",\n\tlightseagreen = \"20b2aa\",\n\tlightskyblue = \"87cefa\",\n\tlightslategray = \"778899\",\n\tlightslategrey = \"778899\",\n\tlightsteelblue = \"b0c4de\",\n\tlightyellow = \"ffffe0\",\n\tlime = \"00ff00\",\n\tlimegreen = \"32cd32\",\n\tlinen = \"faf0e6\",\n\tmagenta = \"ff00ff\",\n\tmaroon = \"800000\",\n\tmediumaquamarine = \"66cdaa\",\n\tmediumblue = \"0000cd\",\n\tmediumorchid = \"ba55d3\",\n\tmediumpurple = \"9370db\",\n\tmediumseagreen = \"3cb371\",\n\tmediumslateblue = \"7b68ee\",\n\tmediumspringgreen = \"00fa9a\",\n\tmediumturquoise = \"48d1cc\",\n\tmediumvioletred = \"c71585\",\n\tmidnightblue = \"191970\",\n\tmintcream = \"f5fffa\",\n\tmistyrose = \"ffe4e1\",\n\tmoccasin = \"ffe4b5\",\n\tnavajowhite = \"ffdead\",\n\tnavy = \"000080\",\n\toldlace = \"fdf5e6\",\n\tolive = \"808000\",\n\tolivedrab = \"6b8e23\",\n\torange = \"ffa500\",\n\torangered = \"ff4500\",\n\torchid = \"da70d6\",\n\tpalegoldenrod = \"eee8aa\",\n\tpalegreen = \"98fb98\",\n\tpaleturquoise = \"afeeee\",\n\tpalevioletred = \"db7093\",\n\tpapayawhip = \"ffefd5\",\n\tpeachpuff = \"ffdab9\",\n\tperu = \"cd853f\",\n\tpink = \"ffc0cb\",\n\tplum = \"dda0dd\",\n\tpowderblue = \"b0e0e6\",\n\tpurple = \"800080\",\n\tred = \"ff0000\",\n\trosybrown = \"bc8f8f\",\n\troyalblue = \"4169e1\",\n\tsaddlebrown = \"8b4513\",\n\tsalmon = \"fa8072\",\n\tsandybrown = \"f4a460\",\n\tseagreen = \"2e8b57\",\n\tseashell = \"fff5ee\",\n\tsienna = \"a0522d\",\n\tsilver = \"c0c0c0\",\n\tskyblue = \"87ceeb\",\n\tslateblue = \"6a5acd\",\n\tslategray = \"708090\",\n\tslategrey = \"708090\",\n\tsnow = \"fffafa\",\n\tspringgreen = \"00ff7f\",\n\tsteelblue = \"4682b4\",\n\ttan = \"d2b48c\",\n\tteal = \"008080\",\n\tthistle = \"d8bfd8\",\n\ttomato = \"ff6347\",\n\tturquoise = \"40e0d0\",\n\tviolet = \"ee82ee\",\n\twheat = \"f5deb3\",\n\twhite = \"ffffff\",\n\twhitesmoke = \"f5f5f5\",\n\tyellow = \"ffff00\",\n\tyellowgreen = \"9acd32\",\n\ttransparent = \"00000000\",\n}\n\nconst getRGBColor = (color: string): ColorRGB => {\n\tif (color.startsWith(\"rgba\")) {\n\t\treturn RGBAToRGB(color);\n\t}\n\n\tif (color.startsWith(\"rgb\")) {\n\t\treturn RGBStringToRGBObject(color);\n\t}\n\n\t// HEX\n\tif (color.indexOf(\"#\") === 0) {\n\t\t// Shorthand Syntax\n\t\tif (color.length === 4) {\n\t\t\tcolor = `${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n\t\t} else {\n\t\t\tcolor = color.slice(1, color.length);\n\t\t}\n\t}\n\n\t// Css Color\n\tif (color in CSSColors) {\n\t\tcolor = CSSColors[color as keyof typeof CSSColors];\n\t}\n\n\treturn HEXToRGB(color);\n};\n\n/**\n * Return an object with the properties for each of the main colors(red, green, blue)\n * @param {String} color Receives a color in the following format: \"rgba(0, 0, 0, 1)\n */\nconst RGBAToRGB = (color: string): ColorRGB => {\n\tconst openingBracketIndex = color.indexOf(\"(\"),\n\t\tcommasIndexes = [];\n\n\tfor (let i = 0; i < color.length; i++) {\n\t\tif (color[i] === \",\") {\n\t\t\tcommasIndexes.push(i);\n\t\t}\n\t}\n\n\treturn {\n\t\tr: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),\n\t\tg: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),\n\t\tb: parseInt(color.slice(commasIndexes[1] + 1, commasIndexes[2]).trim()),\n\t};\n};\n\n/**\n * Return an object with the properties for each of the main colors(red, green, blue)\n * @param {String} color Receives a color in the following format: \"rgb(0, 0, 0)\n */\nconst RGBStringToRGBObject = (color: string): ColorRGB => {\n\tconst openingBracketIndex = color.indexOf(\"(\"),\n\t\tclosingBraketIndex = color.indexOf(\")\"),\n\t\tcommasIndexes = [];\n\n\tfor (let i = 0; i < color.length; i++) {\n\t\tif (color[i] === \",\") {\n\t\t\tcommasIndexes.push(i);\n\t\t}\n\t}\n\n\treturn {\n\t\tr: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),\n\t\tg: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),\n\t\tb: parseInt(color.slice(commasIndexes[1] + 1, closingBraketIndex).trim()),\n\t};\n};\n\nconst HSLToRGB = (color: ColorHSL): ColorRGB => {\n\t// Formula taken from https://www.rapidtables.com/convert/color/hsl-to-rgb.html\n\tconst C = (1 - Math.abs((2 * color.l) - 1)) * color.s,\n\t\tX = C * (1 - Math.abs(((color.h / 60) % 2) - 1)),\n\t\tm = color.l - C / 2;\n\n\tlet tempColor: ColorRGB;\n\tswitch (Math.round(color.h / 60)) {\n\t// 0 ≤ H < 60\n\tcase 0:\n\t\ttempColor = {\n\t\t\tr: C,\n\t\t\tg: X,\n\t\t\tb: 0,\n\t\t};\n\t\tbreak;\n\n\t// 60 ≤ H < 120\n\tcase 1:\n\t\ttempColor = {\n\t\t\tr: X,\n\t\t\tg: C,\n\t\t\tb: 0,\n\t\t};\n\t\tbreak;\n\n\t// 120 ≤ H < 180\n\tcase 2:\n\t\ttempColor = {\n\t\t\tr: 0,\n\t\t\tg: C,\n\t\t\tb: X,\n\t\t};\n\t\tbreak;\n\n\t// 180 ≤ H < 240\n\tcase 3:\n\t\ttempColor = {\n\t\t\tr: 0,\n\t\t\tg: X,\n\t\t\tb: C,\n\t\t};\n\t\tbreak;\n\n\t// 240 ≤ H < 300\n\tcase 4:\n\t\ttempColor = {\n\t\t\tr: X,\n\t\t\tg: 0,\n\t\t\tb: C,\n\t\t};\n\t\tbreak;\n\n\t// 300 ≤ H < 360\n\tdefault:\n\t\ttempColor = {\n\t\t\tr: C,\n\t\t\tg: 0,\n\t\t\tb: X,\n\t\t};\n\t}\n\n\treturn {\n\t\tr: Math.floor((tempColor.r + m) * 255),\n\t\tg: Math.floor((tempColor.g + m) * 255),\n\t\tb: Math.floor((tempColor.b + m) * 255),\n\t};\n};\n\nconst HEXToRGB = (hex: string): ColorRGB => {\n\t// Please make sure you pass a valid 6 digit hex color\n\t// In the implementation of this method we assume that the hex argument is a 6 digit valid hex color\n\n\treturn {\n\t\tr: parseInt(hex.substr(0, 2), 16),\n\t\tg: parseInt(hex.substr(2, 2), 16),\n\t\tb: parseInt(hex.substr(4, 2), 16),\n\t};\n};\n\n/**\n * Returns the hex value of the color as string\n * @param {Object} color Receives an object with the properties for each of the main colors(r, g, b)\n */\nconst RGBtoHEX = (color: ColorRGB): string => {\n\tconst hexMap = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\"];\n\tlet hexValue = \"#\";\n\n\tlet divisionNumber = color.r / 16;\n\tlet remainder = color.r % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\tdivisionNumber = color.g / 16;\n\tremainder = color.g % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\tdivisionNumber = color.b / 16;\n\tremainder = color.b % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\treturn hexValue;\n};\n\nconst RGBToHSL = (color: ColorRGB): ColorHSL => {\n\tconst R = color.r / 255,\n\t\tG = color.g / 255,\n\t\tB = color.b / 255,\n\t\tmax = Math.max(R, G, B),\n\t\tmin = Math.min(R, G, B),\n\t\tdelta = max - min;\n\n\tlet h = 0,\n\t\ts;\n\n\t// Hue calculation\n\tif (delta === 0) {\n\t\th = 0;\n\t} else if (max === R) {\n\t\th = 60 * (((G - B) / delta) % 6);\n\t} else if (max === G) {\n\t\th = 60 * (((B - R) / delta) + 2);\n\t} else if (max === B) {\n\t\th = 60 * (((R - G) / delta) + 4);\n\t}\n\n\t// Lightness calculation\n\tconst l = (max + min) / 2;\n\n\t// Saturation calculation\n\tif (delta === 0) {\n\t\ts = 0;\n\t} else {\n\t\ts = delta / (1 - Math.abs(2 * l - 1));\n\t}\n\n\treturn {\n\t\th,\n\t\ts,\n\t\tl,\n\t};\n};\n\nexport {\n\tgetRGBColor,\n\tHSLToRGB,\n\tHEXToRGB,\n\tRGBToHSL,\n\tRGBStringToRGBObject,\n\tRGBtoHEX,\n};\n\nexport type {\n\tColorHSL,\n\tColorRGB,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ColorConversion.js","sourceRoot":"","sources":["../../src/util/ColorConversion.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * @param {String} color Color in one of the following formats: RGBA or HEX\n */\n\ntype ColorHSL = {\n\th: number,\n\ts: number,\n\tl: number,\n};\n\ntype ColorRGB = {\n\tr: number,\n\tb: number,\n\tg: number,\n};\n\n/**\n * Map of CSS colors to hex representation\n */\nconst CSSColors = new Map([\n\t[\"aliceblue\", \"f0f8ff\"],\n\t[\"antiquewhite\", \"faebd7\"],\n\t[\"aqua\", \"00ffff\"],\n\t[\"aquamarine\", \"7fffd4\"],\n\t[\"azure\", \"f0ffff\"],\n\t[\"beige\", \"f5f5dc\"],\n\t[\"bisque\", \"ffe4c4\"],\n\t[\"black\", \"000000\"],\n\t[\"blanchedalmond\", \"ffebcd\"],\n\t[\"blue\", \"0000ff\"],\n\t[\"blueviolet\", \"8a2be2\"],\n\t[\"brown\", \"a52a2a\"],\n\t[\"burlywood\", \"deb887\"],\n\t[\"cadetblue\", \"5f9ea0\"],\n\t[\"chartreuse\", \"7fff00\"],\n\t[\"chocolate\", \"d2691e\"],\n\t[\"coral\", \"ff7f50\"],\n\t[\"cornflowerblue\", \"6495ed\"],\n\t[\"cornsilk\", \"fff8dc\"],\n\t[\"crimson\", \"dc143c\"],\n\t[\"cyan\", \"00ffff\"],\n\t[\"darkblue\", \"00008b\"],\n\t[\"darkcyan\", \"008b8b\"],\n\t[\"darkgoldenrod\", \"b8860b\"],\n\t[\"darkgray\", \"a9a9a9\"],\n\t[\"darkgrey\", \"a9a9a9\"],\n\t[\"darkgreen\", \"006400\"],\n\t[\"darkkhaki\", \"bdb76b\"],\n\t[\"darkmagenta\", \"8b008b\"],\n\t[\"darkolivegreen\", \"556b2f\"],\n\t[\"darkorange\", \"ff8c00\"],\n\t[\"darkorchid\", \"9932cc\"],\n\t[\"darkred\", \"8b0000\"],\n\t[\"darksalmon\", \"e9967a\"],\n\t[\"darkseagreen\", \"8fbc8f\"],\n\t[\"darkslateblue\", \"483d8b\"],\n\t[\"darkslategray\", \"2f4f4f\"],\n\t[\"darkslategrey\", \"2f4f4f\"],\n\t[\"darkturquoise\", \"00ced1\"],\n\t[\"darkviolet\", \"9400d3\"],\n\t[\"deeppink\", \"ff1493\"],\n\t[\"deepskyblue\", \"00bfff\"],\n\t[\"dimgray\", \"696969\"],\n\t[\"dimgrey\", \"696969\"],\n\t[\"dodgerblue\", \"1e90ff\"],\n\t[\"firebrick\", \"b22222\"],\n\t[\"floralwhite\", \"fffaf0\"],\n\t[\"forestgreen\", \"228b22\"],\n\t[\"fuchsia\", \"ff00ff\"],\n\t[\"gainsboro\", \"dcdcdc\"],\n\t[\"ghostwhite\", \"f8f8ff\"],\n\t[\"gold\", \"ffd700\"],\n\t[\"goldenrod\", \"daa520\"],\n\t[\"gray\", \"808080\"],\n\t[\"grey\", \"808080\"],\n\t[\"green\", \"008000\"],\n\t[\"greenyellow\", \"adff2f\"],\n\t[\"honeydew\", \"f0fff0\"],\n\t[\"hotpink\", \"ff69b4\"],\n\t[\"indianred\", \"cd5c5c\"],\n\t[\"indigo\", \"4b0082\"],\n\t[\"ivory\", \"fffff0\"],\n\t[\"khaki\", \"f0e68c\"],\n\t[\"lavender\", \"e6e6fa\"],\n\t[\"lavenderblush\", \"fff0f5\"],\n\t[\"lawngreen\", \"7cfc00\"],\n\t[\"lemonchiffon\", \"fffacd\"],\n\t[\"lightblue\", \"add8e6\"],\n\t[\"lightcoral\", \"f08080\"],\n\t[\"lightcyan\", \"e0ffff\"],\n\t[\"lightgoldenrodyellow\", \"fafad2\"],\n\t[\"lightgray\", \"d3d3d3\"],\n\t[\"lightgrey\", \"d3d3d3\"],\n\t[\"lightgreen\", \"90ee90\"],\n\t[\"lightpink\", \"ffb6c1\"],\n\t[\"lightsalmon\", \"ffa07a\"],\n\t[\"lightseagreen\", \"20b2aa\"],\n\t[\"lightskyblue\", \"87cefa\"],\n\t[\"lightslategray\", \"778899\"],\n\t[\"lightslategrey\", \"778899\"],\n\t[\"lightsteelblue\", \"b0c4de\"],\n\t[\"lightyellow\", \"ffffe0\"],\n\t[\"lime\", \"00ff00\"],\n\t[\"limegreen\", \"32cd32\"],\n\t[\"linen\", \"faf0e6\"],\n\t[\"magenta\", \"ff00ff\"],\n\t[\"maroon\", \"800000\"],\n\t[\"mediumaquamarine\", \"66cdaa\"],\n\t[\"mediumblue\", \"0000cd\"],\n\t[\"mediumorchid\", \"ba55d3\"],\n\t[\"mediumpurple\", \"9370db\"],\n\t[\"mediumseagreen\", \"3cb371\"],\n\t[\"mediumslateblue\", \"7b68ee\"],\n\t[\"mediumspringgreen\", \"00fa9a\"],\n\t[\"mediumturquoise\", \"48d1cc\"],\n\t[\"mediumvioletred\", \"c71585\"],\n\t[\"midnightblue\", \"191970\"],\n\t[\"mintcream\", \"f5fffa\"],\n\t[\"mistyrose\", \"ffe4e1\"],\n\t[\"moccasin\", \"ffe4b5\"],\n\t[\"navajowhite\", \"ffdead\"],\n\t[\"navy\", \"000080\"],\n\t[\"oldlace\", \"fdf5e6\"],\n\t[\"olive\", \"808000\"],\n\t[\"olivedrab\", \"6b8e23\"],\n\t[\"orange\", \"ffa500\"],\n\t[\"orangered\", \"ff4500\"],\n\t[\"orchid\", \"da70d6\"],\n\t[\"palegoldenrod\", \"eee8aa\"],\n\t[\"palegreen\", \"98fb98\"],\n\t[\"paleturquoise\", \"afeeee\"],\n\t[\"palevioletred\", \"db7093\"],\n\t[\"papayawhip\", \"ffefd5\"],\n\t[\"peachpuff\", \"ffdab9\"],\n\t[\"peru\", \"cd853f\"],\n\t[\"pink\", \"ffc0cb\"],\n\t[\"plum\", \"dda0dd\"],\n\t[\"powderblue\", \"b0e0e6\"],\n\t[\"purple\", \"800080\"],\n\t[\"red\", \"ff0000\"],\n\t[\"rosybrown\", \"bc8f8f\"],\n\t[\"royalblue\", \"4169e1\"],\n\t[\"saddlebrown\", \"8b4513\"],\n\t[\"salmon\", \"fa8072\"],\n\t[\"sandybrown\", \"f4a460\"],\n\t[\"seagreen\", \"2e8b57\"],\n\t[\"seashell\", \"fff5ee\"],\n\t[\"sienna\", \"a0522d\"],\n\t[\"silver\", \"c0c0c0\"],\n\t[\"skyblue\", \"87ceeb\"],\n\t[\"slateblue\", \"6a5acd\"],\n\t[\"slategray\", \"708090\"],\n\t[\"slategrey\", \"708090\"],\n\t[\"snow\", \"fffafa\"],\n\t[\"springgreen\", \"00ff7f\"],\n\t[\"steelblue\", \"4682b4\"],\n\t[\"tan\", \"d2b48c\"],\n\t[\"teal\", \"008080\"],\n\t[\"thistle\", \"d8bfd8\"],\n\t[\"tomato\", \"ff6347\"],\n\t[\"turquoise\", \"40e0d0\"],\n\t[\"violet\", \"ee82ee\"],\n\t[\"wheat\", \"f5deb3\"],\n\t[\"white\", \"ffffff\"],\n\t[\"whitesmoke\", \"f5f5f5\"],\n\t[\"yellow\", \"ffff00\"],\n\t[\"yellowgreen\", \"9acd32\"],\n\t[\"transparent\", \"00000000\"],\n]);\n\nconst getRGBColor = (color: string): ColorRGB => {\n\tif (color.startsWith(\"rgba\")) {\n\t\treturn RGBAToRGB(color);\n\t}\n\n\tif (color.startsWith(\"rgb\")) {\n\t\treturn RGBStringToRGBObject(color);\n\t}\n\n\t// HEX\n\tif (color.indexOf(\"#\") === 0) {\n\t\t// Shorthand Syntax\n\t\tif (color.length === 4) {\n\t\t\tcolor = `${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n\t\t} else {\n\t\t\tcolor = color.slice(1, color.length);\n\t\t}\n\t}\n\n\t// Css Color\n\tif (CSSColors.has(color)) {\n\t\tcolor = CSSColors.get(color)!;\n\t}\n\n\treturn HEXToRGB(color);\n};\n\n/**\n * Return an object with the properties for each of the main colors(red, green, blue)\n * @param {String} color Receives a color in the following format: \"rgba(0, 0, 0, 1)\n */\nconst RGBAToRGB = (color: string): ColorRGB => {\n\tconst openingBracketIndex = color.indexOf(\"(\"),\n\t\tcommasIndexes = [];\n\n\tfor (let i = 0; i < color.length; i++) {\n\t\tif (color[i] === \",\") {\n\t\t\tcommasIndexes.push(i);\n\t\t}\n\t}\n\n\treturn {\n\t\tr: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),\n\t\tg: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),\n\t\tb: parseInt(color.slice(commasIndexes[1] + 1, commasIndexes[2]).trim()),\n\t};\n};\n\n/**\n * Return an object with the properties for each of the main colors(red, green, blue)\n * @param {String} color Receives a color in the following format: \"rgb(0, 0, 0)\n */\nconst RGBStringToRGBObject = (color: string): ColorRGB => {\n\tconst openingBracketIndex = color.indexOf(\"(\"),\n\t\tclosingBraketIndex = color.indexOf(\")\"),\n\t\tcommasIndexes = [];\n\n\tfor (let i = 0; i < color.length; i++) {\n\t\tif (color[i] === \",\") {\n\t\t\tcommasIndexes.push(i);\n\t\t}\n\t}\n\n\treturn {\n\t\tr: parseInt(color.slice(openingBracketIndex + 1, commasIndexes[0]).trim()),\n\t\tg: parseInt(color.slice(commasIndexes[0] + 1, commasIndexes[1]).trim()),\n\t\tb: parseInt(color.slice(commasIndexes[1] + 1, closingBraketIndex).trim()),\n\t};\n};\n\nconst HSLToRGB = (color: ColorHSL): ColorRGB => {\n\t// Formula taken from https://www.rapidtables.com/convert/color/hsl-to-rgb.html\n\tlet saturation = color.s * 100,\n\t\tlightness = color.l * 100,\n\t\tred,\n\t\tgreen,\n\t\tblue;\n\n\tif (saturation > 100) {\n\t\tsaturation = 1;\n\t} else if (saturation < 0) {\n\t\tsaturation = 0;\n\t} else {\n\t\tsaturation /= 100;\n\t}\n\n\tif (lightness > 100) {\n\t\tlightness = 1;\n\t} else if (lightness < 0) {\n\t\tlightness = 0;\n\t} else {\n\t\tlightness /= 100;\n\t}\n\n\tconst hue = color.h,\n\t\td = saturation * (1 - Math.abs(2 * lightness - 1)),\n\t\tm = 255 * (lightness - 0.5 * d),\n\t\tx = d * (1 - Math.abs(((hue / 60) % 2) - 1)),\n\t\ti = Math.floor(hue / 60),\n\t\tm255x = m + 255 * x,\n\t\tm255d = m + 255 * d;\n\n\tswitch (i) {\n\tcase 0:\n\t\tred = m255d;\n\t\tgreen = m255x;\n\t\tblue = m;\n\t\tbreak;\n\tcase 1:\n\t\tred = m255x;\n\t\tgreen = m255d;\n\t\tblue = m;\n\t\tbreak;\n\tcase 2:\n\t\tred = m;\n\t\tgreen = m255d;\n\t\tblue = m255x;\n\t\tbreak;\n\tcase 3:\n\t\tred = m;\n\t\tgreen = m255x;\n\t\tblue = m255d;\n\t\tbreak;\n\tcase 4:\n\t\tred = m255x;\n\t\tgreen = m;\n\t\tblue = m255d;\n\t\tbreak;\n\tcase 5:\n\t\tred = m255d;\n\t\tgreen = m;\n\t\tblue = m255x;\n\t\tbreak;\n\tdefault:\n\t\tred = 0;\n\t\tgreen = 0;\n\t\tblue = 0;\n\t\tbreak;\n\t}\n\n\treturn {\n\t\tr: Math.round(red),\n\t\tg: Math.round(green),\n\t\tb: Math.round(blue),\n\t};\n};\n\nconst HEXToRGB = (hex: string): ColorRGB => {\n\t// Please make sure you pass a valid 6 digit hex color\n\t// In the implementation of this method we assume that the hex argument is a 6 digit valid hex color\n\n\treturn {\n\t\tr: parseInt(hex.substr(0, 2), 16),\n\t\tg: parseInt(hex.substr(2, 2), 16),\n\t\tb: parseInt(hex.substr(4, 2), 16),\n\t};\n};\n\n/**\n * Returns the hex value of the color as string\n * @param {Object} color Receives an object with the properties for each of the main colors(r, g, b)\n */\nconst RGBtoHEX = (color: ColorRGB): string => {\n\tconst hexMap = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\"];\n\tlet hexValue = \"#\";\n\n\tlet divisionNumber = color.r / 16;\n\tlet remainder = color.r % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\tdivisionNumber = color.g / 16;\n\tremainder = color.g % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\tdivisionNumber = color.b / 16;\n\tremainder = color.b % 16;\n\thexValue += String(hexMap[Math.floor(divisionNumber)]);\n\thexValue += String(hexMap[remainder]);\n\n\treturn hexValue;\n};\n\nconst RGBToHSL = (color: ColorRGB): ColorHSL => {\n\tconst R = color.r / 255,\n\t\tG = color.g / 255,\n\t\tB = color.b / 255,\n\t\tmax = Math.max(R, G, B),\n\t\tmin = Math.min(R, G, B),\n\t\tdelta = max - min;\n\n\tlet h = 0,\n\t\ts;\n\n\t// Hue calculation\n\tif (delta === 0) {\n\t\th = 0;\n\t} else if (max === R) {\n\t\th = 60 * (((G - B) / delta) % 6);\n\t} else if (max === G) {\n\t\th = 60 * (((B - R) / delta) + 2);\n\t} else if (max === B) {\n\t\th = 60 * (((R - G) / delta) + 4);\n\t}\n\n\t// Lightness calculation\n\tconst l = (max + min) / 2;\n\n\t// Saturation calculation\n\tif (delta === 0) {\n\t\ts = 0;\n\t} else {\n\t\ts = delta / (1 - Math.abs(2 * l - 1));\n\t}\n\n\treturn {\n\t\th,\n\t\ts,\n\t\tl,\n\t};\n};\n\nexport {\n\tgetRGBColor,\n\tHSLToRGB,\n\tHEXToRGB,\n\tRGBToHSL,\n\tRGBStringToRGBObject,\n\tRGBtoHEX,\n};\n\nexport type {\n\tColorHSL,\n\tColorRGB,\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:
|
|
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-
|
|
29
|
-
getSingletonElementInstance("ui5-
|
|
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,
|
|
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,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;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-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
|
-
|
|
6
|
-
declare const getCurrentZIndex: () => number;
|
|
7
|
-
export { getFocusedElement, isClickInRect, getClosedPopupParent, getNextZIndex, getCurrentZIndex, isFocusedElementWithinNode, };
|
|
5
|
+
export { getFocusedElement, isClickInRect, getClosedPopupParent, isFocusedElementWithinNode, };
|
package/dist/util/PopupUtils.js
CHANGED
|
@@ -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
|
-
|
|
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":"AAAA,OAAO,
|
|
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"]}
|
package/dist/util/clamp.js
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* @returns {number}
|
|
7
7
|
*/
|
|
8
8
|
const clamp = (val, min, max) => {
|
|
9
|
-
|
|
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
|
package/dist/util/clamp.js.map
CHANGED
|
@@ -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;
|
|
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 +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
|
|
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,2 +1,2 @@
|
|
|
1
|
-
declare const
|
|
2
|
-
export default
|
|
1
|
+
declare const detectNavigatorLanguage: () => string;
|
|
2
|
+
export default detectNavigatorLanguage;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
|
|
2
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"detectNavigatorLanguage.js","sourceRoot":"","sources":["../../src/util/detectNavigatorLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC;AAE9C,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACpC,IAAI,KAAK,EAAE;QACV,OAAO,gBAAgB,CAAC;KACxB;IACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC;IAE7C,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC9B,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC;IAEnF,OAAO,SAAS,IAAI,gBAAgB,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC","sourcesContent":["import { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nconst isSSR = typeof document === \"undefined\";\n\nconst detectNavigatorLanguage = () => {\n\tif (isSSR) {\n\t\treturn DEFAULT_LANGUAGE;\n\t}\n\tconst browserLanguages = navigator.languages;\n\n\tconst navigatorLanguage = () => {\n\t\treturn navigator.language;\n\t};\n\n\tconst rawLocale = (browserLanguages && browserLanguages[0]) || navigatorLanguage();\n\n\treturn rawLocale || DEFAULT_LANGUAGE;\n};\n\nexport default detectNavigatorLanguage;\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type UI5Element from "../../UI5Element.js";
|
|
2
|
+
declare const setDraggedElement: (element: HTMLElement | null) => void;
|
|
3
|
+
type SetDraggedElementFunction = typeof setDraggedElement;
|
|
4
|
+
declare const DragRegistry: {
|
|
5
|
+
subscribe: (subscriber: UI5Element) => void;
|
|
6
|
+
unsubscribe: (subscriber: UI5Element) => void;
|
|
7
|
+
addSelfManagedArea: (area: HTMLElement | ShadowRoot) => (element: HTMLElement | null) => void;
|
|
8
|
+
removeSelfManagedArea: (area: HTMLElement | ShadowRoot) => void;
|
|
9
|
+
getDraggedElement: () => HTMLElement | null;
|
|
10
|
+
};
|
|
11
|
+
export default DragRegistry;
|
|
12
|
+
export type { SetDraggedElementFunction, };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
let draggedElement = null;
|
|
2
|
+
let globalHandlersAttached = false;
|
|
3
|
+
const subscribers = new Set();
|
|
4
|
+
const selfManagedDragAreas = new Set();
|
|
5
|
+
const ondragstart = (e) => {
|
|
6
|
+
if (!e.dataTransfer || !(e.target instanceof HTMLElement)) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
e.dataTransfer.dropEffect = "move";
|
|
10
|
+
e.dataTransfer.effectAllowed = "move";
|
|
11
|
+
if (!selfManagedDragAreas.has(e.target)) {
|
|
12
|
+
draggedElement = e.target;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const ondragend = () => {
|
|
16
|
+
draggedElement = null;
|
|
17
|
+
};
|
|
18
|
+
const ondrop = () => {
|
|
19
|
+
draggedElement = null;
|
|
20
|
+
};
|
|
21
|
+
const setDraggedElement = (element) => {
|
|
22
|
+
draggedElement = element;
|
|
23
|
+
};
|
|
24
|
+
const getDraggedElement = () => {
|
|
25
|
+
return draggedElement;
|
|
26
|
+
};
|
|
27
|
+
const attachGlobalHandlers = () => {
|
|
28
|
+
if (globalHandlersAttached) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
document.body.addEventListener("dragstart", ondragstart);
|
|
32
|
+
document.body.addEventListener("dragend", ondragend);
|
|
33
|
+
document.body.addEventListener("drop", ondrop);
|
|
34
|
+
};
|
|
35
|
+
const detachGlobalHandlers = () => {
|
|
36
|
+
document.body.removeEventListener("dragstart", ondragstart);
|
|
37
|
+
document.body.removeEventListener("dragend", ondragend);
|
|
38
|
+
document.body.removeEventListener("drop", ondrop);
|
|
39
|
+
globalHandlersAttached = false;
|
|
40
|
+
};
|
|
41
|
+
const subscribe = (subscriber) => {
|
|
42
|
+
subscribers.add(subscriber);
|
|
43
|
+
if (!globalHandlersAttached) {
|
|
44
|
+
attachGlobalHandlers();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const unsubscribe = (subscriber) => {
|
|
48
|
+
subscribers.delete(subscriber);
|
|
49
|
+
if (subscribers.size === 0 && globalHandlersAttached) {
|
|
50
|
+
detachGlobalHandlers();
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const addSelfManagedArea = (area) => {
|
|
54
|
+
selfManagedDragAreas.add(area);
|
|
55
|
+
return setDraggedElement;
|
|
56
|
+
};
|
|
57
|
+
const removeSelfManagedArea = (area) => {
|
|
58
|
+
selfManagedDragAreas.delete(area);
|
|
59
|
+
};
|
|
60
|
+
const DragRegistry = {
|
|
61
|
+
subscribe,
|
|
62
|
+
unsubscribe,
|
|
63
|
+
addSelfManagedArea,
|
|
64
|
+
removeSelfManagedArea,
|
|
65
|
+
getDraggedElement,
|
|
66
|
+
};
|
|
67
|
+
export default DragRegistry;
|
|
68
|
+
//# sourceMappingURL=DragRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragRegistry.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/DragRegistry.ts"],"names":[],"mappings":"AAEA,IAAI,cAAc,GAAuB,IAAI,CAAC;AAC9C,IAAI,sBAAsB,GAAG,KAAK,CAAC;AACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAc,CAAC;AAC1C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEjE,MAAM,WAAW,GAAG,CAAC,CAAY,EAAE,EAAE;IACpC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE;QAC1D,OAAO;KACP;IAED,CAAC,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;IACnC,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM,CAAC;IAEtC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QACxC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;KAC1B;AACF,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,GAAG,EAAE;IACtB,cAAc,GAAG,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,EAAE;IACnB,cAAc,GAAG,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,OAA2B,EAAE,EAAE;IACzD,cAAc,GAAG,OAAO,CAAC;AAC1B,CAAC,CAAC;AAGF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC9B,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACjC,IAAI,sBAAsB,EAAE;QAC3B,OAAO;KACP;IAED,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACjC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,sBAAsB,GAAG,KAAK,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,UAAsB,EAAE,EAAE;IAC5C,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE5B,IAAI,CAAC,sBAAsB,EAAE;QAC5B,oBAAoB,EAAE,CAAC;KACvB;AACF,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAE,EAAE;IAC9C,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE/B,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,sBAAsB,EAAE;QACrD,oBAAoB,EAAE,CAAC;KACvB;AACF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAA8B,EAAE,EAAE;IAC7D,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/B,OAAO,iBAAiB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,IAA8B,EAAE,EAAE;IAChE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG;IACpB,SAAS;IACT,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;CACjB,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import type UI5Element from \"../../UI5Element.js\";\n\nlet draggedElement: HTMLElement | null = null;\nlet globalHandlersAttached = false;\nconst subscribers = new Set<UI5Element>();\nconst selfManagedDragAreas = new Set<HTMLElement | ShadowRoot>();\n\nconst ondragstart = (e: DragEvent) => {\n\tif (!e.dataTransfer || !(e.target instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\te.dataTransfer.dropEffect = \"move\";\n\te.dataTransfer.effectAllowed = \"move\";\n\n\tif (!selfManagedDragAreas.has(e.target)) {\n\t\tdraggedElement = e.target;\n\t}\n};\n\nconst ondragend = () => {\n\tdraggedElement = null;\n};\n\nconst ondrop = () => {\n\tdraggedElement = null;\n};\n\nconst setDraggedElement = (element: HTMLElement | null) => {\n\tdraggedElement = element;\n};\ntype SetDraggedElementFunction = typeof setDraggedElement;\n\nconst getDraggedElement = () => {\n\treturn draggedElement;\n};\n\nconst attachGlobalHandlers = () => {\n\tif (globalHandlersAttached) {\n\t\treturn;\n\t}\n\n\tdocument.body.addEventListener(\"dragstart\", ondragstart);\n\tdocument.body.addEventListener(\"dragend\", ondragend);\n\tdocument.body.addEventListener(\"drop\", ondrop);\n};\n\nconst detachGlobalHandlers = () => {\n\tdocument.body.removeEventListener(\"dragstart\", ondragstart);\n\tdocument.body.removeEventListener(\"dragend\", ondragend);\n\tdocument.body.removeEventListener(\"drop\", ondrop);\n\tglobalHandlersAttached = false;\n};\n\nconst subscribe = (subscriber: UI5Element) => {\n\tsubscribers.add(subscriber);\n\n\tif (!globalHandlersAttached) {\n\t\tattachGlobalHandlers();\n\t}\n};\n\nconst unsubscribe = (subscriber: UI5Element) => {\n\tsubscribers.delete(subscriber);\n\n\tif (subscribers.size === 0 && globalHandlersAttached) {\n\t\tdetachGlobalHandlers();\n\t}\n};\n\nconst addSelfManagedArea = (area: HTMLElement | ShadowRoot) => {\n\tselfManagedDragAreas.add(area);\n\n\treturn setDraggedElement;\n};\n\nconst removeSelfManagedArea = (area: HTMLElement | ShadowRoot) => {\n\tselfManagedDragAreas.delete(area);\n};\n\nconst DragRegistry = {\n\tsubscribe,\n\tunsubscribe,\n\taddSelfManagedArea,\n\tremoveSelfManagedArea,\n\tgetDraggedElement,\n};\n\nexport default DragRegistry;\nexport type {\n\tSetDraggedElementFunction,\n};\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import MovePlacement from "../../types/MovePlacement.js";
|
|
2
|
+
import Orientation from "../../types/Orientation.js";
|
|
3
|
+
declare const findClosestPosition: (elements: Array<HTMLElement>, point: number, layoutOrientation: Orientation) => {
|
|
4
|
+
element: HTMLElement;
|
|
5
|
+
placements: MovePlacement[];
|
|
6
|
+
} | null;
|
|
7
|
+
export default findClosestPosition;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import MovePlacement from "../../types/MovePlacement.js";
|
|
2
|
+
import Orientation from "../../types/Orientation.js";
|
|
3
|
+
const closestPlacement = (point, beforePoint, centerPoint, afterPoint) => {
|
|
4
|
+
const distToBeforePoint = Math.abs(point - beforePoint);
|
|
5
|
+
const distToCenterPoint = Math.abs(point - centerPoint);
|
|
6
|
+
const distToAfterPoint = Math.abs(point - afterPoint);
|
|
7
|
+
const closestPoint = Math.min(distToBeforePoint, distToCenterPoint, distToAfterPoint);
|
|
8
|
+
let placements = [];
|
|
9
|
+
switch (closestPoint) {
|
|
10
|
+
case distToBeforePoint:
|
|
11
|
+
placements = [MovePlacement.Before];
|
|
12
|
+
break;
|
|
13
|
+
case distToCenterPoint:
|
|
14
|
+
placements = [MovePlacement.On, distToBeforePoint < distToAfterPoint ? MovePlacement.Before : MovePlacement.After];
|
|
15
|
+
break;
|
|
16
|
+
case distToAfterPoint:
|
|
17
|
+
placements = [MovePlacement.After];
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
return placements;
|
|
21
|
+
};
|
|
22
|
+
const findClosestPosition = (elements, point, layoutOrientation) => {
|
|
23
|
+
let shortestDist = Number.POSITIVE_INFINITY;
|
|
24
|
+
let closestElement = null;
|
|
25
|
+
// determine which element is most closest to the point
|
|
26
|
+
for (let i = 0; i < elements.length; i++) {
|
|
27
|
+
const el = elements[i];
|
|
28
|
+
const { left, width, top, height, } = el.getBoundingClientRect();
|
|
29
|
+
let elemCenter;
|
|
30
|
+
if (layoutOrientation === Orientation.Vertical) {
|
|
31
|
+
elemCenter = top + height / 2;
|
|
32
|
+
}
|
|
33
|
+
else { // Horizontal
|
|
34
|
+
elemCenter = left + width / 2;
|
|
35
|
+
}
|
|
36
|
+
const distanceToCenter = Math.abs(point - elemCenter);
|
|
37
|
+
if (distanceToCenter < shortestDist) {
|
|
38
|
+
shortestDist = distanceToCenter;
|
|
39
|
+
closestElement = el;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (!closestElement) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const { width, height, left, right, top, bottom, } = closestElement.getBoundingClientRect();
|
|
46
|
+
let placements;
|
|
47
|
+
if (layoutOrientation === Orientation.Vertical) {
|
|
48
|
+
placements = closestPlacement(point, top, top + height / 2, bottom);
|
|
49
|
+
}
|
|
50
|
+
else { // Horizontal
|
|
51
|
+
placements = closestPlacement(point, left, left + width / 2, right);
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
element: closestElement,
|
|
55
|
+
placements,
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export default findClosestPosition;
|
|
59
|
+
//# sourceMappingURL=findClosestPosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findClosestPosition.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/findClosestPosition.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAE,WAAmB,EAAE,UAAkB,EAAE,EAAE;IACxG,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC5B,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CAChB,CAAC;IACF,IAAI,UAAU,GAAyB,EAAE,CAAC;IAE1C,QAAQ,YAAY,EAAE;QACtB,KAAK,iBAAiB;YACrB,UAAU,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM;QACP,KAAK,iBAAiB;YACrB,UAAU,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnH,MAAM;QACP,KAAK,gBAAgB;YACpB,UAAU,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM;KACN;IAED,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAA4B,EAAE,KAAa,EAAE,iBAA8B,EAAE,EAAE;IAC3G,IAAI,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC5C,IAAI,cAAc,GAAuB,IAAI,CAAC;IAE9C,uDAAuD;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,EACL,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GACxB,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QAE/B,IAAI,UAAU,CAAC;QACf,IAAI,iBAAiB,KAAK,WAAW,CAAC,QAAQ,EAAE;YAC/C,UAAU,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;SAC9B;aAAM,EAAE,aAAa;YACrB,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;SAC9B;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;QAEtD,IAAI,gBAAgB,GAAG,YAAY,EAAE;YACpC,YAAY,GAAG,gBAAgB,CAAC;YAChC,cAAc,GAAG,EAAE,CAAC;SACpB;KACD;IAED,IAAI,CAAC,cAAc,EAAE;QACpB,OAAO,IAAI,CAAC;KACZ;IAED,MAAM,EACL,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GACvC,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC;IAEf,IAAI,iBAAiB,KAAK,WAAW,CAAC,QAAQ,EAAE;QAC/C,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;KACpE;SAAM,EAAE,aAAa;QACrB,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,OAAO;QACN,OAAO,EAAE,cAAc;QACvB,UAAU;KACV,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import MovePlacement from \"../../types/MovePlacement.js\";\nimport Orientation from \"../../types/Orientation.js\";\n\nconst closestPlacement = (point: number, beforePoint: number, centerPoint: number, afterPoint: number) => {\n\tconst distToBeforePoint = Math.abs(point - beforePoint);\n\tconst distToCenterPoint = Math.abs(point - centerPoint);\n\tconst distToAfterPoint = Math.abs(point - afterPoint);\n\tconst closestPoint = Math.min(\n\t\tdistToBeforePoint,\n\t\tdistToCenterPoint,\n\t\tdistToAfterPoint,\n\t);\n\tlet placements: Array<MovePlacement> = [];\n\n\tswitch (closestPoint) {\n\tcase distToBeforePoint:\n\t\tplacements = [MovePlacement.Before];\n\t\tbreak;\n\tcase distToCenterPoint:\n\t\tplacements = [MovePlacement.On, distToBeforePoint < distToAfterPoint ? MovePlacement.Before : MovePlacement.After];\n\t\tbreak;\n\tcase distToAfterPoint:\n\t\tplacements = [MovePlacement.After];\n\t\tbreak;\n\t}\n\n\treturn placements;\n};\n\nconst findClosestPosition = (elements: Array<HTMLElement>, point: number, layoutOrientation: Orientation) => {\n\tlet shortestDist = Number.POSITIVE_INFINITY;\n\tlet closestElement: HTMLElement | null = null;\n\n\t// determine which element is most closest to the point\n\tfor (let i = 0; i < elements.length; i++) {\n\t\tconst el = elements[i];\n\t\tconst {\n\t\t\tleft, width, top, height,\n\t\t} = el.getBoundingClientRect();\n\n\t\tlet elemCenter;\n\t\tif (layoutOrientation === Orientation.Vertical) {\n\t\t\telemCenter = top + height / 2;\n\t\t} else { // Horizontal\n\t\t\telemCenter = left + width / 2;\n\t\t}\n\n\t\tconst distanceToCenter = Math.abs(point - elemCenter);\n\n\t\tif (distanceToCenter < shortestDist) {\n\t\t\tshortestDist = distanceToCenter;\n\t\t\tclosestElement = el;\n\t\t}\n\t}\n\n\tif (!closestElement) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\twidth, height, left, right, top, bottom,\n\t} = closestElement.getBoundingClientRect();\n\tlet placements;\n\n\tif (layoutOrientation === Orientation.Vertical) {\n\t\tplacements = closestPlacement(point, top, top + height / 2, bottom);\n\t} else { // Horizontal\n\t\tplacements = closestPlacement(point, left, left + width / 2, right);\n\t}\n\n\treturn {\n\t\telement: closestElement,\n\t\tplacements,\n\t};\n};\n\nexport default findClosestPosition;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const longDragOverHandler: (targetsSelector: string) => (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(arg0: DragEvent, arg1: boolean) => any>) => TypedPropertyDescriptor<(arg0: DragEvent, arg1: boolean) => any>;
|
|
2
|
+
export default longDragOverHandler;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
let lastTarget = null;
|
|
2
|
+
let lastTargetDragOverStart = Date.now();
|
|
3
|
+
const LONG_DRAG_OVER_THRESHOLD = 300;
|
|
4
|
+
const longDragOverHandler = (targetsSelector) => {
|
|
5
|
+
return (target, propertyKey, descriptor) => {
|
|
6
|
+
const origHandler = descriptor.value;
|
|
7
|
+
descriptor.value = function handleDragOver(e) {
|
|
8
|
+
let isLongDragOver = false;
|
|
9
|
+
if (e.target instanceof HTMLElement) {
|
|
10
|
+
const currentTarget = e.target.closest(targetsSelector);
|
|
11
|
+
if (currentTarget === lastTarget && Date.now() - lastTargetDragOverStart >= LONG_DRAG_OVER_THRESHOLD) {
|
|
12
|
+
isLongDragOver = true;
|
|
13
|
+
}
|
|
14
|
+
else if (currentTarget !== lastTarget) {
|
|
15
|
+
lastTarget = currentTarget;
|
|
16
|
+
lastTargetDragOverStart = Date.now();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
origHandler.apply(this, [e, isLongDragOver]);
|
|
20
|
+
};
|
|
21
|
+
return descriptor;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export default longDragOverHandler;
|
|
25
|
+
//# sourceMappingURL=longDragOverHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"longDragOverHandler.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/longDragOverHandler.ts"],"names":[],"mappings":"AAAA,IAAI,UAAU,GAAuB,IAAI,CAAC;AAC1C,IAAI,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,MAAM,mBAAmB,GAAG,CAAC,eAAuB,EAAE,EAAE;IACvD,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA4E,EAAE,EAAE;QACzH,MAAM,WAAW,GAAG,UAAU,CAAC,KAAM,CAAC;QAEtC,UAAU,CAAC,KAAK,GAAG,SAAS,cAAc,CAAC,CAAY;YACtD,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,EAAE;gBACpC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAc,eAAe,CAAC,CAAC;gBAErE,IAAI,aAAa,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB,IAAI,wBAAwB,EAAE;oBACrG,cAAc,GAAG,IAAI,CAAC;iBACtB;qBAAM,IAAI,aAAa,KAAK,UAAU,EAAE;oBACxC,UAAU,GAAG,aAAa,CAAC;oBAC3B,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;iBACrC;aACD;YAED,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACnB,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["let lastTarget: HTMLElement | null = null;\nlet lastTargetDragOverStart = Date.now();\nconst LONG_DRAG_OVER_THRESHOLD = 300;\n\nconst longDragOverHandler = (targetsSelector: string) => {\n\treturn (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(arg0: DragEvent, arg1: boolean) => any>) => {\n\t\tconst origHandler = descriptor.value!;\n\n\t\tdescriptor.value = function handleDragOver(e: DragEvent) {\n\t\t\tlet isLongDragOver = false;\n\n\t\t\tif (e.target instanceof HTMLElement) {\n\t\t\t\tconst currentTarget = e.target.closest<HTMLElement>(targetsSelector);\n\n\t\t\t\tif (currentTarget === lastTarget && Date.now() - lastTargetDragOverStart >= LONG_DRAG_OVER_THRESHOLD) {\n\t\t\t\t\tisLongDragOver = true;\n\t\t\t\t} else if (currentTarget !== lastTarget) {\n\t\t\t\t\tlastTarget = currentTarget;\n\t\t\t\t\tlastTargetDragOverStart = Date.now();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\torigHandler.apply(this, [e, isLongDragOver]);\n\t\t};\n\n\t\treturn descriptor;\n\t};\n};\n\nexport default longDragOverHandler;\n"]}
|