@sapudex/web-components 2.43.0 → 2.44.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 (69) hide show
  1. package/cypress/specs/FilterMenu.cy.tsx +96 -0
  2. package/cypress/specs/SelectBox.cy.tsx +82 -0
  3. package/cypress/specs/TagGroup.cy.tsx +11 -0
  4. package/dist/FilterMenu.d.ts +4 -0
  5. package/dist/FilterMenu.js +19 -0
  6. package/dist/FilterMenu.js.map +1 -1
  7. package/dist/ListItemBase.js +2 -2
  8. package/dist/ListItemBase.js.map +1 -1
  9. package/dist/SearchableListBase.d.ts +6 -1
  10. package/dist/SearchableListBase.js +43 -3
  11. package/dist/SearchableListBase.js.map +1 -1
  12. package/dist/SelectBase.d.ts +3 -1
  13. package/dist/SelectBase.js +20 -15
  14. package/dist/SelectBase.js.map +1 -1
  15. package/dist/SelectBoxTemplate.js +1 -1
  16. package/dist/SelectBoxTemplate.js.map +1 -1
  17. package/dist/TagGroup.d.ts +8 -0
  18. package/dist/TagGroup.js +3 -0
  19. package/dist/TagGroup.js.map +1 -1
  20. package/dist/TagGroupTemplate.js +1 -1
  21. package/dist/TagGroupTemplate.js.map +1 -1
  22. package/dist/assets/{InputSuggestions-DorMeMJC.js → InputSuggestions-B3D8lxAS.js} +1 -1
  23. package/dist/assets/{ListItemStandardExpandableTextTemplate-BoavHZKO.js → ListItemStandardExpandableTextTemplate-Is8_hDTt.js} +1 -1
  24. package/dist/assets/{bundle.esm-Bji3bkxT.js → bundle.esm-6rH7NAG7.js} +173 -173
  25. package/dist/assets/messagebundle_ru-BTDmH8CB.js +1 -0
  26. package/dist/assets/messagebundle_sk-Lb4jvtpc.js +1 -0
  27. package/dist/assets/messagebundle_sl-BZi2bKSy.js +1 -0
  28. package/dist/css/themes/ListItem.css +1 -1
  29. package/dist/css/themes/RadioButton.css +1 -1
  30. package/dist/css/themes/TextField.css +1 -1
  31. package/dist/custom-elements-internal.json +19 -0
  32. package/dist/custom-elements.json +19 -0
  33. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  34. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  35. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  36. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  37. package/dist/generated/themes/ListItem.css.js +1 -1
  38. package/dist/generated/themes/ListItem.css.js.map +1 -1
  39. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  40. package/dist/generated/themes/RadioButton.css.js +1 -1
  41. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  42. package/dist/generated/themes/TextField.css.d.ts +1 -1
  43. package/dist/generated/themes/TextField.css.js +1 -1
  44. package/dist/generated/themes/TextField.css.js.map +1 -1
  45. package/dist/messagebundle_ru.properties +128 -0
  46. package/dist/messagebundle_sk.properties +125 -0
  47. package/dist/messagebundle_sl.properties +126 -1
  48. package/dist/vscode.html-custom-data.json +5 -0
  49. package/dist/web-types.json +11 -1
  50. package/package.json +1 -1
  51. package/src/FilterMenu.ts +23 -0
  52. package/src/ListItemBase.ts +2 -2
  53. package/src/SearchableListBase.ts +45 -4
  54. package/src/SelectBase.ts +23 -16
  55. package/src/SelectBoxTemplate.tsx +1 -1
  56. package/src/TagGroup.ts +10 -0
  57. package/src/TagGroupTemplate.tsx +1 -0
  58. package/src/generated/themes/ListItem.css.ts +1 -1
  59. package/src/generated/themes/RadioButton.css.ts +1 -1
  60. package/src/generated/themes/TextField.css.ts +1 -1
  61. package/src/i18n/messagebundle_ru.properties +128 -0
  62. package/src/i18n/messagebundle_sk.properties +125 -0
  63. package/src/i18n/messagebundle_sl.properties +126 -1
  64. package/src/themes/ListItem.css +4 -0
  65. package/src/themes/RadioButton.css +9 -6
  66. package/src/themes/TextField.css +2 -1
  67. package/dist/assets/messagebundle_ru-BT7zyn7i.js +0 -1
  68. package/dist/assets/messagebundle_sk-gmWb_4Wo.js +0 -1
  69. package/dist/assets/messagebundle_sl-B4p3OqyZ.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TagGroup.js","sourceRoot":"","sources":["../src/TagGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Tokenizer from \"@ui5/webcomponents/dist/Tokenizer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { isEnter, isSpace, isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Token from \"@ui5/webcomponents/dist/Token.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExTooltip from \"./Tooltip.js\";\nimport { Placement } from \"./types/Dropdown.js\";\n\nimport TagGroupTemplate from \"./TagGroupTemplate.js\";\n\n// Styles\nimport TagGroupCss from \"./generated/themes/TagGroup.css.js\";\n\ntype UDExTagClickEventDetail = {\n tag: UDExTag,\n}\n\ntype UDExTagIconClickEventDetail = {\n tag: HTMLElement,\n}\n\ntype UDExTagKeydownEventDetail = {\n originalEvent: KeyboardEvent,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-tag-group</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/TagGroup.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-tag-group\",\n renderer: jsxRenderer,\n styles: TagGroupCss,\n template: TagGroupTemplate,\n dependencies: [UDExTag, UDExTooltip, Tokenizer, Token],\n})\n/**\n * Emitted when tag was clicked\n *\n * @public\n * @param {UDExTag} tag the clicked tag\n */\n@event(\"tag-click\", { bubbles: true })\n/**\n * Emitted when icon in tag was clicked\n *\n * @public\n * @param {HTMLElement} tag the tag containing the clicked icon\n */\n@event(\"tag-icon-click\", { bubbles: true })\n/**\n * Emitted when the tooltip was opened, can be canceled\n *\n * @public\n */\n@event(\"show-more-tags\", { cancelable: true, bubbles: true })\n/**\n * Emitted when a keydown event occurs on a tag, can be canceled\n * Emitted custom event with keycode and tag details\n *\n * @public\n * @param {KeyboardEvent} originalEvent the original keyboard event\n */\n@event(\"tag-keydown\", { cancelable: true, bubbles: true })\nclass UDExTagGroup extends UI5Element {\n eventDetails!: {\n \"tag-click\": UDExTagClickEventDetail,\n \"tag-icon-click\": UDExTagIconClickEventDetail,\n \"show-more-tags\": void,\n \"tag-keydown\": UDExTagKeydownEventDetail,\n };\n /**\n * Defines whether the UI5Tokenizer is expanded.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n tokenizerExpanded: boolean = false;\n\n /**\n * Defines whether the component is in disabled state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines whether the component is readonly.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is displayonly.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the tags.\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: DefaultSlot<UDExTag>;\n\n /**\n * Determines on which side of the component the Tooltip is displayed.\n *\n * @default \"Bottom\"\n * @public\n */\n @property()\n tooltipPlacement: `${Placement}` = Placement.Bottom;\n\n /**\n * Determines whether there are hidden tags in the component.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isHiddenTags!: boolean;\n\n /**\n * Determines whether the \"More\" button should skip focus.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _skipMoreButtonFocus!: boolean;\n\n /**\n * Determines whether the tokenizer should scroll to the end.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _scrollToEnd: boolean = false;\n\n _tokenizer!: Tokenizer;\n _nMoreBtn!: HTMLElement | null;\n _resizeHandler: () => void;\n\n constructor() {\n super();\n this._resizeHandler = this._onResize.bind(this);\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._resizeHandler);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._resizeHandler);\n this._nMoreBtn?.removeEventListener(\"keydown\", this._nMoreKeyDownHandler.bind(this));\n }\n\n onAfterRendering(): void {\n this._tokenizer = this.tokenizer;\n this._nMoreBtn = this._tokenizer.moreLink || null;\n\n if (!this.readonly && !this.disabled && this._nMoreBtn && !this._nMoreBtn.hasAttribute(\"tabindex\")) {\n this._nMoreBtn.setAttribute(\"tabindex\", \"0\");\n this._nMoreBtn.addEventListener(\"keydown\", this._nMoreKeyDownHandler.bind(this));\n }\n\n if (!this.displayonly && this._skipMoreButtonFocus && this._nMoreBtn) {\n this._nMoreBtn.setAttribute(\"tabindex\", \"-1\");\n }\n\n if (this._scrollToEnd) {\n setTimeout(() => {\n this._tokenizer.scrollToEnd();\n }, 50);\n }\n }\n\n _nMoreKeyDownHandler(e: Event) {\n if (isSpace(e as KeyboardEvent) || isEnter(e as KeyboardEvent)) {\n this.showMoreItems();\n }\n }\n\n _onResize(): void {\n this._isHiddenTags = false;\n this._isHiddenTags = this._tokenizer?._nMoreCount > 0;\n }\n\n tagIconClickHandler(e: CustomEvent): void {\n this.fireDecoratorEvent(\"tag-icon-click\", { tag: e.target as HTMLElement });\n }\n\n handleShowMoreButtonKeydown(e: KeyboardEvent): void {\n if (isEscape(e)) {\n this._nMoreBtn?.focus();\n }\n }\n\n handleTagClick(e: CustomEvent): void {\n this.fireDecoratorEvent(\"tag-click\", { tag: e.target as UDExTag });\n }\n\n handleTagKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n\n if (isEscape(e) && this.tooltip) {\n this.tooltip.open = false;\n this._nMoreBtn?.focus();\n return;\n }\n\n this.fireDecoratorEvent(\"tag-keydown\", { originalEvent: e });\n }\n\n showMoreItems(): void {\n if (this.fireDecoratorEvent(\"show-more-tags\")) {\n const moreBtn = this._tokenizer.moreLink;\n if (moreBtn) {\n this._tokenizer.expanded = false;\n this.tooltip.opener = moreBtn;\n this.tooltip.open = true;\n }\n }\n }\n\n get hiddenTags(): Token[] {\n return this._tokenizer?.overflownTokens || [];\n }\n\n get isReadOrDisplayOnly(): boolean {\n return this.readonly || this.displayonly;\n }\n\n get tokenizer(): Tokenizer {\n return this.shadowRoot!.querySelector<Tokenizer>(`#${this._id}-tag-group-tokenizer`)!;\n }\n\n get tooltip(): UDExTooltip {\n return this.shadowRoot!.querySelector<UDExTooltip>(`#${this._id}-tag-group-tooltip`)!;\n }\n}\n\nUDExTagGroup.define();\n\nexport default UDExTagGroup;\nexport type { UDExTagClickEventDetail, UDExTagKeydownEventDetail, UDExTagIconClickEventDetail };\n"]}
