@ui5/webcomponents-base 2.13.0-rc.2 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +25 -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 +24 -0
  19. package/dist/custom-elements.json +24 -0
  20. package/dist/features/F6Navigation.js +4 -9
  21. package/dist/features/F6Navigation.js.map +1 -1
  22. package/dist/generated/VersionInfo.js +3 -3
  23. package/dist/generated/VersionInfo.js.map +1 -1
  24. package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
  25. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  26. package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
  27. package/dist/generated/css/MultipleDragGhost.css.js +2 -0
  28. package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
  29. package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
  30. package/dist/generated/i18n/i18n-defaults.js +3 -0
  31. package/dist/generated/i18n/i18n-defaults.js.map +1 -0
  32. package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
  33. package/dist/generated/json-imports/i18n-fetch.js +22 -0
  34. package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
  35. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  36. package/dist/generated/json-imports/i18n-node.js +22 -0
  37. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  38. package/dist/generated/json-imports/i18n.d.ts +1 -0
  39. package/dist/generated/json-imports/i18n.js +22 -0
  40. package/dist/generated/json-imports/i18n.js.map +1 -0
  41. package/dist/index.d.ts +2 -1
  42. package/dist/index.js +3 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/prod/Assets-fetch.js +2 -0
  45. package/dist/prod/Assets-fetch.js.map +7 -0
  46. package/dist/prod/Assets-node.js +2 -0
  47. package/dist/prod/Assets-node.js.map +7 -0
  48. package/dist/prod/Assets.js +2 -0
  49. package/dist/prod/Assets.js.map +7 -0
  50. package/dist/prod/DragAndDrop.js +2 -0
  51. package/dist/prod/DragAndDrop.js.map +7 -0
  52. package/dist/prod/UI5Element.js +1 -1
  53. package/dist/prod/UI5Element.js.map +2 -2
  54. package/dist/prod/features/F6Navigation.js +1 -1
  55. package/dist/prod/features/F6Navigation.js.map +3 -3
  56. package/dist/prod/generated/VersionInfo.js +1 -1
  57. package/dist/prod/generated/VersionInfo.js.map +2 -2
  58. package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
  59. package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
  60. package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
  61. package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
  62. package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
  63. package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
  64. package/dist/prod/generated/json-imports/i18n-node.js +2 -0
  65. package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
  66. package/dist/prod/generated/json-imports/i18n.js +2 -0
  67. package/dist/prod/generated/json-imports/i18n.js.map +7 -0
  68. package/dist/prod/index.js +1 -1
  69. package/dist/prod/index.js.map +3 -3
  70. package/dist/prod/util/dragAndDrop/DragRegistry.js +1 -1
  71. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +3 -3
  72. package/dist/types.d.ts +3 -1
  73. package/dist/types.js.map +1 -1
  74. package/dist/util/dragAndDrop/DragRegistry.d.ts +11 -0
  75. package/dist/util/dragAndDrop/DragRegistry.js +50 -0
  76. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -1
  77. package/package-scripts.cjs +11 -2
  78. package/package.json +3 -3
  79. package/src/css/MultipleDragGhost.css +17 -0
  80. package/src/i18n/messagebundle.properties +5 -0
  81. package/src/i18n/messagebundle_en.properties +5 -0
  82. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
@@ -1,6 +1,5 @@
1
1
  import { getFeature, registerFeature } from "../FeaturesRegistry.js";
2
2
  import { isF6Next, isF6Previous } from "../Keys.js";
3
- import { instanceOfUI5Element } from "../UI5Element.js";
4
3
  import { getFirstFocusableElement } from "../util/FocusableElements.js";
5
4
  import getFastNavigationGroups from "../util/getFastNavigationGroups.js";
6
5
  import isElementClickable from "../util/isElementClickable.js";
@@ -28,15 +27,11 @@ class F6Navigation {
28
27
  document.removeEventListener("keydown", this.keydownHandler);
29
28
  }
