@ui5/webcomponents-base 2.13.0-rc.2 → 2.13.0
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 +25 -0
- package/dist/.tsbuildinfobuild +1 -1
- package/dist/Assets-fetch.d.ts +1 -0
- package/dist/Assets-fetch.js +3 -0
- package/dist/Assets-fetch.js.map +1 -0
- package/dist/Assets-node.d.ts +12 -0
- package/dist/Assets-node.js +14 -0
- package/dist/Assets-node.js.map +1 -0
- package/dist/Assets.d.ts +1 -0
- package/dist/Assets.js +3 -0
- package/dist/Assets.js.map +1 -0
- package/dist/DragAndDrop.d.ts +2 -0
- package/dist/DragAndDrop.js +5 -0
- package/dist/DragAndDrop.js.map +1 -0
- package/dist/UI5Element.js +1 -1
- package/dist/UI5Element.js.map +1 -1
- package/dist/css/MultipleDragGhost.css +17 -0
- package/dist/custom-elements-internal.json +24 -0
- package/dist/custom-elements.json +24 -0
- package/dist/features/F6Navigation.js +4 -9
- package/dist/features/F6Navigation.js.map +1 -1
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/VersionInfo.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
- package/dist/generated/css/MultipleDragGhost.css.js +2 -0
- package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
- package/dist/generated/i18n/i18n-defaults.js +3 -0
- package/dist/generated/i18n/i18n-defaults.js.map +1 -0
- package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
- package/dist/generated/json-imports/i18n-fetch.js +22 -0
- package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
- package/dist/generated/json-imports/i18n-node.d.ts +1 -0
- package/dist/generated/json-imports/i18n-node.js +22 -0
- package/dist/generated/json-imports/i18n-node.js.map +1 -0
- package/dist/generated/json-imports/i18n.d.ts +1 -0
- package/dist/generated/json-imports/i18n.js +22 -0
- package/dist/generated/json-imports/i18n.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/prod/Assets-fetch.js +2 -0
- package/dist/prod/Assets-fetch.js.map +7 -0
- package/dist/prod/Assets-node.js +2 -0
- package/dist/prod/Assets-node.js.map +7 -0
- package/dist/prod/Assets.js +2 -0
- package/dist/prod/Assets.js.map +7 -0
- package/dist/prod/DragAndDrop.js +2 -0
- package/dist/prod/DragAndDrop.js.map +7 -0
- package/dist/prod/UI5Element.js +1 -1
- package/dist/prod/UI5Element.js.map +2 -2
- package/dist/prod/features/F6Navigation.js +1 -1
- package/dist/prod/features/F6Navigation.js.map +3 -3
- package/dist/prod/generated/VersionInfo.js +1 -1
- package/dist/prod/generated/VersionInfo.js.map +2 -2
- package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
- package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
- package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
- package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
- package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n-node.js +2 -0
- package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n.js +2 -0
- package/dist/prod/generated/json-imports/i18n.js.map +7 -0
- package/dist/prod/index.js +1 -1
- package/dist/prod/index.js.map +3 -3
- package/dist/prod/util/dragAndDrop/DragRegistry.js +1 -1
- package/dist/prod/util/dragAndDrop/DragRegistry.js.map +3 -3
- package/dist/types.d.ts +3 -1
- package/dist/types.js.map +1 -1
- package/dist/util/dragAndDrop/DragRegistry.d.ts +11 -0
- package/dist/util/dragAndDrop/DragRegistry.js +50 -0
- package/dist/util/dragAndDrop/DragRegistry.js.map +1 -1
- package/package-scripts.cjs +11 -2
- package/package.json +3 -3
- package/src/css/MultipleDragGhost.css +17 -0
- package/src/i18n/messagebundle.properties +5 -0
- package/src/i18n/messagebundle_en.properties +5 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
package/dist/prod/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["import type { JSX } from \"./jsx-runtime.d.ts\";\n\n// animations/\nimport scroll from \"./animations/scroll.js\";\nimport slideDown from \"./animations/slideDown.js\";\nimport slideUp from \"./animations/slideUp.js\";\n\n// config/\nimport { getAnimationMode, setAnimationMode } from \"./config/AnimationMode.js\";\nimport { getCalendarType } from \"./config/CalendarType.js\";\nimport { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from \"./config/FormatSettings.js\";\nimport {\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n} from \"./config/Icons.js\";\nimport { RegisteredIconCollection } from \"./asset-registries/util/IconCollectionsByTheme.js\";\nimport getEffectiveIconCollection from \"./asset-registries/util/getIconCollectionByTheme.js\";\nimport {\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n} from \"./config/Language.js\";\nimport { getNoConflict, setNoConflict } from \"./config/NoConflict.js\";\nimport {\n\tgetTheme,\n\tsetTheme,\n\tgetDefaultTheme,\n} from \"./config/Theme.js\";\n\n// decorators/\nimport customElement from \"./decorators/customElement.js\";\nimport event from \"./decorators/event.js\";\nimport property from \"./decorators/property.js\";\nimport slot from \"./decorators/slot.js\";\n\n// delegate/\nimport ItemNavigation from \"./delegate/ItemNavigation.js\";\nimport ResizeHandler from \"./delegate/ResizeHandler.js\";\nimport ScrollEnablement from \"./delegate/ScrollEnablement.js\";\n\n// locale/\nimport applyDirection from \"./locale/applyDirection.js\";\nimport { attachDirectionChange, detachDirectionChange } from \"./locale/directionChange.js\";\nimport getEffectiveDir from \"./locale/getEffectiveDir.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"./locale/languageChange.js\";\n\n// util/\nimport { URLListValidator, sanitizeHTML } from \"./util/HTMLSanitizer.js\";\n\n// Assets.ts\nimport { registerI18nLoader } from \"./asset-registries/i18n.js\";\nimport { registerLocaleDataLoader } from \"./asset-registries/LocaleData.js\";\nimport { registerThemePropertiesLoader } from \"./asset-registries/Themes.js\";\nimport { registerIconLoader } from \"./asset-registries/Icons.js\";\n\n// Boot.ts\nimport { attachBoot } from \"./Boot.js\";\n\n// CustomElementsScope.ts\nimport {\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tgetEffectiveScopingSuffixForTag,\n} from \"./CustomElementsScope.js\";\n\n// Device.ts\nimport {\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n} from \"./Device.js\";\n\n// EventProvider.ts\nimport EventProvider from \"./EventProvider.js\";\n\n// i18nBundle.ts\nimport I18nBundle, { getI18nBundle, registerCustomI18nBundleGetter } from \"./i18nBundle.js\";\n\n// MediaRange.ts\nimport MediaRange from \"./MediaRange.js\";\n\n// Render.ts\nimport {\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n} from \"./Render.js\";\n\n// Theming.ts\nimport { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from \"./Theming.js\";\n\n// UI5Element.ts\nimport UI5Element from \"./UI5Element.js\";\n\nexport default UI5Element;\nexport {\n\t// animations/\n\tscroll,\n\tslideDown,\n\tslideUp,\n\n\t// config/\n\tgetAnimationMode,\n\tsetAnimationMode,\n\tgetCalendarType,\n\tgetFirstDayOfWeek,\n\tgetLegacyDateCalendarCustomizing,\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n\tgetEffectiveIconCollection,\n\tRegisteredIconCollection,\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n\tgetNoConflict,\n\tsetNoConflict,\n\tgetTheme,\n\tsetTheme,\n\tgetDefaultTheme,\n\n\t// decorators/\n\tcustomElement,\n\tevent,\n\tproperty,\n\tslot,\n\n\t// delegate/\n\tItemNavigation,\n\tResizeHandler,\n\tScrollEnablement,\n\n\t// locale/\n\tapplyDirection,\n\tattachDirectionChange,\n\tdetachDirectionChange,\n\tgetEffectiveDir,\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\n\t// util/\n\tURLListValidator,\n\tsanitizeHTML,\n\n\t// Assets.ts\n\tregisterI18nLoader,\n\tregisterLocaleDataLoader,\n\tregisterThemePropertiesLoader,\n\tregisterIconLoader,\n\n\t// Boot.ts\n\tattachBoot,\n\n\t// CustomElementsScope.ts\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tgetEffectiveScopingSuffixForTag,\n\n\t// Device.ts\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n\n\t// EventProvider.ts\n\tEventProvider,\n\n\t// i18nBundle.ts\n\tI18nBundle,\n\tgetI18nBundle,\n\tregisterCustomI18nBundleGetter,\n\n\t// MediaRange.ts\n\tMediaRange,\n\n\t// Render.ts\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n\n\t// Theming.ts\n\taddCustomCSS,\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\n\t// UI5Element.ts\n\tUI5Element,\n};\n\ntype TargetedCustomEvent<D, T> = Omit<CustomEvent<D>, \"currentTarget\"> & { currentTarget: T };\n// export type UI5NativeEvent<T extends keyof HTMLElementTagNameMap, N> = Parameters<JSX.IntrinsicElements[T][N]>[0];\nexport type UI5CustomEvent<T extends UI5Element, N extends keyof T[\"eventDetails\"]> = TargetedCustomEvent<T[\"eventDetails\"][N], T>;\nexport type JsxTemplateResult = JSX.Element | void;\nexport type JsxTemplate = () => JsxTemplateResult;\n\nexport type * from \"./types.d.ts\";\nexport type * from \"./jsx-runtime.d.ts\";\n"],
|
|
5
|
-
"mappings": "aAGA,OAAOA,MAAY,yBACnB,OAAOC,MAAe,4BACtB,OAAOC,MAAa,0BAGpB,OAAS,oBAAAC,EAAkB,oBAAAC,MAAwB,4BACnD,OAAS,mBAAAC,MAAuB,2BAChC,OAAS,qBAAAC,EAAmB,oCAAAC,MAAwC,6BACpE,OACC,4BAAAC,EACA,4BAAAC,MACM,oBACP,OAAS,4BAAAC,MAAgC,oDACzC,OAAOC,MAAgC,sDACvC,OACC,eAAAC,EACA,eAAAC,EACA,sBAAAC,EACA,2BAAAC,EACA,2BAAAC,MACM,uBACP,OAAS,iBAAAC,EAAe,iBAAAC,MAAqB,yBAC7C,OACC,YAAAC,EACA,YAAAC,EACA,mBAAAC,MACM,oBAGP,OAAOC,MAAmB,gCAC1B,OAAOC,MAAW,wBAClB,OAAOC,MAAc,2BACrB,OAAOC,MAAU,uBAGjB,OAAOC,MAAoB,+BAC3B,OAAOC,MAAmB,8BAC1B,OAAOC,MAAsB,iCAG7B,OAAOC,MAAoB,6BAC3B,OAAS,yBAAAC,EAAuB,yBAAAC,MAA6B,8BAC7D,OAAOC,MAAqB,8BAC5B,OAAS,wBAAAC,EAAsB,wBAAAC,MAA4B,6BAG3D,OAAS,oBAAAC,EAAkB,gBAAAC,MAAoB,0BAG/C,OAAS,sBAAAC,MAA0B,6BACnC,OAAS,4BAAAC,MAAgC,mCACzC,OAAS,iCAAAC,MAAqC,+BAC9C,OAAS,sBAAAC,MAA0B,8BAGnC,OAAS,cAAAC,MAAkB,YAG3B,OACC,kCAAAC,EACA,kCAAAC,EACA,iCAAAC,EACA,iCAAAC,EACA,mCAAAC,MACM,2BAGP,OACC,iBAAAC,EACA,YAAAC,EACA,YAAAC,EACA,aAAAC,EACA,WAAAC,EACA,YAAAC,
|
|
6
|
-
"names": ["scroll", "slideDown", "slideUp", "getAnimationMode", "setAnimationMode", "getCalendarType", "getFirstDayOfWeek", "getLegacyDateCalendarCustomizing", "setDefaultIconCollection", "getDefaultIconCollection", "RegisteredIconCollection", "getEffectiveIconCollection", "getLanguage", "setLanguage", "getDefaultLanguage", "setFetchDefaultLanguage", "getFetchDefaultLanguage", "getNoConflict", "setNoConflict", "getTheme", "setTheme", "getDefaultTheme", "customElement", "event", "property", "slot", "ItemNavigation", "ResizeHandler", "ScrollEnablement", "applyDirection", "attachDirectionChange", "detachDirectionChange", "getEffectiveDir", "attachLanguageChange", "detachLanguageChange", "URLListValidator", "sanitizeHTML", "registerI18nLoader", "registerLocaleDataLoader", "registerThemePropertiesLoader", "registerIconLoader", "attachBoot", "setCustomElementsScopingSuffix", "getCustomElementsScopingSuffix", "setCustomElementsScopingRules", "getCustomElementsScopingRules", "getEffectiveScopingSuffixForTag", "supportsTouch", "isSafari", "isChrome", "isFirefox", "isPhone", "isTablet", "isDesktop", "isCombi", "isIOS", "isAndroid", "EventProvider", "I18nBundle", "getI18nBundle", "registerCustomI18nBundleGetter", "MediaRange", "renderDeferred", "renderImmediately", "cancelRender", "renderFinished", "addCustomCSS", "attachThemeLoaded", "detachThemeLoaded", "UI5Element"]
|
|
4
|
+
"sourcesContent": ["import type { JSX } from \"./jsx-runtime.d.ts\";\n\n// animations/\nimport scroll from \"./animations/scroll.js\";\nimport slideDown from \"./animations/slideDown.js\";\nimport slideUp from \"./animations/slideUp.js\";\n\n// config/\nimport { getAnimationMode, setAnimationMode } from \"./config/AnimationMode.js\";\nimport { getCalendarType } from \"./config/CalendarType.js\";\nimport { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from \"./config/FormatSettings.js\";\nimport {\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n} from \"./config/Icons.js\";\nimport { RegisteredIconCollection } from \"./asset-registries/util/IconCollectionsByTheme.js\";\nimport getEffectiveIconCollection from \"./asset-registries/util/getIconCollectionByTheme.js\";\nimport { startMultipleDrag } from \"./DragAndDrop.js\";\nimport {\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n} from \"./config/Language.js\";\nimport { getNoConflict, setNoConflict } from \"./config/NoConflict.js\";\nimport {\n\tgetTheme,\n\tsetTheme,\n\tgetDefaultTheme,\n} from \"./config/Theme.js\";\n\n// decorators/\nimport customElement from \"./decorators/customElement.js\";\nimport event from \"./decorators/event.js\";\nimport property from \"./decorators/property.js\";\nimport slot from \"./decorators/slot.js\";\n\n// delegate/\nimport ItemNavigation from \"./delegate/ItemNavigation.js\";\nimport ResizeHandler from \"./delegate/ResizeHandler.js\";\nimport ScrollEnablement from \"./delegate/ScrollEnablement.js\";\n\n// locale/\nimport applyDirection from \"./locale/applyDirection.js\";\nimport { attachDirectionChange, detachDirectionChange } from \"./locale/directionChange.js\";\nimport getEffectiveDir from \"./locale/getEffectiveDir.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"./locale/languageChange.js\";\n\n// util/\nimport { URLListValidator, sanitizeHTML } from \"./util/HTMLSanitizer.js\";\n\n// Assets.ts\nimport { registerI18nLoader } from \"./asset-registries/i18n.js\";\nimport { registerLocaleDataLoader } from \"./asset-registries/LocaleData.js\";\nimport { registerThemePropertiesLoader } from \"./asset-registries/Themes.js\";\nimport { registerIconLoader } from \"./asset-registries/Icons.js\";\n\n// Boot.ts\nimport { attachBoot } from \"./Boot.js\";\n\n// CustomElementsScope.ts\nimport {\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tgetEffectiveScopingSuffixForTag,\n} from \"./CustomElementsScope.js\";\n\n// Device.ts\nimport {\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n} from \"./Device.js\";\n\n// EventProvider.ts\nimport EventProvider from \"./EventProvider.js\";\n\n// i18nBundle.ts\nimport I18nBundle, { getI18nBundle, registerCustomI18nBundleGetter } from \"./i18nBundle.js\";\n\n// MediaRange.ts\nimport MediaRange from \"./MediaRange.js\";\n\n// Render.ts\nimport {\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n} from \"./Render.js\";\n\n// Theming.ts\nimport { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from \"./Theming.js\";\n\n// UI5Element.ts\nimport UI5Element from \"./UI5Element.js\";\n\nexport default UI5Element;\nexport {\n\t// drag and drop\n\tstartMultipleDrag,\n\n\t// animations/\n\tscroll,\n\tslideDown,\n\tslideUp,\n\n\t// config/\n\tgetAnimationMode,\n\tsetAnimationMode,\n\tgetCalendarType,\n\tgetFirstDayOfWeek,\n\tgetLegacyDateCalendarCustomizing,\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n\tgetEffectiveIconCollection,\n\tRegisteredIconCollection,\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n\tgetNoConflict,\n\tsetNoConflict,\n\tgetTheme,\n\tsetTheme,\n\tgetDefaultTheme,\n\n\t// decorators/\n\tcustomElement,\n\tevent,\n\tproperty,\n\tslot,\n\n\t// delegate/\n\tItemNavigation,\n\tResizeHandler,\n\tScrollEnablement,\n\n\t// locale/\n\tapplyDirection,\n\tattachDirectionChange,\n\tdetachDirectionChange,\n\tgetEffectiveDir,\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\n\t// util/\n\tURLListValidator,\n\tsanitizeHTML,\n\n\t// Assets.ts\n\tregisterI18nLoader,\n\tregisterLocaleDataLoader,\n\tregisterThemePropertiesLoader,\n\tregisterIconLoader,\n\n\t// Boot.ts\n\tattachBoot,\n\n\t// CustomElementsScope.ts\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tgetEffectiveScopingSuffixForTag,\n\n\t// Device.ts\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n\n\t// EventProvider.ts\n\tEventProvider,\n\n\t// i18nBundle.ts\n\tI18nBundle,\n\tgetI18nBundle,\n\tregisterCustomI18nBundleGetter,\n\n\t// MediaRange.ts\n\tMediaRange,\n\n\t// Render.ts\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n\n\t// Theming.ts\n\taddCustomCSS,\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\n\t// UI5Element.ts\n\tUI5Element,\n};\n\ntype TargetedCustomEvent<D, T> = Omit<CustomEvent<D>, \"currentTarget\"> & { currentTarget: T };\n// export type UI5NativeEvent<T extends keyof HTMLElementTagNameMap, N> = Parameters<JSX.IntrinsicElements[T][N]>[0];\nexport type UI5CustomEvent<T extends UI5Element, N extends keyof T[\"eventDetails\"]> = TargetedCustomEvent<T[\"eventDetails\"][N], T>;\nexport type JsxTemplateResult = JSX.Element | void;\nexport type JsxTemplate = () => JsxTemplateResult;\n\nexport type * from \"./types.d.ts\";\nexport type * from \"./jsx-runtime.d.ts\";\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["scroll", "slideDown", "slideUp", "getAnimationMode", "setAnimationMode", "getCalendarType", "getFirstDayOfWeek", "getLegacyDateCalendarCustomizing", "setDefaultIconCollection", "getDefaultIconCollection", "RegisteredIconCollection", "getEffectiveIconCollection", "startMultipleDrag", "getLanguage", "setLanguage", "getDefaultLanguage", "setFetchDefaultLanguage", "getFetchDefaultLanguage", "getNoConflict", "setNoConflict", "getTheme", "setTheme", "getDefaultTheme", "customElement", "event", "property", "slot", "ItemNavigation", "ResizeHandler", "ScrollEnablement", "applyDirection", "attachDirectionChange", "detachDirectionChange", "getEffectiveDir", "attachLanguageChange", "detachLanguageChange", "URLListValidator", "sanitizeHTML", "registerI18nLoader", "registerLocaleDataLoader", "registerThemePropertiesLoader", "registerIconLoader", "attachBoot", "setCustomElementsScopingSuffix", "getCustomElementsScopingSuffix", "setCustomElementsScopingRules", "getCustomElementsScopingRules", "getEffectiveScopingSuffixForTag", "supportsTouch", "isSafari", "isChrome", "isFirefox", "isPhone", "isTablet", "isDesktop", "isCombi", "isIOS", "isAndroid", "EventProvider", "I18nBundle", "getI18nBundle", "registerCustomI18nBundleGetter", "MediaRange", "renderDeferred", "renderImmediately", "cancelRender", "renderFinished", "addCustomCSS", "attachThemeLoaded", "detachThemeLoaded", "UI5Element"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";let
|
|
1
|
+
"use strict";import p from"../../generated/css/MultipleDragGhost.css.js";import{getI18nBundle as D}from"../../i18nBundle.js";import{DRAG_DROP_MULTIPLE_TEXT as v}from"../../generated/i18n/i18n-defaults.js";const m=2;let n=null,a=null,r=!1;const o=new Set,l=new Set,i=e=>{!e.dataTransfer||!(e.target instanceof HTMLElement)||(l.has(e.target)||(a=e.target),M(e))},M=async e=>{if(!n||!e.dataTransfer)return;const t=await n;document.body.appendChild(t),e.dataTransfer.setDragImage(t,0,0),requestAnimationFrame(()=>{t.remove()})},c=()=>{a=null,n=null},g=()=>{a=null,n=null},f=e=>{a=e},b=()=>a,y=async e=>{const t=document.createElement("div"),E=await D("@ui5/webcomponents-base"),s=t.attachShadow({mode:"open"}),d=new CSSStyleSheet;return d.replaceSync(p),s.adoptedStyleSheets=[d],s.textContent=E.getText(v,e),t},u=(e,t)=>{if(e<m){console.warn(`Cannot start multiple drag with count ${e}. Minimum is ${m}.`);return}n=y(e)},S=()=>{r||(document.body.addEventListener("dragstart",i),document.body.addEventListener("dragend",c),document.body.addEventListener("drop",g),r=!0)},L=()=>{document.body.removeEventListener("dragstart",i),document.body.removeEventListener("dragend",c),document.body.removeEventListener("drop",g),r=!1},T=e=>{o.add(e),r||S()},h=e=>{o.delete(e),o.size===0&&r&&L()},w=e=>(l.add(e),f),H=e=>{l.delete(e)},I={subscribe:T,unsubscribe:h,addSelfManagedArea:w,removeSelfManagedArea:H,getDraggedElement:b,startMultipleDrag:u};export default I;export{u as startMultipleDrag};
|
|
2
2
|
//# sourceMappingURL=DragRegistry.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/util/dragAndDrop/DragRegistry.ts"],
|
|
4
|
-
"sourcesContent": ["import type UI5Element from \"../../UI5Element.js\";\nimport type MovePlacement from \"../../types/MovePlacement.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\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\ntype DragAndDropSettings = {\n\t/**\n\t * Allow cross-browser and file drag and drop.\n\t */\n\tcrossDnD?: boolean;\n\t/**\n\t * Pass the original event in the event parameters.\n\t */\n\toriginalEvent?: boolean;\n};\n\ntype MoveEventDetail = {\n\toriginalEvent: Event,\n\tsource: {\n\t\telement: HTMLElement,\n\t},\n\tdestination: {\n\t\telement: HTMLElement,\n\t\tplacement: `${MovePlacement}`,\n\t}\n};\n\nconst DragRegistry = {\n\tsubscribe,\n\tunsubscribe,\n\taddSelfManagedArea,\n\tremoveSelfManagedArea,\n\tgetDraggedElement,\n};\n\nexport default DragRegistry;\nexport type {\n\tSetDraggedElementFunction,\n\tDragAndDropSettings,\n\tMoveEventDetail,\n};\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["draggedElement", "globalHandlersAttached", "subscribers", "selfManagedDragAreas", "ondragstart", "ondragend", "ondrop", "setDraggedElement", "element", "getDraggedElement", "attachGlobalHandlers", "detachGlobalHandlers", "subscribe", "subscriber", "unsubscribe", "addSelfManagedArea", "area", "removeSelfManagedArea", "DragRegistry"]
|
|
4
|
+
"sourcesContent": ["import type UI5Element from \"../../UI5Element.js\";\nimport type MovePlacement from \"../../types/MovePlacement.js\";\nimport MultipleDragGhostCss from \"../../generated/css/MultipleDragGhost.css.js\";\n\nimport { getI18nBundle } from \"../../i18nBundle.js\";\n\nimport {\n\tDRAG_DROP_MULTIPLE_TEXT,\n} from \"../../generated/i18n/i18n-defaults.js\";\n\nconst MIN_MULTI_DRAG_COUNT = 2;\n\nlet customDragElementPromise: Promise<HTMLElement> | null = null;\nlet draggedElement: HTMLElement | null = null;\nlet globalHandlersAttached = false;\nconst subscribers = new Set<UI5Element>();\nconst selfManagedDragAreas = new Set<HTMLElement | ShadowRoot>();\n\nconst ondragstart = (e: DragEvent) => {\n\tif (!e.dataTransfer || !(e.target instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\tif (!selfManagedDragAreas.has(e.target)) {\n\t\tdraggedElement = e.target;\n\t}\n\n\thandleMultipleDrag(e);\n};\n\nconst handleMultipleDrag = async (e: DragEvent) => {\n\tif (!customDragElementPromise || !e.dataTransfer) {\n\t\treturn;\n\t}\n\tconst dragElement = await customDragElementPromise;\n\t// Add to document body temporarily\n\tdocument.body.appendChild(dragElement);\n\n\te.dataTransfer.setDragImage(dragElement, 0, 0);\n\n\t// Clean up the temporary element after the drag operation starts\n\trequestAnimationFrame(() => {\n\t\tdragElement.remove();\n\t});\n};\n\nconst ondragend = () => {\n\tdraggedElement = null;\n\tcustomDragElementPromise = null;\n};\n\nconst ondrop = () => {\n\tdraggedElement = null;\n\tcustomDragElementPromise = 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 createDefaultMultiDragElement = async (count: number): Promise<HTMLElement> => {\n\tconst dragElement = document.createElement(\"div\");\n\tconst i18nBundle = await getI18nBundle(\"@ui5/webcomponents-base\");\n\n\tconst dragElementShadow = dragElement.attachShadow({ mode: \"open\" });\n\n\tconst styles = new CSSStyleSheet();\n\tstyles.replaceSync(MultipleDragGhostCss);\n\n\tdragElementShadow.adoptedStyleSheets = [styles];\n\tdragElementShadow.textContent = i18nBundle.getText(DRAG_DROP_MULTIPLE_TEXT, count);\n\n\treturn dragElement;\n};\n\n/**\n * Starts a multiple drag operation by creating a drag ghost element.\n * The drag ghost will be displayed when dragging multiple items.\n *\n * @param {number} count - The number of items being dragged.\n * @param {DragEvent} e - The drag event that triggered the operation.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst startMultipleDrag = (count: number, e: DragEvent): void => {\n\tif (count < MIN_MULTI_DRAG_COUNT) {\n\t\tconsole.warn(`Cannot start multiple drag with count ${count}. Minimum is ${MIN_MULTI_DRAG_COUNT}.`); // eslint-disable-line\n\t\treturn;\n\t}\n\n\tcustomDragElementPromise = createDefaultMultiDragElement(count);\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\tglobalHandlersAttached = true;\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\ntype DragAndDropSettings = {\n\t/**\n\t * Allow cross-browser and file drag and drop.\n\t */\n\tcrossDnD?: boolean;\n\t/**\n\t * Pass the original event in the event parameters.\n\t */\n\toriginalEvent?: boolean;\n};\n\ntype MoveEventDetail = {\n\toriginalEvent: Event,\n\tsource: {\n\t\telement: HTMLElement,\n\t},\n\tdestination: {\n\t\telement: HTMLElement,\n\t\tplacement: `${MovePlacement}`,\n\t}\n};\n\nconst DragRegistry = {\n\tsubscribe,\n\tunsubscribe,\n\taddSelfManagedArea,\n\tremoveSelfManagedArea,\n\tgetDraggedElement,\n\tstartMultipleDrag,\n};\n\nexport default DragRegistry;\nexport {\n\tstartMultipleDrag,\n};\nexport type {\n\tSetDraggedElementFunction,\n\tDragAndDropSettings,\n\tMoveEventDetail,\n};\n"],
|
|
5
|
+
"mappings": "aAEA,OAAOA,MAA0B,+CAEjC,OAAS,iBAAAC,MAAqB,sBAE9B,OACC,2BAAAC,MACM,wCAEP,MAAMC,EAAuB,EAE7B,IAAIC,EAAwD,KACxDC,EAAqC,KACrCC,EAAyB,GAC7B,MAAMC,EAAc,IAAI,IAClBC,EAAuB,IAAI,IAE3BC,EAAe,GAAiB,CACjC,CAAC,EAAE,cAAgB,EAAE,EAAE,kBAAkB,eAIxCD,EAAqB,IAAI,EAAE,MAAM,IACrCH,EAAiB,EAAE,QAGpBK,EAAmB,CAAC,EACrB,EAEMA,EAAqB,MAAO,GAAiB,CAClD,GAAI,CAACN,GAA4B,CAAC,EAAE,aACnC,OAED,MAAMO,EAAc,MAAMP,EAE1B,SAAS,KAAK,YAAYO,CAAW,EAErC,EAAE,aAAa,aAAaA,EAAa,EAAG,CAAC,EAG7C,sBAAsB,IAAM,CAC3BA,EAAY,OAAO,CACpB,CAAC,CACF,EAEMC,EAAY,IAAM,CACvBP,EAAiB,KACjBD,EAA2B,IAC5B,EAEMS,EAAS,IAAM,CACpBR,EAAiB,KACjBD,EAA2B,IAC5B,EAEMU,EAAqBC,GAAgC,CAC1DV,EAAiBU,CAClB,EAGMC,EAAoB,IAClBX,EAGFY,EAAgC,MAAOC,GAAwC,CACpF,MAAMP,EAAc,SAAS,cAAc,KAAK,EAC1CQ,EAAa,MAAMlB,EAAc,yBAAyB,EAE1DmB,EAAoBT,EAAY,aAAa,CAAE,KAAM,MAAO,CAAC,EAE7DU,EAAS,IAAI,cACnB,OAAAA,EAAO,YAAYrB,CAAoB,EAEvCoB,EAAkB,mBAAqB,CAACC,CAAM,EAC9CD,EAAkB,YAAcD,EAAW,QAAQjB,EAAyBgB,CAAK,EAE1EP,CACR,EAWMW,EAAoB,CAACJ,EAAeK,IAAuB,CAChE,GAAIL,EAAQf,EAAsB,CACjC,QAAQ,KAAK,yCAAyCe,CAAK,gBAAgBf,CAAoB,GAAG,EAClG,MACD,CAEAC,EAA2Ba,EAA8BC,CAAK,CAC/D,EAEMM,EAAuB,IAAM,CAC9BlB,IAIJ,SAAS,KAAK,iBAAiB,YAAaG,CAAW,EACvD,SAAS,KAAK,iBAAiB,UAAWG,CAAS,EACnD,SAAS,KAAK,iBAAiB,OAAQC,CAAM,EAC7CP,EAAyB,GAC1B,EAEMmB,EAAuB,IAAM,CAClC,SAAS,KAAK,oBAAoB,YAAahB,CAAW,EAC1D,SAAS,KAAK,oBAAoB,UAAWG,CAAS,EACtD,SAAS,KAAK,oBAAoB,OAAQC,CAAM,EAChDP,EAAyB,EAC1B,EAEMoB,EAAaC,GAA2B,CAC7CpB,EAAY,IAAIoB,CAAU,EAErBrB,GACJkB,EAAqB,CAEvB,EAEMI,EAAeD,GAA2B,CAC/CpB,EAAY,OAAOoB,CAAU,EAEzBpB,EAAY,OAAS,GAAKD,GAC7BmB,EAAqB,CAEvB,EAEMI,EAAsBC,IAC3BtB,EAAqB,IAAIsB,CAAI,EAEtBhB,GAGFiB,EAAyBD,GAAmC,CACjEtB,EAAqB,OAAOsB,CAAI,CACjC,EAwBME,EAAe,CACpB,UAAAN,EACA,YAAAE,EACA,mBAAAC,EACA,sBAAAE,EACA,kBAAAf,EACA,kBAAAM,CACD,EAEA,eAAeU,EACf,OACCV,KAAA",
|
|
6
|
+
"names": ["MultipleDragGhostCss", "getI18nBundle", "DRAG_DROP_MULTIPLE_TEXT", "MIN_MULTI_DRAG_COUNT", "customDragElementPromise", "draggedElement", "globalHandlersAttached", "subscribers", "selfManagedDragAreas", "ondragstart", "handleMultipleDrag", "dragElement", "ondragend", "ondrop", "setDraggedElement", "element", "getDraggedElement", "createDefaultMultiDragElement", "count", "i18nBundle", "dragElementShadow", "styles", "startMultipleDrag", "e", "attachGlobalHandlers", "detachGlobalHandlers", "subscribe", "subscriber", "unsubscribe", "addSelfManagedArea", "area", "removeSelfManagedArea", "DragRegistry"]
|
|
7
7
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type AriaRole = JSX.AriaRole;
|
|
|
16
16
|
export type AriaDisabled = JSX.AriaAttributes["aria-disabled"];
|
|
17
17
|
export type AriaChecked = JSX.AriaAttributes["aria-checked"];
|
|
18
18
|
export type AriaReadonly = JSX.AriaAttributes["aria-readonly"];
|
|
19
|
-
export type AriaHasPopup = "dialog" | "grid" | "listbox" | "menu" | "tree";
|
|
19
|
+
export type AriaHasPopup = "dialog" | "grid" | "listbox" | "menu" | "tree" | "false";
|
|
20
20
|
export type AriaCurrent = "page" | "step" | "location" | "date" | "time" | "true" | "false" | boolean | undefined;
|
|
21
21
|
export type AriaAutoComplete = "list" | "none" | "inline" | "both" | undefined;
|
|
22
22
|
export type AriaLandmarkRole = "none" | "banner" | "main" | "region" | "navigation" | "search" | "complementary" | "form" | "contentinfo";
|
|
@@ -41,4 +41,6 @@ export type AccessibilityAttributes = {
|
|
|
41
41
|
ariaKeyShortcuts?: string;
|
|
42
42
|
ariaCurrent?: AriaCurrent;
|
|
43
43
|
current?: AriaCurrent;
|
|
44
|
+
roleDescription?: string;
|
|
45
|
+
title?: string;
|
|
44
46
|
};
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { JSX } from \"./jsx-runtime.d.ts\";\n\n// General utils\nexport type LowercaseString<T> = T extends string ? Lowercase<T> : never;\n\n// Core Framework types\nexport type PromiseResolve = (value: void | PromiseLike<void>) => void;\nexport type Timeout = ReturnType<typeof setTimeout>;\nexport type Interval = ReturnType<typeof setInterval>;\n\nexport type StyleData = string;\n\nexport type ComponentStylesData = Array<ComponentStylesData> | string;\nexport type ClassMapValue = Record<string, boolean>\n\nexport type ClassMap = { [x: string] : ClassMapValue | ClassMap };\n\nexport type PassiveEventListenerObject = EventListenerObject & { passive: boolean };\n\n// Accessibility\nexport type AriaRole = JSX.AriaRole;\nexport type AriaDisabled = JSX.AriaAttributes[\"aria-disabled\"];\nexport type AriaChecked = JSX.AriaAttributes[\"aria-checked\"];\nexport type AriaReadonly = JSX.AriaAttributes[\"aria-readonly\"];\nexport type AriaHasPopup = \"dialog\" | \"grid\" | \"listbox\" | \"menu\" | \"tree\";\nexport type AriaCurrent = \"page\" | \"step\" | \"location\" | \"date\" | \"time\" | \"true\" | \"false\" | boolean | undefined;\nexport type AriaAutoComplete = \"list\" | \"none\" | \"inline\" | \"both\" | undefined;\nexport type AriaLandmarkRole = \"none\" | \"banner\" | \"main\" | \"region\" | \"navigation\" | \"search\" | \"complementary\" | \"form\" | \"contentinfo\"\n\nexport type AccessibilityInfo = {\n\t// The WAI-ARIA role of the component.\n\trole?: AriaRole,\n\n\t// A translated text that represents the component type. Used when several components share same role,\n\t// f.e. Select and ComboBox both have role=\"combobox\".\n\ttype?: LowercaseString<string>,\n\n\t// A translated text that represents relevant component description/state - value, placeholder, label, etc.\n\tdescription?: string,\n\n\t // The component disabled state.\n\tdisabled?: boolean,\n\n\t// The component readonly state.\n\treadonly?: boolean,\n\n\t// The component required state.\n\trequired?: boolean,\n\n\t// An array of elements, aggregated by the component\n\t// <b>Note:</b> Children should only be provided when it is helpful to understand the accessibility context.\n\tchildren?: Array<HTMLElement>,\n}\n\nexport type AccessibilityAttributes = {\n\tariaSetsize?: number,\n\tariaPosinset?: number,\n\tariaLabel?: string,\n\tcontrols?: LowercaseString<string>\n\texpanded?: \"true\" | \"false\" | boolean,\n\thasPopup?: AriaHasPopup,\n\tname?: string,\n\trole?: AriaRole,\n\tariaKeyShortcuts?: string,\n\tariaCurrent?: AriaCurrent,\n\tcurrent?: AriaCurrent,\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { JSX } from \"./jsx-runtime.d.ts\";\n\n// General utils\nexport type LowercaseString<T> = T extends string ? Lowercase<T> : never;\n\n// Core Framework types\nexport type PromiseResolve = (value: void | PromiseLike<void>) => void;\nexport type Timeout = ReturnType<typeof setTimeout>;\nexport type Interval = ReturnType<typeof setInterval>;\n\nexport type StyleData = string;\n\nexport type ComponentStylesData = Array<ComponentStylesData> | string;\nexport type ClassMapValue = Record<string, boolean>\n\nexport type ClassMap = { [x: string] : ClassMapValue | ClassMap };\n\nexport type PassiveEventListenerObject = EventListenerObject & { passive: boolean };\n\n// Accessibility\nexport type AriaRole = JSX.AriaRole;\nexport type AriaDisabled = JSX.AriaAttributes[\"aria-disabled\"];\nexport type AriaChecked = JSX.AriaAttributes[\"aria-checked\"];\nexport type AriaReadonly = JSX.AriaAttributes[\"aria-readonly\"];\nexport type AriaHasPopup = \"dialog\" | \"grid\" | \"listbox\" | \"menu\" | \"tree\" | \"false\";\nexport type AriaCurrent = \"page\" | \"step\" | \"location\" | \"date\" | \"time\" | \"true\" | \"false\" | boolean | undefined;\nexport type AriaAutoComplete = \"list\" | \"none\" | \"inline\" | \"both\" | undefined;\nexport type AriaLandmarkRole = \"none\" | \"banner\" | \"main\" | \"region\" | \"navigation\" | \"search\" | \"complementary\" | \"form\" | \"contentinfo\"\n\nexport type AccessibilityInfo = {\n\t// The WAI-ARIA role of the component.\n\trole?: AriaRole,\n\n\t// A translated text that represents the component type. Used when several components share same role,\n\t// f.e. Select and ComboBox both have role=\"combobox\".\n\ttype?: LowercaseString<string>,\n\n\t// A translated text that represents relevant component description/state - value, placeholder, label, etc.\n\tdescription?: string,\n\n\t // The component disabled state.\n\tdisabled?: boolean,\n\n\t// The component readonly state.\n\treadonly?: boolean,\n\n\t// The component required state.\n\trequired?: boolean,\n\n\t// An array of elements, aggregated by the component\n\t// <b>Note:</b> Children should only be provided when it is helpful to understand the accessibility context.\n\tchildren?: Array<HTMLElement>,\n}\n\nexport type AccessibilityAttributes = {\n\tariaSetsize?: number,\n\tariaPosinset?: number,\n\tariaLabel?: string,\n\tcontrols?: LowercaseString<string>\n\texpanded?: \"true\" | \"false\" | boolean,\n\thasPopup?: AriaHasPopup,\n\tname?: string,\n\trole?: AriaRole,\n\tariaKeyShortcuts?: string,\n\tariaCurrent?: AriaCurrent,\n\tcurrent?: AriaCurrent,\n\troleDescription?: string,\n\ttitle?: string,\n}\n"]}
|
|
@@ -2,6 +2,15 @@ import type UI5Element from "../../UI5Element.js";
|
|
|
2
2
|
import type MovePlacement from "../../types/MovePlacement.js";
|
|
3
3
|
declare const setDraggedElement: (element: HTMLElement | null) => void;
|
|
4
4
|
type SetDraggedElementFunction = typeof setDraggedElement;
|
|
5
|
+
/**
|
|
6
|
+
* Starts a multiple drag operation by creating a drag ghost element.
|
|
7
|
+
* The drag ghost will be displayed when dragging multiple items.
|
|
8
|
+
*
|
|
9
|
+
* @param {number} count - The number of items being dragged.
|
|
10
|
+
* @param {DragEvent} e - The drag event that triggered the operation.
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
declare const startMultipleDrag: (count: number, e: DragEvent) => void;
|
|
5
14
|
type DragAndDropSettings = {
|
|
6
15
|
/**
|
|
7
16
|
* Allow cross-browser and file drag and drop.
|
|
@@ -28,6 +37,8 @@ declare const DragRegistry: {
|
|
|
28
37
|
addSelfManagedArea: (area: HTMLElement | ShadowRoot) => (element: HTMLElement | null) => void;
|
|
29
38
|
removeSelfManagedArea: (area: HTMLElement | ShadowRoot) => void;
|
|
30
39
|
getDraggedElement: () => HTMLElement | null;
|
|
40
|
+
startMultipleDrag: (count: number, e: DragEvent) => void;
|
|
31
41
|
};
|
|
32
42
|
export default DragRegistry;
|
|
43
|
+
export { startMultipleDrag, };
|
|
33
44
|
export type { SetDraggedElementFunction, DragAndDropSettings, MoveEventDetail, };
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import MultipleDragGhostCss from "../../generated/css/MultipleDragGhost.css.js";
|
|
2
|
+
import { getI18nBundle } from "../../i18nBundle.js";
|
|
3
|
+
import { DRAG_DROP_MULTIPLE_TEXT, } from "../../generated/i18n/i18n-defaults.js";
|
|
4
|
+
const MIN_MULTI_DRAG_COUNT = 2;
|
|
5
|
+
let customDragElementPromise = null;
|
|
1
6
|
let draggedElement = null;
|
|
2
7
|
let globalHandlersAttached = false;
|
|
3
8
|
const subscribers = new Set();
|
|
@@ -9,12 +14,28 @@ const ondragstart = (e) => {
|
|
|
9
14
|
if (!selfManagedDragAreas.has(e.target)) {
|
|
10
15
|
draggedElement = e.target;
|
|
11
16
|
}
|
|
17
|
+
handleMultipleDrag(e);
|
|
18
|
+
};
|
|
19
|
+
const handleMultipleDrag = async (e) => {
|
|
20
|
+
if (!customDragElementPromise || !e.dataTransfer) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const dragElement = await customDragElementPromise;
|
|
24
|
+
// Add to document body temporarily
|
|
25
|
+
document.body.appendChild(dragElement);
|
|
26
|
+
e.dataTransfer.setDragImage(dragElement, 0, 0);
|
|
27
|
+
// Clean up the temporary element after the drag operation starts
|
|
28
|
+
requestAnimationFrame(() => {
|
|
29
|
+
dragElement.remove();
|
|
30
|
+
});
|
|
12
31
|
};
|
|
13
32
|
const ondragend = () => {
|
|
14
33
|
draggedElement = null;
|
|
34
|
+
customDragElementPromise = null;
|
|
15
35
|
};
|
|
16
36
|
const ondrop = () => {
|
|
17
37
|
draggedElement = null;
|
|
38
|
+
customDragElementPromise = null;
|
|
18
39
|
};
|
|
19
40
|
const setDraggedElement = (element) => {
|
|
20
41
|
draggedElement = element;
|
|
@@ -22,6 +43,32 @@ const setDraggedElement = (element) => {
|
|
|
22
43
|
const getDraggedElement = () => {
|
|
23
44
|
return draggedElement;
|
|
24
45
|
};
|
|
46
|
+
const createDefaultMultiDragElement = async (count) => {
|
|
47
|
+
const dragElement = document.createElement("div");
|
|
48
|
+
const i18nBundle = await getI18nBundle("@ui5/webcomponents-base");
|
|
49
|
+
const dragElementShadow = dragElement.attachShadow({ mode: "open" });
|
|
50
|
+
const styles = new CSSStyleSheet();
|
|
51
|
+
styles.replaceSync(MultipleDragGhostCss);
|
|
52
|
+
dragElementShadow.adoptedStyleSheets = [styles];
|
|
53
|
+
dragElementShadow.textContent = i18nBundle.getText(DRAG_DROP_MULTIPLE_TEXT, count);
|
|
54
|
+
return dragElement;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Starts a multiple drag operation by creating a drag ghost element.
|
|
58
|
+
* The drag ghost will be displayed when dragging multiple items.
|
|
59
|
+
*
|
|
60
|
+
* @param {number} count - The number of items being dragged.
|
|
61
|
+
* @param {DragEvent} e - The drag event that triggered the operation.
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
65
|
+
const startMultipleDrag = (count, e) => {
|
|
66
|
+
if (count < MIN_MULTI_DRAG_COUNT) {
|
|
67
|
+
console.warn(`Cannot start multiple drag with count ${count}. Minimum is ${MIN_MULTI_DRAG_COUNT}.`); // eslint-disable-line
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
customDragElementPromise = createDefaultMultiDragElement(count);
|
|
71
|
+
};
|
|
25
72
|
const attachGlobalHandlers = () => {
|
|
26
73
|
if (globalHandlersAttached) {
|
|
27
74
|
return;
|
|
@@ -29,6 +76,7 @@ const attachGlobalHandlers = () => {
|
|
|
29
76
|
document.body.addEventListener("dragstart", ondragstart);
|
|
30
77
|
document.body.addEventListener("dragend", ondragend);
|
|
31
78
|
document.body.addEventListener("drop", ondrop);
|
|
79
|
+
globalHandlersAttached = true;
|
|
32
80
|
};
|
|
33
81
|
const detachGlobalHandlers = () => {
|
|
34
82
|
document.body.removeEventListener("dragstart", ondragstart);
|
|
@@ -61,6 +109,8 @@ const DragRegistry = {
|
|
|
61
109
|
addSelfManagedArea,
|
|
62
110
|
removeSelfManagedArea,
|
|
63
111
|
getDraggedElement,
|
|
112
|
+
startMultipleDrag,
|
|
64
113
|
};
|
|
65
114
|
export default DragRegistry;
|
|
115
|
+
export { startMultipleDrag, };
|
|
66
116
|
//# sourceMappingURL=DragRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragRegistry.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/DragRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DragRegistry.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/DragRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,MAAM,8CAA8C,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACN,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,IAAI,wBAAwB,GAAgC,IAAI,CAAC;AACjE,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,CAAC;QAC3D,OAAO;IACR,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,CAAY,EAAE,EAAE;IACjD,IAAI,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QAClD,OAAO;IACR,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC;IACnD,mCAAmC;IACnC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEvC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/C,iEAAiE;IACjE,qBAAqB,CAAC,GAAG,EAAE;QAC1B,WAAW,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,GAAG,EAAE;IACtB,cAAc,GAAG,IAAI,CAAC;IACtB,wBAAwB,GAAG,IAAI,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,EAAE;IACnB,cAAc,GAAG,IAAI,CAAC;IACtB,wBAAwB,GAAG,IAAI,CAAC;AACjC,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,6BAA6B,GAAG,KAAK,EAAE,KAAa,EAAwB,EAAE;IACnF,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAElE,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAEzC,iBAAiB,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,iBAAiB,CAAC,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAEnF,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,6DAA6D;AAC7D,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,CAAY,EAAQ,EAAE;IAC/D,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,yCAAyC,KAAK,gBAAgB,oBAAoB,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAC3H,OAAO;IACR,CAAC;IAED,wBAAwB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACjC,IAAI,sBAAsB,EAAE,CAAC;QAC5B,OAAO;IACR,CAAC;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;IAC/C,sBAAsB,GAAG,IAAI,CAAC;AAC/B,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,CAAC;QAC7B,oBAAoB,EAAE,CAAC;IACxB,CAAC;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,CAAC;QACtD,oBAAoB,EAAE,CAAC;IACxB,CAAC;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;AAwBF,MAAM,YAAY,GAAG;IACpB,SAAS;IACT,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;CACjB,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EACN,iBAAiB,GACjB,CAAC","sourcesContent":["import type UI5Element from \"../../UI5Element.js\";\nimport type MovePlacement from \"../../types/MovePlacement.js\";\nimport MultipleDragGhostCss from \"../../generated/css/MultipleDragGhost.css.js\";\n\nimport { getI18nBundle } from \"../../i18nBundle.js\";\n\nimport {\n\tDRAG_DROP_MULTIPLE_TEXT,\n} from \"../../generated/i18n/i18n-defaults.js\";\n\nconst MIN_MULTI_DRAG_COUNT = 2;\n\nlet customDragElementPromise: Promise<HTMLElement> | null = null;\nlet draggedElement: HTMLElement | null = null;\nlet globalHandlersAttached = false;\nconst subscribers = new Set<UI5Element>();\nconst selfManagedDragAreas = new Set<HTMLElement | ShadowRoot>();\n\nconst ondragstart = (e: DragEvent) => {\n\tif (!e.dataTransfer || !(e.target instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\tif (!selfManagedDragAreas.has(e.target)) {\n\t\tdraggedElement = e.target;\n\t}\n\n\thandleMultipleDrag(e);\n};\n\nconst handleMultipleDrag = async (e: DragEvent) => {\n\tif (!customDragElementPromise || !e.dataTransfer) {\n\t\treturn;\n\t}\n\tconst dragElement = await customDragElementPromise;\n\t// Add to document body temporarily\n\tdocument.body.appendChild(dragElement);\n\n\te.dataTransfer.setDragImage(dragElement, 0, 0);\n\n\t// Clean up the temporary element after the drag operation starts\n\trequestAnimationFrame(() => {\n\t\tdragElement.remove();\n\t});\n};\n\nconst ondragend = () => {\n\tdraggedElement = null;\n\tcustomDragElementPromise = null;\n};\n\nconst ondrop = () => {\n\tdraggedElement = null;\n\tcustomDragElementPromise = 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 createDefaultMultiDragElement = async (count: number): Promise<HTMLElement> => {\n\tconst dragElement = document.createElement(\"div\");\n\tconst i18nBundle = await getI18nBundle(\"@ui5/webcomponents-base\");\n\n\tconst dragElementShadow = dragElement.attachShadow({ mode: \"open\" });\n\n\tconst styles = new CSSStyleSheet();\n\tstyles.replaceSync(MultipleDragGhostCss);\n\n\tdragElementShadow.adoptedStyleSheets = [styles];\n\tdragElementShadow.textContent = i18nBundle.getText(DRAG_DROP_MULTIPLE_TEXT, count);\n\n\treturn dragElement;\n};\n\n/**\n * Starts a multiple drag operation by creating a drag ghost element.\n * The drag ghost will be displayed when dragging multiple items.\n *\n * @param {number} count - The number of items being dragged.\n * @param {DragEvent} e - The drag event that triggered the operation.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst startMultipleDrag = (count: number, e: DragEvent): void => {\n\tif (count < MIN_MULTI_DRAG_COUNT) {\n\t\tconsole.warn(`Cannot start multiple drag with count ${count}. Minimum is ${MIN_MULTI_DRAG_COUNT}.`); // eslint-disable-line\n\t\treturn;\n\t}\n\n\tcustomDragElementPromise = createDefaultMultiDragElement(count);\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\tglobalHandlersAttached = true;\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\ntype DragAndDropSettings = {\n\t/**\n\t * Allow cross-browser and file drag and drop.\n\t */\n\tcrossDnD?: boolean;\n\t/**\n\t * Pass the original event in the event parameters.\n\t */\n\toriginalEvent?: boolean;\n};\n\ntype MoveEventDetail = {\n\toriginalEvent: Event,\n\tsource: {\n\t\telement: HTMLElement,\n\t},\n\tdestination: {\n\t\telement: HTMLElement,\n\t\tplacement: `${MovePlacement}`,\n\t}\n};\n\nconst DragRegistry = {\n\tsubscribe,\n\tunsubscribe,\n\taddSelfManagedArea,\n\tremoveSelfManagedArea,\n\tgetDraggedElement,\n\tstartMultipleDrag,\n};\n\nexport default DragRegistry;\nexport {\n\tstartMultipleDrag,\n};\nexport type {\n\tSetDraggedElementFunction,\n\tDragAndDropSettings,\n\tMoveEventDetail,\n};\n"]}
|
package/package-scripts.cjs
CHANGED
|
@@ -15,8 +15,8 @@ const viteConfig = `-c "${require.resolve("@ui5/webcomponents-tools/components-p
|
|
|
15
15
|
const scripts = {
|
|
16
16
|
clean: "rimraf src/generated && rimraf dist && rimraf .port",
|
|
17
17
|
lint: `eslint .`,
|
|
18
|
-
generate: "cross-env UI5_TS=true nps clean integrate copy generateAssetParameters generateVersionInfo generateStyles generateTemplates",
|
|
19
|
-
prepare: "cross-env UI5_TS=true nps clean integrate copy generateAssetParameters generateVersionInfo generateStyles generateTemplates typescript integrate.no-remaining-require",
|
|
18
|
+
generate: "cross-env UI5_TS=true nps clean build.i18n integrate copy generateAssetParameters generateVersionInfo generateStyles generateTemplates build.jsonImports",
|
|
19
|
+
prepare: "cross-env UI5_TS=true nps clean build.i18n integrate copy generateAssetParameters generateVersionInfo generateStyles generateTemplates typescript integrate.no-remaining-require build.jsonImports",
|
|
20
20
|
typescript: "tsc -b",
|
|
21
21
|
integrate: {
|
|
22
22
|
default: "nps integrate.copy-used-modules integrate.amd-to-es6 integrate.third-party",
|
|
@@ -32,6 +32,15 @@ const scripts = {
|
|
|
32
32
|
build: {
|
|
33
33
|
default: `nps prepare`,
|
|
34
34
|
bundle: `vite build ${viteConfig}`,
|
|
35
|
+
i18n: {
|
|
36
|
+
default: "nps build.i18n.defaultsjs build.i18n.json",
|
|
37
|
+
defaultsjs: `node "${LIB}/i18n/defaults.js" src/i18n src/generated/i18n`,
|
|
38
|
+
json: `node "${LIB}/i18n/toJSON.js" src/i18n dist/generated/assets/i18n`,
|
|
39
|
+
},
|
|
40
|
+
jsonImports: {
|
|
41
|
+
default: "mkdirp src/generated/json-imports && nps build.jsonImports.i18n",
|
|
42
|
+
i18n: `node "${LIB}/generate-json-imports/i18n.js" dist/generated/assets/i18n src/generated/json-imports`,
|
|
43
|
+
},
|
|
35
44
|
},
|
|
36
45
|
copy: {
|
|
37
46
|
default: "nps copy.src",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui5/webcomponents-base",
|
|
3
|
-
"version": "2.13.0
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "UI5 Web Components: webcomponents.base",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@openui5/sap.ui.core": "1.120.17",
|
|
64
64
|
"@ui5/cypress-internal": "0.0.0",
|
|
65
|
-
"@ui5/webcomponents-tools": "2.13.0
|
|
65
|
+
"@ui5/webcomponents-tools": "2.13.0",
|
|
66
66
|
"chromedriver": "^137.0.4",
|
|
67
67
|
"clean-css": "^5.2.2",
|
|
68
68
|
"copy-and-watch": "^0.1.5",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"resolve": "^1.20.0",
|
|
74
74
|
"touch": "^3.1.0"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "005828de6708dade06748df6216ff9072f10aea5"
|
|
77
77
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
/* copy list item design */
|
|
3
|
+
justify-content: center;
|
|
4
|
+
align-items: center;
|
|
5
|
+
display: flex;
|
|
6
|
+
color: var(--sapList_TextColor);
|
|
7
|
+
background-color: var(--sapList_Background);
|
|
8
|
+
font-family: "72override", var(--sapFontFamily);
|
|
9
|
+
height: var(--sapElement_LineHeight);
|
|
10
|
+
border-bottom: var(--sapList_BorderWidth) solid var(--sapList_BorderColor);
|
|
11
|
+
/* drag and drop related */
|
|
12
|
+
opacity: 0.8;
|
|
13
|
+
position: absolute;
|
|
14
|
+
padding: 0 1rem;
|
|
15
|
+
top: -1000px;
|
|
16
|
+
left: -1000px;
|
|
17
|
+
}
|