1
+ {"version":3,"file":"TagGroup.js","sourceRoot":"","sources":["../src/TagGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Tokenizer from \"@ui5/webcomponents/dist/Tokenizer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { isEnter, isSpace, isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Token from \"@ui5/webcomponents/dist/Token.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExTooltip from \"./Tooltip.js\";\nimport { Placement } from \"./types/Dropdown.js\";\n\nimport TagGroupTemplate from \"./TagGroupTemplate.js\";\n\n// Styles\nimport TagGroupCss from \"./generated/themes/TagGroup.css.js\";\n\ntype UDExTagClickEventDetail = {\n tag: UDExTag,\n}\n\ntype UDExTagIconClickEventDetail = {\n tag: HTMLElement,\n}\n\ntype UDExTagKeydownEventDetail = {\n originalEvent: KeyboardEvent,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-tag-group</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/TagGroup.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-tag-group\",\n renderer: jsxRenderer,\n styles: TagGroupCss,\n template: TagGroupTemplate,\n dependencies: [UDExTag, UDExTooltip, Tokenizer, Token],\n})\n/**\n * Emitted when tag was clicked\n *\n * @public\n * @param {UDExTag} tag the clicked tag\n */\n@event(\"tag-click\", { bubbles: true })\n/**\n * Emitted when icon in tag was clicked\n *\n * @public\n * @param {HTMLElement} tag the tag containing the clicked icon\n */\n@event(\"tag-icon-click\", { bubbles: true })\n/**\n * Emitted when the tooltip was opened, can be canceled\n *\n * @public\n */\n@event(\"show-more-tags\", { cancelable: true, bubbles: true })\n/**\n * Emitted when a keydown event occurs on a tag, can be canceled\n * Emitted custom event with keycode and tag details\n *\n * @public\n * @param {KeyboardEvent} originalEvent the original keyboard event\n */\n@event(\"tag-keydown\", { cancelable: true, bubbles: true })\nclass UDExTagGroup extends UI5Element {\n eventDetails!: {\n \"tag-click\": UDExTagClickEventDetail,\n \"tag-icon-click\": UDExTagIconClickEventDetail,\n \"show-more-tags\": void,\n \"tag-keydown\": UDExTagKeydownEventDetail,\n };\n /**\n * Defines whether the UI5Tokenizer is expanded.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n tokenizerExpanded: boolean = false;\n\n /**\n * Defines whether the component is in disabled state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines whether the component is readonly.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is displayonly.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the tags.\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: DefaultSlot<UDExTag>;\n\n /**\n * Determines on which side of the component the Tooltip is displayed.\n *\n * @default \"Bottom\"\n * @public\n */\n @property()\n tooltipPlacement: `${Placement}` = Placement.Bottom;\n\n /**\n * Defines the accessible name for the \"Show More\" tooltip, announced by screen readers\n * when the tooltip containing hidden tags is opened.\n *\n * @default undefined\n * @public\n */\n @property()\n tooltipAccessibleName?: string;\n\n /**\n * Determines whether there are hidden tags in the component.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isHiddenTags!: boolean;\n\n /**\n * Determines whether the \"More\" button should skip focus.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _skipMoreButtonFocus!: boolean;\n\n /**\n * Determines whether the tokenizer should scroll to the end.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _scrollToEnd: boolean = false;\n\n _tokenizer!: Tokenizer;\n _nMoreBtn!: HTMLElement | null;\n _resizeHandler: () => void;\n\n constructor() {\n super();\n this._resizeHandler = this._onResize.bind(this);\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._resizeHandler);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._resizeHandler);\n this._nMoreBtn?.removeEventListener(\"keydown\", this._nMoreKeyDownHandler.bind(this));\n }\n\n onAfterRendering(): void {\n this._tokenizer = this.tokenizer;\n this._nMoreBtn = this._tokenizer.moreLink || null;\n\n if (!this.readonly && !this.disabled && this._nMoreBtn && !this._nMoreBtn.hasAttribute(\"tabindex\")) {\n this._nMoreBtn.setAttribute(\"tabindex\", \"0\");\n this._nMoreBtn.addEventListener(\"keydown\", this._nMoreKeyDownHandler.bind(this));\n }\n\n if (!this.displayonly && this._skipMoreButtonFocus && this._nMoreBtn) {\n this._nMoreBtn.setAttribute(\"tabindex\", \"-1\");\n }\n\n if (this._scrollToEnd) {\n setTimeout(() => {\n this._tokenizer.scrollToEnd();\n }, 50);\n }\n }\n\n _nMoreKeyDownHandler(e: Event) {\n if (isSpace(e as KeyboardEvent) || isEnter(e as KeyboardEvent)) {\n this.showMoreItems();\n }\n }\n\n _onResize(): void {\n this._isHiddenTags = false;\n this._isHiddenTags = this._tokenizer?._nMoreCount > 0;\n }\n\n tagIconClickHandler(e: CustomEvent): void {\n this.fireDecoratorEvent(\"tag-icon-click\", { tag: e.target as HTMLElement });\n }\n\n handleShowMoreButtonKeydown(e: KeyboardEvent): void {\n if (isEscape(e)) {\n this._nMoreBtn?.focus();\n }\n }\n\n handleTagClick(e: CustomEvent): void {\n this.fireDecoratorEvent(\"tag-click\", { tag: e.target as UDExTag });\n }\n\n handleTagKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n\n if (isEscape(e) && this.tooltip) {\n this.tooltip.open = false;\n this._nMoreBtn?.focus();\n return;\n }\n\n this.fireDecoratorEvent(\"tag-keydown\", { originalEvent: e });\n }\n\n showMoreItems(): void {\n if (this.fireDecoratorEvent(\"show-more-tags\")) {\n const moreBtn = this._tokenizer.moreLink;\n if (moreBtn) {\n this._tokenizer.expanded = false;\n this.tooltip.opener = moreBtn;\n this.tooltip.open = true;\n }\n }\n }\n\n get hiddenTags(): Token[] {\n return this._tokenizer?.overflownTokens || [];\n }\n\n get isReadOrDisplayOnly(): boolean {\n return this.readonly || this.displayonly;\n }\n\n get tokenizer(): Tokenizer {\n return this.shadowRoot!.querySelector<Tokenizer>(`#${this._id}-tag-group-tokenizer`)!;\n }\n\n get tooltip(): UDExTooltip {\n return this.shadowRoot!.querySelector<UDExTooltip>(`#${this._id}-tag-group-tooltip`)!;\n }\n}\n\nUDExTagGroup.define();\n\nexport default UDExTagGroup;\nexport type { UDExTagClickEventDetail, UDExTagKeydownEventDetail, UDExTagIconClickEventDetail };\n"]}
@@ -4,7 +4,7 @@ import UDExTooltip from "./Tooltip.js";
4
4
  import UI5Tokenizer from "@ui5/webcomponents/dist/Tokenizer.js";
