@ui5/webcomponents-base 2.13.0-rc.1 → 2.13.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/.tsbuildinfobuild +1 -1
  3. package/dist/Assets-fetch.d.ts +1 -0
  4. package/dist/Assets-fetch.js +3 -0
  5. package/dist/Assets-fetch.js.map +1 -0
  6. package/dist/Assets-node.d.ts +12 -0
  7. package/dist/Assets-node.js +14 -0
  8. package/dist/Assets-node.js.map +1 -0
  9. package/dist/Assets.d.ts +1 -0
  10. package/dist/Assets.js +3 -0
  11. package/dist/Assets.js.map +1 -0
  12. package/dist/DragAndDrop.d.ts +2 -0
  13. package/dist/DragAndDrop.js +5 -0
  14. package/dist/DragAndDrop.js.map +1 -0
  15. package/dist/UI5Element.js +1 -1
  16. package/dist/UI5Element.js.map +1 -1
  17. package/dist/css/MultipleDragGhost.css +17 -0
  18. package/dist/custom-elements-internal.json +25 -10
  19. package/dist/custom-elements.json +25 -10
  20. package/dist/features/F6Navigation.js +4 -9
  21. package/dist/features/F6Navigation.js.map +1 -1
  22. package/dist/features/OpenUI5Support.d.ts +3 -0
  23. package/dist/features/OpenUI5Support.js +10 -1
  24. package/dist/features/OpenUI5Support.js.map +1 -1
  25. package/dist/features/patchPopup.d.ts +4 -1
  26. package/dist/features/patchPopup.js +22 -4
  27. package/dist/features/patchPopup.js.map +1 -1
  28. package/dist/generated/VersionInfo.js +3 -3
  29. package/dist/generated/VersionInfo.js.map +1 -1
  30. package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
  31. package/dist/generated/css/MultipleDragGhost.css.js +2 -0
  32. package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
  33. package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
  34. package/dist/generated/i18n/i18n-defaults.js +3 -0
  35. package/dist/generated/i18n/i18n-defaults.js.map +1 -0
  36. package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
  37. package/dist/generated/json-imports/i18n-fetch.js +2 -0
  38. package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
  39. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  40. package/dist/generated/json-imports/i18n-node.js +2 -0
  41. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  42. package/dist/generated/json-imports/i18n.d.ts +1 -0
  43. package/dist/generated/json-imports/i18n.js +2 -0
  44. package/dist/generated/json-imports/i18n.js.map +1 -0
  45. package/dist/index.d.ts +2 -1
  46. package/dist/index.js +3 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/jsx-runtime.d.ts +1 -0
  49. package/dist/jsx-runtime.js.map +1 -1
  50. package/dist/prod/Assets-fetch.js +2 -0
  51. package/dist/prod/Assets-fetch.js.map +7 -0
  52. package/dist/prod/Assets-node.js +2 -0
  53. package/dist/prod/Assets-node.js.map +7 -0
  54. package/dist/prod/Assets.js +2 -0
  55. package/dist/prod/Assets.js.map +7 -0
  56. package/dist/prod/DragAndDrop.js +2 -0
  57. package/dist/prod/DragAndDrop.js.map +7 -0
  58. package/dist/prod/UI5Element.js +1 -1
  59. package/dist/prod/UI5Element.js.map +2 -2
  60. package/dist/prod/features/F6Navigation.js +1 -1
  61. package/dist/prod/features/F6Navigation.js.map +3 -3
  62. package/dist/prod/features/OpenUI5Support.js +1 -1
  63. package/dist/prod/features/OpenUI5Support.js.map +3 -3
  64. package/dist/prod/features/patchPopup.js +1 -1
  65. package/dist/prod/features/patchPopup.js.map +3 -3
  66. package/dist/prod/generated/VersionInfo.js +1 -1
  67. package/dist/prod/generated/VersionInfo.js.map +1 -1
  68. package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
  69. package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
  70. package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
  71. package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
  72. package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
  73. package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
  74. package/dist/prod/generated/json-imports/i18n-node.js +2 -0
  75. package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
  76. package/dist/prod/generated/json-imports/i18n.js +2 -0
  77. package/dist/prod/generated/json-imports/i18n.js.map +7 -0
  78. package/dist/prod/index.js +1 -1
  79. package/dist/prod/index.js.map +3 -3
  80. package/dist/prod/jsx-runtime.js.map +2 -2
  81. package/dist/prod/util/dragAndDrop/DragRegistry.js +1 -1
  82. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +3 -3
  83. package/dist/types.d.ts +6 -1
  84. package/dist/types.js.map +1 -1
  85. package/dist/util/dragAndDrop/DragRegistry.d.ts +10 -0
  86. package/dist/util/dragAndDrop/DragRegistry.js +48 -0
  87. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -1
  88. package/package-scripts.cjs +11 -2
  89. package/package.json +3 -3
  90. package/src/css/MultipleDragGhost.css +17 -0
  91. package/src/i18n/messagebundle.properties +5 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/features/OpenUI5Support.ts"],