30
29
  async groupElementToFocus(nextElement) {
31
- let nextElementDomRef = nextElement;
32
- if (instanceOfUI5Element(nextElement)) {
33
- nextElementDomRef = nextElement.getDomRef() || nextElement.firstElementChild;
34
- }
35
- if (nextElementDomRef) {
36
- if (isElementClickable(nextElementDomRef)) {
37
- return nextElementDomRef;
30
+ if (nextElement) {
31
+ if (isElementClickable(nextElement)) {
32
+ return nextElement;
38
33
  }
39
- const elementToFocus = await getFirstFocusableElement(nextElementDomRef);
34
+ const elementToFocus = await getFirstFocusableElement(nextElement);
40
35
  if (elementToFocus) {
41
36
  return elementToFocus;
42
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"F6Navigation.js","sourceRoot":"","sources":["../../src/features/F6Navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { getFeature, registerFeature } from \"../FeaturesRegistry.js\";\nimport { isF6Next, isF6Previous } from \"../Keys.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\nimport { getFirstFocusableElement } from \"../util/FocusableElements.js\";\nimport getFastNavigationGroups from \"../util/getFastNavigationGroups.js\";\nimport isElementClickable from \"../util/isElementClickable.js\";\nimport { getCurrentRuntimeIndex, compareRuntimes } from \"../Runtimes.js\";\nimport getSharedResource from \"../getSharedResource.js\";\nimport type OpenUI5Support from \"./OpenUI5Support.js\";\nimport getParentElement from \"../util/getParentElement.js\";\n\ntype F6Registry = {\n\tinstance?: F6Navigation,\n}\n\nconst currentRuntimeINdex = getCurrentRuntimeIndex();\n\nconst shouldUpdate = (runtimeIndex: number | undefined) => {\n\tif (runtimeIndex === undefined) {\n\t\treturn true;\n\t}\n\treturn compareRuntimes(currentRuntimeINdex, runtimeIndex) === 1; // 1 means the current is newer, 0 means the same, -1 means the resource's runtime is newer\n};\n\nclass F6Navigation {\n\tkeydownHandler: (event: KeyboardEvent) => void;\n\tselectedGroup: HTMLElement | null = null;\n\tgroups: Array<HTMLElement> = [];\n\n\tconstructor() {\n\t\tthis.keydownHandler = this._keydownHandler.bind(this) as (event: KeyboardEvent) => void;\n\t\tthis.attachEventListeners();\n\t}\n\n\tattachEventListeners() {\n\t\tdocument.addEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tremoveEventListeners() {\n\t\tdocument.removeEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tasync groupElementToFocus(nextElement: HTMLElement) {\n\t\tlet nextElementDomRef = nextElement;\n\n\t\tif (instanceOfUI5Element(nextElement)) {\n\t\t\tnextElementDomRef = nextElement.getDomRef() || nextElement.firstElementChild as HTMLElement;\n\t\t}\n\n\t\tif (nextElementDomRef) {\n\t\t\tif (isElementClickable(nextElementDomRef)) {\n\t\t\t\treturn nextElementDomRef;\n\t\t\t}\n\n\t\t\tconst elementToFocus = await getFirstFocusableElement(nextElementDomRef);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\treturn elementToFocus;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync findNextFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > -1) {\n\t\t\t\tif (currentIndex + 1 >= this.groups.length) {\n\t\t\t\t\tcurrentIndex = 0;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t} else {\n\t\t\t\t\tcurrentIndex += 1;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrentIndex = 0;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync findPreviousFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\t// Handle the situation where the first focusable element of two neighbor groups is the same\n\t\t\t\t// For example:\n\t\t\t\t// <ui5-flexible-column-layout>\n\t\t\t\t// <ui5-list>\n\t\t\t\t// <ui5-li>List Item</ui5-li>\n\t\t\t\t// </ui5-list>\n\t\t\t\t// </ui5-flexible-column-layout>\n\t\t\t\t// Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)\n\t\t\t\tconst firstFocusable = await this.groupElementToFocus(this.groups[currentIndex - 1]);\n\t\t\t\tconst shouldSkipParent = firstFocusable === await this.groupElementToFocus(this.groups[currentIndex]);\n\n\t\t\t\tcurrentIndex = shouldSkipParent ? currentIndex - 2 : currentIndex - 1;\n\n\t\t\t\tif (currentIndex < 0) {\n\t\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\t}\n\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t} else {\n\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync _keydownHandler(event: KeyboardEvent) {\n\t\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\t\tconst isOpenUI5Detected = openUI5Support && openUI5Support.isOpenUI5Detected();\n\n\t\tif (isOpenUI5Detected) {\n\t\t\tthis.destroy();\n\t\t\treturn;\n\t\t}\n\n\t\tconst forward = isF6Next(event);\n\t\tconst backward = isF6Previous(event);\n\t\tif (!(forward || backward)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateGroups();\n\n\t\tif (this.groups.length < 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tlet elementToFocus;\n\n\t\tif (this.groups.length === 0) {\n\t\t\telementToFocus = await this.groupElementToFocus(this.groups[0]);\n\n\t\t\treturn elementToFocus?.focus();\n\t\t}\n\n\t\tlet currentIndex = -1;\n\n\t\tif (this.selectedGroup) {\n\t\t\tcurrentIndex = this.groups.indexOf(this.selectedGroup);\n\t\t}\n\n\t\tif (forward) {\n\t\t\telementToFocus = await this.findNextFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\tif (backward) {\n\t\t\telementToFocus = await this.findPreviousFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\telementToFocus?.focus();\n\t}\n\n\tupdateGroups() {\n\t\tconst container = this.findContainer();\n\n\t\tthis.setSelectedGroup();\n\t\tthis.groups = getFastNavigationGroups(container);\n\t}\n\n\tfindContainer() {\n\t\tconst htmlElement = window.document.querySelector(\"html\");\n\t\tlet element = this.deepActive(window.document);\n\n\t\twhile (element && element !== htmlElement) {\n\t\t\tconst closestScopeEl = element.closest<HTMLElement>(\"[data-sap-ui-fastnavgroup-container='true']\");\n\n\t\t\tif (closestScopeEl) {\n\t\t\t\treturn closestScopeEl;\n\t\t\t}\n\n\t\t\telement = getParentElement(element);\n\t\t}\n\n\t\treturn document.body;\n\t}\n\n\tsetSelectedGroup(root: DocumentOrShadowRoot = window.document) {\n\t\tconst htmlElement = window.document.querySelector(\"html\");\n\t\tlet element: Element | null = this.deepActive(root);\n\n\t\twhile (element && element.getAttribute(\"data-sap-ui-fastnavgroup\") !== \"true\" && element !== htmlElement) {\n\t\t\telement = getParentElement(element);\n\t\t}\n\n\t\tthis.selectedGroup = element as HTMLElement;\n\t}\n\n\tdeepActive(root: DocumentOrShadowRoot): Element | null {\n\t\tif (root?.activeElement?.shadowRoot?.activeElement) {\n\t\t\treturn this.deepActive(root.activeElement.shadowRoot);\n\t\t}\n\n\t\treturn root.activeElement;\n\t}\n\n\tdestroy() {\n\t\tthis.removeEventListeners();\n\t}\n\n\tget _ui5RuntimeIndex() {\n\t\treturn currentRuntimeINdex;\n\t}\n\n\tstatic init() {\n\t\tconst f6Registry = getSharedResource<F6Registry>(\"F6Registry\", {});\n\n\t\tif (!f6Registry.instance) {\n\t\t\tf6Registry.instance = new F6Navigation();\n\t\t} else if (shouldUpdate(f6Registry.instance?._ui5RuntimeIndex)) {\n\t\t\tf6Registry.instance?.destroy();\n\t\t\tf6Registry.instance = new F6Navigation();\n\t\t}\n\t}\n}\n\nregisterFeature(\"F6Navigation\", F6Navigation);\n\nexport default F6Navigation;\n"]}
1
+ {"version":3,"file":"F6Navigation.js","sourceRoot":"","sources":["../../src/features/F6Navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { getFeature, registerFeature } from \"../FeaturesRegistry.js\";\nimport { isF6Next, isF6Previous } from \"../Keys.js\";\nimport { getFirstFocusableElement } from \"../util/FocusableElements.js\";\nimport getFastNavigationGroups from \"../util/getFastNavigationGroups.js\";\nimport isElementClickable from \"../util/isElementClickable.js\";\nimport { getCurrentRuntimeIndex, compareRuntimes } from \"../Runtimes.js\";\nimport getSharedResource from \"../getSharedResource.js\";\nimport type OpenUI5Support from \"./OpenUI5Support.js\";\nimport getParentElement from \"../util/getParentElement.js\";\n\ntype F6Registry = {\n\tinstance?: F6Navigation,\n}\n\nconst currentRuntimeINdex = getCurrentRuntimeIndex();\n\nconst shouldUpdate = (runtimeIndex: number | undefined) => {\n\tif (runtimeIndex === undefined) {\n\t\treturn true;\n\t}\n\treturn compareRuntimes(currentRuntimeINdex, runtimeIndex) === 1; // 1 means the current is newer, 0 means the same, -1 means the resource's runtime is newer\n};\n\nclass F6Navigation {\n\tkeydownHandler: (event: KeyboardEvent) => void;\n\tselectedGroup: HTMLElement | null = null;\n\tgroups: Array<HTMLElement> = [];\n\n\tconstructor() {\n\t\tthis.keydownHandler = this._keydownHandler.bind(this) as (event: KeyboardEvent) => void;\n\t\tthis.attachEventListeners();\n\t}\n\n\tattachEventListeners() {\n\t\tdocument.addEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tremoveEventListeners() {\n\t\tdocument.removeEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tasync groupElementToFocus(nextElement: HTMLElement) {\n\t\tif (nextElement) {\n\t\t\tif (isElementClickable(nextElement)) {\n\t\t\t\treturn nextElement;\n\t\t\t}\n\n\t\t\tconst elementToFocus = await getFirstFocusableElement(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\treturn elementToFocus;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync findNextFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > -1) {\n\t\t\t\tif (currentIndex + 1 >= this.groups.length) {\n\t\t\t\t\tcurrentIndex = 0;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t} else {\n\t\t\t\t\tcurrentIndex += 1;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrentIndex = 0;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync findPreviousFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\t// Handle the situation where the first focusable element of two neighbor groups is the same\n\t\t\t\t// For example:\n\t\t\t\t// <ui5-flexible-column-layout>\n\t\t\t\t// <ui5-list>\n\t\t\t\t// <ui5-li>List Item</ui5-li>\n\t\t\t\t// </ui5-list>\n\t\t\t\t// </ui5-flexible-column-layout>\n\t\t\t\t// Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)\n\t\t\t\tconst firstFocusable = await this.groupElementToFocus(this.groups[currentIndex - 1]);\n\t\t\t\tconst shouldSkipParent = firstFocusable === await this.groupElementToFocus(this.groups[currentIndex]);\n\n\t\t\t\tcurrentIndex = shouldSkipParent ? currentIndex - 2 : currentIndex - 1;\n\n\t\t\t\tif (currentIndex < 0) {\n\t\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\t}\n\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t} else {\n\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync _keydownHandler(event: KeyboardEvent) {\n\t\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\t\tconst isOpenUI5Detected = openUI5Support && openUI5Support.isOpenUI5Detected();\n\n\t\tif (isOpenUI5Detected) {\n\t\t\tthis.destroy();\n\t\t\treturn;\n\t\t}\n\n\t\tconst forward = isF6Next(event);\n\t\tconst backward = isF6Previous(event);\n\t\tif (!(forward || backward)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateGroups();\n\n\t\tif (this.groups.length < 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tlet elementToFocus;\n\n\t\tif (this.groups.length === 0) {\n\t\t\telementToFocus = await this.groupElementToFocus(this.groups[0]);\n\n\t\t\treturn elementToFocus?.focus();\n\t\t}\n\n\t\tlet currentIndex = -1;\n\n\t\tif (this.selectedGroup) {\n\t\t\tcurrentIndex = this.groups.indexOf(this.selectedGroup);\n\t\t}\n\n\t\tif (forward) {\n\t\t\telementToFocus = await this.findNextFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\tif (backward) {\n\t\t\telementToFocus = await this.findPreviousFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\telementToFocus?.focus();\n\t}\n\n\tupdateGroups() {\n\t\tconst container = this.findContainer();\n\n\t\tthis.setSelectedGroup();\n\t\tthis.groups = getFastNavigationGroups(container);\n\t}\n\n\tfindContainer() {\n\t\tconst htmlElement = window.document.querySelector(\"html\");\n\t\tlet element = this.deepActive(window.document);\n\n\t\twhile (element && element !== htmlElement) {\n\t\t\tconst closestScopeEl = element.closest<HTMLElement>(\"[data-sap-ui-fastnavgroup-container='true']\");\n\n\t\t\tif (closestScopeEl) {\n\t\t\t\treturn closestScopeEl;\n\t\t\t}\n\n\t\t\telement = getParentElement(element);\n\t\t}\n\n\t\treturn document.body;\n\t}\n\n\tsetSelectedGroup(root: DocumentOrShadowRoot = window.document) {\n\t\tconst htmlElement = window.document.querySelector(\"html\");\n\t\tlet element: Element | null = this.deepActive(root);\n\n\t\twhile (element && element.getAttribute(\"data-sap-ui-fastnavgroup\") !== \"true\" && element !== htmlElement) {\n\t\t\telement = getParentElement(element);\n\t\t}\n\n\t\tthis.selectedGroup = element as HTMLElement;\n\t}\n\n\tdeepActive(root: DocumentOrShadowRoot): Element | null {\n\t\tif (root?.activeElement?.shadowRoot?.activeElement) {\n\t\t\treturn this.deepActive(root.activeElement.shadowRoot);\n\t\t}\n\n\t\treturn root.activeElement;\n\t}\n\n\tdestroy() {\n\t\tthis.removeEventListeners();\n\t}\n\n\tget _ui5RuntimeIndex() {\n\t\treturn currentRuntimeINdex;\n\t}\n\n\tstatic init() {\n\t\tconst f6Registry = getSharedResource<F6Registry>(\"F6Registry\", {});\n\n\t\tif (!f6Registry.instance) {\n\t\t\tf6Registry.instance = new F6Navigation();\n\t\t} else if (shouldUpdate(f6Registry.instance?._ui5RuntimeIndex)) {\n\t\t\tf6Registry.instance?.destroy();\n\t\t\tf6Registry.instance = new F6Navigation();\n\t\t}\n\t}\n}\n\nregisterFeature(\"F6Navigation\", F6Navigation);\n\nexport default F6Navigation;\n"]}
@@ -1,11 +1,11 @@
1
1
  const VersionInfo = {
2
- version: "2.13.0-rc.2",
2
+ version: "2.13.0",
3
3
  major: 2,
4
4
  minor: 13,
5
5
  patch: 0,
6
- suffix: "-rc.2",
6
+ suffix: "",
7
7
  isNext: false,
8
- buildTime: 1753344636,
8
+ buildTime: 1754315594,
9
9
  };
10
10
  export default VersionInfo;
11
11
  //# sourceMappingURL=VersionInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/generated/VersionInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"2.13.0-rc.2\",\n\tmajor: 2,\n\tminor: 13,\n\tpatch: 0,\n\tsuffix: \"-rc.2\",\n\tisNext: false,\n\tbuildTime: 1753344636,\n};\nexport default VersionInfo;"]}
1
+ {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/generated/VersionInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"2.13.0\",\n\tmajor: 2,\n\tminor: 13,\n\tpatch: 0,\n\tsuffix: \"\",\n\tisNext: false,\n\tbuildTime: 1754315594,\n};\nexport default VersionInfo;"]}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} items"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"‌​​‍​‍‍​‍‍‍‌‍‌‌‍‍​‍‌‍‍‌‌​‌​‌‍‌​​‍​‌​​​​​​​{0}‌‌‌ items"}
@@ -0,0 +1,2 @@
1
+ declare const _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
+ export default _default;
@@ -0,0 +1,2 @@
1
+ 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 @@
1
+ {"version":3,"file":"MultipleDragGhost.css.js","sourceRoot":"","sources":["../../../src/generated/css/MultipleDragGhost.css.ts"],"names":[],"mappings":"AAAA,eAAe,0WAA0W,CAAC","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}`;"]}
@@ -0,0 +1,3 @@
1
+ import type { I18nText } from "@ui5/webcomponents-base/dist/i18nBundle.js";
2
+ declare const DRAG_DROP_MULTIPLE_TEXT: I18nText;
3
+ export { DRAG_DROP_MULTIPLE_TEXT };
@@ -0,0 +1,3 @@
1
+ const DRAG_DROP_MULTIPLE_TEXT = { key: "DRAG_DROP_MULTIPLE_TEXT", defaultText: "{0} items" };
2
+ export { DRAG_DROP_MULTIPLE_TEXT };
3
+ //# sourceMappingURL=i18n-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-defaults.js","sourceRoot":"","sources":["../../../src/generated/i18n/i18n-defaults.ts"],"names":[],"mappings":"AACA,MAAM,uBAAuB,GAAa,EAAC,GAAG,EAAE,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAC,CAAC;AACrG,OAAO,EAAC,uBAAuB,EAAC,CAAC","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};"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ // @ts-nocheck
2
+ import { registerI18nLoader } from "@ui5/webcomponents-base/dist/asset-registries/i18n.js";
3
+ const importMessageBundle = async (localeId) => {
4
+ switch (localeId) {
5
+ case "en": return (await fetch(new URL("../assets/i18n/messagebundle_en.json", import.meta.url))).json();
6
+ case "en_US_saprigi": return (await fetch(new URL("../assets/i18n/messagebundle_en_US_saprigi.json", import.meta.url))).json();
7
+ default: throw "unknown locale";
8
+ }
9
+ };
10
+ const importAndCheck = async (localeId) => {
11
+ const data = await importMessageBundle(localeId);
12
+ if (typeof data === "string" && data.endsWith(".json")) {
13
+ throw new Error(`[i18n] Invalid bundling detected - dynamic JSON imports bundled as URLs. Switch to inlining JSON files from the build. Check the "Assets" documentation for more information.`);
14
+ }
15
+ return data;
16
+ };
17
+ const localeIds = ["en",
18
+ "en_US_saprigi",];
19
+ localeIds.forEach(localeId => {
20
+ registerI18nLoader("@ui5/webcomponents-base", localeId, importAndCheck);
21
+ });
22
+ //# sourceMappingURL=i18n-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-fetch.js","sourceRoot":"","sources":["../../../src/generated/json-imports/i18n-fetch.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAE3F,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC9C,QAAQ,QAAQ,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3G,KAAK,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,iDAAiD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/H,OAAO,CAAC,CAAC,MAAM,gBAAgB,CAAA;IAChC,CAAC;AACF,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,+KAA+K,CAAC,CAAC;IAClM,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAI;IACtB,eAAe,EAAE,CAAC;AAEnB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAC5B,kBAAkB,CAAC,yBAAyB,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC","sourcesContent":["// @ts-nocheck\nimport { registerI18nLoader } from \"@ui5/webcomponents-base/dist/asset-registries/i18n.js\";\n\nconst importMessageBundle = async (localeId) => {\n\tswitch (localeId) {\n\t\t\t\tcase \"en\": return (await fetch(new URL(\"../assets/i18n/messagebundle_en.json\", import.meta.url))).json();\n\t\tcase \"en_US_saprigi\": return (await fetch(new URL(\"../assets/i18n/messagebundle_en_US_saprigi.json\", import.meta.url))).json();\n\t\tdefault: throw \"unknown locale\"\n\t}\n}\n\nconst importAndCheck = async (localeId) => {\n\tconst data = await importMessageBundle(localeId);\n\tif (typeof data === \"string\" && data.endsWith(\".json\")) {\n\t\tthrow new Error(`[i18n] Invalid bundling detected - dynamic JSON imports bundled as URLs. Switch to inlining JSON files from the build. Check the \"Assets\" documentation for more information.`);\n\t}\n\treturn data;\n}\n\nconst localeIds = [\"en\",\n\t\"en_US_saprigi\",];\n\nlocaleIds.forEach(localeId => {\n\tregisterI18nLoader(\"@ui5/webcomponents-base\", localeId, importAndCheck);\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ // @ts-nocheck
2
+ import { registerI18nLoader } from "@ui5/webcomponents-base/dist/asset-registries/i18n.js";
3
+ const importMessageBundle = async (localeId) => {
4
+ switch (localeId) {
5
+ case "en": return (await import(/* webpackChunkName: "ui5-webcomponents-base-messagebundle-en" */ "../assets/i18n/messagebundle_en.json", { with: { type: 'json' } })).default;
6
+ case "en_US_saprigi": return (await import(/* webpackChunkName: "ui5-webcomponents-base-messagebundle-en_US_saprigi" */ "../assets/i18n/messagebundle_en_US_saprigi.json", { with: { type: 'json' } })).default;
7
+ default: throw "unknown locale";
8
+ }
9
+ };
10
+ const importAndCheck = async (localeId) => {
11
+ const data = await importMessageBundle(localeId);
12
+ if (typeof data === "string" && data.endsWith(".json")) {
13
+ throw new Error(`[i18n] Invalid bundling detected - dynamic JSON imports bundled as URLs. Switch to inlining JSON files from the build. Check the "Assets" documentation for more information.`);
14
+ }
15
+ return data;
16
+ };
17
+ const localeIds = ["en",
18
+ "en_US_saprigi",];
19
+ localeIds.forEach(localeId => {
20
+ registerI18nLoader("@ui5/webcomponents-base", localeId, importAndCheck);
21
+ });
22
+ //# sourceMappingURL=i18n-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-node.js","sourceRoot":"","sources":["../../../src/generated/json-imports/i18n-node.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAE3F,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC9C,QAAQ,QAAQ,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,iEAAiE,CAAC,sCAAsC,EAAE,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9K,KAAK,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,4EAA4E,CAAC,iDAAiD,EAAE,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7M,OAAO,CAAC,CAAC,MAAM,gBAAgB,CAAA;IAChC,CAAC;AACF,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,+KAA+K,CAAC,CAAC;IAClM,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAI;IACtB,eAAe,EAAE,CAAC;AAEnB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAC5B,kBAAkB,CAAC,yBAAyB,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC","sourcesContent":["// @ts-nocheck\nimport { registerI18nLoader } from \"@ui5/webcomponents-base/dist/asset-registries/i18n.js\";\n\nconst importMessageBundle = async (localeId) => {\n\tswitch (localeId) {\n\t\t\t\tcase \"en\": return (await import(/* webpackChunkName: \"ui5-webcomponents-base-messagebundle-en\" */ \"../assets/i18n/messagebundle_en.json\", {with: { type: 'json'}})).default;\n\t\tcase \"en_US_saprigi\": return (await import(/* webpackChunkName: \"ui5-webcomponents-base-messagebundle-en_US_saprigi\" */ \"../assets/i18n/messagebundle_en_US_saprigi.json\", {with: { type: 'json'}})).default;\n\t\tdefault: throw \"unknown locale\"\n\t}\n}\n\nconst importAndCheck = async (localeId) => {\n\tconst data = await importMessageBundle(localeId);\n\tif (typeof data === \"string\" && data.endsWith(\".json\")) {\n\t\tthrow new Error(`[i18n] Invalid bundling detected - dynamic JSON imports bundled as URLs. Switch to inlining JSON files from the build. Check the \"Assets\" documentation for more information.`);\n\t}\n\treturn data;\n}\n\nconst localeIds = [\"en\",\n\t\"en_US_saprigi\",];\n\nlocaleIds.forEach(localeId => {\n\tregisterI18nLoader(\"@ui5/webcomponents-base\", localeId, importAndCheck);\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ // @ts-nocheck
2
+ import { registerI18nLoader } from "@ui5/webcomponents-base/dist/asset-registries/i18n.js";
3
+ const importMessageBundle = async (localeId) => {
4
+ switch (localeId) {
5
+ case "en": return (await import(/* webpackChunkName: "ui5-webcomponents-base-messagebundle-en" */ "../assets/i18n/messagebundle_en.json")).default;
6
+ case "en_US_saprigi": return (await import(/* webpackChunkName: "ui5-webcomponents-base-messagebundle-en_US_saprigi" */ "../assets/i18n/messagebundle_en_US_saprigi.json")).default;
7
+ default: throw "unknown locale";
8
+ }
9
+ };
10
+ const importAndCheck = async (localeId) => {
11
+ const data = await importMessageBundle(localeId);
12
+ if (typeof data === "string" && data.endsWith(".json")) {
13
+ throw new Error(`[i18n] Invalid bundling detected - dynamic JSON imports bundled as URLs. Switch to inlining JSON files from the build. Check the "Assets" documentation for more information.`);
14
+ }
15
+ return data;
16
+ };
17
+ const localeIds = ["en",
18
+ "en_US_saprigi",];
19
+ localeIds.forEach(localeId => {
20
+ registerI18nLoader("@ui5/webcomponents-base", localeId, importAndCheck);
21
+ });
22
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/generated/json-imports/i18n.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAE3F,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC9C,QAAQ,QAAQ,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,iEAAiE,CAAC,sCAAsC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrJ,KAAK,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,4EAA4E,CAAC,iDAAiD,CAAC,CAAC,CAAC,OAAO,CAAC;QACpL,OAAO,CAAC,CAAC,MAAM,gBAAgB,CAAA;IAChC,CAAC;AACF,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,+KAA+K,CAAC,CAAC;IAClM,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAI;IACtB,eAAe,EAAE,CAAC;AAEnB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAC5B,kBAAkB,CAAC,yBAAyB,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC","sourcesContent":["// @ts-nocheck\nimport { registerI18nLoader } from \"@ui5/webcomponents-base/dist/asset-registries/i18n.js\";\n\nconst importMessageBundle = async (localeId) => {\n\tswitch (localeId) {\n\t\t\t\tcase \"en\": return (await import(/* webpackChunkName: \"ui5-webcomponents-base-messagebundle-en\" */ \"../assets/i18n/messagebundle_en.json\")).default;\n\t\tcase \"en_US_saprigi\": return (await import(/* webpackChunkName: \"ui5-webcomponents-base-messagebundle-en_US_saprigi\" */ \"../assets/i18n/messagebundle_en_US_saprigi.json\")).default;\n\t\tdefault: throw \"unknown locale\"\n\t}\n}\n\nconst importAndCheck = async (localeId) => {\n\tconst data = await importMessageBundle(localeId);\n\tif (typeof data === \"string\" && data.endsWith(\".json\")) {\n\t\tthrow new Error(`[i18n] Invalid bundling detected - dynamic JSON imports bundled as URLs. Switch to inlining JSON files from the build. Check the \"Assets\" documentation for more information.`);\n\t}\n\treturn data;\n}\n\nconst localeIds = [\"en\",\n\t\"en_US_saprigi\",];\n\nlocaleIds.forEach(localeId => {\n\tregisterI18nLoader(\"@ui5/webcomponents-base\", localeId, importAndCheck);\n});\n"]}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ import { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from "./config/Fo
8
8
  import { setDefaultIconCollection, getDefaultIconCollection } from "./config/Icons.js";
9
9
  import { RegisteredIconCollection } from "./asset-registries/util/IconCollectionsByTheme.js";
10
10
  import getEffectiveIconCollection from "./asset-registries/util/getIconCollectionByTheme.js";
11
+ import { startMultipleDrag } from "./DragAndDrop.js";
11
12
  import { getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage } from "./config/Language.js";
12
13
  import { getNoConflict, setNoConflict } from "./config/NoConflict.js";
13
14
  import { getTheme, setTheme, getDefaultTheme } from "./config/Theme.js";
@@ -37,7 +38,7 @@ import { renderDeferred, renderImmediately, cancelRender, renderFinished } from
37
38
  import { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from "./Theming.js";
38
39
  import UI5Element from "./UI5Element.js";
39
40
  export default UI5Element;
40
- export { scroll, slideDown, slideUp, getAnimationMode, setAnimationMode, getCalendarType, getFirstDayOfWeek, getLegacyDateCalendarCustomizing, setDefaultIconCollection, getDefaultIconCollection, getEffectiveIconCollection, RegisteredIconCollection, 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, };
41
+ export { startMultipleDrag, scroll, slideDown, slideUp, getAnimationMode, setAnimationMode, getCalendarType, getFirstDayOfWeek, getLegacyDateCalendarCustomizing, setDefaultIconCollection, getDefaultIconCollection, getEffectiveIconCollection, RegisteredIconCollection, 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, };
41
42
  type TargetedCustomEvent<D, T> = Omit<CustomEvent<D>, "currentTarget"> & {
42
43
  currentTarget: T;
43
44
  };
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ import { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from "./config/Fo
9
9
  import { setDefaultIconCollection, getDefaultIconCollection, } from "./config/Icons.js";
10
10
  import { RegisteredIconCollection } from "./asset-registries/util/IconCollectionsByTheme.js";
11
11
  import getEffectiveIconCollection from "./asset-registries/util/getIconCollectionByTheme.js";
12
+ import { startMultipleDrag } from "./DragAndDrop.js";
12
13
  import { getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage, } from "./config/Language.js";
13
14
  import { getNoConflict, setNoConflict } from "./config/NoConflict.js";
14
15
  import { getTheme, setTheme, getDefaultTheme, } from "./config/Theme.js";
@@ -53,6 +54,8 @@ import { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from "./Theming.js
53
54
  import UI5Element from "./UI5Element.js";
54
55
  export default UI5Element;
55
56
  export {
57
+ // drag and drop
58
+ startMultipleDrag,
56
59
  // animations/
57
60
  scroll, slideDown, slideUp,
58
61
  // config/
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","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"]}
@@ -0,0 +1,2 @@
1
+ "use strict";import"./generated/json-imports/i18n-fetch.js";
2
+ //# sourceMappingURL=Assets-fetch.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Assets-fetch.ts"],
4
+ "sourcesContent": ["// own base package assets\nimport \"./generated/json-imports/i18n-fetch.js\";\n"],
5
+ "mappings": "aACA,MAAO",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";import"./generated/json-imports/i18n-node.js";
2
+ //# sourceMappingURL=Assets-node.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Assets-node.ts"],
4
+ "sourcesContent": ["/**\n * The `Assets-node` entry point is used to import all CLDR, theming, and i18n assets.\n *\n * It serves as an alternative to the `Assets` and `Assets-fetch` modules and supports the\n * `with: { type: 'json' }` import attribute for loading JSON files.\n *\n * This import attribute is required in some environments, such as Node.js with server-side rendering (SSR).\n *\n * Example usage:\n * await import(\"../assets/i18n/messagebundle_bg.json\", { with: { type: 'json' } })\n */\n\n// own base package assets\nimport \"./generated/json-imports/i18n-node.js\";\n"],
5
+ "mappings": "aAaA,MAAO",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";import"./generated/json-imports/i18n.js";
2
+ //# sourceMappingURL=Assets.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Assets.ts"],
4
+ "sourcesContent": ["// own base package assets\nimport \"./generated/json-imports/i18n.js\";\n"],
5
+ "mappings": "aACA,MAAO",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";import{startMultipleDrag as r}from"./util/dragAndDrop/DragRegistry.js";export{r as startMultipleDrag};
2
+ //# sourceMappingURL=DragAndDrop.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/DragAndDrop.ts"],
4
+ "sourcesContent": ["import { startMultipleDrag } from \"./util/dragAndDrop/DragRegistry.js\";\n\nexport {\n\t// eslint-disable-next-line import/prefer-default-export\n\tstartMultipleDrag,\n};\n"],
5
+ "mappings": "aAAA,OAAS,qBAAAA,MAAyB,qCAElC,OAECA,KAAA",
6
+ "names": ["startMultipleDrag"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";import"@ui5/webcomponents-base/dist/ssr-dom.js";import F from"./thirdparty/merge.js";import{boot as N}from"./Boot.js";import k from"./UI5ElementMetadata.js";import S from"./EventProvider.js";import x from"./updateShadowRoot.js";import{shouldIgnoreCustomElement as V}from"./IgnoreCustomElements.js";import{renderDeferred as j,renderImmediately as H,cancelRender as $}from"./Render.js";import{registerTag as z,isTagRegistered as B,recordTagRegistrationFailure as K}from"./CustomElementsRegistry.js";import{observeDOMNode as q,unobserveDOMNode as W}from"./DOMObserver.js";import{skipOriginalEvent as X}from"./config/NoConflict.js";import Y from"./locale/getEffectiveDir.js";import{kebabToCamelCase as m,camelToKebabCase as J,kebabToPascalCase as w}from"./util/StringHelper.js";import P from"./util/isValidPropertyName.js";import{getSlotName as G,getSlottedNodesList as D}from"./util/SlotsHelper.js";import Q from"./util/arraysAreEqual.js";import{markAsRtlAware as Z}from"./locale/RTLAwareRegistry.js";import tt from"./renderer/executeTemplate.js";import{shouldScopeCustomElement as T}from"./CustomElementsScopeUtils.js";import{updateFormValue as et,setFormValue as A}from"./features/InputElementsFormSupport.js";import{getI18nBundle as nt}from"./i18nBundle.js";import{fetchCldr as st}from"./asset-registries/LocaleData.js";import M from"./locale/getLocale.js";import{getLanguageChangePending as ot}from"./config/Language.js";let it=0;const R=new Map,I=new Map,O={fromAttribute(c,f){return f===Boolean?c!==null:f===Number?c===null?void 0:parseFloat(c):c},toAttribute(c,f){return f===Boolean?c?"":null:f===Object||f===Array||c==null?null:String(c)}};function y(c){this._suppressInvalidation||this.constructor.getMetadata().isLanguageAware()&&ot()||(this.onInvalidation(c),this._changedState.push(c),j(this),this._invalidationEventProvider.fireEvent("invalidate",{...c,target:this}))}function at(c,f){do{const t=Object.getOwnPropertyDescriptor(c,f);if(t)return t;c=Object.getPrototypeOf(c)}while(c&&c!==HTMLElement.prototype)}class b extends HTMLElement{constructor(){super();this.__shouldHydrate=!1;this._rendered=!1;const t=this.constructor;this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._invalidationEventProvider=new S,this._componentStateFinalizedEventProvider=new S;let e;this._domRefReadyPromise=new Promise(n=>{e=n}),this._domRefReadyPromise._deferredResolve=e,this._doNotSyncAttributes=new Set,this._slotsAssignedNodes=new WeakMap,this._state={...t.getMetadata().getInitialState()},this.initializedProperties=new Map,this.constructor.getMetadata().getPropertiesList().forEach(n=>{if(this.hasOwnProperty(n)){const o=this[n];this.initializedProperties.set(n,o)}}),this._internals=this.attachInternals(),this._initShadowRoot()}_initShadowRoot(){const t=this.constructor;if(t._needsShadowDOM()){const e={mode:"open"};this.shadowRoot?this.__shouldHydrate=!0:this.attachShadow({...e,...t.getMetadata().getShadowRootOptions()}),t.getMetadata().slotsAreManaged()&&this.shadowRoot.addEventListener("slotchange",this._onShadowRootSlotChange.bind(this))}}_onShadowRootSlotChange(t){t.target?.getRootNode()===this.shadowRoot&&this._processChildren()}get _id(){return this.__id||(this.__id=`ui5wc_${++it}`),this.__id}render(){const t=this.constructor.template;return tt(t,this)}async connectedCallback(){const t=this.constructor;this.setAttribute(t.getMetadata().getPureTag(),""),t.getMetadata().supportsF6FastNavigation()&&!this.hasAttribute("data-sap-ui-fastnavgroup")&&this.setAttribute("data-sap-ui-fastnavgroup","true");const e=t.getMetadata().slotsAreManaged();this._inDOM=!0,e&&(this._startObservingDOMChildren(),await this._processChildren()),t.asyncFinished||await t.definePromise,this._inDOM&&(H(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,this.onEnterDOM())}disconnectedCallback(){const e=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,e&&this._stopObservingDOMChildren(),this._fullyConnected&&(this.onExitDOM(),this._fullyConnected=!1),this._domRefReadyPromise._deferredResolve(),$(this)}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}_startObservingDOMChildren(){const e=this.constructor.getMetadata();if(!e.hasSlots())return;const n=e.canSlotText(),o={childList:!0,subtree:n,characterData:n};q(this,this._processChildren.bind(this),o)}_stopObservingDOMChildren(){W(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor,e=t.getMetadata().getSlots(),s=t.getMetadata().canSlotText(),n=Array.from(s?this.childNodes:this.children),o=new Map,a=new Map;for(const[l,u]of Object.entries(e)){const d=u.propertyName||l;a.set(d,l),o.set(d,[...this._state[d]]),this._clearSlot(l,u)}const r=new Map,i=new Map,h=n.map(async(l,u)=>{const d=G(l),g=e[d];if(g===void 0){if(d!=="default"){const p=Object.keys(e).join(", ");console.warn(`Unknown slotName: ${d}, ignoring`,l,`Valid values are: ${p}`)}return}if(g.individualSlots){const p=(r.get(d)||0)+1;r.set(d,p),l._individualSlot=`${d}-${p}`}if(l instanceof HTMLElement){const p=l.localName;if(p.includes("-")&&!V(p)){if(!customElements.get(p)){const L=customElements.whenDefined(p);let E=R.get(p);E||(E=new Promise(U=>setTimeout(U,1e3)),R.set(p,E)),await Promise.race([L,E])}customElements.upgrade(l)}}if(l=t.getMetadata().constructor.validateSlotValue(l,g),v(l)&&g.invalidateOnChildChange){const p=this._getChildChangeListener(d);l.attachInvalidate.call(l,p)}l instanceof HTMLSlotElement&&this._attachSlotChange(l,d,!!g.invalidateOnChildChange);const C=g.propertyName||d;i.has(C)?i.get(C).push({child:l,idx:u}):i.set(C,[{child:l,idx:u}])});await Promise.all(h),i.forEach((l,u)=>{this._state[u]=l.sort((d,g)=>d.idx-g.idx).map(d=>d.child),this._state[m(u)]=this._state[u]});let _=!1;for(const[l,u]of Object.entries(e)){const d=u.propertyName||l;Q(o.get(d),this._state[d])||(y.call(this,{type:"slot",name:a.get(d),reason:"children"}),_=!0,t.getMetadata().isFormAssociated()&&A(this))}_||y.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const s=e.propertyName||t;this._state[s].forEach(o=>{if(v(o)){const a=this._getChildChangeListener(t);o.detachInvalidate.call(o,a)}o instanceof HTMLSlotElement&&this._detachSlotChange(o,t)}),this._state[s]=[],this._state[m(s)]=this._state[s]}attachInvalidate(t){this._invalidationEventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._invalidationEventProvider.detachEvent("invalidate",t)}_onChildChange(t,e){this.constructor.getMetadata().shouldInvalidateOnChildChange(t,e.type,e.name)&&y.call(this,{type:"slot",name:t,reason:"childchange",child:e.target})}attributeChangedCallback(t,e,s){let n;if(this._doNotSyncAttributes.has(t))return;const o=this.constructor.getMetadata().getProperties(),a=t.replace(/^ui5-/,""),r=m(a);if(o.hasOwnProperty(r)){const i=o[r];n=(i.converter??O).fromAttribute(s,i.type),this[r]=n}}formAssociatedCallback(){this.constructor.getMetadata().isFormAssociated()&&et(this)}static get formAssociated(){return this.getMetadata().isFormAssociated()}_updateAttribute(t,e){const s=this.constructor;if(!s.getMetadata().hasAttribute(t))return;const o=s.getMetadata().getProperties()[t],a=J(t),i=(o.converter||O).toAttribute(e,o.type);this._doNotSyncAttributes.add(a),i==null?this.removeAttribute(a):this.setAttribute(a,i),this._doNotSyncAttributes.delete(a)}_getChildChangeListener(t){return this._childChangeListeners.has(t)||this._childChangeListeners.set(t,this._onChildChange.bind(this,t)),this._childChangeListeners.get(t)}_getSlotChangeListener(t){return this._slotChangeListeners.has(t)||this._slotChangeListeners.set(t,this._onSlotChange.bind(this,t)),this._slotChangeListeners.get(t)}_attachSlotChange(t,e,s){const n=this._getSlotChangeListener(e);t.addEventListener("slotchange",o=>{if(n.call(t,o),s){const a=this._slotsAssignedNodes.get(t);a&&a.forEach(i=>{if(v(i)){const h=this._getChildChangeListener(e);i.detachInvalidate.call(i,h)}});const r=D([t]);this._slotsAssignedNodes.set(t,r),r.forEach(i=>{if(v(i)){const h=this._getChildChangeListener(e);i.attachInvalidate.call(i,h)}})}})}_detachSlotChange(t,e){t.removeEventListener("slotchange",this._getSlotChangeListener(e))}_onSlotChange(t){y.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}updateAttributes(){const e=this.constructor.getMetadata().getProperties();for(const[s,n]of Object.entries(e))this._updateAttribute(s,this[s])}_render(){const t=this.constructor,e=t.getMetadata().hasIndividualSlots();this.initializedProperties.size>0&&(Array.from(this.initializedProperties.entries()).forEach(([s,n])=>{delete this[s],this[s]=n}),this.initializedProperties.clear()),this._suppressInvalidation=!0;try{this.onBeforeRendering(),this._rendered||this.updateAttributes(),this._componentStateFinalizedEventProvider.fireEvent("componentStateFinalized")}finally{this._suppressInvalidation=!1}this._changedState=[],t._needsShadowDOM()&&x(this),this._rendered=!0,e&&this._assignIndividualSlotsToChildren(),this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach(e=>{e._individualSlot&&e.setAttribute("slot",e._individualSlot)})}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(typeof this._getRealDomRef=="function")return this._getRealDomRef();if(!(!this.shadowRoot||this.shadowRoot.children.length===0))return this.shadowRoot.children[0]}getFocusDomRef(){const t=this.getDomRef();if(t)return t.querySelector("[data-sap-focus-ref]")||t}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(t){await this._waitForDomRef();const e=this.getFocusDomRef();e===this?HTMLElement.prototype.focus.call(this,t):e&&typeof e.focus=="function"&&e.focus(t)}fireEvent(t,e,s=!1,n=!0){const o=this._fireEvent(t,e,s,n),a=w(t);return a!==t?o&&this._fireEvent(a,e,s,n):o}fireDecoratorEvent(t,e){const s=this.getEventData(t),n=s?s.cancelable:!1,o=s?s.bubbles:!1,a=this._fireEvent(t,e,n,o),r=w(t);return r!==t?a&&this._fireEvent(r,e,n,o):a}_fireEvent(t,e,s=!1,n=!0){const o=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:n,cancelable:s}),a=this.dispatchEvent(o);if(X(t))return a;const r=new CustomEvent(t,{detail:e,composed:!1,bubbles:n,cancelable:s});return this.dispatchEvent(r)&&a}getEventData(t){return this.constructor.getMetadata().getEvents()[t]}getSlottedNodes(t){return D(this[t])}attachComponentStateFinalized(t){this._componentStateFinalizedEventProvider.attachEvent("componentStateFinalized",t)}detachComponentStateFinalized(t){this._componentStateFinalizedEventProvider.detachEvent("componentStateFinalized",t)}get effectiveDir(){return Z(this.constructor),Y(this)}get isUI5Element(){return!0}get isUI5AbstractElement(){return!this.constructor._needsShadowDOM()}get classes(){return{}}get accessibilityInfo(){return{}}static get observedAttributes(){return this.getMetadata().getAttributesList()}static get tagsToScope(){const t=this.getMetadata().getPureTag(),e=this.getUniqueDependencies().map(s=>s.getMetadata().getPureTag()).filter(T);return T(t)&&e.push(t),e}static _needsShadowDOM(){return!!this.template||Object.prototype.hasOwnProperty.call(this.prototype,"render")}static _generateAccessors(){const t=this.prototype,e=this.getMetadata().slotsAreManaged(),s=this.getMetadata().getProperties();for(const[n,o]of Object.entries(s)){P(n)||console.warn(`"${n}" is not a valid property name. Use a name that does not collide with DOM APIs`);const a=at(t,n);let r;a?.set&&(r=a.set);let i;a?.get&&(i=a.get),Object.defineProperty(t,n,{get(){return i?i.call(this):this._state[n]},set(h){const _=this.constructor,l=i?i.call(this):this._state[n];if(l!==h){if(r?r.call(this,h):this._state[n]=h,y.call(this,{type:"property",name:n,newValue:h,oldValue:l}),this._rendered){const d=i?i.call(this):this._state[n];this._updateAttribute(n,d)}_.getMetadata().isFormAssociated()&&A(this)}}})}if(e){const n=this.getMetadata().getSlots();for(const[o,a]of Object.entries(n)){P(o)||console.warn(`"${o}" is not a valid property name. Use a name that does not collide with DOM APIs`);const r=a.propertyName||o,i={get(){return this._state[r]!==void 0?this._state[r]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}};Object.defineProperty(t,r,i),r!==m(r)&&Object.defineProperty(t,m(r),i)}}}static{this.metadata={}}static{this.styles=""}static get dependencies(){return[]}static cacheUniqueDependencies(){const t=this.dependencies.filter((e,s,n)=>n.indexOf(e)===s);I.set(this,t)}static getUniqueDependencies(){return I.has(this)||this.cacheUniqueDependencies(),I.get(this)||[]}static async onDefine(){return Promise.resolve()}static fetchI18nBundles(){return Promise.all(Object.entries(this.getMetadata().getI18n()).map(t=>{const{bundleName:e}=t[1];return nt(e)}))}static fetchCLDR(){return this.getMetadata().needsCLDR()?st(M().getLanguage(),M().getRegion(),M().getScript()):Promise.resolve()}static{this.i18nBundleStorage={}}static get i18nBundles(){return this.i18nBundleStorage}static define(){const t=async()=>{await N();const o=await Promise.all([this.fetchI18nBundles(),this.fetchCLDR(),this.onDefine()]),[a]=o;Object.entries(this.getMetadata().getI18n()).forEach((r,i)=>{const h=r[1].bundleName;this.i18nBundleStorage[h]=a[i]}),this.asyncFinished=!0};this.definePromise=t();const e=this.getMetadata().getTag(),s=B(e),n=customElements.get(e);return n&&!s?K(e):n||(this._generateAccessors(),z(e),customElements.define(e,this)),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const t=[this.metadata];let e=this;for(;e!==b;)e=Object.getPrototypeOf(e),t.unshift(e.metadata);const s=F({},...t);return this._metadata=new k(s),this._metadata}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}}const v=c=>"isUI5Element"in c;export default b;export{v as instanceOfUI5Element};
1
+ "use strict";import"@ui5/webcomponents-base/dist/ssr-dom.js";import F from"./thirdparty/merge.js";import{boot as N}from"./Boot.js";import k from"./UI5ElementMetadata.js";import S from"./EventProvider.js";import x from"./updateShadowRoot.js";import{shouldIgnoreCustomElement as V}from"./IgnoreCustomElements.js";import{renderDeferred as j,renderImmediately as H,cancelRender as $}from"./Render.js";import{registerTag as z,isTagRegistered as B,recordTagRegistrationFailure as K}from"./CustomElementsRegistry.js";import{observeDOMNode as q,unobserveDOMNode as W}from"./DOMObserver.js";import{skipOriginalEvent as X}from"./config/NoConflict.js";import Y from"./locale/getEffectiveDir.js";import{kebabToCamelCase as m,camelToKebabCase as J,kebabToPascalCase as w}from"./util/StringHelper.js";import P from"./util/isValidPropertyName.js";import{getSlotName as G,getSlottedNodesList as D}from"./util/SlotsHelper.js";import Q from"./util/arraysAreEqual.js";import{markAsRtlAware as Z}from"./locale/RTLAwareRegistry.js";import tt from"./renderer/executeTemplate.js";import{shouldScopeCustomElement as T}from"./CustomElementsScopeUtils.js";import{updateFormValue as et,setFormValue as A}from"./features/InputElementsFormSupport.js";import{getI18nBundle as nt}from"./i18nBundle.js";import{fetchCldr as st}from"./asset-registries/LocaleData.js";import M from"./locale/getLocale.js";import{getLanguageChangePending as ot}from"./config/Language.js";let it=0;const R=new Map,I=new Map,O={fromAttribute(c,f){return f===Boolean?c!==null:f===Number?c===null?void 0:parseFloat(c):c},toAttribute(c,f){return f===Boolean?c?"":null:f===Object||f===Array||c==null?null:String(c)}};function y(c){this._suppressInvalidation||this.constructor.getMetadata().isLanguageAware()&&ot()||(this.onInvalidation(c),this._changedState.push(c),j(this),this._invalidationEventProvider.fireEvent("invalidate",{...c,target:this}))}function at(c,f){do{const t=Object.getOwnPropertyDescriptor(c,f);if(t)return t;c=Object.getPrototypeOf(c)}while(c&&c!==HTMLElement.prototype)}class b extends HTMLElement{constructor(){super();this.__shouldHydrate=!1;this._rendered=!1;const t=this.constructor;this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._invalidationEventProvider=new S,this._componentStateFinalizedEventProvider=new S;let e;this._domRefReadyPromise=new Promise(n=>{e=n}),this._domRefReadyPromise._deferredResolve=e,this._doNotSyncAttributes=new Set,this._slotsAssignedNodes=new WeakMap,this._state={...t.getMetadata().getInitialState()},this.initializedProperties=new Map,this.constructor.getMetadata().getPropertiesList().forEach(n=>{if(this.hasOwnProperty(n)){const o=this[n];this.initializedProperties.set(n,o)}}),this._internals=this.attachInternals(),this._initShadowRoot()}_initShadowRoot(){const t=this.constructor;if(t._needsShadowDOM()){const e={mode:"open"};this.shadowRoot?this.__shouldHydrate=!0:this.attachShadow({...e,...t.getMetadata().getShadowRootOptions()}),t.getMetadata().slotsAreManaged()&&this.shadowRoot.addEventListener("slotchange",this._onShadowRootSlotChange.bind(this))}}_onShadowRootSlotChange(t){t.target?.getRootNode()===this.shadowRoot&&this._processChildren()}get _id(){return this.__id||(this.__id=`ui5wc_${++it}`),this.__id}render(){const t=this.constructor.template;return tt(t,this)}async connectedCallback(){const t=this.constructor;this.setAttribute(t.getMetadata().getPureTag(),""),t.getMetadata().supportsF6FastNavigation()&&!this.hasAttribute("data-sap-ui-fastnavgroup")&&this.setAttribute("data-sap-ui-fastnavgroup","true");const e=t.getMetadata().slotsAreManaged();this._inDOM=!0,e&&(this._startObservingDOMChildren(),await this._processChildren()),t.asyncFinished||await t.definePromise,this._inDOM&&(H(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,this.onEnterDOM())}disconnectedCallback(){const e=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,e&&this._stopObservingDOMChildren(),this._fullyConnected&&(this.onExitDOM(),this._fullyConnected=!1),this._domRefReadyPromise._deferredResolve(),$(this)}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}_startObservingDOMChildren(){const e=this.constructor.getMetadata();if(!e.hasSlots())return;const n=e.canSlotText(),o={childList:!0,subtree:n,characterData:n};q(this,this._processChildren.bind(this),o)}_stopObservingDOMChildren(){W(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor,e=t.getMetadata().getSlots(),s=t.getMetadata().canSlotText(),n=Array.from(s?this.childNodes:this.children),o=new Map,a=new Map;for(const[l,u]of Object.entries(e)){const d=u.propertyName||l;a.set(d,l),o.set(d,[...this._state[d]]),this._clearSlot(l,u)}const r=new Map,i=new Map,h=n.map(async(l,u)=>{const d=G(l),g=e[d];if(g===void 0){if(d!=="default"){const p=Object.keys(e).join(", ");console.warn(`Unknown slotName: ${d}, ignoring`,l,`Valid values are: ${p}`)}return}if(g.individualSlots){const p=(r.get(d)||0)+1;r.set(d,p),l._individualSlot=`${d}-${p}`}if(l instanceof HTMLElement){const p=l.localName;if(p.includes("-")&&!V(p)){if(!customElements.get(p)){const L=customElements.whenDefined(p);let E=R.get(p);E||(E=new Promise(U=>setTimeout(U,1e3)),R.set(p,E)),await Promise.race([L,E])}customElements.upgrade(l)}}if(l=t.getMetadata().constructor.validateSlotValue(l,g),v(l)&&g.invalidateOnChildChange){const p=this._getChildChangeListener(d);l.attachInvalidate.call(l,p)}l instanceof HTMLSlotElement&&this._attachSlotChange(l,d,!!g.invalidateOnChildChange);const C=g.propertyName||d;i.has(C)?i.get(C).push({child:l,idx:u}):i.set(C,[{child:l,idx:u}])});await Promise.all(h),i.forEach((l,u)=>{this._state[u]=l.sort((d,g)=>d.idx-g.idx).map(d=>d.child),this._state[m(u)]=this._state[u]});let _=!1;for(const[l,u]of Object.entries(e)){const d=u.propertyName||l;Q(o.get(d),this._state[d])||(y.call(this,{type:"slot",name:a.get(d),reason:"children"}),_=!0,t.getMetadata().isFormAssociated()&&A(this))}_||y.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const s=e.propertyName||t;this._state[s].forEach(o=>{if(v(o)){const a=this._getChildChangeListener(t);o.detachInvalidate.call(o,a)}o instanceof HTMLSlotElement&&this._detachSlotChange(o,t)}),this._state[s]=[],this._state[m(s)]=this._state[s]}attachInvalidate(t){this._invalidationEventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._invalidationEventProvider.detachEvent("invalidate",t)}_onChildChange(t,e){this.constructor.getMetadata().shouldInvalidateOnChildChange(t,e.type,e.name)&&y.call(this,{type:"slot",name:t,reason:"childchange",child:e.target})}attributeChangedCallback(t,e,s){let n;if(this._doNotSyncAttributes.has(t))return;const o=this.constructor.getMetadata().getProperties(),a=t.replace(/^ui5-/,""),r=m(a);if(o.hasOwnProperty(r)){const i=o[r];n=(i.converter??O).fromAttribute(s,i.type),this[r]=n}}formAssociatedCallback(){this.constructor.getMetadata().isFormAssociated()&&et(this)}static get formAssociated(){return this.getMetadata().isFormAssociated()}_updateAttribute(t,e){const s=this.constructor;if(!s.getMetadata().hasAttribute(t))return;const o=s.getMetadata().getProperties()[t],a=J(t),i=(o.converter||O).toAttribute(e,o.type);this._doNotSyncAttributes.add(a),i==null?this.removeAttribute(a):this.setAttribute(a,i),this._doNotSyncAttributes.delete(a)}_getChildChangeListener(t){return this._childChangeListeners.has(t)||this._childChangeListeners.set(t,this._onChildChange.bind(this,t)),this._childChangeListeners.get(t)}_getSlotChangeListener(t){return this._slotChangeListeners.has(t)||this._slotChangeListeners.set(t,this._onSlotChange.bind(this,t)),this._slotChangeListeners.get(t)}_attachSlotChange(t,e,s){const n=this._getSlotChangeListener(e);t.addEventListener("slotchange",o=>{if(n.call(t,o),s){const a=this._slotsAssignedNodes.get(t);a&&a.forEach(i=>{if(v(i)){const h=this._getChildChangeListener(e);i.detachInvalidate.call(i,h)}});const r=D([t]);this._slotsAssignedNodes.set(t,r),r.forEach(i=>{if(v(i)){const h=this._getChildChangeListener(e);i.attachInvalidate.call(i,h)}})}})}_detachSlotChange(t,e){t.removeEventListener("slotchange",this._getSlotChangeListener(e))}_onSlotChange(t){y.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}updateAttributes(){const e=this.constructor.getMetadata().getProperties();for(const[s,n]of Object.entries(e))this._updateAttribute(s,this[s])}_render(){const t=this.constructor,e=t.getMetadata().hasIndividualSlots();this.initializedProperties.size>0&&(Array.from(this.initializedProperties.entries()).forEach(([s,n])=>{delete this[s],this[s]=n}),this.initializedProperties.clear()),this._suppressInvalidation=!0;try{this.onBeforeRendering(),this._rendered||this.updateAttributes(),this._componentStateFinalizedEventProvider.fireEvent("componentStateFinalized")}finally{this._suppressInvalidation=!1}this._changedState=[],t._needsShadowDOM()&&x(this),this._rendered=!0,e&&this._assignIndividualSlotsToChildren(),this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach(e=>{e._individualSlot&&e.setAttribute("slot",e._individualSlot)})}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(typeof this._getRealDomRef=="function")return this._getRealDomRef();if(!(!this.shadowRoot||this.shadowRoot.children.length===0))return this.shadowRoot.children[0]}getFocusDomRef(){const t=this.getDomRef();if(t)return t.querySelector("[data-sap-focus-ref]")||t}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(t){await this._waitForDomRef();const e=this.getFocusDomRef();e===this||!this.isConnected?HTMLElement.prototype.focus.call(this,t):e&&typeof e.focus=="function"&&e.focus(t)}fireEvent(t,e,s=!1,n=!0){const o=this._fireEvent(t,e,s,n),a=w(t);return a!==t?o&&this._fireEvent(a,e,s,n):o}fireDecoratorEvent(t,e){const s=this.getEventData(t),n=s?s.cancelable:!1,o=s?s.bubbles:!1,a=this._fireEvent(t,e,n,o),r=w(t);return r!==t?a&&this._fireEvent(r,e,n,o):a}_fireEvent(t,e,s=!1,n=!0){const o=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:n,cancelable:s}),a=this.dispatchEvent(o);if(X(t))return a;const r=new CustomEvent(t,{detail:e,composed:!1,bubbles:n,cancelable:s});return this.dispatchEvent(r)&&a}getEventData(t){return this.constructor.getMetadata().getEvents()[t]}getSlottedNodes(t){return D(this[t])}attachComponentStateFinalized(t){this._componentStateFinalizedEventProvider.attachEvent("componentStateFinalized",t)}detachComponentStateFinalized(t){this._componentStateFinalizedEventProvider.detachEvent("componentStateFinalized",t)}get effectiveDir(){return Z(this.constructor),Y(this)}get isUI5Element(){return!0}get isUI5AbstractElement(){return!this.constructor._needsShadowDOM()}get classes(){return{}}get accessibilityInfo(){return{}}static get observedAttributes(){return this.getMetadata().getAttributesList()}static get tagsToScope(){const t=this.getMetadata().getPureTag(),e=this.getUniqueDependencies().map(s=>s.getMetadata().getPureTag()).filter(T);return T(t)&&e.push(t),e}static _needsShadowDOM(){return!!this.template||Object.prototype.hasOwnProperty.call(this.prototype,"render")}static _generateAccessors(){const t=this.prototype,e=this.getMetadata().slotsAreManaged(),s=this.getMetadata().getProperties();for(const[n,o]of Object.entries(s)){P(n)||console.warn(`"${n}" is not a valid property name. Use a name that does not collide with DOM APIs`);const a=at(t,n);let r;a?.set&&(r=a.set);let i;a?.get&&(i=a.get),Object.defineProperty(t,n,{get(){return i?i.call(this):this._state[n]},set(h){const _=this.constructor,l=i?i.call(this):this._state[n];if(l!==h){if(r?r.call(this,h):this._state[n]=h,y.call(this,{type:"property",name:n,newValue:h,oldValue:l}),this._rendered){const d=i?i.call(this):this._state[n];this._updateAttribute(n,d)}_.getMetadata().isFormAssociated()&&A(this)}}})}if(e){const n=this.getMetadata().getSlots();for(const[o,a]of Object.entries(n)){P(o)||console.warn(`"${o}" is not a valid property name. Use a name that does not collide with DOM APIs`);const r=a.propertyName||o,i={get(){return this._state[r]!==void 0?this._state[r]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}};Object.defineProperty(t,r,i),r!==m(r)&&Object.defineProperty(t,m(r),i)}}}static{this.metadata={}}static{this.styles=""}static get dependencies(){return[]}static cacheUniqueDependencies(){const t=this.dependencies.filter((e,s,n)=>n.indexOf(e)===s);I.set(this,t)}static getUniqueDependencies(){return I.has(this)||this.cacheUniqueDependencies(),I.get(this)||[]}static async onDefine(){return Promise.resolve()}static fetchI18nBundles(){return Promise.all(Object.entries(this.getMetadata().getI18n()).map(t=>{const{bundleName:e}=t[1];return nt(e)}))}static fetchCLDR(){return this.getMetadata().needsCLDR()?st(M().getLanguage(),M().getRegion(),M().getScript()):Promise.resolve()}static{this.i18nBundleStorage={}}static get i18nBundles(){return this.i18nBundleStorage}static define(){const t=async()=>{await N();const o=await Promise.all([this.fetchI18nBundles(),this.fetchCLDR(),this.onDefine()]),[a]=o;Object.entries(this.getMetadata().getI18n()).forEach((r,i)=>{const h=r[1].bundleName;this.i18nBundleStorage[h]=a[i]}),this.asyncFinished=!0};this.definePromise=t();const e=this.getMetadata().getTag(),s=B(e),n=customElements.get(e);return n&&!s?K(e):n||(this._generateAccessors(),z(e),customElements.define(e,this)),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const t=[this.metadata];let e=this;for(;e!==b;)e=Object.getPrototypeOf(e),t.unshift(e.metadata);const s=F({},...t);return this._metadata=new k(s),this._metadata}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}}const v=c=>"isUI5Element"in c;export default b;export{v as instanceOfUI5Element};
2
2
  //# sourceMappingURL=UI5Element.js.map