5
5
  export default function TagTemplate() {
6
6
  const rootClass = "udex-tag-group";
7
- return (_jsx(_Fragment, { children: _jsxs("div", { class: `${rootClass}`, id: `${this._id}-tag-group`, role: "group", children: [_jsx(UI5Tokenizer, { part: "tokenizer", "show-more": true, "prevent-popover-open": true, disabled: this.disabled, expanded: this.tokenizerExpanded, id: `${this._id}-tag-group-tokenizer`, class: `${rootClass}__tokenizer`, onShowMoreItemsPress: this.showMoreItems, children: this.items.map((item, index) => (tag.call(this, rootClass, item, index))) }), this._isHiddenTags && (_jsx(_Fragment, { children: _jsx(UDExTooltip, { id: `${this._id}-tag-group-tooltip`, placement: this.tooltipPlacement, onKeyDown: this.handleShowMoreButtonKeydown, children: _jsx("div", { role: "group", class: `${rootClass}-tooltip__content`, children: this.hiddenTags.map((item, index) => (tag.call(this, rootClass, item, index))) }) }) }))] }) }));
7
+ return (_jsx(_Fragment, { children: _jsxs("div", { class: `${rootClass}`, id: `${this._id}-tag-group`, role: "group", children: [_jsx(UI5Tokenizer, { part: "tokenizer", "show-more": true, "prevent-popover-open": true, disabled: this.disabled, expanded: this.tokenizerExpanded, id: `${this._id}-tag-group-tokenizer`, class: `${rootClass}__tokenizer`, onShowMoreItemsPress: this.showMoreItems, children: this.items.map((item, index) => (tag.call(this, rootClass, item, index))) }), this._isHiddenTags && (_jsx(_Fragment, { children: _jsx(UDExTooltip, { id: `${this._id}-tag-group-tooltip`, placement: this.tooltipPlacement, "accessible-name": this.tooltipAccessibleName, onKeyDown: this.handleShowMoreButtonKeydown, children: _jsx("div", { role: "group", class: `${rootClass}-tooltip__content`, children: this.hiddenTags.map((item, index) => (tag.call(this, rootClass, item, index))) }) }) }))] }) }));
8
8
  }