4
- "sourcesContent": ["import patchPatcher from \"./patchPatcher.js\";\nimport type { OpenUI5Patcher } from \"./patchPatcher.js\";\nimport patchPopup from \"./patchPopup.js\";\nimport type { OpenUI5Popup } from \"./patchPopup.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport type { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tready: () => Promise<void>,\n\tattachThemeChanged: (callback: () => void) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype ControlBehavior = {\n\tgetAnimationMode: () => string,\n}\n\ntype Localization = {\n\tgetLanguage: () => string,\n\tgetLanguageTag: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n}\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Theming = {\n\tgetThemeRoot: () => string,\n\tgetTheme: () => string,\n\tattachApplied: (callback: () => void) => void,\n}\n\ntype Formatting = {\n\tgetCalendarType: () => string,\n\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing,\n\tgetCustomIslamicCalendarData?: () => LegacyDateCalendarCustomizing,\n}\n\ntype CalendarUtils = {\n\tgetWeekConfigurationValues: () => {\n\t\tfirstDayOfWeek: number | undefined,\n\t},\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nclass OpenUI5Support {\n\tstatic isAtLeastVersion116() {\n\t\tif (!window.sap.ui!.version) {\n\t\t\treturn true; // sap.ui.version will be removed in newer OpenUI5 versions\n\t\t}\n\t\tconst version = window.sap.ui!.version as string;\n\t\tconst parts = version.split(\".\");\n\t\tif (!parts || parts.length < 2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn parseInt(parts[0]) > 1 || parseInt(parts[1]) >= 116;\n\t}\n\n\tstatic isOpenUI5Detected() {\n\t\treturn typeof window.sap?.ui?.require === \"function\";\n\t}\n\n\tstatic initPromise?: Promise<void>;\n\n\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tif (!OpenUI5Support.initPromise) {\n\t\t\tOpenUI5Support.initPromise = new Promise<void>(resolve => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\t\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) { // for versions since 1.116.0 and onward, use the modular core\n\t\t\t\t\t\t\tdeps = [\n\t\t\t\t\t\t\t\t...deps,\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Formatting\",\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Localization\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/ControlBehavior\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/Theming\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/date/CalendarUtils\",\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindow.sap.ui.require(deps, (Popup: OpenUI5Popup, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\t\tpatchPopup(Popup);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\t\t\t\tawait Core.ready();\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tCore.attachInit(callback);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treturn OpenUI5Support.initPromise;\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst ControlBehavior = window.sap.ui.require(\"sap/ui/core/ControlBehavior\") as ControlBehavior;\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\tconst Theming = window.sap.ui.require(\"sap/ui/core/Theming\") as Theming;\n\t\t\tconst Formatting = window.sap.ui.require(\"sap/base/i18n/Formatting\") as Formatting;\n\t\t\tconst CalendarUtils = window.sap.ui.require(\"sap/ui/core/date/CalendarUtils\") as CalendarUtils;\n\n\t\t\treturn {\n\t\t\t\tanimationMode: ControlBehavior.getAnimationMode(),\n\t\t\t\tlanguage: Localization.getLanguage(),\n\t\t\t\ttheme: Theming.getTheme(),\n\t\t\t\tthemeRoot: Theming.getThemeRoot(),\n\t\t\t\trtl: Localization.getRTL(),\n\t\t\t\ttimezone: Localization.getTimezone(),\n\t\t\t\tcalendarType: Formatting.getCalendarType(),\n\t\t\t\tformatSettings: {\n\t\t\t\t\tfirstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,\n\t\t\t\t\tlegacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()\n\t\t\t\t\t\t\t\t\t\t\t\t?? Formatting.getLegacyDateCalendarCustomizing?.(),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: config.getThemeRoot(),\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: config.getTimezone(),\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\treturn LocaleData.getInstance(Localization.getLanguageTag())._get();\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst Theming: Theming = window.sap.ui.require(\"sap/ui/core/Theming\");\n\t\t\tTheming.attachApplied(() => {\n\t\t\t\tsetTheme(Theming.getTheme());\n\t\t\t});\n\t\t} else {\n\t\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\t\tconst config = Core.getConfiguration();\n\t\t\tCore.attachThemeChanged(() => {\n\t\t\t\tsetTheme(config.getTheme());\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic attachListeners() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/);\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"],
5
- "mappings": "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",
6
- "names": ["patchPatcher", "patchPopup", "registerFeature", "setTheme", "OpenUI5Support", "parts", "resolve", "Core", "callback", "deps", "Popup", "Patcher", "ControlBehavior", "Localization", "Theming", "Formatting", "CalendarUtils", "config", "LocaleData", "link", "el"]
4
+ "sourcesContent": ["import patchPatcher from \"./patchPatcher.js\";\nimport type { OpenUI5Patcher } from \"./patchPatcher.js\";\nimport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n} from \"./patchPopup.js\";\nimport type { OpenUI5Popup } from \"./patchPopup.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport type { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tready: () => Promise<void>,\n\tattachThemeChanged: (callback: () => void) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype ControlBehavior = {\n\tgetAnimationMode: () => string,\n}\n\ntype Localization = {\n\tgetLanguage: () => string,\n\tgetLanguageTag: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n}\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Theming = {\n\tgetThemeRoot: () => string,\n\tgetTheme: () => string,\n\tattachApplied: (callback: () => void) => void,\n}\n\ntype Formatting = {\n\tgetCalendarType: () => string,\n\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing,\n\tgetCustomIslamicCalendarData?: () => LegacyDateCalendarCustomizing,\n}\n\ntype CalendarUtils = {\n\tgetWeekConfigurationValues: () => {\n\t\tfirstDayOfWeek: number | undefined,\n\t},\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nclass OpenUI5Support {\n\tstatic isAtLeastVersion116() {\n\t\tif (!window.sap.ui!.version) {\n\t\t\treturn true; // sap.ui.version will be removed in newer OpenUI5 versions\n\t\t}\n\t\tconst version = window.sap.ui!.version as string;\n\t\tconst parts = version.split(\".\");\n\t\tif (!parts || parts.length < 2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn parseInt(parts[0]) > 1 || parseInt(parts[1]) >= 116;\n\t}\n\n\tstatic isOpenUI5Detected() {\n\t\treturn typeof window.sap?.ui?.require === \"function\";\n\t}\n\n\tstatic initPromise?: Promise<void>;\n\n\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tif (!OpenUI5Support.initPromise) {\n\t\t\tOpenUI5Support.initPromise = new Promise<void>(resolve => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\t\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) { // for versions since 1.116.0 and onward, use the modular core\n\t\t\t\t\t\t\tdeps = [\n\t\t\t\t\t\t\t\t...deps,\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Formatting\",\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Localization\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/ControlBehavior\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/Theming\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/date/CalendarUtils\",\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindow.sap.ui.require(deps, (Popup: OpenUI5Popup, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\t\tpatchPopup(Popup);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\t\t\t\tawait Core.ready();\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tCore.attachInit(callback);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treturn OpenUI5Support.initPromise;\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst ControlBehavior = window.sap.ui.require(\"sap/ui/core/ControlBehavior\") as ControlBehavior;\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\tconst Theming = window.sap.ui.require(\"sap/ui/core/Theming\") as Theming;\n\t\t\tconst Formatting = window.sap.ui.require(\"sap/base/i18n/Formatting\") as Formatting;\n\t\t\tconst CalendarUtils = window.sap.ui.require(\"sap/ui/core/date/CalendarUtils\") as CalendarUtils;\n\n\t\t\treturn {\n\t\t\t\tanimationMode: ControlBehavior.getAnimationMode(),\n\t\t\t\tlanguage: Localization.getLanguage(),\n\t\t\t\ttheme: Theming.getTheme(),\n\t\t\t\tthemeRoot: Theming.getThemeRoot(),\n\t\t\t\trtl: Localization.getRTL(),\n\t\t\t\ttimezone: Localization.getTimezone(),\n\t\t\t\tcalendarType: Formatting.getCalendarType(),\n\t\t\t\tformatSettings: {\n\t\t\t\t\tfirstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,\n\t\t\t\t\tlegacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()\n\t\t\t\t\t\t\t\t\t\t\t\t?? Formatting.getLegacyDateCalendarCustomizing?.(),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: config.getThemeRoot(),\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: config.getTimezone(),\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\treturn LocaleData.getInstance(Localization.getLanguageTag())._get();\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst Theming: Theming = window.sap.ui.require(\"sap/ui/core/Theming\");\n\t\t\tTheming.attachApplied(() => {\n\t\t\t\tsetTheme(Theming.getTheme());\n\t\t\t});\n\t\t} else {\n\t\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\t\tconst config = Core.getConfiguration();\n\t\t\tCore.attachThemeChanged(() => {\n\t\t\t\tsetTheme(config.getTheme());\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic attachListeners() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/);\n\t}\n\n\tstatic addOpenedPopup(popup: object) {\n\t\taddOpenedPopup(popup);\n\t}\n\n\tstatic removeOpenedPopup(popup: object) {\n\t\tremoveOpenedPopup(popup);\n\t}\n\n\tstatic getTopmostPopup() {\n\t\treturn getTopmostPopup();\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"],
5
+ "mappings": "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",
6
+ "names": ["patchPatcher", "patchPopup", "addOpenedPopup", "removeOpenedPopup", "getTopmostPopup", "registerFeature", "setTheme", "OpenUI5Support", "parts", "resolve", "Core", "callback", "deps", "Popup", "Patcher", "ControlBehavior", "Localization", "Theming", "Formatting", "CalendarUtils", "config", "LocaleData", "link", "el", "popup"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";const a=e=>{e.setAttribute("popover","manual"),e.showPopover()},l=e=>{e.hasAttribute("popover")&&(e.hidePopover(),e.removeAttribute("popover"))},i=(e=document)=>e.querySelector(":popover-open")?!0:Array.from(e.querySelectorAll("*")).some(o=>{const p=o.shadowRoot;return p&&i(p)}),u=e=>{const o=e.prototype.open;e.prototype.open=function(...t){o.apply(this,t);const n=i();if(["OPENING","OPEN"].includes(this.getOpenState())&&n){const c=this.getContent();if(c){const r=c instanceof HTMLElement?c:c?.getDomRef();r&&a(r)}}}},y=e=>{const o=e.prototype._closed;e.prototype._closed=function(...t){const n=this.getContent(),s=n instanceof HTMLElement?n:n?.getDomRef();o.apply(this,t),s&&l(s)}},v=e=>{const o=e.prototype.onFocusEvent;e.prototype.onFocusEvent=function(t){const n=t.type==="focus"||t.type==="activate",s=t.target;(!n||!s.closest("[ui5-popover],[ui5-responsive-popover],[ui5-dialog]"))&&o.call(this,t)}},d=()=>{const e=new CSSStyleSheet;e.replaceSync(".sapMPopup-CTX:popover-open { inset: unset; }"),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]},h=e=>{u(e),y(e),d(),v(e)};export default h;
1
+ "use strict";import y from"../getSharedResource.js";const s=y("AllOpenedPopupsRegistry",{openedRegistry:[]}),l=e=>{s.openedRegistry.push(e)},a=e=>{const t=s.openedRegistry.indexOf(e);t>-1&&s.openedRegistry.splice(t,1)},u=()=>s.openedRegistry[s.openedRegistry.length-1],g=e=>{e.setAttribute("popover","manual"),e.showPopover()},h=e=>{e.hasAttribute("popover")&&(e.hidePopover(),e.removeAttribute("popover"))},d=(e=document)=>e.querySelector(":popover-open")?!0:Array.from(e.querySelectorAll("*")).some(t=>{const o=t.shadowRoot;return o&&d(o)}),v=e=>{const t=e.prototype.open;e.prototype.open=function(...n){t.apply(this,n);const p=d();if(["OPENING","OPEN"].includes(this.getOpenState())&&p){const r=this.getContent();if(r){const i=r instanceof HTMLElement?r:r?.getDomRef();i&&g(i)}}l(this)}},m=e=>{const t=e.prototype._closed;e.prototype._closed=function(...n){const p=this.getContent(),c=p instanceof HTMLElement?p:p?.getDomRef();t.apply(this,n),c&&h(c),a(this)}},O=e=>{const t=e.prototype.onFocusEvent;e.prototype.onFocusEvent=function(n){this===u()&&t.call(this,n)}},E=()=>{const e=new CSSStyleSheet;e.replaceSync(".sapMPopup-CTX:popover-open { inset: unset; }"),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]},f=e=>{v(e),m(e),E(),O(e)};export{f as patchPopup,l as addOpenedPopup,a as removeOpenedPopup,u as getTopmostPopup};
2
2
  //# sourceMappingURL=patchPopup.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/features/patchPopup.ts"],
4
- "sourcesContent": ["// OpenUI5's Control.js subset\ntype Control = {\n\tgetDomRef: () => HTMLElement | null,\n}\n\n// The lifecycle of Popup.js is open -> _opened -> close -> _closed, we're interested in the first (open) and last (_closed)\ntype OpenUI5Popup = {\n\tprototype: {\n\t\topen: (...args: any[]) => void,\n\t\t_closed: (...args: any[]) => void,\n\t\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\t\tgetContent: () => Control | HTMLElement | null, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\t\tonFocusEvent: (e: FocusEvent) => void,\n\t}\n};\n\nconst openNativePopover = (domRef: HTMLElement) => {\n\tdomRef.setAttribute(\"popover\", \"manual\");\n\tdomRef.showPopover();\n};\n\nconst closeNativePopover = (domRef: HTMLElement) => {\n\tif (domRef.hasAttribute(\"popover\")) {\n\t\tdomRef.hidePopover();\n\t\tdomRef.removeAttribute(\"popover\");\n\t}\n};\n\nconst isNativePopoverOpen = (root: Document | ShadowRoot = document): boolean => {\n\tif (root.querySelector(\":popover-open\")) {\n\t\treturn true;\n\t}\n\n\treturn Array.from(root.querySelectorAll(\"*\")).some(element => {\n\t\tconst shadowRoot = element.shadowRoot;\n\t\treturn shadowRoot && isNativePopoverOpen(shadowRoot);\n\t});\n};\n\nconst patchOpen = (Popup: OpenUI5Popup) => {\n\tconst origOpen = Popup.prototype.open;\n\tPopup.prototype.open = function open(...args: any[]) {\n\t\torigOpen.apply(this, args); // call open first to initiate opening\n\t\tconst topLayerAlreadyInUse = isNativePopoverOpen();\n\t\tconst openingInitiated = [\"OPENING\", \"OPEN\"].includes(this.getOpenState());\n\t\tif (openingInitiated && topLayerAlreadyInUse) {\n\t\t\tconst element = this.getContent();\n\t\t\tif (element) {\n\t\t\t\tconst domRef = element instanceof HTMLElement ? element : element?.getDomRef();\n\t\t\t\tif (domRef) {\n\t\t\t\t\topenNativePopover(domRef);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n};\n\nconst patchClosed = (Popup: OpenUI5Popup) => {\n\tconst _origClosed = Popup.prototype._closed;\n\tPopup.prototype._closed = function _closed(...args: any[]) {\n\t\tconst element = this.getContent();\n\t\tconst domRef = element instanceof HTMLElement ? element : element?.getDomRef();\n\t\t_origClosed.apply(this, args); // only then call _close\n\t\tif (domRef) {\n\t\t\tcloseNativePopover(domRef); // unset the popover attribute and close the native popover, but only if still in DOM\n\t\t}\n\t};\n};\n\nconst patchFocusEvent = (Popup: OpenUI5Popup) => {\n\tconst origFocusEvent = Popup.prototype.onFocusEvent;\n\tPopup.prototype.onFocusEvent = function onFocusEvent(e: FocusEvent) {\n\t\tconst isTypeFocus = e.type === \"focus\" || e.type === \"activate\";\n\t\tconst target = e.target as HTMLElement;\n\t\tif (!isTypeFocus || !target.closest(\"[ui5-popover],[ui5-responsive-popover],[ui5-dialog]\")) {\n\t\t\torigFocusEvent.call(this, e);\n\t\t}\n\t};\n};\n\nconst createGlobalStyles = () => {\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst patchPopup = (Popup: OpenUI5Popup) => {\n\tpatchOpen(Popup); // Popup.prototype.open\n\tpatchClosed(Popup); // Popup.prototype._closed\n\tcreateGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)\n\tpatchFocusEvent(Popup);// Popup.prototype.onFocusEvent\n};\n\nexport default patchPopup;\nexport type { OpenUI5Popup };\n"],
5
- "mappings": "aAgBA,MAAMA,EAAqBC,GAAwB,CAClDA,EAAO,aAAa,UAAW,QAAQ,EACvCA,EAAO,YAAY,CACpB,EAEMC,EAAsBD,GAAwB,CAC/CA,EAAO,aAAa,SAAS,IAChCA,EAAO,YAAY,EACnBA,EAAO,gBAAgB,SAAS,EAElC,EAEME,EAAsB,CAACC,EAA8B,WACtDA,EAAK,cAAc,eAAe,EAC9B,GAGD,MAAM,KAAKA,EAAK,iBAAiB,GAAG,CAAC,EAAE,KAAKC,GAAW,CAC7D,MAAMC,EAAaD,EAAQ,WAC3B,OAAOC,GAAcH,EAAoBG,CAAU,CACpD,CAAC,EAGIC,EAAaC,GAAwB,CAC1C,MAAMC,EAAWD,EAAM,UAAU,KACjCA,EAAM,UAAU,KAAO,YAAiBE,EAAa,CACpDD,EAAS,MAAM,KAAMC,CAAI,EACzB,MAAMC,EAAuBR,EAAoB,EAEjD,GADyB,CAAC,UAAW,MAAM,EAAE,SAAS,KAAK,aAAa,CAAC,GACjDQ,EAAsB,CAC7C,MAAMN,EAAU,KAAK,WAAW,EAChC,GAAIA,EAAS,CACZ,MAAMJ,EAASI,aAAmB,YAAcA,EAAUA,GAAS,UAAU,EACzEJ,GACHD,EAAkBC,CAAM,CAE1B,CACD,CACD,CACD,EAEMW,EAAeJ,GAAwB,CAC5C,MAAMK,EAAcL,EAAM,UAAU,QACpCA,EAAM,UAAU,QAAU,YAAoBE,EAAa,CAC1D,MAAML,EAAU,KAAK,WAAW,EAC1BJ,EAASI,aAAmB,YAAcA,EAAUA,GAAS,UAAU,EAC7EQ,EAAY,MAAM,KAAMH,CAAI,EACxBT,GACHC,EAAmBD,CAAM,CAE3B,CACD,EAEMa,EAAmBN,GAAwB,CAChD,MAAMO,EAAiBP,EAAM,UAAU,aACvCA,EAAM,UAAU,aAAe,SAAsBQ,EAAe,CACnE,MAAMC,EAAcD,EAAE,OAAS,SAAWA,EAAE,OAAS,WAC/CE,EAASF,EAAE,QACb,CAACC,GAAe,CAACC,EAAO,QAAQ,qDAAqD,IACxFH,EAAe,KAAK,KAAMC,CAAC,CAE7B,CACD,EAEMG,EAAqB,IAAM,CAChC,MAAMC,EAAa,IAAI,cACvBA,EAAW,YAAY,+CAA+C,EACtE,SAAS,mBAAqB,CAAC,GAAG,SAAS,mBAAoBA,CAAU,CAC1E,EAEMC,EAAcb,GAAwB,CAC3CD,EAAUC,CAAK,EACfI,EAAYJ,CAAK,EACjBW,EAAmB,EACnBL,EAAgBN,CAAK,CACtB,EAEA,eAAea",
6
- "names": ["openNativePopover", "domRef", "closeNativePopover", "isNativePopoverOpen", "root", "element", "shadowRoot", "patchOpen", "Popup", "origOpen", "args", "topLayerAlreadyInUse", "patchClosed", "_origClosed", "patchFocusEvent", "origFocusEvent", "e", "isTypeFocus", "target", "createGlobalStyles", "stylesheet", "patchPopup"]
4
+ "sourcesContent": ["// OpenUI5's Control.js subset\nimport getSharedResource from \"../getSharedResource.js\";\n\ntype Control = {\n\tgetDomRef: () => HTMLElement | null,\n}\n\n// The lifecycle of Popup.js is open -> _opened -> close -> _closed, we're interested in the first (open) and last (_closed)\ntype OpenUI5Popup = {\n\tprototype: {\n\t\topen: (...args: any[]) => void,\n\t\t_closed: (...args: any[]) => void,\n\t\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\t\tgetContent: () => Control | HTMLElement | null, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\t\tonFocusEvent: (e: FocusEvent) => void,\n\t}\n};\n\n// contains all OpenUI5 and Web Component popups that are currently opened\nconst AllOpenedPopupsRegistry = getSharedResource<{ openedRegistry: Array<object> }>(\"AllOpenedPopupsRegistry\", { openedRegistry: [] });\n\nconst addOpenedPopup = (popup: object) => {\n\tAllOpenedPopupsRegistry.openedRegistry.push(popup);\n};\n\nconst removeOpenedPopup = (popup: object) => {\n\tconst index = AllOpenedPopupsRegistry.openedRegistry.indexOf(popup);\n\tif (index > -1) {\n\t\tAllOpenedPopupsRegistry.openedRegistry.splice(index, 1);\n\t}\n};\n\nconst getTopmostPopup = () => {\n\treturn AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 1];\n};\n\nconst openNativePopover = (domRef: HTMLElement) => {\n\tdomRef.setAttribute(\"popover\", \"manual\");\n\tdomRef.showPopover();\n};\n\nconst closeNativePopover = (domRef: HTMLElement) => {\n\tif (domRef.hasAttribute(\"popover\")) {\n\t\tdomRef.hidePopover();\n\t\tdomRef.removeAttribute(\"popover\");\n\t}\n};\n\nconst isNativePopoverOpen = (root: Document | ShadowRoot = document): boolean => {\n\tif (root.querySelector(\":popover-open\")) {\n\t\treturn true;\n\t}\n\n\treturn Array.from(root.querySelectorAll(\"*\")).some(element => {\n\t\tconst shadowRoot = element.shadowRoot;\n\t\treturn shadowRoot && isNativePopoverOpen(shadowRoot);\n\t});\n};\n\nconst patchOpen = (Popup: OpenUI5Popup) => {\n\tconst origOpen = Popup.prototype.open;\n\tPopup.prototype.open = function open(...args: any[]) {\n\t\torigOpen.apply(this, args); // call open first to initiate opening\n\t\tconst topLayerAlreadyInUse = isNativePopoverOpen();\n\t\tconst openingInitiated = [\"OPENING\", \"OPEN\"].includes(this.getOpenState());\n\t\tif (openingInitiated && topLayerAlreadyInUse) {\n\t\t\tconst element = this.getContent();\n\t\t\tif (element) {\n\t\t\t\tconst domRef = element instanceof HTMLElement ? element : element?.getDomRef();\n\t\t\t\tif (domRef) {\n\t\t\t\t\topenNativePopover(domRef);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\taddOpenedPopup(this);\n\t};\n};\n\nconst patchClosed = (Popup: OpenUI5Popup) => {\n\tconst _origClosed = Popup.prototype._closed;\n\tPopup.prototype._closed = function _closed(...args: any[]) {\n\t\tconst element = this.getContent();\n\t\tconst domRef = element instanceof HTMLElement ? element : element?.getDomRef();\n\t\t_origClosed.apply(this, args); // only then call _close\n\t\tif (domRef) {\n\t\t\tcloseNativePopover(domRef); // unset the popover attribute and close the native popover, but only if still in DOM\n\t\t}\n\n\t\tremoveOpenedPopup(this);\n\t};\n};\n\nconst patchFocusEvent = (Popup: OpenUI5Popup) => {\n\tconst origFocusEvent = Popup.prototype.onFocusEvent;\n\tPopup.prototype.onFocusEvent = function onFocusEvent(e: FocusEvent) {\n\t\t// If the popup is the topmost one, we call the original focus event handler from the OpenUI5 Popup,\n\t\t// otherwise the focus event is handled by the Web Component Popup.\n\t\tif (this === getTopmostPopup()) {\n\t\t\torigFocusEvent.call(this, e);\n\t\t}\n\t};\n};\n\nconst createGlobalStyles = () => {\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst patchPopup = (Popup: OpenUI5Popup) => {\n\tpatchOpen(Popup); // Popup.prototype.open\n\tpatchClosed(Popup); // Popup.prototype._closed\n\tcreateGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)\n\tpatchFocusEvent(Popup);// Popup.prototype.onFocusEvent\n};\n\nexport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n};\n\nexport type { OpenUI5Popup };\n"],
5
+ "mappings": "aACA,OAAOA,MAAuB,0BAkB9B,MAAMC,EAA0BD,EAAqD,0BAA2B,CAAE,eAAgB,CAAC,CAAE,CAAC,EAEhIE,EAAkBC,GAAkB,CACzCF,EAAwB,eAAe,KAAKE,CAAK,CAClD,EAEMC,EAAqBD,GAAkB,CAC5C,MAAME,EAAQJ,EAAwB,eAAe,QAAQE,CAAK,EAC9DE,EAAQ,IACXJ,EAAwB,eAAe,OAAOI,EAAO,CAAC,CAExD,EAEMC,EAAkB,IAChBL,EAAwB,eAAeA,EAAwB,eAAe,OAAS,CAAC,EAG1FM,EAAqBC,GAAwB,CAClDA,EAAO,aAAa,UAAW,QAAQ,EACvCA,EAAO,YAAY,CACpB,EAEMC,EAAsBD,GAAwB,CAC/CA,EAAO,aAAa,SAAS,IAChCA,EAAO,YAAY,EACnBA,EAAO,gBAAgB,SAAS,EAElC,EAEME,EAAsB,CAACC,EAA8B,WACtDA,EAAK,cAAc,eAAe,EAC9B,GAGD,MAAM,KAAKA,EAAK,iBAAiB,GAAG,CAAC,EAAE,KAAKC,GAAW,CAC7D,MAAMC,EAAaD,EAAQ,WAC3B,OAAOC,GAAcH,EAAoBG,CAAU,CACpD,CAAC,EAGIC,EAAaC,GAAwB,CAC1C,MAAMC,EAAWD,EAAM,UAAU,KACjCA,EAAM,UAAU,KAAO,YAAiBE,EAAa,CACpDD,EAAS,MAAM,KAAMC,CAAI,EACzB,MAAMC,EAAuBR,EAAoB,EAEjD,GADyB,CAAC,UAAW,MAAM,EAAE,SAAS,KAAK,aAAa,CAAC,GACjDQ,EAAsB,CAC7C,MAAMN,EAAU,KAAK,WAAW,EAChC,GAAIA,EAAS,CACZ,MAAMJ,EAASI,aAAmB,YAAcA,EAAUA,GAAS,UAAU,EACzEJ,GACHD,EAAkBC,CAAM,CAE1B,CACD,CAEAN,EAAe,IAAI,CACpB,CACD,EAEMiB,EAAeJ,GAAwB,CAC5C,MAAMK,EAAcL,EAAM,UAAU,QACpCA,EAAM,UAAU,QAAU,YAAoBE,EAAa,CAC1D,MAAML,EAAU,KAAK,WAAW,EAC1BJ,EAASI,aAAmB,YAAcA,EAAUA,GAAS,UAAU,EAC7EQ,EAAY,MAAM,KAAMH,CAAI,EACxBT,GACHC,EAAmBD,CAAM,EAG1BJ,EAAkB,IAAI,CACvB,CACD,EAEMiB,EAAmBN,GAAwB,CAChD,MAAMO,EAAiBP,EAAM,UAAU,aACvCA,EAAM,UAAU,aAAe,SAAsBQ,EAAe,CAG/D,OAASjB,EAAgB,GAC5BgB,EAAe,KAAK,KAAMC,CAAC,CAE7B,CACD,EAEMC,EAAqB,IAAM,CAChC,MAAMC,EAAa,IAAI,cACvBA,EAAW,YAAY,+CAA+C,EACtE,SAAS,mBAAqB,CAAC,GAAG,SAAS,mBAAoBA,CAAU,CAC1E,EAEMC,EAAcX,GAAwB,CAC3CD,EAAUC,CAAK,EACfI,EAAYJ,CAAK,EACjBS,EAAmB,EACnBH,EAAgBN,CAAK,CACtB,EAEA,OACCW,KAAA,WACAxB,KAAA,eACAE,KAAA,kBACAE,KAAA",
6
+ "names": ["getSharedResource", "AllOpenedPopupsRegistry", "addOpenedPopup", "popup", "removeOpenedPopup", "index", "getTopmostPopup", "openNativePopover", "domRef", "closeNativePopover", "isNativePopoverOpen", "root", "element", "shadowRoot", "patchOpen", "Popup", "origOpen", "args", "topLayerAlreadyInUse", "patchClosed", "_origClosed", "patchFocusEvent", "origFocusEvent", "e", "createGlobalStyles", "stylesheet", "patchPopup"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";const e={version:"2.13.0-rc.1",major:2,minor:13,patch:0,suffix:"-rc.1",isNext:!1,buildTime:1752739857};export default e;
1
+ "use strict";const e={version:"2.13.0-rc.3",major:2,minor:13,patch:0,suffix:"-rc.3",isNext:!1,buildTime:1753949477};export default e;
2
2
  //# sourceMappingURL=VersionInfo.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/generated/VersionInfo.ts"],
4
- "sourcesContent": ["const VersionInfo = {\n\tversion: \"2.13.0-rc.1\",\n\tmajor: 2,\n\tminor: 13,\n\tpatch: 0,\n\tsuffix: \"-rc.1\",\n\tisNext: false,\n\tbuildTime: 1752739857,\n};\nexport default VersionInfo;"],
4
+ "sourcesContent": ["const VersionInfo = {\n\tversion: \"2.13.0-rc.3\",\n\tmajor: 2,\n\tminor: 13,\n\tpatch: 0,\n\tsuffix: \"-rc.3\",\n\tisNext: false,\n\tbuildTime: 1753949477,\n};\nexport default VersionInfo;"],
5
5
  "mappings": "aAAA,MAAMA,EAAc,CACnB,QAAS,cACT,MAAO,EACP,MAAO,GACP,MAAO,EACP,OAAQ,QACR,OAAQ,GACR,UAAW,UACZ,EACA,eAAeA",
6
6
  "names": ["VersionInfo"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";export default':host{justify-content:center;align-items:center;display:flex;color:var(--sapList_TextColor);background-color:var(--sapList_Background);font-family:"72override",var(--sapFontFamily);height:var(--sapElement_LineHeight);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor);opacity:.8;position:absolute;padding:0 1rem;top:-1000px;left:-1000px}';
2
+ //# sourceMappingURL=MultipleDragGhost.css.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/generated/css/MultipleDragGhost.css.ts"],
4
+ "sourcesContent": ["export default `:host{justify-content:center;align-items:center;display:flex;color:var(--sapList_TextColor);background-color:var(--sapList_Background);font-family:\"72override\",var(--sapFontFamily);height:var(--sapElement_LineHeight);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor);opacity:.8;position:absolute;padding:0 1rem;top:-1000px;left:-1000px}`;"],
5
+ "mappings": "aAAA,cAAe",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";const e={key:"DRAG_DROP_MULTIPLE_TEXT",defaultText:"{0} items"};export{e as DRAG_DROP_MULTIPLE_TEXT};
2
+ //# sourceMappingURL=i18n-defaults.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/generated/i18n/i18n-defaults.ts"],
4
+ "sourcesContent": ["import type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nconst DRAG_DROP_MULTIPLE_TEXT: I18nText = {key: \"DRAG_DROP_MULTIPLE_TEXT\", defaultText: \"{0} items\"};\nexport {DRAG_DROP_MULTIPLE_TEXT};"],
5
+ "mappings": "aACA,MAAMA,EAAoC,CAAC,IAAK,0BAA2B,YAAa,WAAW,EACnG,OAAQA,KAAA",
6
+ "names": ["DRAG_DROP_MULTIPLE_TEXT"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=i18n-fetch.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=i18n-node.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";import t from"./animations/scroll.js";import o from"./animations/slideDown.js";import r from"./animations/slideUp.js";import{getAnimationMode as m,setAnimationMode as i}from"./config/AnimationMode.js";import{getCalendarType as n}from"./config/CalendarType.js";import{getFirstDayOfWeek as a,getLegacyDateCalendarCustomizing as p}from"./config/FormatSettings.js";import{setDefaultIconCollection as s,getDefaultIconCollection as f}from"./config/Icons.js";import{RegisteredIconCollection as g}from"./asset-registries/util/IconCollectionsByTheme.js";import l from"./asset-registries/util/getIconCollectionByTheme.js";import{getLanguage as d,setLanguage as u,getDefaultLanguage as c,setFetchDefaultLanguage as C,getFetchDefaultLanguage as T}from"./config/Language.js";import{getNoConflict as h,setNoConflict as D}from"./config/NoConflict.js";import{getTheme as x,setTheme as L,getDefaultTheme as E}from"./config/Theme.js";import y from"./decorators/customElement.js";import I from"./decorators/event.js";import S from"./decorators/property.js";import v from"./decorators/slot.js";import R from"./delegate/ItemNavigation.js";import F from"./delegate/ResizeHandler.js";import J from"./delegate/ScrollEnablement.js";import N from"./locale/applyDirection.js";import{attachDirectionChange as U,detachDirectionChange as B}from"./locale/directionChange.js";import M from"./locale/getEffectiveDir.js";import{attachLanguageChange as b,detachLanguageChange as k}from"./locale/languageChange.js";import{URLListValidator as z,sanitizeHTML as A}from"./util/HTMLSanitizer.js";import{registerI18nLoader as O}from"./asset-registries/i18n.js";import{registerLocaleDataLoader as P}from"./asset-registries/LocaleData.js";import{registerThemePropertiesLoader as j}from"./asset-registries/Themes.js";import{registerIconLoader as H}from"./asset-registries/Icons.js";import{attachBoot as X}from"./Boot.js";import{setCustomElementsScopingSuffix as w,getCustomElementsScopingSuffix as G,setCustomElementsScopingRules as V,getCustomElementsScopingRules as W,getEffectiveScopingSuffixForTag as q}from"./CustomElementsScope.js";import{supportsTouch as K,isSafari as Q,isChrome as Y,isFirefox as Z,isPhone as _,isTablet as $,isDesktop as ee,isCombi as te,isIOS as oe,isAndroid as re}from"./Device.js";import me from"./EventProvider.js";import ie,{getI18nBundle as ne,registerCustomI18nBundleGetter as ae}from"./i18nBundle.js";import pe from"./MediaRange.js";import{renderDeferred as se,renderImmediately as fe,cancelRender as ge,renderFinished as le}from"./Render.js";import{addCustomCSS as de,attachThemeLoaded as ue,detachThemeLoaded as ce}from"./Theming.js";import e from"./UI5Element.js";export default e;export{t as scroll,o as slideDown,r as slideUp,m as getAnimationMode,i as setAnimationMode,n as getCalendarType,a as getFirstDayOfWeek,p as getLegacyDateCalendarCustomizing,s as setDefaultIconCollection,f as getDefaultIconCollection,l as getEffectiveIconCollection,g as RegisteredIconCollection,d as getLanguage,u as setLanguage,c as getDefaultLanguage,C as setFetchDefaultLanguage,T as getFetchDefaultLanguage,h as getNoConflict,D as setNoConflict,x as getTheme,L as setTheme,E as getDefaultTheme,y as customElement,I as event,S as property,v as slot,R as ItemNavigation,F as ResizeHandler,J as ScrollEnablement,N as applyDirection,U as attachDirectionChange,B as detachDirectionChange,M as getEffectiveDir,b as attachLanguageChange,k as detachLanguageChange,z as URLListValidator,A as sanitizeHTML,O as registerI18nLoader,P as registerLocaleDataLoader,j as registerThemePropertiesLoader,H as registerIconLoader,X as attachBoot,w as setCustomElementsScopingSuffix,G as getCustomElementsScopingSuffix,V as setCustomElementsScopingRules,W as getCustomElementsScopingRules,q as getEffectiveScopingSuffixForTag,K as supportsTouch,Q as isSafari,Y as isChrome,Z as isFirefox,_ as isPhone,$ as isTablet,ee as isDesktop,te as isCombi,oe as isIOS,re as isAndroid,me as EventProvider,ie as I18nBundle,ne as getI18nBundle,ae as registerCustomI18nBundleGetter,pe as MediaRange,se as renderDeferred,fe as renderImmediately,ge as cancelRender,le as renderFinished,de as addCustomCSS,ue as attachThemeLoaded,ce as detachThemeLoaded,e as UI5Element};
1
+ "use strict";import t from"./animations/scroll.js";import o from"./animations/slideDown.js";import r from"./animations/slideUp.js";import{getAnimationMode as m,setAnimationMode as i}from"./config/AnimationMode.js";import{getCalendarType as a}from"./config/CalendarType.js";import{getFirstDayOfWeek as n,getLegacyDateCalendarCustomizing as p}from"./config/FormatSettings.js";import{setDefaultIconCollection as s,getDefaultIconCollection as f}from"./config/Icons.js";import{RegisteredIconCollection as g}from"./asset-registries/util/IconCollectionsByTheme.js";import l from"./asset-registries/util/getIconCollectionByTheme.js";import{startMultipleDrag as d}from"./DragAndDrop.js";import{getLanguage as u,setLanguage as c,getDefaultLanguage as C,setFetchDefaultLanguage as T,getFetchDefaultLanguage as h}from"./config/Language.js";import{getNoConflict as D,setNoConflict as x}from"./config/NoConflict.js";import{getTheme as L,setTheme as E,getDefaultTheme as y}from"./config/Theme.js";import I from"./decorators/customElement.js";import S from"./decorators/event.js";import v from"./decorators/property.js";import R from"./decorators/slot.js";import F from"./delegate/ItemNavigation.js";import J from"./delegate/ResizeHandler.js";import M from"./delegate/ScrollEnablement.js";import N from"./locale/applyDirection.js";import{attachDirectionChange as U,detachDirectionChange as B}from"./locale/directionChange.js";import b from"./locale/getEffectiveDir.js";import{attachLanguageChange as k,detachLanguageChange as z}from"./locale/languageChange.js";import{URLListValidator as A,sanitizeHTML as O}from"./util/HTMLSanitizer.js";import{registerI18nLoader as P}from"./asset-registries/i18n.js";import{registerLocaleDataLoader as j}from"./asset-registries/LocaleData.js";import{registerThemePropertiesLoader as H}from"./asset-registries/Themes.js";import{registerIconLoader as X}from"./asset-registries/Icons.js";import{attachBoot as w}from"./Boot.js";import{setCustomElementsScopingSuffix as G,getCustomElementsScopingSuffix as V,setCustomElementsScopingRules as W,getCustomElementsScopingRules as q,getEffectiveScopingSuffixForTag as K}from"./CustomElementsScope.js";import{supportsTouch as Q,isSafari as Y,isChrome as Z,isFirefox as _,isPhone as $,isTablet as ee,isDesktop as te,isCombi as oe,isIOS as re,isAndroid as me}from"./Device.js";import ie from"./EventProvider.js";import ae,{getI18nBundle as ne,registerCustomI18nBundleGetter as pe}from"./i18nBundle.js";import se from"./MediaRange.js";import{renderDeferred as fe,renderImmediately as ge,cancelRender as le,renderFinished as de}from"./Render.js";import{addCustomCSS as ue,attachThemeLoaded as ce,detachThemeLoaded as Ce}from"./Theming.js";import e from"./UI5Element.js";export default e;export{d as startMultipleDrag,t as scroll,o as slideDown,r as slideUp,m as getAnimationMode,i as setAnimationMode,a as getCalendarType,n as getFirstDayOfWeek,p as getLegacyDateCalendarCustomizing,s as setDefaultIconCollection,f as getDefaultIconCollection,l as getEffectiveIconCollection,g as RegisteredIconCollection,u as getLanguage,c as setLanguage,C as getDefaultLanguage,T as setFetchDefaultLanguage,h as getFetchDefaultLanguage,D as getNoConflict,x as setNoConflict,L as getTheme,E as setTheme,y as getDefaultTheme,I as customElement,S as event,v as property,R as slot,F as ItemNavigation,J as ResizeHandler,M as ScrollEnablement,N as applyDirection,U as attachDirectionChange,B as detachDirectionChange,b as getEffectiveDir,k as attachLanguageChange,z as detachLanguageChange,A as URLListValidator,O as sanitizeHTML,P as registerI18nLoader,j as registerLocaleDataLoader,H as registerThemePropertiesLoader,X as registerIconLoader,w as attachBoot,G as setCustomElementsScopingSuffix,V as getCustomElementsScopingSuffix,W as setCustomElementsScopingRules,q as getCustomElementsScopingRules,K as getEffectiveScopingSuffixForTag,Q as supportsTouch,Y as isSafari,Z as isChrome,_ as isFirefox,$ as isPhone,ee as isTablet,te as isDesktop,oe as isCombi,re as isIOS,me as isAndroid,ie as EventProvider,ae as I18nBundle,ne as getI18nBundle,pe as registerCustomI18nBundleGetter,se as MediaRange,fe as renderDeferred,ge as renderImmediately,le as cancelRender,de as renderFinished,ue as addCustomCSS,ce as attachThemeLoaded,Ce as detachThemeLoaded,e as UI5Element};
2
2
  //# sourceMappingURL=index.js.map
@@ -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": "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",
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,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/jsx-runtime.ts"],
4
- "sourcesContent": ["// eslint-disable-next-line import/extensions\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"./thirdparty/preact/jsxRuntime.module.js\";\nimport type { JSX as _JSX } from \"./thirdparty/preact/jsxRuntime.module.d.ts\";\nimport { options, type VNode as _VNode } from \"./thirdparty/preact/preact.module.js\";\nimport type UI5Element from \"./UI5Element.js\";\nimport { preprocess } from \"./jsx-utils.js\";\nimport { jsxDEV } from \"./jsx-dev-runtime.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\ndeclare namespace JSX {\n\ttype JSXWithClassObj = { [K in keyof _JSX.IntrinsicElements]: Omit<_JSX.IntrinsicElements[K], \"class\"> & { class?: object | string | undefined } };\n\ttype AllHTMLAttributesWithClassObj<T extends EventTarget> = Omit<_JSX.AllHTMLAttributes<T>, \"class\"> & { class?: object | string | undefined }\n\ttype HTMLAttributesWithClassObj<T extends EventTarget> = Omit<_JSX.HTMLAttributes<T>, \"class\"> & { class?: object | string | undefined }\n export interface IntrinsicElements extends JSXWithClassObj {}\n export type ElementClass = UI5Element;\n\texport interface Element extends VNode<any> {}\n export interface ElementAttributesProperty<T extends EventTarget> {\n\t\t_jsxProps: HTMLAttributes<T>;\n\t}\n\texport interface AllHTMLAttributes<T extends EventTarget> extends AllHTMLAttributesWithClassObj<T> {}\n\texport interface HTMLAttributes<T extends EventTarget> extends HTMLAttributesWithClassObj<T> {}\n\texport interface DOMAttributes<T extends EventTarget> extends _JSX.DOMAttributes<T> {}\n\texport interface SVGAttributes extends _JSX.SVGAttributes {}\n\texport type AriaRole = _JSX.AriaRole;\n\texport type MouseEventHandler<T extends EventTarget> = _JSX.MouseEventHandler<T>;\n\texport type TargetedMouseEvent<Target extends EventTarget> = _JSX.TargetedMouseEvent<Target>;\n\texport type TargetedInputEvent<Target extends EventTarget> = _JSX.TargetedInputEvent<Target>;\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst old = options.vnode;\n\noptions.vnode = vnode => {\n\tconst props: Record<string, any> = vnode.props;\n\tif (props !== null && typeof props === \"object\") {\n\t\tif (props.class && typeof props.class === \"object\") {\n\t\t\t// props.class = classObjToStr(props.class as Record<string, boolean>);\n\t\t}\n\t}\n\told && old(vnode);\n};\n\nexport function Fragment(props: Record<string, any>, context?: any) {\n\treturn _Fragment(props, context);\n}\nexport function jsx(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any> {\n\tconst tag = preprocess(type, props, key);\n\n\treturn _jsx(tag, props, key) as VNode<any>;\n}\nexport function jsxs(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any> {\n\tconst tag = preprocess(type, props, key);\n\n\treturn _jsxs(tag, props, key) as VNode<any>;\n}\nexport { type jsxDEV };\n\nexport type ComponentChild =\n\t| VNode<any>\n\t| object\n\t| string\n\t| number\n\t| bigint\n\t| boolean\n\t| null\n\t| undefined;\nexport type ComponentChildren = ComponentChild[] | ComponentChild;\n\nexport type VNode<T = {}> = Omit<_VNode<T>, \"type\" | \"props\"> & { type: string | typeof UI5Element, props: T & { children: ComponentChildren } };\n\nexport { JSX };\n"],
5
- "mappings": "aACA,OAAS,OAAOA,EAAM,QAAQC,EAAO,YAAYC,MAAiB,2CAElE,OAAS,WAAAC,MAAqC,uCAE9C,OAAS,cAAAC,MAAkB,iBAyB3B,MAAMC,EAAMF,EAAQ,MAEpBA,EAAQ,MAAQG,GAAS,CACxB,MAAMC,EAA6BD,EAAM,MACrCC,IAAU,MAAQ,OAAOA,GAAU,UAClCA,EAAM,OAAgBA,EAAM,MAIjCF,GAAOA,EAAIC,CAAK,CACjB,EAEO,gBAAS,SAASC,EAA4BC,EAAe,CACnE,OAAON,EAAUK,EAAOC,CAAO,CAChC,CACO,gBAAS,IAAIC,EAAkCF,EAA4BG,EAAyB,CAC1G,MAAMC,EAAMP,EAAWK,EAAMF,EAAOG,CAAG,EAEvC,OAAOV,EAAKW,EAAKJ,EAAOG,CAAG,CAC5B,CACO,gBAAS,KAAKD,EAAkCF,EAA4BG,EAAyB,CAC3G,MAAMC,EAAMP,EAAWK,EAAMF,EAAOG,CAAG,EAEvC,OAAOT,EAAMU,EAAKJ,EAAOG,CAAG,CAC7B,CACA,SAeA",
4
+ "sourcesContent": ["// eslint-disable-next-line import/extensions\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"./thirdparty/preact/jsxRuntime.module.js\";\nimport type { JSX as _JSX } from \"./thirdparty/preact/jsxRuntime.module.d.ts\";\nimport { options, type VNode as _VNode } from \"./thirdparty/preact/preact.module.js\";\nimport type UI5Element from \"./UI5Element.js\";\nimport { preprocess } from \"./jsx-utils.js\";\nimport { jsxDEV } from \"./jsx-dev-runtime.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\ndeclare namespace JSX {\n\ttype JSXWithClassObj = { [K in keyof _JSX.IntrinsicElements]: Omit<_JSX.IntrinsicElements[K], \"class\"> & { class?: object | string | undefined } };\n\ttype AllHTMLAttributesWithClassObj<T extends EventTarget> = Omit<_JSX.AllHTMLAttributes<T>, \"class\"> & { class?: object | string | undefined }\n\ttype HTMLAttributesWithClassObj<T extends EventTarget> = Omit<_JSX.HTMLAttributes<T>, \"class\"> & { class?: object | string | undefined }\n export interface IntrinsicElements extends JSXWithClassObj {}\n export type ElementClass = UI5Element;\n\texport interface Element extends VNode<any> {}\n export interface ElementAttributesProperty<T extends EventTarget> {\n\t\t_jsxProps: HTMLAttributes<T>;\n\t}\n\texport interface AllHTMLAttributes<T extends EventTarget> extends AllHTMLAttributesWithClassObj<T> {}\n\texport interface HTMLAttributes<T extends EventTarget> extends HTMLAttributesWithClassObj<T> {}\n\texport interface DOMAttributes<T extends EventTarget> extends _JSX.DOMAttributes<T> {}\n\texport interface SVGAttributes extends _JSX.SVGAttributes {}\n\texport type AriaRole = _JSX.AriaRole;\n\texport type AriaAttributes = _JSX.AriaAttributes;\n\texport type MouseEventHandler<T extends EventTarget> = _JSX.MouseEventHandler<T>;\n\texport type TargetedMouseEvent<Target extends EventTarget> = _JSX.TargetedMouseEvent<Target>;\n\texport type TargetedInputEvent<Target extends EventTarget> = _JSX.TargetedInputEvent<Target>;\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst old = options.vnode;\n\noptions.vnode = vnode => {\n\tconst props: Record<string, any> = vnode.props;\n\tif (props !== null && typeof props === \"object\") {\n\t\tif (props.class && typeof props.class === \"object\") {\n\t\t\t// props.class = classObjToStr(props.class as Record<string, boolean>);\n\t\t}\n\t}\n\told && old(vnode);\n};\n\nexport function Fragment(props: Record<string, any>, context?: any) {\n\treturn _Fragment(props, context);\n}\nexport function jsx(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any> {\n\tconst tag = preprocess(type, props, key);\n\n\treturn _jsx(tag, props, key) as VNode<any>;\n}\nexport function jsxs(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any> {\n\tconst tag = preprocess(type, props, key);\n\n\treturn _jsxs(tag, props, key) as VNode<any>;\n}\nexport { type jsxDEV };\n\nexport type ComponentChild =\n\t| VNode<any>\n\t| object\n\t| string\n\t| number\n\t| bigint\n\t| boolean\n\t| null\n\t| undefined;\nexport type ComponentChildren = ComponentChild[] | ComponentChild;\n\nexport type VNode<T = {}> = Omit<_VNode<T>, \"type\" | \"props\"> & { type: string | typeof UI5Element, props: T & { children: ComponentChildren } };\n\nexport { JSX };\n"],
5
+ "mappings": "aACA,OAAS,OAAOA,EAAM,QAAQC,EAAO,YAAYC,MAAiB,2CAElE,OAAS,WAAAC,MAAqC,uCAE9C,OAAS,cAAAC,MAAkB,iBA0B3B,MAAMC,EAAMF,EAAQ,MAEpBA,EAAQ,MAAQG,GAAS,CACxB,MAAMC,EAA6BD,EAAM,MACrCC,IAAU,MAAQ,OAAOA,GAAU,UAClCA,EAAM,OAAgBA,EAAM,MAIjCF,GAAOA,EAAIC,CAAK,CACjB,EAEO,gBAAS,SAASC,EAA4BC,EAAe,CACnE,OAAON,EAAUK,EAAOC,CAAO,CAChC,CACO,gBAAS,IAAIC,EAAkCF,EAA4BG,EAAyB,CAC1G,MAAMC,EAAMP,EAAWK,EAAMF,EAAOG,CAAG,EAEvC,OAAOV,EAAKW,EAAKJ,EAAOG,CAAG,CAC5B,CACO,gBAAS,KAAKD,EAAkCF,EAA4BG,EAAyB,CAC3G,MAAMC,EAAMP,EAAWK,EAAMF,EAAOG,CAAG,EAEvC,OAAOT,EAAMU,EAAKJ,EAAOG,CAAG,CAC7B,CACA,SAeA",
6
6
  "names": ["_jsx", "_jsxs", "_Fragment", "options", "preprocess", "old", "vnode", "props", "context", "type", "key", "tag"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";let t=null,n=!1;const o=new Set,a=new Set,r=e=>{!e.dataTransfer||!(e.target instanceof HTMLElement)||a.has(e.target)||(t=e.target)},d=()=>{t=null},l=()=>{t=null},s=e=>{t=e},m=()=>t,g=()=>{n||(document.body.addEventListener("dragstart",r),document.body.addEventListener("dragend",d),document.body.addEventListener("drop",l))},c=()=>{document.body.removeEventListener("dragstart",r),document.body.removeEventListener("dragend",d),document.body.removeEventListener("drop",l),n=!1},i=e=>{o.add(e),n||g()},E=e=>{o.delete(e),o.size===0&&n&&c()},u=e=>(a.add(e),s),v=e=>{a.delete(e)},p={subscribe:i,unsubscribe:E,addSelfManagedArea:u,removeSelfManagedArea:v,getDraggedElement:m};export default p;
1
+ "use strict";import p from"../../generated/css/MultipleDragGhost.css.js";import{getI18nBundle as D}from"../../i18nBundle.js";import{DRAG_DROP_MULTIPLE_TEXT as M}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),v(e))},v=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(M,e),t},u=e=>{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": "aAGA,IAAIA,EAAqC,KACrCC,EAAyB,GAC7B,MAAMC,EAAc,IAAI,IAClBC,EAAuB,IAAI,IAE3BC,EAAe,GAAiB,CACjC,CAAC,EAAE,cAAgB,EAAE,EAAE,kBAAkB,cAIxCD,EAAqB,IAAI,EAAE,MAAM,IACrCH,EAAiB,EAAE,OAErB,EAEMK,EAAY,IAAM,CACvBL,EAAiB,IAClB,EAEMM,EAAS,IAAM,CACpBN,EAAiB,IAClB,EAEMO,EAAqBC,GAAgC,CAC1DR,EAAiBQ,CAClB,EAGMC,EAAoB,IAClBT,EAGFU,EAAuB,IAAM,CAC9BT,IAIJ,SAAS,KAAK,iBAAiB,YAAaG,CAAW,EACvD,SAAS,KAAK,iBAAiB,UAAWC,CAAS,EACnD,SAAS,KAAK,iBAAiB,OAAQC,CAAM,EAC9C,EAEMK,EAAuB,IAAM,CAClC,SAAS,KAAK,oBAAoB,YAAaP,CAAW,EAC1D,SAAS,KAAK,oBAAoB,UAAWC,CAAS,EACtD,SAAS,KAAK,oBAAoB,OAAQC,CAAM,EAChDL,EAAyB,EAC1B,EAEMW,EAAaC,GAA2B,CAC7CX,EAAY,IAAIW,CAAU,EAErBZ,GACJS,EAAqB,CAEvB,EAEMI,EAAeD,GAA2B,CAC/CX,EAAY,OAAOW,CAAU,EAEzBX,EAAY,OAAS,GAAKD,GAC7BU,EAAqB,CAEvB,EAEMI,EAAsBC,IAC3Bb,EAAqB,IAAIa,CAAI,EAEtBT,GAGFU,EAAyBD,GAAmC,CACjEb,EAAqB,OAAOa,CAAI,CACjC,EAwBME,EAAe,CACpB,UAAAN,EACA,YAAAE,EACA,mBAAAC,EACA,sBAAAE,EACA,kBAAAR,CACD,EAEA,eAAeS",
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 * @public\n */\nconst startMultipleDrag = (count: number): 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,EASMW,EAAqBJ,GAAwB,CAClD,GAAIA,EAAQf,EAAsB,CACjC,QAAQ,KAAK,yCAAyCe,CAAK,gBAAgBf,CAAoB,GAAG,EAClG,MACD,CAEAC,EAA2Ba,EAA8BC,CAAK,CAC/D,EAEMK,EAAuB,IAAM,CAC9BjB,IAIJ,SAAS,KAAK,iBAAiB,YAAaG,CAAW,EACvD,SAAS,KAAK,iBAAiB,UAAWG,CAAS,EACnD,SAAS,KAAK,iBAAiB,OAAQC,CAAM,EAC7CP,EAAyB,GAC1B,EAEMkB,EAAuB,IAAM,CAClC,SAAS,KAAK,oBAAoB,YAAaf,CAAW,EAC1D,SAAS,KAAK,oBAAoB,UAAWG,CAAS,EACtD,SAAS,KAAK,oBAAoB,OAAQC,CAAM,EAChDP,EAAyB,EAC1B,EAEMmB,EAAaC,GAA2B,CAC7CnB,EAAY,IAAImB,CAAU,EAErBpB,GACJiB,EAAqB,CAEvB,EAEMI,EAAeD,GAA2B,CAC/CnB,EAAY,OAAOmB,CAAU,EAEzBnB,EAAY,OAAS,GAAKD,GAC7BkB,EAAqB,CAEvB,EAEMI,EAAsBC,IAC3BrB,EAAqB,IAAIqB,CAAI,EAEtBf,GAGFgB,EAAyBD,GAAmC,CACjErB,EAAqB,OAAOqB,CAAI,CACjC,EAwBME,EAAe,CACpB,UAAAN,EACA,YAAAE,EACA,mBAAAC,EACA,sBAAAE,EACA,kBAAAd,EACA,kBAAAM,CACD,EAEA,eAAeS,EACf,OACCT,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", "attachGlobalHandlers", "detachGlobalHandlers", "subscribe", "subscriber", "unsubscribe", "addSelfManagedArea", "area", "removeSelfManagedArea", "DragRegistry"]
7
7
  }