9
9
  function tag(rootClass, item, index) {
10
10
  return (_jsx(_Fragment, { children: _jsx(UDExTag, { accessibleRole: "option", class: `${rootClass}__tag`, "data-id": `${item.id}`, part: `token-${index}`, "read-only": this.isReadOrDisplayOnly, id: `${this._id}-tag-group-tag`, text: item.text, icon: item.icon, href: item.href, design: item.design, size: item.size, "icon-placement": item.iconPlacement, "accessible-name": item.accessibleName, "non-selectable": item.nonSelectable, "data-overflows": item.overflows, onKeyDown: this.handleTagKeyDown, onSelectionChange: this.handleTagClick, onIconClick: this.tagIconClickHandler, ...(this.disabled ? { tabindex: -1 } : {}) }, index) }));
@@ -1 +1 @@
1
- {"version":3,"file":"TagGroupTemplate.js","sourceRoot":"","sources":["../src/TagGroupTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,MAAM,SAAS,GAAG,gBAAgB,CAAC;IAEnC,OAAO,CACL,4BACE,eAAK,KAAK,EAAE,GAAG,SAAS,EAAE,EACxB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,EAC3B,IAAI,EAAC,OAAO,aACZ,KAAC,YAAY,IACX,IAAI,EAAC,WAAW,mDAGhB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,sBAAsB,EACrC,KAAK,EAAE,GAAG,SAAS,aAAa,EAChC,oBAAoB,EAAE,IAAI,CAAC,aAAa,YACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CACvC,CAAC,GACW,EACd,IAAI,CAAC,aAAa,IAAI,CACrB,4BACE,KAAC,WAAW,IACV,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,oBAAoB,EACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,SAAS,EAAE,IAAI,CAAC,2BAA2B,YAC3C,cACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,GAAG,SAAS,mBAAmB,YACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CACvC,CAAC,GACE,GACM,GACb,CACJ,IACG,GACL,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAqB,SAAiB,EAAE,IAAS,EAAE,KAAa;IAC1E,OAAO,CACL,4BACE,KAAC,OAAO,IAEN,cAAc,EAAC,QAAQ,EACvB,KAAK,EAAE,GAAG,SAAS,OAAO,aACjB,GAAG,IAAI,CAAC,EAAE,EAAE,EACrB,IAAI,EAAE,SAAS,KAAK,EAAE,eACX,IAAI,CAAC,mBAAmB,EACnC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,gBAAgB,EAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,oBACC,IAAI,CAAC,aAAa,qBACjB,IAAI,CAAC,cAAc,oBACpB,IAAI,CAAC,aAAa,oBAClB,IAAI,CAAC,SAAS,EAC9B,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,iBAAiB,EAAE,IAAI,CAAC,cAAc,EACtC,WAAW,EAAE,IAAI,CAAC,mBAAmB,KACjC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAnBtC,KAAK,CAoBF,GACT,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type UDExTagGroup from \"./TagGroup.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExTooltip from \"./Tooltip.js\";\nimport UI5Tokenizer from \"@ui5/webcomponents/dist/Tokenizer.js\";\n\nexport default function TagTemplate(this: UDExTagGroup) {\n const rootClass = \"udex-tag-group\";\n\n return (\n <>\n <div class={`${rootClass}`}\n id={`${this._id}-tag-group`}\n role=\"group\">\n <UI5Tokenizer\n part=\"tokenizer\"\n show-more\n prevent-popover-open\n disabled={this.disabled}\n expanded={this.tokenizerExpanded}\n id={`${this._id}-tag-group-tokenizer`}\n class={`${rootClass}__tokenizer`}\n onShowMoreItemsPress={this.showMoreItems}>\n {this.items.map((item, index) => (\n tag.call(this, rootClass, item, index)\n ))}\n </UI5Tokenizer>\n {this._isHiddenTags && (\n <>\n <UDExTooltip\n id={`${this._id}-tag-group-tooltip`}\n placement={this.tooltipPlacement}\n onKeyDown={this.handleShowMoreButtonKeydown}>\n <div\n role=\"group\"\n class={`${rootClass}-tooltip__content`}>\n {this.hiddenTags.map((item, index) => (\n tag.call(this, rootClass, item, index)\n ))}\n </div>\n </UDExTooltip>\n </>\n )}\n </div>\n </>\n );\n}\n\nfunction tag(this: UDExTagGroup, rootClass: string, item: any, index: number) {\n return (\n <>\n <UDExTag\n key={index}\n accessibleRole=\"option\"\n class={`${rootClass}__tag`}\n data-id={`${item.id}`}\n part={`token-${index}`}\n read-only={this.isReadOrDisplayOnly}\n id={`${this._id}-tag-group-tag`}\n text={item.text}\n icon={item.icon}\n href={item.href}\n design={item.design}\n size={item.size}\n icon-placement={item.iconPlacement}\n accessible-name={item.accessibleName}\n non-selectable={item.nonSelectable}\n data-overflows={item.overflows}\n onKeyDown={this.handleTagKeyDown}\n onSelectionChange={this.handleTagClick}\n onIconClick={this.tagIconClickHandler}\n {...(this.disabled ? { tabindex: -1 } : {})}>\n </UDExTag>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"TagGroupTemplate.js","sourceRoot":"","sources":["../src/TagGroupTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,MAAM,SAAS,GAAG,gBAAgB,CAAC;IAEnC,OAAO,CACL,4BACE,eAAK,KAAK,EAAE,GAAG,SAAS,EAAE,EACxB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,EAC3B,IAAI,EAAC,OAAO,aACZ,KAAC,YAAY,IACX,IAAI,EAAC,WAAW,mDAGhB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,sBAAsB,EACrC,KAAK,EAAE,GAAG,SAAS,aAAa,EAChC,oBAAoB,EAAE,IAAI,CAAC,aAAa,YACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CACvC,CAAC,GACW,EACd,IAAI,CAAC,aAAa,IAAI,CACrB,4BACE,KAAC,WAAW,IACV,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,oBAAoB,EACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB,qBACf,IAAI,CAAC,qBAAqB,EAC3C,SAAS,EAAE,IAAI,CAAC,2BAA2B,YAC3C,cACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,GAAG,SAAS,mBAAmB,YACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CACvC,CAAC,GACE,GACM,GACb,CACJ,IACG,GACL,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAqB,SAAiB,EAAE,IAAS,EAAE,KAAa;IAC1E,OAAO,CACL,4BACE,KAAC,OAAO,IAEN,cAAc,EAAC,QAAQ,EACvB,KAAK,EAAE,GAAG,SAAS,OAAO,aACjB,GAAG,IAAI,CAAC,EAAE,EAAE,EACrB,IAAI,EAAE,SAAS,KAAK,EAAE,eACX,IAAI,CAAC,mBAAmB,EACnC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,gBAAgB,EAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,oBACC,IAAI,CAAC,aAAa,qBACjB,IAAI,CAAC,cAAc,oBACpB,IAAI,CAAC,aAAa,oBAClB,IAAI,CAAC,SAAS,EAC9B,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,iBAAiB,EAAE,IAAI,CAAC,cAAc,EACtC,WAAW,EAAE,IAAI,CAAC,mBAAmB,KACjC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAnBtC,KAAK,CAoBF,GACT,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type UDExTagGroup from \"./TagGroup.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExTooltip from \"./Tooltip.js\";\nimport UI5Tokenizer from \"@ui5/webcomponents/dist/Tokenizer.js\";\n\nexport default function TagTemplate(this: UDExTagGroup) {\n const rootClass = \"udex-tag-group\";\n\n return (\n <>\n <div class={`${rootClass}`}\n id={`${this._id}-tag-group`}\n role=\"group\">\n <UI5Tokenizer\n part=\"tokenizer\"\n show-more\n prevent-popover-open\n disabled={this.disabled}\n expanded={this.tokenizerExpanded}\n id={`${this._id}-tag-group-tokenizer`}\n class={`${rootClass}__tokenizer`}\n onShowMoreItemsPress={this.showMoreItems}>\n {this.items.map((item, index) => (\n tag.call(this, rootClass, item, index)\n ))}\n </UI5Tokenizer>\n {this._isHiddenTags && (\n <>\n <UDExTooltip\n id={`${this._id}-tag-group-tooltip`}\n placement={this.tooltipPlacement}\n accessible-name={this.tooltipAccessibleName}\n onKeyDown={this.handleShowMoreButtonKeydown}>\n <div\n role=\"group\"\n class={`${rootClass}-tooltip__content`}>\n {this.hiddenTags.map((item, index) => (\n tag.call(this, rootClass, item, index)\n ))}\n </div>\n </UDExTooltip>\n </>\n )}\n </div>\n </>\n );\n}\n\nfunction tag(this: UDExTagGroup, rootClass: string, item: any, index: number) {\n return (\n <>\n <UDExTag\n key={index}\n accessibleRole=\"option\"\n class={`${rootClass}__tag`}\n data-id={`${item.id}`}\n part={`token-${index}`}\n read-only={this.isReadOrDisplayOnly}\n id={`${this._id}-tag-group-tag`}\n text={item.text}\n icon={item.icon}\n href={item.href}\n design={item.design}\n size={item.size}\n icon-placement={item.iconPlacement}\n accessible-name={item.accessibleName}\n non-selectable={item.nonSelectable}\n data-overflows={item.overflows}\n onKeyDown={this.handleTagKeyDown}\n onSelectionChange={this.handleTagClick}\n onIconClick={this.tagIconClickHandler}\n {...(this.disabled ? { tabindex: -1 } : {})}>\n </UDExTag>\n </>\n );\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{p as w,j as l,a as c,f as v,d as y,b as P,s as g,m as x,q as S,r as O,u as R,D as L,c as D,v as A,T as G,I as b,w as I,F as H,B as f,R as V,x as E,z as $,A as N,C as B}from"./bundle.esm-Bji3bkxT.js";const F=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function _(n,e,t,s){return n.replaceAll(new RegExp(F(e),`${s?"i":""}g`),t)}function M(n,e){if(!n||!e)return n;const t=r=>{const[a,d]=r.split("");for(;n.indexOf(r)>=0||e.indexOf(r)>=0;)r=`${a}${r}${d}`;return r},s=t("12"),i=t("34");let o=w(_(n,e,r=>`${s}${r}${i}`,!0));return[[s,"<b>"],[i,"</b>"]].forEach(([r,a])=>{o=_(o,r,a,!1)}),o}function z(n,e){const t=(n==null?void 0:n.listItemContent)||q;return l("li",{part:"native-li","data-sap-focus-ref":!0,tabindex:this._effectiveTabIndex,class:this.classes.main,draggable:this.movable,role:e==null?void 0:e.role,title:e==null?void 0:e.title,onFocusIn:this._onfocusin,onKeyUp:this._onkeyup,onKeyDown:this._onkeydown,onClick:this._onclick,children:t.call(this)})}function q(){return l("div",{part:"content",id:`${this._id}-content`,class:"ui5-li-content",children:l("div",{class:"ui5-li-text-wrapper",children:l("span",{part:"title",class:"ui5-li-title",children:l("slot",{})})})})}function U(){return[z.call(this,{listItemContent:W},{role:"option"})]}function W(){return l("div",{part:"content",id:"content",class:"ui5-li-content",children:c("div",{class:"ui5-li-text-wrapper",children:[l("span",{part:"title",className:"ui5-li-title",dangerouslySetInnerHTML:{__html:this.markupText}}),this.additionalText&&l("span",{part:"additional-text",class:"ui5-li-additional-text",children:this.additionalText})]})})}v("@ui5/webcomponents-theming","sap_horizon",async()=>y);v("@ui5/webcomponents","sap_horizon",async()=>P,"host");const K=`:host([ui5-suggestion-item]){height:auto;min-height:var(--_ui5_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-root{min-height:var(--_ui5_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-content{padding-bottom:.5rem;padding-top:.5rem;box-sizing:border-box}
1
+ import{p as w,j as l,a as c,f as v,d as y,b as P,s as g,m as x,q as S,r as O,u as R,D as L,c as D,v as A,T as G,I as b,w as I,F as H,B as f,R as V,x as E,z as $,A as N,C as B}from"./bundle.esm-6rH7NAG7.js";const F=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function _(n,e,t,s){return n.replaceAll(new RegExp(F(e),`${s?"i":""}g`),t)}function M(n,e){if(!n||!e)return n;const t=r=>{const[a,d]=r.split("");for(;n.indexOf(r)>=0||e.indexOf(r)>=0;)r=`${a}${r}${d}`;return r},s=t("12"),i=t("34");let o=w(_(n,e,r=>`${s}${r}${i}`,!0));return[[s,"<b>"],[i,"</b>"]].forEach(([r,a])=>{o=_(o,r,a,!1)}),o}function z(n,e){const t=(n==null?void 0:n.listItemContent)||q;return l("li",{part:"native-li","data-sap-focus-ref":!0,tabindex:this._effectiveTabIndex,class:this.classes.main,draggable:this.movable,role:e==null?void 0:e.role,title:e==null?void 0:e.title,onFocusIn:this._onfocusin,onKeyUp:this._onkeyup,onKeyDown:this._onkeydown,onClick:this._onclick,children:t.call(this)})}function q(){return l("div",{part:"content",id:`${this._id}-content`,class:"ui5-li-content",children:l("div",{class:"ui5-li-text-wrapper",children:l("span",{part:"title",class:"ui5-li-title",children:l("slot",{})})})})}function U(){return[z.call(this,{listItemContent:W},{role:"option"})]}function W(){return l("div",{part:"content",id:"content",class:"ui5-li-content",children:c("div",{class:"ui5-li-text-wrapper",children:[l("span",{part:"title",className:"ui5-li-title",dangerouslySetInnerHTML:{__html:this.markupText}}),this.additionalText&&l("span",{part:"additional-text",class:"ui5-li-additional-text",children:this.additionalText})]})})}v("@ui5/webcomponents-theming","sap_horizon",async()=>y);v("@ui5/webcomponents","sap_horizon",async()=>P,"host");const K=`:host([ui5-suggestion-item]){height:auto;min-height:var(--_ui5_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-root{min-height:var(--_ui5_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-content{padding-bottom:.5rem;padding-top:.5rem;box-sizing:border-box}
2
2
  `;var p=function(n,e,t,s){var i=arguments.length,o=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(r=n[a])&&(o=(i<3?r(o):i>3?r(e,t,o):r(e,t))||o);return i>3&&o&&Object.defineProperty(e,t,o),o};let h=class extends S{constructor(){super(...arguments),this.markupText=""}onEnterDOM(){O()&&this.setAttribute("desktop","")}get _effectiveTabIndex(){return-1}};p([g()],h.prototype,"text",void 0);p([g()],h.prototype,"additionalText",void 0);p([g()],h.prototype,"markupText",void 0);h=p([x({tag:"ui5-suggestion-item",template:U,styles:[S.styles,K]})],h);h.define();function X(n){const e=(n==null?void 0:n.items)||j;return c("ul",{role:"group",class:"ui5-group-li-root",onDragEnter:this._ondragenter,onDragOver:this._ondragover,onDrop:this._ondrop,onDragLeave:this._ondragleave,children:[this.hasHeader&&l(R,{focused:this.focused,part:"header",accessibleRole:"Group",wrappingType:this.getGroupHeaderWrapping(),children:this.hasFormattedHeader?l("slot",{name:"header"}):this.headerText}),e.call(this),l(L,{orientation:"Horizontal",ownerReference:this})]})}function j(){return l("slot",{})}var T=function(n,e,t,s){var i=arguments.length,o=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(r=n[a])&&(o=(i<3?r(o):i>3?r(e,t,o):r(e,t))||o);return i>3&&o&&Object.defineProperty(e,t,o),o};let m=class extends A{};T([D({default:!0,invalidateOnChildChange:!0,type:HTMLElement})],m.prototype,"items",void 0);m=T([x({tag:"ui5-suggestion-item-group",template:X})],m);m.define();function J(n){const e=(n==null?void 0:n.suggestionsList)||Q,t=n==null?void 0:n.mobileHeader,s=n==null?void 0:n.valueStateMessage,i=n==null?void 0:n.valueStateMessageInputIcon;return c(V,{class:this.classes.popover,hideArrow:!0,preventFocusRestore:!0,preventInitialFocus:!0,placement:"Bottom",horizontalAlign:"Start",tabindex:-1,style:this.styles.suggestionsPopover,onOpen:this._afterOpenPicker,onClose:this._afterClosePicker,onScroll:this._scroll,open:this.open,opener:this,accessibleName:this._popupLabel,children:[this._isPhone&&l(H,{children:c("div",{slot:"header",class:"ui5-responsive-popover-header",children:[l("div",{class:"row",children:l(G,{level:"H1",wrappingType:"None",class:"ui5-responsive-popover-header-text",children:this._headerTitleText})}),l("div",{class:"row",children:c("div",{class:"input-root-phone native-input-wrapper",children:[l(b,{class:"ui5-input-inner-phone",type:this.inputType,value:this.value,showClearIcon:this.showClearIcon,placeholder:this.placeholder,onInput:this._handleInput}),t==null?void 0:t.call(this)]})}),this.hasValueStateMessage&&c("div",{class:this.classes.popoverValueState,style:this.styles.suggestionPopoverHeader,children:[l(I,{class:"ui5-input-value-state-message-icon",name:i==null?void 0:i.call(this)}),this.open&&(s==null?void 0:s.call(this))]})]})}),!this._isPhone&&this.hasValueStateMessage&&c("div",{slot:"header",class:{"ui5-responsive-popover-header":!0,...this.classes.popoverValueState},style:this.styles.suggestionPopoverHeader,children:[l(I,{class:"ui5-input-value-state-message-icon",name:i==null?void 0:i.call(this)}),this.open&&(s==null?void 0:s.call(this))]}),this.showSuggestions&&e.call(this),this._isPhone&&c("div",{slot:"footer",class:"ui5-responsive-popover-footer",children:[l(f,{design:"Emphasized",onClick:this._confirmMobileValue,children:this._suggestionsOkButtonText}),l(f,{class:"ui5-responsive-popover-close-btn",design:"Transparent",onClick:this._cancelMobileValue,children:this._suggestionsCancelButtonText})]})]})}function Q(){return l($,{accessibleRole:E.ListBox,separators:this.suggestionSeparators,selectionMode:"Single",onMouseDown:this.onItemMouseDown,onItemClick:this._handleSuggestionItemPress,onSelectionChange:this._handleSelectionChange,children:l("slot",{})})}class u{get template(){return J}constructor(e,t,s,i){this.component=e,this.slotName=t,this.handleFocus=i,this.highlight=s,this.selectedItemIndex=-1}onUp(e,t){e.preventDefault();const s=!this.isOpened&&this._hasValueState&&t===-1?0:t;return this._handleItemNavigation(!1,s),!0}onDown(e,t){e.preventDefault();const s=!this.isOpened&&this._hasValueState&&t===-1?0:t;return this._handleItemNavigation(!0,s),!0}onSpace(e){return this._isItemOnTarget()?(e.preventDefault(),this.onItemSelected(this._selectedItem,!0),!0):!1}onEnter(e){return this._isGroupItem?(e.preventDefault(),!1):this._isItemOnTarget()?(this.onItemSelected(this._selectedItem,!0),!0):!1}onPageUp(e){e.preventDefault();const t=this.selectedItemIndex-10>-1;return this._moveItemSelection(this.selectedItemIndex,t?this.selectedItemIndex-=10:this.selectedItemIndex=0),!0}onPageDown(e){e.preventDefault();const t=this.visibleItems;if(!t)return!0;const s=t.length-1,i=this.selectedItemIndex+10<=s;return this._moveItemSelection(this.selectedItemIndex,i?this.selectedItemIndex+=10:this.selectedItemIndex=s),!0}onHome(e){return e.preventDefault(),this._moveItemSelection(this.selectedItemIndex,this.selectedItemIndex=0),!0}onEnd(e){e.preventDefault();const t=this._getItems().length-1;return t&&this._moveItemSelection(this.selectedItemIndex,this.selectedItemIndex=t),!0}onTab(){return this._isItemOnTarget()?(this.onItemSelected(this._selectedItem,!0),!0):!1}toggle(e,t){(e!==void 0?e:!this.isOpened())?this._getComponent().open=!0:this.close(t.preventFocusRestore)}get _selectedItem(){return this._getNonGroupItems().find(e=>e.selected)}_isScrollable(){const e=this._getScrollContainer();return e.offsetHeight<e.scrollHeight}close(e=!1){const t=this._getItems()&&this._getItems()[this.selectedItemIndex];this._getComponent().open=!1;const s=this._getPicker();s.preventFocusRestore=e,s.open=!1,t&&t.focused&&(t.focused=!1)}updateSelectedItemPosition(e){this.selectedItemIndex=e}onItemSelected(e,t){const s=e,i=this._getNonGroupItems();s&&(this.accInfo={isGroup:s.hasAttribute("ui5-suggestion-item-group"),currentPos:i.indexOf(s)+1,listSize:i.length,itemText:s.text||"",additionalText:s.additionalText},this._getComponent().onItemSelected(s,t),this._getComponent().open=!1)}onItemSelect(e){this._getComponent().onItemSelect(e)}onItemPress(e){let t;const s=e.type==="ui5-item-click";s&&!e.detail.item.selected||this._handledPress&&!s||(s&&e.detail.item.selected?(t=e.detail.item,this._handledPress=!0):t=e.detail.selectedItems[0],this.onItemSelected(t,!1))}_onClose(){this._handledPress=!1}_isItemOnTarget(){return this.isOpened()&&this.selectedItemIndex!==null&&this.selectedItemIndex!==-1&&!this._isGroupItem}get _isGroupItem(){const e=this._getItems();return!e||!e[this.selectedItemIndex]?!1:e[this.selectedItemIndex].hasAttribute("ui5-suggestion-item-group")}isOpened(){var e;return!!((e=this._getPicker())!=null&&e.open)}_handleItemNavigation(e,t){this.selectedItemIndex=t,this._getItems().length&&(e?this._selectNextItem():this._selectPreviousItem())}_selectNextItem(){const e=this._getItems().length,t=this.selectedItemIndex;t!==-1&&t+1>e-1||this._moveItemSelection(t,++this.selectedItemIndex)}_selectPreviousItem(){const e=this.visibleItems,t=this.selectedItemIndex;if(!(t===-1||t===null)){if(t-1<0){(e[t].hasAttribute("ui5-suggestion-item")||e[t].hasAttribute("ui5-suggestion-item-custom"))&&(e[t].selected=!1),e[t].focused=!1,this.component.focused=!0,this.component.hasSuggestionItemSelected=!1,this.component.value=this.component.typedInValue,this.selectedItemIndex-=1;return}this._moveItemSelection(t,--this.selectedItemIndex)}}get visibleItems(){return this._getItems().filter(e=>!e.hidden)}_moveItemSelection(e,t){const s=this.visibleItems,i=s[t],o=s[e],r=this._getNonGroupItems(),a=i==null?void 0:i.hasAttribute("ui5-suggestion-item-group");if(!i)return;this.component.focused=!1;const d=this.visibleItems[this.selectedItemIndex];if(this.accInfo={isGroup:a,currentPos:s.indexOf(i)+1,itemText:(a?d.headerText:d.text)||""},(i.hasAttribute("ui5-suggestion-item")||i.hasAttribute("ui5-suggestion-item-custom"))&&(this.accInfo.additionalText=i.additionalText||"",this.accInfo.currentPos=r.indexOf(i)+1,this.accInfo.listSize=r.length),o&&(o.focused=!1),(o!=null&&o.hasAttribute("ui5-suggestion-item")||o!=null&&o.hasAttribute("ui5-suggestion-item-custom"))&&(o.selected=!1),i&&(i.focused=!0,a||(i.selected=!0),this.handleFocus&&i.focus()),this.component.hasSuggestionItemSelected=!0,this.onItemSelect(i),!this._isItemIntoView(i)){const C=this._isGroupItem?i.shadowRoot.querySelector("[ui5-li-group-header]"):i;this._scrollItemIntoView(C)}}_deselectItems(){this._getItems().forEach(t=>{(t.hasAttribute("ui5-suggestion-item")||t.hasAttribute("ui5-suggestion-item-custom"))&&(t.selected=!1),t.focused=!1})}_clearItemFocus(){const e=this._getItems().find(t=>t.focused);e&&(e.focused=!1)}_isItemIntoView(e){const t=e.getDomRef().getBoundingClientRect(),s=this._getComponent().getDomRef().getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight;let o=0;return this._hasValueState&&(o=this._getPicker().querySelector("[slot=header]").getBoundingClientRect().height),t.top+u.SCROLL_STEP<=i&&t.top>=s.top+o}_scrollItemIntoView(e){e.scrollIntoView({behavior:"auto",block:"nearest",inline:"nearest"})}_getScrollContainer(){return this._scrollContainer||(this._scrollContainer=this._getPicker().shadowRoot.querySelector(".ui5-popup-content")),this._scrollContainer}_getItems(){return this._getComponent().getSlottedNodes("suggestionItems").flatMap(t=>t.hasAttribute("ui5-suggestion-item-group")?[t,...t.items]:[t])}_getNonGroupItems(){return this._getItems().filter(e=>!e.hasAttribute("ui5-suggestion-item-group"))}_getComponent(){return this.component}_getList(){return this._getPicker().querySelector("[ui5-list]")}_getListWidth(){var e;return(e=this._getList())==null?void 0:e.offsetWidth}_getPicker(){return this._getComponent().shadowRoot.querySelector("[ui5-responsive-popover]")}get itemSelectionAnnounce(){if(!this.accInfo)return"";if(this.accInfo.isGroup)return`${u.i18nBundle.getText(N)} ${this.accInfo.itemText}`;const e=u.i18nBundle.getText(B,this.accInfo.currentPos||0,this.accInfo.listSize||0);return`${this.accInfo.additionalText} ${e}`.trim()}hightlightInput(e,t){return M(e,t)}get _hasValueState(){return this.component.hasValueStateMessage}_clearSelectedSuggestionAndaccInfo(){this.accInfo=void 0,this.selectedItemIndex=0}}u.SCROLL_STEP=60;b.SuggestionsClass=u;export{u as default};
@@ -1,3 +1,3 @@
1
- import{j as s,a as _,F as T,f as m,d as b,b as E,s as x,c as C,i as P,m as O,y as w,S as B,t as I,E as A,e as S,L as R,R as L,B as M,g as N,h as F,k as z,l as D,n as X,o as j}from"./bundle.esm-Bji3bkxT.js";var g;(function(o){o.InPlace="InPlace",o.Popover="Popover"})(g||(g={}));const k=g;var y;(function(o){o.Off="Off",o.On="On"})(y||(y={}));const $=y;function H(){return s(T,{children:s("span",{children:this._renderEmptyIndicator?_(T,{children:[s("span",{className:"empty-indicator","aria-hidden":"true",children:this._emptyIndicatorSymbol}),s("span",{className:"empty-indicator-aria-label",children:this._emptyIndicatorAriaLabel})]}):s("slot",{})})})}m("@ui5/webcomponents-theming","sap_horizon",async()=>b);m("@ui5/webcomponents","sap_horizon",async()=>E,"host");const W=`:host{max-width:100%;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--sapTextColor);line-height:normal;cursor:text;overflow:hidden;display:-webkit-inline-box;-webkit-line-clamp:var(--_ui5_text_max_lines);line-clamp:var(--_ui5_text_max_lines);-webkit-box-orient:vertical;white-space:normal;word-wrap:break-word}:host([max-lines="1"]){word-break:break-all}.empty-indicator-aria-label{position:absolute!important;clip:rect(1px,1px,1px,1px);user-select:none;left:0;top:0;font-size:0}
1
+ import{j as s,a as _,F as T,f as m,d as b,b as E,s as x,c as C,i as P,m as O,y as w,S as B,t as I,E as A,e as S,L as R,R as L,B as M,g as N,h as F,k as z,l as D,n as X,o as j}from"./bundle.esm-6rH7NAG7.js";var g;(function(o){o.InPlace="InPlace",o.Popover="Popover"})(g||(g={}));const k=g;var y;(function(o){o.Off="Off",o.On="On"})(y||(y={}));const $=y;function H(){return s(T,{children:s("span",{children:this._renderEmptyIndicator?_(T,{children:[s("span",{className:"empty-indicator","aria-hidden":"true",children:this._emptyIndicatorSymbol}),s("span",{className:"empty-indicator-aria-label",children:this._emptyIndicatorAriaLabel})]}):s("slot",{})})})}m("@ui5/webcomponents-theming","sap_horizon",async()=>b);m("@ui5/webcomponents","sap_horizon",async()=>E,"host");const W=`:host{max-width:100%;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--sapTextColor);line-height:normal;cursor:text;overflow:hidden;display:-webkit-inline-box;-webkit-line-clamp:var(--_ui5_text_max_lines);line-clamp:var(--_ui5_text_max_lines);-webkit-box-orient:vertical;white-space:normal;word-wrap:break-word}:host([max-lines="1"]){word-break:break-all}.empty-indicator-aria-label{position:absolute!important;clip:rect(1px,1px,1px,1px);user-select:none;left:0;top:0;font-size:0}
2
2
  `;var u=function(o,e,t,i){var r=arguments.length,n=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(o,e,t,i);else for(var d=o.length-1;d>=0;d--)(l=o[d])&&(n=(r<3?l(n):r>3?l(e,t,n):l(e,t))||n);return r>3&&n&&Object.defineProperty(e,t,n),n},f;let p=f=class extends B{constructor(){super(...arguments),this.maxLines=1/0,this.emptyIndicatorMode="Off"}onBeforeRendering(){this.style.setProperty("--_ui5_text_max_lines",`${this.maxLines}`)}get hasText(){return I(this.text)}get _renderEmptyIndicator(){return!this.hasText&&this.emptyIndicatorMode===$.On}get _emptyIndicatorAriaLabel(){return f.i18nBundle.getText(A)}get _emptyIndicatorSymbol(){return f.i18nBundle.getText(S)}};u([x({type:Number})],p.prototype,"maxLines",void 0);u([x()],p.prototype,"emptyIndicatorMode",void 0);u([C({type:Node,default:!0})],p.prototype,"text",void 0);u([P("@ui5/webcomponents")],p,"i18nBundle",void 0);p=f=u([O({tag:"ui5-text",renderer:w,template:H,styles:W})],p);p.define();const v=p;function q(){return _("div",{children:[s(v,{class:"ui5-exp-text-text",emptyIndicatorMode:this.emptyIndicatorMode,children:this._displayedText}),this._maxCharactersExceeded&&_(T,{children:[s("span",{class:"ui5-exp-text-ellipsis",children:this._ellipsisText}),s(R,{id:"toggle",class:"ui5-exp-text-toggle",accessibleRole:"Button",accessibleName:this._accessibleNameForToggle,accessibilityAttributes:this._accessibilityAttributesForToggle,onClick:this._handleToggleClick,children:this._textForToggle}),this._usePopover&&_(L,{open:this._expanded,opener:"toggle",accessibleNameRef:"popover-text",contentOnlyOnDesktop:!0,_hideHeader:!0,class:"ui5-exp-text-popover",onClose:this._handlePopoverClose,children:[s(v,{class:"ui5-exp-text-popover-text",id:"popover-text",children:this.text}),s("div",{slot:"footer",class:"ui5-exp-text-footer",children:s(M,{design:"Transparent",onClick:this._handleCloseButtonClick,children:this._closeButtonText})})]})]})]})}m("@ui5/webcomponents-theming","sap_horizon",async()=>b);m("@ui5/webcomponents","sap_horizon",async()=>E,"host");const V=`:host{display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);color:var(--sapTextColor)}:host([hidden]){display:none}.ui5-exp-text-text{display:inline;white-space:inherit}.ui5-exp-text-text,.ui5-exp-text-toggle{font-family:inherit;font-size:inherit}.ui5-exp-text-text,.ui5-exp-text-ellipsis{color:inherit}.ui5-exp-text-popover,.ui5-exp-text-popover-text{white-space:inherit;font-family:inherit;font-size:inherit}.ui5-exp-text-popover::part(content){padding-inline:1rem}.ui5-exp-text-footer{width:100%;display:flex;align-items:center;justify-content:flex-end}
3
3
  `;var h=function(o,e,t,i){var r=arguments.length,n=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(o,e,t,i);else for(var d=o.length-1;d>=0;d--)(l=o[d])&&(n=(r<3?l(n):r>3?l(e,t,n):l(e,t))||n);return r>3&&n&&Object.defineProperty(e,t,n),n},c;let a=c=class extends B{constructor(){super(...arguments),this.maxCharacters=100,this.overflowMode="InPlace",this.emptyIndicatorMode="Off",this._expanded=!1,this._shouldScrollToToggle=!1}getFocusDomRef(){var e,t;return this._usePopover?(e=this.shadowRoot)==null?void 0:e.querySelector("[ui5-responsive-popover]"):(t=this.shadowRoot)==null?void 0:t.querySelector("[ui5-link]")}get _displayedText(){var e;return this._expanded&&!this._usePopover?this.text:(e=this.text)==null?void 0:e.substring(0,this.maxCharacters)}get _maxCharactersExceeded(){var e;return(((e=this.text)==null?void 0:e.length)||0)>this.maxCharacters}get _usePopover(){return this.overflowMode===k.Popover}get _ellipsisText(){return this._expanded&&!this._usePopover?" ":"... "}get _textForToggle(){return this._expanded?c.i18nBundle.getText(N):c.i18nBundle.getText(F)}get _closeButtonText(){return c.i18nBundle.getText(z)}get _accessibilityAttributesForToggle(){return this._usePopover?{expanded:this._expanded,hasPopup:"dialog"}:{expanded:this._expanded}}get _accessibleNameForToggle(){if(this._usePopover)return this._expanded?c.i18nBundle.getText(D):c.i18nBundle.getText(X)}_handlePopoverClose(){j()||(this._expanded=!1)}onAfterRendering(){var e,t;if(this._shouldScrollToToggle){this._shouldScrollToToggle=!1;const i=(e=this.shadowRoot)==null?void 0:e.querySelector("#toggle");(t=i==null?void 0:i.scrollIntoView)==null||t.call(i,{block:"nearest"})}}_handleToggleClick(){this._expanded=!this._expanded,this._expanded&&!this._usePopover&&(this._shouldScrollToToggle=!0)}_handleCloseButtonClick(e){this._expanded=!1,e.stopPropagation()}};h([x()],a.prototype,"text",void 0);h([x({type:Number})],a.prototype,"maxCharacters",void 0);h([x()],a.prototype,"overflowMode",void 0);h([x()],a.prototype,"emptyIndicatorMode",void 0);h([x({type:Boolean})],a.prototype,"_expanded",void 0);h([P("@ui5/webcomponents")],a,"i18nBundle",void 0);a=c=h([O({tag:"ui5-expandable-text",renderer:w,styles:V,template:q})],a);a.define();function K(o){const{className:e,text:t,maxCharacters:i,part:r}=o;return s(a,{part:r,class:e,text:t,maxCharacters:i})}export{K as default};