package/dist/types.d.ts CHANGED
@@ -13,7 +13,10 @@ export type PassiveEventListenerObject = EventListenerObject & {
13
13
  passive: boolean;
14
14
  };
15
15
  export type AriaRole = JSX.AriaRole;
16
- export type AriaHasPopup = "dialog" | "grid" | "listbox" | "menu" | "tree";
16
+ export type AriaDisabled = JSX.AriaAttributes["aria-disabled"];
17
+ export type AriaChecked = JSX.AriaAttributes["aria-checked"];
18
+ export type AriaReadonly = JSX.AriaAttributes["aria-readonly"];
19
+ export type AriaHasPopup = "dialog" | "grid" | "listbox" | "menu" | "tree" | "false";
17
20
  export type AriaCurrent = "page" | "step" | "location" | "date" | "time" | "true" | "false" | boolean | undefined;
18
21
  export type AriaAutoComplete = "list" | "none" | "inline" | "both" | undefined;
19
22
  export type AriaLandmarkRole = "none" | "banner" | "main" | "region" | "navigation" | "search" | "complementary" | "form" | "contentinfo";
@@ -38,4 +41,6 @@ export type AccessibilityAttributes = {
38
41
  ariaKeyShortcuts?: string;
39
42
  ariaCurrent?: AriaCurrent;
40
43
  current?: AriaCurrent;
44
+ roleDescription?: string;
45
+ title?: string;
41
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 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,14 @@ 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
+ * @public
11
+ */
12
+ declare const startMultipleDrag: (count: number) => void;
5
13
  type DragAndDropSettings = {
6
14
  /**
7
15
  * Allow cross-browser and file drag and drop.
@@ -28,6 +36,8 @@ declare const DragRegistry: {
28
36
  addSelfManagedArea: (area: HTMLElement | ShadowRoot) => (element: HTMLElement | null) => void;
29
37
  removeSelfManagedArea: (area: HTMLElement | ShadowRoot) => void;
30
38
  getDraggedElement: () => HTMLElement | null;
39
+ startMultipleDrag: (count: number) => void;
31
40
  };
32
41
  export default DragRegistry;
42
+ export { startMultipleDrag, };
33
43
  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,30 @@ 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
+ * @public
62
+ */
63
+ const startMultipleDrag = (count) => {
64
+ if (count < MIN_MULTI_DRAG_COUNT) {
65
+ console.warn(`Cannot start multiple drag with count ${count}. Minimum is ${MIN_MULTI_DRAG_COUNT}.`); // eslint-disable-line
66
+ return;
67
+ }
68
+ customDragElementPromise = createDefaultMultiDragElement(count);
69
+ };
25
70
  const attachGlobalHandlers = () => {
26
71
  if (globalHandlersAttached) {
27
72
  return;
@@ -29,6 +74,7 @@ const attachGlobalHandlers = () => {
29
74
  document.body.addEventListener("dragstart", ondragstart);
30
75
  document.body.addEventListener("dragend", ondragend);
31
76
  document.body.addEventListener("drop", ondrop);
77
+ globalHandlersAttached = true;
32
78
  };
33
79
  const detachGlobalHandlers = () => {
34
80
  document.body.removeEventListener("dragstart", ondragstart);
@@ -61,6 +107,8 @@ const DragRegistry = {
61
107
  addSelfManagedArea,
62
108
  removeSelfManagedArea,
63
109
  getDraggedElement,
110
+ startMultipleDrag,
64
111
  };
65
112
  export default DragRegistry;
113
+ export { startMultipleDrag, };
66
114
  //# sourceMappingURL=DragRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragRegistry.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/DragRegistry.ts"],"names":[],"mappings":"AAGA,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;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,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;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,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;CACjB,CAAC;AAEF,eAAe,YAAY,CAAC","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"]}
1
+ {"version":3,"file":"DragRegistry.js","sourceRoot":"","sources":["../../../src/util/dragAndDrop/DragRegistry.ts"],"names":[],"mappings":"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","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 * @public\n */\nconst startMultipleDrag = (count: number): 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"]}
@@ -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",