@sapudex/web-components 2.14.0 → 2.16.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 (236) hide show
  1. package/cypress/specs/Breadcrumbs.cy.tsx +77 -0
  2. package/cypress/specs/FilterMenu.cy.tsx +19 -43
  3. package/cypress/specs/HeroBanner.cy.tsx +6 -6
  4. package/cypress/specs/InputGroup.cy.tsx +47 -0
  5. package/cypress/specs/RatingBar.cy.tsx +41 -0
  6. package/cypress/specs/Tooltip.cy.tsx +6 -11
  7. package/cypress/support/component-imports.instrumented.ts +4 -0
  8. package/cypress/support/component-imports.src.ts +4 -0
  9. package/dist/Accordion.js +44 -30
  10. package/dist/Accordion.js.map +1 -1
  11. package/dist/Breadcrumbs.d.ts +2 -0
  12. package/dist/Breadcrumbs.js +8 -7
  13. package/dist/Breadcrumbs.js.map +1 -1
  14. package/dist/BreadcrumbsItem.d.ts +1 -2
  15. package/dist/BreadcrumbsItem.js.map +1 -1
  16. package/dist/BreadcrumbsPopoverTemplate.d.ts +2 -0
  17. package/dist/BreadcrumbsPopoverTemplate.js +8 -0
  18. package/dist/BreadcrumbsPopoverTemplate.js.map +1 -0
  19. package/dist/BreadcrumbsTemplate.d.ts +2 -0
  20. package/dist/BreadcrumbsTemplate.js +10 -0
  21. package/dist/BreadcrumbsTemplate.js.map +1 -0
  22. package/dist/FilterMenu.js +1 -2
  23. package/dist/FilterMenu.js.map +1 -1
  24. package/dist/FilterMenuSelectAll.d.ts +0 -1
  25. package/dist/FilterMenuSelectAll.js +0 -3
  26. package/dist/FilterMenuSelectAll.js.map +1 -1
  27. package/dist/Footer.d.ts +17 -21
  28. package/dist/Footer.js +5 -11
  29. package/dist/Footer.js.map +1 -1
  30. package/dist/FooterTemplate.d.ts +2 -0
  31. package/dist/FooterTemplate.js +27 -0
  32. package/dist/FooterTemplate.js.map +1 -0
  33. package/dist/HeroBanner.js +4 -4
  34. package/dist/HeroBanner.js.map +1 -1
  35. package/dist/HeroBannerTemplate.d.ts +2 -0
  36. package/dist/HeroBannerTemplate.js +10 -0
  37. package/dist/HeroBannerTemplate.js.map +1 -0
  38. package/dist/InputGroup.d.ts +0 -1
  39. package/dist/InputGroup.js +3 -6
  40. package/dist/InputGroup.js.map +1 -1
  41. package/dist/InputGroupTemplate.d.ts +2 -0
  42. package/dist/InputGroupTemplate.js +7 -0
  43. package/dist/InputGroupTemplate.js.map +1 -0
  44. package/dist/MastheadMobileMenu.js +1 -1
  45. package/dist/MastheadMobileMenu.js.map +1 -1
  46. package/dist/RatingBar.js +3 -3
  47. package/dist/RatingBar.js.map +1 -1
  48. package/dist/RatingBarTemplate.d.ts +2 -0
  49. package/dist/RatingBarTemplate.js +8 -0
  50. package/dist/RatingBarTemplate.js.map +1 -0
  51. package/dist/Search.js +5 -4
  52. package/dist/Search.js.map +1 -1
  53. package/dist/SearchableListBase.d.ts +2 -1
  54. package/dist/SearchableListBase.js +13 -23
  55. package/dist/SearchableListBase.js.map +1 -1
  56. package/dist/SelectBox.js +1 -2
  57. package/dist/SelectBox.js.map +1 -1
  58. package/dist/StatusBadge.js +3 -3
  59. package/dist/StatusBadge.js.map +1 -1
  60. package/dist/StatusBadgeTemplate.d.ts +2 -0
  61. package/dist/StatusBadgeTemplate.js +7 -0
  62. package/dist/StatusBadgeTemplate.js.map +1 -0
  63. package/dist/StatusMessage.js +3 -3
  64. package/dist/StatusMessage.js.map +1 -1
  65. package/dist/StatusMessageTemplate.d.ts +2 -0
  66. package/dist/StatusMessageTemplate.js +8 -0
  67. package/dist/StatusMessageTemplate.js.map +1 -0
  68. package/dist/Switch.d.ts +1 -4
  69. package/dist/Switch.js +4 -8
  70. package/dist/Switch.js.map +1 -1
  71. package/dist/SwitchTemplate.d.ts +2 -0
  72. package/dist/SwitchTemplate.js +12 -0
  73. package/dist/SwitchTemplate.js.map +1 -0
  74. package/dist/TagGroup.d.ts +2 -0
  75. package/dist/TagGroup.js +10 -3
  76. package/dist/TagGroup.js.map +1 -1
  77. package/dist/TruncatedText.d.ts +0 -1
  78. package/dist/TruncatedText.js +5 -6
  79. package/dist/TruncatedText.js.map +1 -1
  80. package/dist/TruncatedTextTemplate.d.ts +2 -0
  81. package/dist/TruncatedTextTemplate.js +9 -0
  82. package/dist/TruncatedTextTemplate.js.map +1 -0
  83. package/dist/assets/{InputSuggestions-AxcsfuTc.js → InputSuggestions-lpqKgn1j.js} +1 -1
  84. package/dist/assets/{ListItemStandardExpandableTextTemplate-CaS49yZt.js → ListItemStandardExpandableTextTemplate-BPs3CyVq.js} +1 -1
  85. package/dist/assets/{bundle.esm-DzkSPQ0p.js → bundle.esm-C3RAGF4b.js} +211 -211
  86. package/dist/css/themes/AccordionItem.css +1 -1
  87. package/dist/css/themes/CountrySelector.css +1 -1
  88. package/dist/css/themes/Link.css +1 -1
  89. package/dist/css/themes/MediaPlayer.css +1 -1
  90. package/dist/css/themes/PhoneNumberField.css +1 -1
  91. package/dist/css/themes/RatingBar.css +1 -1
  92. package/dist/css/themes/RatingIndicator.css +1 -1
  93. package/dist/css/themes/Search.css +1 -1
  94. package/dist/css/themes/SelectBox.css +1 -1
  95. package/dist/css/themes/Slider.css +1 -1
  96. package/dist/css/themes/TextArea.css +1 -1
  97. package/dist/css/themes/TextField.css +1 -1
  98. package/dist/custom-elements-internal.json +148 -133
  99. package/dist/custom-elements.json +133 -118
  100. package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
  101. package/dist/generated/themes/AccordionItem.css.js +1 -1
  102. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  103. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  104. package/dist/generated/themes/CountrySelector.css.js +1 -1
  105. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  106. package/dist/generated/themes/Link.css.d.ts +1 -1
  107. package/dist/generated/themes/Link.css.js +1 -1
  108. package/dist/generated/themes/Link.css.js.map +1 -1
  109. package/dist/generated/themes/MediaPlayer.css.d.ts +1 -1
  110. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  111. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  112. package/dist/generated/themes/PhoneNumberField.css.d.ts +1 -1
  113. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  114. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  115. package/dist/generated/themes/RatingBar.css.d.ts +1 -1
  116. package/dist/generated/themes/RatingBar.css.js +1 -1
  117. package/dist/generated/themes/RatingBar.css.js.map +1 -1
  118. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  119. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  120. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  121. package/dist/generated/themes/Search.css.d.ts +1 -1
  122. package/dist/generated/themes/Search.css.js +1 -1
  123. package/dist/generated/themes/Search.css.js.map +1 -1
  124. package/dist/generated/themes/SelectBox.css.d.ts +1 -1
  125. package/dist/generated/themes/SelectBox.css.js +1 -1
  126. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  127. package/dist/generated/themes/Slider.css.d.ts +1 -1
  128. package/dist/generated/themes/Slider.css.js +1 -1
  129. package/dist/generated/themes/Slider.css.js.map +1 -1
  130. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  131. package/dist/generated/themes/TextArea.css.js +1 -1
  132. package/dist/generated/themes/TextArea.css.js.map +1 -1
  133. package/dist/generated/themes/TextField.css.d.ts +1 -1
  134. package/dist/generated/themes/TextField.css.js +1 -1
  135. package/dist/generated/themes/TextField.css.js.map +1 -1
  136. package/dist/utils/sanitizeString.d.ts +2 -0
  137. package/dist/utils/sanitizeString.js +12 -0
  138. package/dist/utils/sanitizeString.js.map +1 -0
  139. package/dist/web-types.json +2 -2
  140. package/package.json +2 -2
  141. package/src/Accordion.ts +56 -26
  142. package/src/Breadcrumbs.ts +12 -7
  143. package/src/BreadcrumbsItem.ts +2 -2
  144. package/src/BreadcrumbsPopoverTemplate.tsx +60 -0
  145. package/src/BreadcrumbsTemplate.tsx +53 -0
  146. package/src/FilterMenu.ts +1 -2
  147. package/src/FilterMenuSelectAll.ts +0 -4
  148. package/src/Footer.ts +28 -35
  149. package/src/FooterTemplate.tsx +410 -0
  150. package/src/HeroBanner.ts +4 -4
  151. package/src/HeroBannerTemplate.tsx +101 -0
  152. package/src/InputGroup.ts +3 -7
  153. package/src/InputGroupTemplate.tsx +31 -0
  154. package/src/MastheadMobileMenu.ts +1 -1
  155. package/src/RatingBar.ts +3 -3
  156. package/src/RatingBarTemplate.tsx +38 -0
  157. package/src/Search.ts +5 -4
  158. package/src/SearchableListBase.ts +15 -26
  159. package/src/SelectBox.ts +1 -2
  160. package/src/StatusBadge.ts +5 -4
  161. package/src/StatusBadgeTemplate.tsx +18 -0
  162. package/src/StatusMessage.ts +3 -3
  163. package/src/StatusMessageTemplate.tsx +20 -0
  164. package/src/Switch.ts +5 -11
  165. package/src/SwitchTemplate.tsx +50 -0
  166. package/src/TagGroup.ts +13 -3
  167. package/src/TruncatedText.ts +8 -14
  168. package/src/TruncatedTextTemplate.tsx +21 -0
  169. package/src/generated/themes/AccordionItem.css.ts +1 -1
  170. package/src/generated/themes/CountrySelector.css.ts +1 -1
  171. package/src/generated/themes/Link.css.ts +1 -1
  172. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  173. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  174. package/src/generated/themes/RatingBar.css.ts +1 -1
  175. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  176. package/src/generated/themes/Search.css.ts +1 -1
  177. package/src/generated/themes/SelectBox.css.ts +1 -1
  178. package/src/generated/themes/Slider.css.ts +1 -1
  179. package/src/generated/themes/TextArea.css.ts +1 -1
  180. package/src/generated/themes/TextField.css.ts +1 -1
  181. package/src/themes/AccordionItem.css +0 -1
  182. package/src/themes/CountrySelector.css +1 -7
  183. package/src/themes/Link.css +11 -4
  184. package/src/themes/MediaPlayer.css +133 -186
  185. package/src/themes/PhoneNumberField.css +25 -7
  186. package/src/themes/RatingBar.css +2 -2
  187. package/src/themes/Search.css +7 -3
  188. package/src/themes/SelectBox.css +4 -0
  189. package/src/themes/TextArea.css +31 -7
  190. package/src/themes/TextField.css +15 -5
  191. package/src/utils/sanitizeString.ts +13 -0
  192. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.d.ts +0 -3
  193. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +0 -12
  194. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +0 -1
  195. package/dist/generated/templates/BreadcrumbsTemplate.lit.d.ts +0 -3
  196. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +0 -14
  197. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +0 -1
  198. package/dist/generated/templates/FooterTemplate.lit.d.ts +0 -3
  199. package/dist/generated/templates/FooterTemplate.lit.js +0 -39
  200. package/dist/generated/templates/FooterTemplate.lit.js.map +0 -1
  201. package/dist/generated/templates/InputGroupTemplate.lit.d.ts +0 -3
  202. package/dist/generated/templates/InputGroupTemplate.lit.js +0 -9
  203. package/dist/generated/templates/InputGroupTemplate.lit.js.map +0 -1
  204. package/dist/generated/templates/RatingBarTemplate.lit.d.ts +0 -3
  205. package/dist/generated/templates/RatingBarTemplate.lit.js +0 -8
  206. package/dist/generated/templates/RatingBarTemplate.lit.js.map +0 -1
  207. package/dist/generated/templates/StatusBadgeTemplate.lit.d.ts +0 -3
  208. package/dist/generated/templates/StatusBadgeTemplate.lit.js +0 -7
  209. package/dist/generated/templates/StatusBadgeTemplate.lit.js.map +0 -1
  210. package/dist/generated/templates/StatusMessageTemplate.lit.d.ts +0 -3
  211. package/dist/generated/templates/StatusMessageTemplate.lit.js +0 -8
  212. package/dist/generated/templates/StatusMessageTemplate.lit.js.map +0 -1
  213. package/dist/generated/templates/SwitchTemplate.lit.d.ts +0 -3
  214. package/dist/generated/templates/SwitchTemplate.lit.js +0 -14
  215. package/dist/generated/templates/SwitchTemplate.lit.js.map +0 -1
  216. package/dist/generated/templates/TruncatedTextTemplate.lit.d.ts +0 -3
  217. package/dist/generated/templates/TruncatedTextTemplate.lit.js +0 -7
  218. package/dist/generated/templates/TruncatedTextTemplate.lit.js.map +0 -1
  219. package/src/Breadcrumbs.hbs +0 -38
  220. package/src/BreadcrumbsPopover.hbs +0 -48
  221. package/src/Footer.hbs +0 -296
  222. package/src/InputGroup.hbs +0 -20
  223. package/src/RatingBar.hbs +0 -11
  224. package/src/StatusBadge.hbs +0 -9
  225. package/src/StatusMessage.hbs +0 -6
  226. package/src/Switch.hbs +0 -35
  227. package/src/TruncatedText.hbs +0 -11
  228. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +0 -16
  229. package/src/generated/templates/BreadcrumbsTemplate.lit.ts +0 -18
  230. package/src/generated/templates/FooterTemplate.lit.ts +0 -43
  231. package/src/generated/templates/InputGroupTemplate.lit.ts +0 -13
  232. package/src/generated/templates/RatingBarTemplate.lit.ts +0 -12
  233. package/src/generated/templates/StatusBadgeTemplate.lit.ts +0 -11
  234. package/src/generated/templates/StatusMessageTemplate.lit.ts +0 -12
  235. package/src/generated/templates/SwitchTemplate.lit.ts +0 -18
  236. package/src/generated/templates/TruncatedTextTemplate.lit.ts +0 -11
package/dist/SelectBox.js CHANGED
@@ -136,8 +136,7 @@ let UDExSelectBox = UDExSelectBox_1 = class UDExSelectBox extends UDExSearchable
136
136
  this._singleSelectedOption = this.selectedItems[0]?.label;
137
137
  }
138
138
  handleSelectAll(e) {
139
- this.onHeaderPress(e);
140
- this.fireDecoratorEvent("select-all");
139
+ this.onSelectAllHeaderPress(e);
141
140
  }
142
141
  handleHeaderPress(e) {
143
142
  this.onHeaderPress(e);
@@ -1 +1 @@
1
- {"version":3,"file":"SelectBox.js","sourceRoot":"","sources":["../src/SelectBox.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport {\n isEnter, isSpace, isDelete, isTabPrevious, isTabNext, isLeft, isRight, isDown, isUp, isEscape, isBackSpace, isShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Tokenizer from \"@ui5/webcomponents/dist/Tokenizer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Token from \"@ui5/webcomponents/dist/Token.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getAllAccessibleNameRefTexts } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport UDExSelectBoxItem from \"./SelectBoxItem.js\";\nimport UDExSelectBoxGroupHeader from \"./SelectBoxGroupHeader.js\";\nimport type { UDExItemFromList, UDExSearchableListBaseEvents } from \"./SearchableListBase.js\";\nimport UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExSearchKeydownEventDetail } from \"./Search.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExValueState from \"./types/common.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport { Placement } from \"./types/Dropdown.js\";\nimport { UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport UDExTagGroup from \"./TagGroup.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport { SELECT_OPTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport SelectBoxTemplate from \"./generated/templates/SelectBoxTemplate.lit.js\";\nimport SearchableListBaseTemplate from \"./generated/templates/SearchableListBaseTemplate.lit.js\";\n\n// Styles\nimport SelectBoxCss from \"./generated/themes/SelectBox.css.js\";\nimport TextFieldCss from \"./generated/themes/TextField.css.js\";\nimport SearchableListCss from \"./generated/themes/SearchableList.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nexport type SelectBoxAccessibilityAttributes = {\n controls?: string,\n expanded?: \"true\" | \"false\" | boolean,\n hasPopup?: string,\n ariaLabel?: string,\n}\n\ntype UDExSelectBoxRemoveEventDetail = {\n item: UDExItemFromList,\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-select-box</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/UDExSelectBox.js\";</code>\n *\n * @constructor\n * @extends UDExSearchableListBase\n * @tagname udex-select-box\n * @public\n */\n@customElement({\n tag: \"udex-select-box\",\n renderer: litRender,\n styles: [TextFieldCss, SelectBoxCss, SearchableListCss, getEffectiveScrollbarStyle()],\n template: SelectBoxTemplate,\n dependencies: [\n UDExSelectBoxGroupHeader,\n UDExListGroupHeader,\n UDExListSelectAll,\n UDExSelectBoxItem,\n UDExStatusMessage,\n UDExControlButton,\n UDExTagGroup,\n UDExListItem,\n UDExList,\n UDExSearch,\n UDExButton,\n UDExTag,\n Tokenizer,\n Token,\n Icon,\n Popover,\n ],\n})\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @public\n */\n@event(\"remove\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the More button.\n *\n * @public\n */\n@event(\"show-more\", { bubbles: true })\n\n/**\n * Fired before the dropdown pane is opened.\n *\n * @public\n */\n@event(\"before-open\", { bubbles: true })\n\nclass UDExSelectBox extends UDExSearchableListBase {\n eventDetails!: {\n \"remove\": UDExSelectBoxRemoveEventDetail,\n \"show-more\": void,\n \"before-open\": void,\n } & UDExSearchableListBaseEvents;\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\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 label text for field container.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default undefined\n * @public\n */\n @property()\n accessibleName?: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default undefined\n * @public\n */\n @property()\n accessibleNameRef?: string;\n\n /**\n * Defines whether the component is read-only.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the value state of the trigger container.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExValueState}` = UDExValueState.Standard;\n\n /**\n * Defines supporting text under the trigger container.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n supportingText?: string;\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 * @private\n */\n @property({ type: String, noAttribute: true })\n _direction?: string;\n\n /**\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _focused!: boolean;\n\n /**\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _open: boolean = false;\n\n /**\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _showTagsDropdownContent!: boolean;\n\n _trigger!: HTMLElement;\n _triggerWrapper!: HTMLElement;\n _popover!: Popover;\n _tokenizer!: Tokenizer;\n _search!: UDExSearch;\n _singleSelectedOption!: string;\n _truncatableTag!: UDExTag;\n _tags!: Array<UDExTag>;\n _inactiveTabIndex: number = -1;\n _activeTabIndex: number = 0;\n _openedByTrigger: boolean = true;\n _shouldScrollToEnd: boolean = false;\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._handleResizeBound = this._handleResize.bind(this);\n this._filteredItems = [];\n }\n\n onEnterDOM() {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM() {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering() {\n this._tokenizer = this.getTagGroup()?._tokenizer;\n this._popover = this.getPopover();\n this._search = this.getSearch();\n this._trigger = this.getTrigger();\n this._triggerWrapper = this.getTriggerWrapper();\n this._tags = this.getTags();\n this.handleDirection();\n if (this._tokenizer?.tokens.length > 0) {\n if (!this.displayonly) {\n this._tokenizer.moreLink?.setAttribute(\"tabindex\", \"-1\");\n }\n if (this._shouldScrollToEnd) {\n this._tokenizer.scrollToEnd();\n }\n this.resetTagsTabIndexes();\n }\n this.handleOutsideClick();\n }\n\n onBeforeRendering() {\n super.onBeforeRendering();\n\n if (this.modeSingleSelect && this.hasSelectedItems) {\n this.handleSingleSelectMode();\n }\n }\n\n _handleResize() {\n this._popover.style.setProperty(\"--udex-dropdown-pane-width\", `${this._triggerWrapper.offsetWidth}px`);\n }\n\n handleItemPress(e:CustomEvent) {\n this.onItemPress(e);\n\n if (this.modeSingleSelect) {\n this.handleSingleSelectMode();\n this.closeDropdown();\n }\n }\n\n handleSingleSelectMode() {\n this._singleSelectedOption = this.selectedItems[0]?.label;\n }\n\n handleSelectAll(e:CustomEvent) {\n this.onHeaderPress(e);\n this.fireDecoratorEvent(\"select-all\");\n }\n\n handleHeaderPress(e:CustomEvent) {\n this.onHeaderPress(e);\n }\n\n handleValueSearch(e:CustomEvent) {\n this.onSearch(e);\n }\n\n handleSubmitSearch() {\n this.closeDropdown();\n this.onSubmitSearch();\n }\n\n handleResetSearch() {\n this.onResetSearch();\n }\n\n handleFocusIn() {\n if (this.isDisabled) {\n return;\n }\n this._focused = true;\n if (this._tokenizer) {\n this._tokenizer.expanded = false;\n }\n }\n\n handleFocusOut() {\n this._focused = false;\n }\n\n handleDropdownBeforeOpen() {\n if (this.preventPageScroll) {\n this._managePopupListeners(UDExPopoverPart.Header, \"addEventListener\");\n }\n\n if (this.height) {\n this._setContentHeight();\n }\n\n this.fireDecoratorEvent(\"before-open\");\n }\n\n handleDropdownAfterClose() {\n if (this.preventPageScroll) {\n this._managePopupListeners(UDExPopoverPart.Header, \"removeEventListener\");\n }\n\n if (this._tokenizer?._tokensCount > 0) {\n this._tokenizer.expanded = false;\n }\n this.handleUnselectTruncatableTag();\n this._open = false;\n }\n\n showMoreItems() {\n this._shouldScrollToEnd = true;\n this._showTagsDropdownContent = false;\n this.openDropdown();\n this.handleUnselectTruncatableTag();\n }\n\n handleRemoveTag(e: CustomEvent | null, tag?: UI5Element) {\n tag = tag ?? (e?.detail.tag as UI5Element);\n const tagId: string = tag.getAttribute(\"data-id\")!;\n this.handleDropdownItemPress(tagId);\n this.fireDecoratorEventRemove(tagId);\n }\n\n handleRemoveTruncatableTag() {\n const tagId: string = this._truncatableTag.getAttribute(\"data-id\")!;\n this.handleDropdownItemPress(tagId);\n this.closeDropdown();\n this.fireDecoratorEventRemove(tagId);\n }\n\n handleTagClick(e: CustomEvent) {\n const tag = e.detail.tag as UDExTag;\n this.toggleTruncatedPopover(tag);\n }\n\n handleUnselectTruncatableTag() {\n if (this._truncatableTag?.selected) {\n this._truncatableTag.selected = false;\n }\n }\n\n handleKeyDownTrigger(e: KeyboardEvent) {\n if (!this.isDisabled && (isSpace(e) || isEnter(e))) {\n e.preventDefault();\n e.stopPropagation();\n this._showTagsDropdownContent = false;\n this._openedByTrigger = true;\n this.openDropdown();\n }\n }\n\n handleKeyDownTag(e: CustomEvent) {\n if (this.isDisabled) { return; }\n const originalEvent: KeyboardEvent = e.detail.originalEvent;\n const tag = originalEvent.target as UDExTag;\n const token = originalEvent.target as Token;\n this.getTagContent(this._tags[0]).tabIndex = this._inactiveTabIndex;\n const tagsCount = this._tokenizer._tokensCount;\n this._tokenizer.expanded = (isLeft(originalEvent) || isRight(originalEvent) || isBackSpace(originalEvent) || isDelete(originalEvent)) && tagsCount > 0;\n if (isTabNext(originalEvent)) {\n this._trigger.focus();\n return;\n }\n\n if ((isDown(originalEvent) || isUp(originalEvent))) {\n this._tokenizer._preventCollapse = true;\n this._openedByTrigger = false;\n this.showMoreItems();\n }\n\n if (isSpace(originalEvent) || isShift(originalEvent) || isEnter(originalEvent)) {\n originalEvent.preventDefault();\n originalEvent.stopPropagation();\n tag.selected = false;\n }\n\n if (isLeft(originalEvent) || isRight(originalEvent)) {\n const nextTokenIndex = this._tokenizer._calcNextTokenIndex(token, this._tokenizer.tokens, isRight(originalEvent));\n this.focusTag(nextTokenIndex);\n this.scrollToTag(nextTokenIndex);\n return;\n }\n\n if (tag.isTruncatable && this.validTruncatableKey(originalEvent)) {\n this.toggleTruncatedPopover(tag);\n } else {\n this._showTagsDropdownContent = false;\n }\n\n if (isDelete(originalEvent) || isBackSpace(originalEvent)) {\n this.handleRemoveTag(null, tag);\n if (this._tokenizer.tokens.length === 1) {\n this._trigger.focus();\n } else {\n this._tokenizer.deleteToken(token);\n }\n }\n }\n\n handleKeyDownDropdown(e: KeyboardEvent) {\n if (this.tabNavigationEnabled) {\n return;\n }\n\n const isTabPrevPress = isTabPrevious(e) && !this._search;\n const isTabNextPress = isTabNext(e);\n const isEscapePress = isEscape(e);\n const isSearchResetTrigger = e.target === this._search;\n if ((isTabNextPress && (!isSearchResetTrigger || this.isListEmpty)) || isTabPrevPress || isEscapePress) {\n this.closeDropdown(e);\n }\n }\n\n handleKeyDownSearch(keyEvent: CustomEvent<UDExSearchKeydownEventDetail>) {\n const { detail: { e } } = keyEvent;\n\n if (isTabPrevious(e) || isEscape(e)) {\n this.closeDropdown(e);\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: MouseEvent) => {\n if (this._tokenizer?.tokens.length > 0 && e.target !== this) {\n this._tokenizer.expanded = false;\n }\n this._open = this._popover.open;\n });\n }\n\n openDropdown() {\n this._popover.opener = this._trigger;\n this._popover.open = true;\n this._open = true;\n if (this.showMultiSelectedOptions) {\n this._tokenizer.expanded = true;\n }\n }\n\n closeDropdown(e?: KeyboardEvent) {\n if (this._popover.open) {\n if (this._tokenizer) {\n this._tokenizer._preventCollapse = false;\n this._tokenizer.expanded = false;\n }\n\n if (e && (isEscape(e) || isTabPrevious(e))) {\n e.preventDefault();\n if (this._openedByTrigger) {\n this._trigger.focus();\n }\n }\n this._open = false;\n this._popover.open = false;\n }\n }\n\n toggleTruncatedPopover(tag: UDExTag) {\n if (!tag.isTruncatable) {\n this._showTagsDropdownContent = false;\n tag.selected = false;\n }\n\n if (tag.isTruncatable && !this._open) {\n this._truncatableTag = tag;\n this._truncatableTag.selected = true;\n this._showTagsDropdownContent = true;\n this.openDropdown();\n }\n }\n\n scrollToTag(index: number) {\n this._tokenizer._scrollToToken(this._tokenizer.tokens[index]);\n }\n\n focusTag(index: number) {\n this._tokenizer.tokens[index].focus();\n this._tokenizer.tokens[index].forcedTabIndex = \"0\";\n }\n\n fireDecoratorEventRemove(id: string) {\n this.fireDecoratorEvent(\"remove\", {\n item: this.getItemFromList(id),\n });\n }\n\n handleOpenMultiSelect() {\n if (this._popover.open) {\n this.closeDropdown();\n } else {\n this._showTagsDropdownContent = false;\n this.openDropdown();\n }\n }\n\n handleOpenSingleSelect() {\n if (this._popover.open) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n }\n }\n\n getHandleMultiSelectOpen() {\n return !this.isDisabled && this.modeMultiSelect ? this.handleOpenMultiSelect() : undefined;\n }\n\n getHandleSingleSelectOpen() {\n return !this.isDisabled && this.modeSingleSelect ? this.handleOpenSingleSelect() : undefined;\n }\n\n getHandlerShowMoreItems(e: CustomEvent) {\n if (!this.displayonly) {\n e.preventDefault();\n this.showMoreItems();\n }\n this.fireDecoratorEvent(\"show-more\");\n }\n\n getTrigger(): HTMLElement {\n return this.shadowRoot!.querySelector(\".udex-text-field__input\")!;\n }\n\n getTriggerWrapper(): HTMLElement {\n return this.shadowRoot!.querySelector(\".udex-text-field__wrap\")!;\n }\n\n getTagGroup(): UDExTagGroup {\n return this.shadowRoot!.querySelector<UDExTagGroup>(\"[udex-tag-group]\")!;\n }\n\n getTags(): Array<UDExTag> {\n if (this.getTagGroup()) {\n return Array.from(this.getTagGroup().shadowRoot!.querySelectorAll<UDExTag>(\"[udex-tag]\"));\n }\n return [];\n }\n\n getTagContent(tag: UDExTag): HTMLElement {\n return tag.shadowRoot!.querySelector(\".udex-tag\")!;\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n validTruncatableKey(e: KeyboardEvent): boolean {\n return isSpace(e) || isEnter(e);\n }\n\n resetTagsTabIndexes() {\n this._tags.forEach((tag, i) => { this.getTagContent(tag).tabIndex = (i === 0 && !this.isDisabled) ? this._activeTabIndex : this._inactiveTabIndex; });\n }\n\n /**\n * Close the dropdown.\n * @public\n */\n close(): void {\n this.closeDropdown();\n }\n\n get allowTargetOverlap(): boolean {\n return !this.disableTargetOverlap;\n }\n\n get isDisabled(): boolean {\n return this.readonly || this.displayonly || this.disabled;\n }\n\n get truncatableTagLabel(): string {\n return this._truncatableTag.text.replace(/<\\/?b>/gi, \"\");\n }\n\n get showSingleSelectedOption(): boolean {\n return this._singleSelectedOption?.length > 0 && this.modeSingleSelect;\n }\n\n get showMultiSelectedOptions(): boolean {\n return this.hasSelectedItems && this.modeMultiSelect;\n }\n\n get labelClass(): string {\n const baseClass = \"udex-text-field__label\";\n const isActive = this._open || this._singleSelectedOption || this.hasSelectedItems;\n return isActive ? `${baseClass} ${baseClass}_active` : `${baseClass}`;\n }\n\n get isReadOrDisplayOnly(): boolean {\n return this.readonly || this.displayonly;\n }\n\n get tokenizerExpanded() {\n if (this._showTagsDropdownContent && this._truncatableTag) {\n return false;\n }\n\n if (this._tokenizer) {\n return this._tokenizer.expanded;\n }\n\n return this._open;\n }\n\n get showTrigger(): boolean {\n return !this.displayonly;\n }\n\n get hasSelectedItems(): boolean {\n return this.selectedItems.length > 0;\n }\n\n get effectiveTabIndex(): string {\n const tabindex = this.getAttribute(\"tabindex\");\n return this.disabled ? `${this._inactiveTabIndex}` : tabindex || `${this._inactiveTabIndex}`;\n }\n\n get triggerTabIndex(): string {\n return this.disabled || this.readonly ? `${this._inactiveTabIndex}` : \"\";\n }\n\n get iconAccessibleNameText(): string {\n const selectOptionsText = UDExSelectBox.i18nBundle.getText(SELECT_OPTIONS);\n const iconAccessibleNameTextSingleMode = this._singleSelectedOption || selectOptionsText;\n return this.modeMultiSelect ? selectOptionsText : iconAccessibleNameTextSingleMode;\n }\n\n get additionalClassName(): string {\n return `udex-list__sticky`;\n }\n\n get searchableList() {\n this.defaultAccessibleRole = \"listbox\";\n return executeTemplate(UDExSelectBox.searchableListBaseTemplate, this);\n }\n\n get accInfo() {\n return {\n \"ariaLabel\": getAllAccessibleNameRefTexts(this) || this.accessibleName || this.label || undefined,\n };\n }\n\n get accessibilityAttributes(): SelectBoxAccessibilityAttributes {\n return {\n expanded: `${this._open}`,\n controls: this.popoverId,\n hasPopup: this.listboxRole,\n ariaLabel: this.iconAccessibleNameText,\n };\n }\n\n get popoverId(): string {\n return `${this._id}_udex-select-box__dropdown`;\n }\n\n get listboxRole(): string {\n return \"listbox\";\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n}\n\nUDExSelectBox.define();\n\nexport default UDExSelectBox;\nexport type { UDExSelectBoxRemoveEventDetail };\n"]}
1
+ {"version":3,"file":"SelectBox.js","sourceRoot":"","sources":["../src/SelectBox.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport {\n isEnter, isSpace, isDelete, isTabPrevious, isTabNext, isLeft, isRight, isDown, isUp, isEscape, isBackSpace, isShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Tokenizer from \"@ui5/webcomponents/dist/Tokenizer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Token from \"@ui5/webcomponents/dist/Token.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getAllAccessibleNameRefTexts } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport UDExSelectBoxItem from \"./SelectBoxItem.js\";\nimport UDExSelectBoxGroupHeader from \"./SelectBoxGroupHeader.js\";\nimport type { UDExItemFromList, UDExSearchableListBaseEvents } from \"./SearchableListBase.js\";\nimport UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExSearchKeydownEventDetail } from \"./Search.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExValueState from \"./types/common.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport { Placement } from \"./types/Dropdown.js\";\nimport { UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport UDExTagGroup from \"./TagGroup.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport { SELECT_OPTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport SelectBoxTemplate from \"./generated/templates/SelectBoxTemplate.lit.js\";\nimport SearchableListBaseTemplate from \"./generated/templates/SearchableListBaseTemplate.lit.js\";\n\n// Styles\nimport SelectBoxCss from \"./generated/themes/SelectBox.css.js\";\nimport TextFieldCss from \"./generated/themes/TextField.css.js\";\nimport SearchableListCss from \"./generated/themes/SearchableList.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nexport type SelectBoxAccessibilityAttributes = {\n controls?: string,\n expanded?: \"true\" | \"false\" | boolean,\n hasPopup?: string,\n ariaLabel?: string,\n}\n\ntype UDExSelectBoxRemoveEventDetail = {\n item: UDExItemFromList,\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-select-box</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/UDExSelectBox.js\";</code>\n *\n * @constructor\n * @extends UDExSearchableListBase\n * @tagname udex-select-box\n * @public\n */\n@customElement({\n tag: \"udex-select-box\",\n renderer: litRender,\n styles: [TextFieldCss, SelectBoxCss, SearchableListCss, getEffectiveScrollbarStyle()],\n template: SelectBoxTemplate,\n dependencies: [\n UDExSelectBoxGroupHeader,\n UDExListGroupHeader,\n UDExListSelectAll,\n UDExSelectBoxItem,\n UDExStatusMessage,\n UDExControlButton,\n UDExTagGroup,\n UDExListItem,\n UDExList,\n UDExSearch,\n UDExButton,\n UDExTag,\n Tokenizer,\n Token,\n Icon,\n Popover,\n ],\n})\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @public\n */\n@event(\"remove\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the More button.\n *\n * @public\n */\n@event(\"show-more\", { bubbles: true })\n\n/**\n * Fired before the dropdown pane is opened.\n *\n * @public\n */\n@event(\"before-open\", { bubbles: true })\n\nclass UDExSelectBox extends UDExSearchableListBase {\n eventDetails!: {\n \"remove\": UDExSelectBoxRemoveEventDetail,\n \"show-more\": void,\n \"before-open\": void,\n } & UDExSearchableListBaseEvents;\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\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 label text for field container.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default undefined\n * @public\n */\n @property()\n accessibleName?: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default undefined\n * @public\n */\n @property()\n accessibleNameRef?: string;\n\n /**\n * Defines whether the component is read-only.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the value state of the trigger container.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExValueState}` = UDExValueState.Standard;\n\n /**\n * Defines supporting text under the trigger container.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n supportingText?: string;\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 * @private\n */\n @property({ type: String, noAttribute: true })\n _direction?: string;\n\n /**\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _focused!: boolean;\n\n /**\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _open: boolean = false;\n\n /**\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _showTagsDropdownContent!: boolean;\n\n _trigger!: HTMLElement;\n _triggerWrapper!: HTMLElement;\n _popover!: Popover;\n _tokenizer!: Tokenizer;\n _search!: UDExSearch;\n _singleSelectedOption!: string;\n _truncatableTag!: UDExTag;\n _tags!: Array<UDExTag>;\n _inactiveTabIndex: number = -1;\n _activeTabIndex: number = 0;\n _openedByTrigger: boolean = true;\n _shouldScrollToEnd: boolean = false;\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._handleResizeBound = this._handleResize.bind(this);\n this._filteredItems = [];\n }\n\n onEnterDOM() {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM() {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering() {\n this._tokenizer = this.getTagGroup()?._tokenizer;\n this._popover = this.getPopover();\n this._search = this.getSearch();\n this._trigger = this.getTrigger();\n this._triggerWrapper = this.getTriggerWrapper();\n this._tags = this.getTags();\n this.handleDirection();\n if (this._tokenizer?.tokens.length > 0) {\n if (!this.displayonly) {\n this._tokenizer.moreLink?.setAttribute(\"tabindex\", \"-1\");\n }\n if (this._shouldScrollToEnd) {\n this._tokenizer.scrollToEnd();\n }\n this.resetTagsTabIndexes();\n }\n this.handleOutsideClick();\n }\n\n onBeforeRendering() {\n super.onBeforeRendering();\n\n if (this.modeSingleSelect && this.hasSelectedItems) {\n this.handleSingleSelectMode();\n }\n }\n\n _handleResize() {\n this._popover.style.setProperty(\"--udex-dropdown-pane-width\", `${this._triggerWrapper.offsetWidth}px`);\n }\n\n handleItemPress(e:CustomEvent) {\n this.onItemPress(e);\n\n if (this.modeSingleSelect) {\n this.handleSingleSelectMode();\n this.closeDropdown();\n }\n }\n\n handleSingleSelectMode() {\n this._singleSelectedOption = this.selectedItems[0]?.label;\n }\n\n handleSelectAll(e:CustomEvent) {\n this.onSelectAllHeaderPress(e);\n }\n\n handleHeaderPress(e:CustomEvent) {\n this.onHeaderPress(e);\n }\n\n handleValueSearch(e:CustomEvent) {\n this.onSearch(e);\n }\n\n handleSubmitSearch() {\n this.closeDropdown();\n this.onSubmitSearch();\n }\n\n handleResetSearch() {\n this.onResetSearch();\n }\n\n handleFocusIn() {\n if (this.isDisabled) {\n return;\n }\n this._focused = true;\n if (this._tokenizer) {\n this._tokenizer.expanded = false;\n }\n }\n\n handleFocusOut() {\n this._focused = false;\n }\n\n handleDropdownBeforeOpen() {\n if (this.preventPageScroll) {\n this._managePopupListeners(UDExPopoverPart.Header, \"addEventListener\");\n }\n\n if (this.height) {\n this._setContentHeight();\n }\n\n this.fireDecoratorEvent(\"before-open\");\n }\n\n handleDropdownAfterClose() {\n if (this.preventPageScroll) {\n this._managePopupListeners(UDExPopoverPart.Header, \"removeEventListener\");\n }\n\n if (this._tokenizer?._tokensCount > 0) {\n this._tokenizer.expanded = false;\n }\n this.handleUnselectTruncatableTag();\n this._open = false;\n }\n\n showMoreItems() {\n this._shouldScrollToEnd = true;\n this._showTagsDropdownContent = false;\n this.openDropdown();\n this.handleUnselectTruncatableTag();\n }\n\n handleRemoveTag(e: CustomEvent | null, tag?: UI5Element) {\n tag = tag ?? (e?.detail.tag as UI5Element);\n const tagId: string = tag.getAttribute(\"data-id\")!;\n this.handleDropdownItemPress(tagId);\n this.fireDecoratorEventRemove(tagId);\n }\n\n handleRemoveTruncatableTag() {\n const tagId: string = this._truncatableTag.getAttribute(\"data-id\")!;\n this.handleDropdownItemPress(tagId);\n this.closeDropdown();\n this.fireDecoratorEventRemove(tagId);\n }\n\n handleTagClick(e: CustomEvent) {\n const tag = e.detail.tag as UDExTag;\n this.toggleTruncatedPopover(tag);\n }\n\n handleUnselectTruncatableTag() {\n if (this._truncatableTag?.selected) {\n this._truncatableTag.selected = false;\n }\n }\n\n handleKeyDownTrigger(e: KeyboardEvent) {\n if (!this.isDisabled && (isSpace(e) || isEnter(e))) {\n e.preventDefault();\n e.stopPropagation();\n this._showTagsDropdownContent = false;\n this._openedByTrigger = true;\n this.openDropdown();\n }\n }\n\n handleKeyDownTag(e: CustomEvent) {\n if (this.isDisabled) { return; }\n const originalEvent: KeyboardEvent = e.detail.originalEvent;\n const tag = originalEvent.target as UDExTag;\n const token = originalEvent.target as Token;\n this.getTagContent(this._tags[0]).tabIndex = this._inactiveTabIndex;\n const tagsCount = this._tokenizer._tokensCount;\n this._tokenizer.expanded = (isLeft(originalEvent) || isRight(originalEvent) || isBackSpace(originalEvent) || isDelete(originalEvent)) && tagsCount > 0;\n if (isTabNext(originalEvent)) {\n this._trigger.focus();\n return;\n }\n\n if ((isDown(originalEvent) || isUp(originalEvent))) {\n this._tokenizer._preventCollapse = true;\n this._openedByTrigger = false;\n this.showMoreItems();\n }\n\n if (isSpace(originalEvent) || isShift(originalEvent) || isEnter(originalEvent)) {\n originalEvent.preventDefault();\n originalEvent.stopPropagation();\n tag.selected = false;\n }\n\n if (isLeft(originalEvent) || isRight(originalEvent)) {\n const nextTokenIndex = this._tokenizer._calcNextTokenIndex(token, this._tokenizer.tokens, isRight(originalEvent));\n this.focusTag(nextTokenIndex);\n this.scrollToTag(nextTokenIndex);\n return;\n }\n\n if (tag.isTruncatable && this.validTruncatableKey(originalEvent)) {\n this.toggleTruncatedPopover(tag);\n } else {\n this._showTagsDropdownContent = false;\n }\n\n if (isDelete(originalEvent) || isBackSpace(originalEvent)) {\n this.handleRemoveTag(null, tag);\n if (this._tokenizer.tokens.length === 1) {\n this._trigger.focus();\n } else {\n this._tokenizer.deleteToken(token);\n }\n }\n }\n\n handleKeyDownDropdown(e: KeyboardEvent) {\n if (this.tabNavigationEnabled) {\n return;\n }\n\n const isTabPrevPress = isTabPrevious(e) && !this._search;\n const isTabNextPress = isTabNext(e);\n const isEscapePress = isEscape(e);\n const isSearchResetTrigger = e.target === this._search;\n if ((isTabNextPress && (!isSearchResetTrigger || this.isListEmpty)) || isTabPrevPress || isEscapePress) {\n this.closeDropdown(e);\n }\n }\n\n handleKeyDownSearch(keyEvent: CustomEvent<UDExSearchKeydownEventDetail>) {\n const { detail: { e } } = keyEvent;\n\n if (isTabPrevious(e) || isEscape(e)) {\n this.closeDropdown(e);\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: MouseEvent) => {\n if (this._tokenizer?.tokens.length > 0 && e.target !== this) {\n this._tokenizer.expanded = false;\n }\n this._open = this._popover.open;\n });\n }\n\n openDropdown() {\n this._popover.opener = this._trigger;\n this._popover.open = true;\n this._open = true;\n if (this.showMultiSelectedOptions) {\n this._tokenizer.expanded = true;\n }\n }\n\n closeDropdown(e?: KeyboardEvent) {\n if (this._popover.open) {\n if (this._tokenizer) {\n this._tokenizer._preventCollapse = false;\n this._tokenizer.expanded = false;\n }\n\n if (e && (isEscape(e) || isTabPrevious(e))) {\n e.preventDefault();\n if (this._openedByTrigger) {\n this._trigger.focus();\n }\n }\n this._open = false;\n this._popover.open = false;\n }\n }\n\n toggleTruncatedPopover(tag: UDExTag) {\n if (!tag.isTruncatable) {\n this._showTagsDropdownContent = false;\n tag.selected = false;\n }\n\n if (tag.isTruncatable && !this._open) {\n this._truncatableTag = tag;\n this._truncatableTag.selected = true;\n this._showTagsDropdownContent = true;\n this.openDropdown();\n }\n }\n\n scrollToTag(index: number) {\n this._tokenizer._scrollToToken(this._tokenizer.tokens[index]);\n }\n\n focusTag(index: number) {\n this._tokenizer.tokens[index].focus();\n this._tokenizer.tokens[index].forcedTabIndex = \"0\";\n }\n\n fireDecoratorEventRemove(id: string) {\n this.fireDecoratorEvent(\"remove\", {\n item: this.getItemFromList(id),\n });\n }\n\n handleOpenMultiSelect() {\n if (this._popover.open) {\n this.closeDropdown();\n } else {\n this._showTagsDropdownContent = false;\n this.openDropdown();\n }\n }\n\n handleOpenSingleSelect() {\n if (this._popover.open) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n }\n }\n\n getHandleMultiSelectOpen() {\n return !this.isDisabled && this.modeMultiSelect ? this.handleOpenMultiSelect() : undefined;\n }\n\n getHandleSingleSelectOpen() {\n return !this.isDisabled && this.modeSingleSelect ? this.handleOpenSingleSelect() : undefined;\n }\n\n getHandlerShowMoreItems(e: CustomEvent) {\n if (!this.displayonly) {\n e.preventDefault();\n this.showMoreItems();\n }\n this.fireDecoratorEvent(\"show-more\");\n }\n\n getTrigger(): HTMLElement {\n return this.shadowRoot!.querySelector(\".udex-text-field__input\")!;\n }\n\n getTriggerWrapper(): HTMLElement {\n return this.shadowRoot!.querySelector(\".udex-text-field__wrap\")!;\n }\n\n getTagGroup(): UDExTagGroup {\n return this.shadowRoot!.querySelector<UDExTagGroup>(\"[udex-tag-group]\")!;\n }\n\n getTags(): Array<UDExTag> {\n if (this.getTagGroup()) {\n return Array.from(this.getTagGroup().shadowRoot!.querySelectorAll<UDExTag>(\"[udex-tag]\"));\n }\n return [];\n }\n\n getTagContent(tag: UDExTag): HTMLElement {\n return tag.shadowRoot!.querySelector(\".udex-tag\")!;\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n validTruncatableKey(e: KeyboardEvent): boolean {\n return isSpace(e) || isEnter(e);\n }\n\n resetTagsTabIndexes() {\n this._tags.forEach((tag, i) => { this.getTagContent(tag).tabIndex = (i === 0 && !this.isDisabled) ? this._activeTabIndex : this._inactiveTabIndex; });\n }\n\n /**\n * Close the dropdown.\n * @public\n */\n close(): void {\n this.closeDropdown();\n }\n\n get allowTargetOverlap(): boolean {\n return !this.disableTargetOverlap;\n }\n\n get isDisabled(): boolean {\n return this.readonly || this.displayonly || this.disabled;\n }\n\n get truncatableTagLabel(): string {\n return this._truncatableTag.text.replace(/<\\/?b>/gi, \"\");\n }\n\n get showSingleSelectedOption(): boolean {\n return this._singleSelectedOption?.length > 0 && this.modeSingleSelect;\n }\n\n get showMultiSelectedOptions(): boolean {\n return this.hasSelectedItems && this.modeMultiSelect;\n }\n\n get labelClass(): string {\n const baseClass = \"udex-text-field__label\";\n const isActive = this._open || this._singleSelectedOption || this.hasSelectedItems;\n return isActive ? `${baseClass} ${baseClass}_active` : `${baseClass}`;\n }\n\n get isReadOrDisplayOnly(): boolean {\n return this.readonly || this.displayonly;\n }\n\n get tokenizerExpanded() {\n if (this._showTagsDropdownContent && this._truncatableTag) {\n return false;\n }\n\n if (this._tokenizer) {\n return this._tokenizer.expanded;\n }\n\n return this._open;\n }\n\n get showTrigger(): boolean {\n return !this.displayonly;\n }\n\n get hasSelectedItems(): boolean {\n return this.selectedItems.length > 0;\n }\n\n get effectiveTabIndex(): string {\n const tabindex = this.getAttribute(\"tabindex\");\n return this.disabled ? `${this._inactiveTabIndex}` : tabindex || `${this._inactiveTabIndex}`;\n }\n\n get triggerTabIndex(): string {\n return this.disabled || this.readonly ? `${this._inactiveTabIndex}` : \"\";\n }\n\n get iconAccessibleNameText(): string {\n const selectOptionsText = UDExSelectBox.i18nBundle.getText(SELECT_OPTIONS);\n const iconAccessibleNameTextSingleMode = this._singleSelectedOption || selectOptionsText;\n return this.modeMultiSelect ? selectOptionsText : iconAccessibleNameTextSingleMode;\n }\n\n get additionalClassName(): string {\n return `udex-list__sticky`;\n }\n\n get searchableList() {\n this.defaultAccessibleRole = \"listbox\";\n return executeTemplate(UDExSelectBox.searchableListBaseTemplate, this);\n }\n\n get accInfo() {\n return {\n \"ariaLabel\": getAllAccessibleNameRefTexts(this) || this.accessibleName || this.label || undefined,\n };\n }\n\n get accessibilityAttributes(): SelectBoxAccessibilityAttributes {\n return {\n expanded: `${this._open}`,\n controls: this.popoverId,\n hasPopup: this.listboxRole,\n ariaLabel: this.iconAccessibleNameText,\n };\n }\n\n get popoverId(): string {\n return `${this._id}_udex-select-box__dropdown`;\n }\n\n get listboxRole(): string {\n return \"listbox\";\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n}\n\nUDExSelectBox.define();\n\nexport default UDExSelectBox;\nexport type { UDExSelectBoxRemoveEventDetail };\n"]}
@@ -8,7 +8,7 @@ var UDExStatusBadge_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
12
12
  import Icon from "@ui5/webcomponents/dist/Icon.js";
13
13
  import "@ui5/webcomponents-icons/dist/error.js";
14
14
  import "@ui5/webcomponents-icons/dist/alert.js";
@@ -18,7 +18,7 @@ import "@ui5/webcomponents-icons/dist/information.js";
18
18
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
19
19
  import UDExStatusBadgeValueState from "./types/StatusBadgeValueState.js";
20
20
  import { STATUS_BADGE_TEXT, STATUS_BADGE_EDIT_TITLE, STATUS_BADGE_INFORMATION_TITLE, STATUS_BADGE_ERROR_TITLE, STATUS_BADGE_SUCCESS_TITLE, STATUS_BADGE_WARNING_TITLE, } from "./generated/i18n/i18n-defaults.js";
21
- import StatusBadgeTemplate from "./generated/templates/StatusBadgeTemplate.lit.js";
21
+ import StatusBadgeTemplate from "./StatusBadgeTemplate.js";
22
22
  // Styles
23
23
  import StatusBadgeCss from "./generated/themes/StatusBadge.css.js";
24
24
  export var IconMapping;
@@ -111,7 +111,7 @@ __decorate([
111
111
  UDExStatusBadge = UDExStatusBadge_1 = __decorate([
112
112
  customElement({
113
113
  tag: "udex-status-badge",
114
- renderer: litRender,
114
+ renderer: jsxRenderer,
115
115
  styles: StatusBadgeCss,
116
116
  template: StatusBadgeTemplate,
117
117
  dependencies: [Icon],
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../src/StatusBadge.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/edit.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UDExStatusBadgeValueState from \"./types/StatusBadgeValueState.js\";\nimport {\n STATUS_BADGE_TEXT,\n STATUS_BADGE_EDIT_TITLE,\n STATUS_BADGE_INFORMATION_TITLE,\n STATUS_BADGE_ERROR_TITLE,\n STATUS_BADGE_SUCCESS_TITLE,\n STATUS_BADGE_WARNING_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport StatusBadgeTemplate from \"./generated/templates/StatusBadgeTemplate.lit.js\";\n\n// Styles\nimport StatusBadgeCss from \"./generated/themes/StatusBadge.css.js\";\n\nexport enum IconMapping {\n Success = \"sys-enter-2\",\n Error = \"error\",\n Warning = \"alert\",\n Edit = \"edit\",\n Information = \"information\",\n}\n\nexport enum BadgeSize {\n XS = \"XS\",\n S = \"S\",\n M = \"M\",\n L = \"L\",\n XL = \"XL\",\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-status-badge</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/StatusBadge.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-status-badge\",\n renderer: litRender,\n styles: StatusBadgeCss,\n template: StatusBadgeTemplate,\n dependencies: [Icon],\n})\nclass UDExStatusBadge extends UI5Element {\n /**\n * Defines the value state of the component.\n *\n * @default \"Information\"\n * @public\n */\n @property()\n valueState: `${UDExStatusBadgeValueState}` = UDExStatusBadgeValueState.Information;\n\n /**\n * Defines predefined size of the component.\n *\n * @default \"S\"\n * @public\n */\n @property()\n size: `${BadgeSize}` = BadgeSize.S;\n\n /**\n * Defines the text alternative of the component.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get iconFieldName(): string {\n if (!IconMapping[this.valueState]) {\n return IconMapping.Information;\n }\n return IconMapping[this.valueState];\n }\n\n get badgeAccessibleName(): string {\n return `${this.accessibleName ? this.accessibleName : UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_TEXT)}`;\n }\n\n get ariaTitle() {\n switch (IconMapping[this.valueState]) {\n case IconMapping.Edit:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_EDIT_TITLE);\n case IconMapping.Information:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_INFORMATION_TITLE);\n case IconMapping.Success:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_SUCCESS_TITLE);\n case IconMapping.Error:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_ERROR_TITLE);\n case IconMapping.Warning:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_WARNING_TITLE);\n }\n }\n}\n\nUDExStatusBadge.define();\n\nexport default UDExStatusBadge;\n"]}
1
+ {"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../src/StatusBadge.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/edit.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UDExStatusBadgeValueState from \"./types/StatusBadgeValueState.js\";\nimport {\n STATUS_BADGE_TEXT,\n STATUS_BADGE_EDIT_TITLE,\n STATUS_BADGE_INFORMATION_TITLE,\n STATUS_BADGE_ERROR_TITLE,\n STATUS_BADGE_SUCCESS_TITLE,\n STATUS_BADGE_WARNING_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport StatusBadgeTemplate from \"./StatusBadgeTemplate.js\";\n\n// Styles\nimport StatusBadgeCss from \"./generated/themes/StatusBadge.css.js\";\n\nexport enum IconMapping {\n Success = \"sys-enter-2\",\n Error = \"error\",\n Warning = \"alert\",\n Edit = \"edit\",\n Information = \"information\",\n}\n\nexport enum BadgeSize {\n XS = \"XS\",\n S = \"S\",\n M = \"M\",\n L = \"L\",\n XL = \"XL\",\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-status-badge</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/StatusBadge.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-status-badge\",\n renderer: jsxRenderer,\n styles: StatusBadgeCss,\n template: StatusBadgeTemplate,\n dependencies: [Icon],\n})\n\nclass UDExStatusBadge extends UI5Element {\n /**\n * Defines the value state of the component.\n *\n * @default \"Information\"\n * @public\n */\n @property()\n valueState: `${UDExStatusBadgeValueState}` = UDExStatusBadgeValueState.Information;\n\n /**\n * Defines predefined size of the component.\n *\n * @default \"S\"\n * @public\n */\n @property()\n size: `${BadgeSize}` = BadgeSize.S;\n\n /**\n * Defines the text alternative of the component.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get iconFieldName(): string {\n if (!IconMapping[this.valueState]) {\n return IconMapping.Information;\n }\n return IconMapping[this.valueState];\n }\n\n get badgeAccessibleName(): string {\n return `${this.accessibleName ? this.accessibleName : UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_TEXT)}`;\n }\n\n get ariaTitle(): string {\n switch (IconMapping[this.valueState]) {\n case IconMapping.Edit:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_EDIT_TITLE);\n case IconMapping.Information:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_INFORMATION_TITLE);\n case IconMapping.Success:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_SUCCESS_TITLE);\n case IconMapping.Error:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_ERROR_TITLE);\n case IconMapping.Warning:\n return UDExStatusBadge.i18nBundle.getText(STATUS_BADGE_WARNING_TITLE);\n }\n }\n}\n\nUDExStatusBadge.define();\n\nexport default UDExStatusBadge;\n"]}
@@ -0,0 +1,2 @@
1
+ import type StatusBadge from "./StatusBadge.js";
2
+ export default function StatusBadgeTemplate(this: StatusBadge): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ export default function StatusBadgeTemplate() {
4
+ const rootClass = "udex-status-badge";
5
+ return (_jsx("div", { className: rootClass, title: this.ariaTitle, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: this.iconFieldName, accessibleName: this.badgeAccessibleName }) }));
6
+ }
7
+ //# sourceMappingURL=StatusBadgeTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadgeTemplate.js","sourceRoot":"","sources":["../src/StatusBadgeTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AAEtD,MAAM,CAAC,OAAO,UAAU,mBAAmB;IACzC,MAAM,SAAS,GAAG,mBAAmB,CAAC;IAEtC,OAAO,CACL,cACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,CAAC,SAAS,YACrB,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,IAAI,CAAC,aAAa,EACxB,cAAc,EAAE,IAAI,CAAC,mBAAmB,GAChC,GACN,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type StatusBadge from \"./StatusBadge.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\n\nexport default function StatusBadgeTemplate(this: StatusBadge) {\n const rootClass = \"udex-status-badge\";\n\n return (\n <div\n className={rootClass}\n title={this.ariaTitle}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={this.iconFieldName}\n accessibleName={this.badgeAccessibleName}>\n </UI5Icon>\n </div>\n );\n}\n"]}
@@ -7,13 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
11
11
  import Icon from "@ui5/webcomponents/dist/Icon.js";
12
12
  import UDExValueState from "./types/common.js";
13
13
  import "@ui5/webcomponents-icons/dist/accept.js";
14
14
  import "@ui5/webcomponents-icons/dist/error.js";
15
15
  import "@ui5/webcomponents-icons/dist/alert.js";
16
- import StatusMessageTemplate from "./generated/templates/StatusMessageTemplate.lit.js";
16
+ import StatusMessageTemplate from "./StatusMessageTemplate.js";
17
17
  // Styles
18
18
  import StatusMessageCss from "./generated/themes/StatusMessage.css.js";
19
19
  export var IconMapping;
@@ -79,7 +79,7 @@ __decorate([
79
79
  UDExStatusMessage = __decorate([
80
80
  customElement({
81
81
  tag: "udex-status-message",
82
- renderer: litRender,
82
+ renderer: jsxRenderer,
83
83
  styles: StatusMessageCss,
84
84
  template: StatusMessageTemplate,
85
85
  dependencies: [Icon],
@@ -1 +1 @@
1
- {"version":3,"file":"StatusMessage.js","sourceRoot":"","sources":["../src/StatusMessage.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,yCAAyC,CAAC;AACjD,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAEhD,OAAO,qBAAqB,MAAM,oDAAoD,CAAC;AAEvF,SAAS;AACT,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAEvE,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,iCAAkB,CAAA;IAClB,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED;;;;;;;;;;;;;;;;GAgBG;AAQH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAA1C;;QAUE;;;;;WAKG;QAED,4BAAuB,GAAqB,MAAM,CAAC;QAUrD;;;;;WAKG;QAED,eAAU,GAAwB,cAAc,CAAC,QAAQ,CAAC;IAQ9D,CAAC;IANC,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAO,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AAlCG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACD;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kEAC0B;AASnD;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACP;AAQlB;IADD,QAAQ,EAAE;qDACiD;AAlCxD,iBAAiB;IAPtB,aAAa,CAAC;QACb,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,qBAAqB;QAC/B,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GACI,iBAAiB,CA0CtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,eAAe,iBAAiB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UDExValueState from \"./types/common.js\";\nimport \"@ui5/webcomponents-icons/dist/accept.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\n\nimport StatusMessageTemplate from \"./generated/templates/StatusMessageTemplate.lit.js\";\n\n// Styles\nimport StatusMessageCss from \"./generated/themes/StatusMessage.css.js\";\n\nexport enum IconMapping {\n Success = \"accept\",\n Error = \"error\",\n Warning = \"alert\",\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-status-message</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/StatusMessage.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-status-message\",\n renderer: litRender,\n styles: StatusMessageCss,\n template: StatusMessageTemplate,\n dependencies: [Icon],\n})\nclass UDExStatusMessage extends UI5Element {\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines supporting text alignment. It aligns only Standard state text.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingTextAlignment: \"Left\" | \"Right\" = \"Left\";\n\n /**\n * Defines if component should have disabled styles.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n disabled!: string;\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExValueState}` = UDExValueState.Standard;\n\n get iconFieldName(): string {\n if (this.valueState !== UDExValueState.Standard) {\n return IconMapping[this.valueState];\n }\n return \"\";\n }\n}\n\nUDExStatusMessage.define();\n\nexport default UDExStatusMessage;\n"]}
1
+ {"version":3,"file":"StatusMessage.js","sourceRoot":"","sources":["../src/StatusMessage.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,yCAAyC,CAAC;AACjD,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAEhD,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAE/D,SAAS;AACT,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAEvE,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,iCAAkB,CAAA;IAClB,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED;;;;;;;;;;;;;;;;GAgBG;AAQH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAA1C;;QAUE;;;;;WAKG;QAED,4BAAuB,GAAqB,MAAM,CAAC;QAUrD;;;;;WAKG;QAED,eAAU,GAAwB,cAAc,CAAC,QAAQ,CAAC;IAQ9D,CAAC;IANC,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAO,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AAlCG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACD;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kEAC0B;AASnD;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACP;AAQlB;IADD,QAAQ,EAAE;qDACiD;AAlCxD,iBAAiB;IAPtB,aAAa,CAAC;QACb,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,qBAAqB;QAC/B,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GACI,iBAAiB,CA0CtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,eAAe,iBAAiB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UDExValueState from \"./types/common.js\";\nimport \"@ui5/webcomponents-icons/dist/accept.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\n\nimport StatusMessageTemplate from \"./StatusMessageTemplate.js\";\n\n// Styles\nimport StatusMessageCss from \"./generated/themes/StatusMessage.css.js\";\n\nexport enum IconMapping {\n Success = \"accept\",\n Error = \"error\",\n Warning = \"alert\",\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-status-message</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/StatusMessage.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-status-message\",\n renderer: jsxRenderer,\n styles: StatusMessageCss,\n template: StatusMessageTemplate,\n dependencies: [Icon],\n})\nclass UDExStatusMessage extends UI5Element {\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines supporting text alignment. It aligns only Standard state text.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingTextAlignment: \"Left\" | \"Right\" = \"Left\";\n\n /**\n * Defines if component should have disabled styles.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n disabled!: string;\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExValueState}` = UDExValueState.Standard;\n\n get iconFieldName(): string {\n if (this.valueState !== UDExValueState.Standard) {\n return IconMapping[this.valueState];\n }\n return \"\";\n }\n}\n\nUDExStatusMessage.define();\n\nexport default UDExStatusMessage;\n"]}
@@ -0,0 +1,2 @@
1
+ import type StatusMessage from "./StatusMessage.js";
2
+ export default function StatusMessageTemplate(this: StatusMessage): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ import IconMode from "@ui5/webcomponents/dist/types/IconMode.js";
4
+ export default function StatusMessageTemplate() {
5
+ const rootClass = "udex-status-message";
6
+ return (_jsxs("div", { className: `${rootClass} ${rootClass}__supporting-text`, children: [this.iconFieldName && (_jsx(UI5Icon, { name: this.iconFieldName, class: `${rootClass}__icon`, mode: IconMode.Decorative })), this.supportingText] }));
7
+ }
8
+ //# sourceMappingURL=StatusMessageTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusMessageTemplate.js","sourceRoot":"","sources":["../src/StatusMessageTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC3C,MAAM,SAAS,GAAG,qBAAqB,CAAC;IAExC,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,SAAS,IAAI,SAAS,mBAAmB,aACzD,IAAI,CAAC,aAAa,IAAI,CACrB,KAAC,OAAO,IACN,IAAI,EAAE,IAAI,CAAC,aAAa,EACxB,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,QAAQ,CAAC,UAAU,GACjB,CACX,EACA,IAAI,CAAC,cAAc,IAChB,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type StatusMessage from \"./StatusMessage.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\n\nexport default function StatusMessageTemplate(this: StatusMessage) {\n const rootClass = \"udex-status-message\";\n\n return (\n <div className={`${rootClass} ${rootClass}__supporting-text`}>\n {this.iconFieldName && (\n <UI5Icon\n name={this.iconFieldName}\n class={`${rootClass}__icon`}\n mode={IconMode.Decorative}>\n </UI5Icon>\n )}\n {this.supportingText}\n </div>\n );\n}\n"]}
package/dist/Switch.d.ts CHANGED
@@ -1,8 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import "@ui5/webcomponents/dist/Switch.js";
3
- import "@ui5/webcomponents-icons/dist/accept.js";
4
- import "@ui5/webcomponents-icons/dist/decline.js";
5
- import "@ui5/webcomponents-icons/dist/less.js";
6
3
  export declare enum UDExSwitchColor {
7
4
  NonSemantic = "Non-Semantic",
8
5
  Semantic = "Semantic"
@@ -79,7 +76,7 @@ declare class UDExSwitch extends UI5Element {
79
76
  tooltip: string;
80
77
  onEnterDOM(): void;
81
78
  handleSwitchClick(): void;
82
- get switchTabIndex(): "0" | undefined;
79
+ get switchTabIndex(): 0 | undefined;
83
80
  get isActiveTrackClass(): "udex-switch__track--active" | "udex-switch__track--inactive";
84
81
  get isSemanticColor(): boolean;
85
82
  get ariaLabeledBy(): string;
package/dist/Switch.js CHANGED
@@ -6,17 +6,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
9
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
10
10
  import "@ui5/webcomponents/dist/Switch.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
13
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
14
+ import SwitchTemplate from "./SwitchTemplate.js";
14
15
  import Icon from "@ui5/webcomponents/dist/Icon.js";
15
- import "@ui5/webcomponents-icons/dist/accept.js";
16
- import "@ui5/webcomponents-icons/dist/decline.js";
17
- import "@ui5/webcomponents-icons/dist/less.js";
18
- // Template
19
- import SwitchTemplate from "./generated/templates/SwitchTemplate.lit.js";
20
16
  // Styles
21
17
  import SwitchCss from "./generated/themes/Switch.css.js";
22
18
  export var UDExSwitchColor;
@@ -86,7 +82,7 @@ let UDExSwitch = class UDExSwitch extends UI5Element {
86
82
  }
87
83
  }
88
84
  get switchTabIndex() {
89
- return this.disabled ? undefined : "0";
85
+ return this.disabled ? undefined : 0;
90
86
  }
91
87
  get isActiveTrackClass() {
92
88
  return this.checked ? "udex-switch__track--active" : "udex-switch__track--inactive";
@@ -122,7 +118,7 @@ __decorate([
122
118
  UDExSwitch = __decorate([
123
119
  customElement({
124
120
  tag: "udex-switch",
125
- renderer: litRender,
121
+ renderer: jsxRenderer,
126
122
  styles: SwitchCss,
127
123
  template: SwitchTemplate,
128
124
  dependencies: [Icon],
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../src/Switch.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents/dist/Switch.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\n\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/accept.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/less.js\";\n\n// Template\nimport SwitchTemplate from \"./generated/templates/SwitchTemplate.lit.js\";\n\n// Styles\nimport SwitchCss from \"./generated/themes/Switch.css.js\";\n\nexport enum UDExSwitchColor {\n NonSemantic = \"Non-Semantic\",\n Semantic = \"Semantic\",\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-switch</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Switch.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-switch\n * @public\n */\n@customElement({\n tag: \"udex-switch\",\n renderer: litRender,\n styles: SwitchCss,\n template: SwitchTemplate,\n dependencies: [Icon],\n})\n\n/**\n * Fired when the component checked state changes.\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"change\", { cancelable: true, bubbles: true })\nclass UDExSwitch extends UI5Element {\n eventDetails!: {\n \"change\": void\n };\n /**\n * Defines the label near switch.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Defines the color of the component.\n *\n * @default \"Non-Semantic\"\n * @public\n */\n @property()\n color: `${UDExSwitchColor}` = UDExSwitchColor.NonSemantic;\n\n /**\n * Sets the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleName: string = \"\";\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default undefined\n * @public\n */\n @property()\n accessibleNameRef?: string;\n\n /**\n * Defines if the component is checked.\n *\n * @public\n */\n @property({ type: Boolean })\n checked: boolean = false;\n\n /**\n * Defines whether the component is disabled.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the tooltip of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n tooltip: string = \"\";\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n handleSwitchClick(): void {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.fireDecoratorEvent(\"change\");\n }\n }\n\n get switchTabIndex(): \"0\" | undefined {\n return this.disabled ? undefined : \"0\";\n }\n\n get isActiveTrackClass():\n | \"udex-switch__track--active\"\n | \"udex-switch__track--inactive\" {\n return this.checked ? \"udex-switch__track--active\" : \"udex-switch__track--inactive\";\n }\n\n get isSemanticColor(): boolean {\n return this.color === UDExSwitchColor.Semantic;\n }\n\n get ariaLabeledBy(): string {\n return this.accessibleNameRef || this.label ? `${this._id}-switch__label` : \"\";\n }\n}\n\nUDExSwitch.define();\n\nexport default UDExSwitch;\n"]}
1
+ {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../src/Switch.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport \"@ui5/webcomponents/dist/Switch.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport SwitchTemplate from \"./SwitchTemplate.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\n\n// Styles\nimport SwitchCss from \"./generated/themes/Switch.css.js\";\n\nexport enum UDExSwitchColor {\n NonSemantic = \"Non-Semantic\",\n Semantic = \"Semantic\",\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-switch</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Switch.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-switch\n * @public\n */\n@customElement({\n tag: \"udex-switch\",\n renderer: jsxRenderer,\n styles: SwitchCss,\n template: SwitchTemplate,\n dependencies: [Icon],\n})\n\n/**\n * Fired when the component checked state changes.\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"change\", { cancelable: true, bubbles: true })\nclass UDExSwitch extends UI5Element {\n eventDetails!: {\n \"change\": void\n };\n /**\n * Defines the label near switch.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Defines the color of the component.\n *\n * @default \"Non-Semantic\"\n * @public\n */\n @property()\n color: `${UDExSwitchColor}` = UDExSwitchColor.NonSemantic;\n\n /**\n * Sets the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleName: string = \"\";\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default undefined\n * @public\n */\n @property()\n accessibleNameRef?: string;\n\n /**\n * Defines if the component is checked.\n *\n * @public\n */\n @property({ type: Boolean })\n checked: boolean = false;\n\n /**\n * Defines whether the component is disabled.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the tooltip of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n tooltip: string = \"\";\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n handleSwitchClick(): void {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.fireDecoratorEvent(\"change\");\n }\n }\n\n get switchTabIndex(): 0 | undefined {\n return this.disabled ? undefined : 0;\n }\n\n get isActiveTrackClass():\n | \"udex-switch__track--active\"\n | \"udex-switch__track--inactive\" {\n return this.checked ? \"udex-switch__track--active\" : \"udex-switch__track--inactive\";\n }\n\n get isSemanticColor(): boolean {\n return this.color === UDExSwitchColor.Semantic;\n }\n\n get ariaLabeledBy(): string {\n return this.accessibleNameRef || this.label ? `${this._id}-switch__label` : \"\";\n }\n}\n\nUDExSwitch.define();\n\nexport default UDExSwitch;\n"]}
@@ -0,0 +1,2 @@
1
+ import type Switch from "./Switch.js";
2
+ export default function SwitchTemplate(this: Switch): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ import IconMode from "@ui5/webcomponents/dist/types/IconMode.js";
4
+ import acceptIcon from "@ui5/webcomponents-icons/dist/accept.js";
5
+ import declineIcon from "@ui5/webcomponents-icons/dist/decline.js";
6
+ import lessIcon from "@ui5/webcomponents-icons/dist/less.js";
7
+ export default function SwitchTemplate() {
8
+ const rootClass = "udex-switch";
9
+ const switchId = `${this._id}-switch`;
10
+ return (_jsxs("div", { class: `${rootClass}`, children: [this.label && (_jsx("label", { id: `${switchId}__label`, for: `${switchId}__input`, class: `${rootClass}__label`, part: "label", children: this.label })), _jsxs("div", { class: `${rootClass}__container`, role: "switch", "aria-label": this.accessibleName, "aria-labelledby": this.ariaLabeledBy, "aria-checked": this.checked, "aria-disabled": this.disabled, tabindex: this.switchTabIndex, title: this.tooltip, onClick: this.handleSwitchClick, children: [_jsx("div", { class: `${rootClass}__track ${this.isActiveTrackClass}`, children: _jsx("div", { class: `${rootClass}__handle`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: this.checked ? acceptIcon : this.isSemanticColor ? declineIcon : lessIcon, mode: IconMode.Decorative }) }) }), _jsx("input", { id: `${switchId}__input`, class: `${rootClass}__input`, type: "checkbox", checked: this.checked })] })] }));
11
+ }
12
+ //# sourceMappingURL=SwitchTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwitchTemplate.js","sourceRoot":"","sources":["../src/SwitchTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAE7D,MAAM,CAAC,OAAO,UAAU,cAAc;IACpC,MAAM,SAAS,GAAG,aAAa,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAEtC,OAAO,CACL,eAAK,KAAK,EAAE,GAAG,SAAS,EAAE,aACvB,IAAI,CAAC,KAAK,IAAI,CACb,gBACE,EAAE,EAAE,GAAG,QAAQ,SAAS,EACxB,GAAG,EAAE,GAAG,QAAQ,SAAS,EACzB,KAAK,EAAE,GAAG,SAAS,SAAS,EAC5B,IAAI,EAAC,OAAO,YACX,IAAI,CAAC,KAAK,GACL,CACT,EACD,eACE,KAAK,EAAE,GAAG,SAAS,aAAa,EAChC,IAAI,EAAC,QAAQ,gBACD,IAAI,CAAC,cAAc,qBACd,IAAI,CAAC,aAAa,kBACrB,IAAI,CAAC,OAAO,mBACX,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,OAAO,EAAE,IAAI,CAAC,iBAAiB,aAC/B,cAAK,KAAK,EAAE,GAAG,SAAS,WAAW,IAAI,CAAC,kBAAkB,EAAE,YAC1D,cAAK,KAAK,EAAE,GAAG,SAAS,UAAU,YAChC,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAC/E,IAAI,EAAE,QAAQ,CAAC,UAAU,GACjB,GACN,GACF,EACN,gBACE,EAAE,EAAE,GAAG,QAAQ,SAAS,EACxB,KAAK,EAAE,GAAG,SAAS,SAAS,EAC5B,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,IACtB,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type Switch from \"./Switch.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport acceptIcon from \"@ui5/webcomponents-icons/dist/accept.js\";\nimport declineIcon from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport lessIcon from \"@ui5/webcomponents-icons/dist/less.js\";\n\nexport default function SwitchTemplate(this: Switch) {\n const rootClass = \"udex-switch\";\n const switchId = `${this._id}-switch`;\n\n return (\n <div class={`${rootClass}`}>\n {this.label && (\n <label\n id={`${switchId}__label`}\n for={`${switchId}__input`}\n class={`${rootClass}__label`}\n part=\"label\">\n {this.label}\n </label>\n )}\n <div\n class={`${rootClass}__container`}\n role=\"switch\"\n aria-label={this.accessibleName}\n aria-labelledby={this.ariaLabeledBy}\n aria-checked={this.checked}\n aria-disabled={this.disabled}\n tabindex={this.switchTabIndex}\n title={this.tooltip}\n onClick={this.handleSwitchClick}>\n <div class={`${rootClass}__track ${this.isActiveTrackClass}`}>\n <div class={`${rootClass}__handle`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={this.checked ? acceptIcon : this.isSemanticColor ? declineIcon : lessIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n </div>\n <input\n id={`${switchId}__input`}\n class={`${rootClass}__input`}\n type=\"checkbox\"\n checked={this.checked}/>\n </div>\n </div>\n );\n}\n"]}
@@ -2,6 +2,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import Tokenizer from "@ui5/webcomponents/dist/Tokenizer.js";
3
3
  import Token from "@ui5/webcomponents/dist/Token.js";
4
4
  import UDExTag from "./Tag.js";
5
+ import UDExTooltip from "./Tooltip.js";
5
6
  import { Placement } from "./types/Dropdown.js";
6
7
  type UDExTagClickEventDetail = {
7
8
  tag: UDExTag;
@@ -100,6 +101,7 @@ declare class UDExTagGroup extends UI5Element {
100
101
  handleTagClick(e: CustomEvent): void;
101
102
  handleTagKeyDown(e: KeyboardEvent): void;
102
103
  showMoreItems(): void;
104
+ get tooltip(): UDExTooltip;
103
105
  }
104
106
  export default UDExTagGroup;
105
107
  export type { UDExTagClickEventDetail, UDExTagKeydownEventDetail, UDExTagIconClickEventDetail };
package/dist/TagGroup.js CHANGED
@@ -108,19 +108,26 @@ let UDExTagGroup = class UDExTagGroup extends UI5Element {
108
108
  }
109
109
  handleTagKeyDown(e) {
110
110
  e.stopPropagation();
111
+ if (isEscape(e)) {
112
+ this.tooltip.open = false;
113
+ this._nMoreBtn?.focus();
114
+ return;
115
+ }
111
116
  this.fireDecoratorEvent("tag-keydown", { originalEvent: e });
112
117
  }
113
118
  showMoreItems() {
114
119
  if (this.fireDecoratorEvent("show-more-tags")) {
115
- const tooltip = this.shadowRoot.querySelector(`#${this._id}-tag-group-tooltip`);
116
120
  const moreBtn = this._tokenizer.moreLink;
117
121
  if (moreBtn) {
118
122
  this._tokenizer.expanded = false;
119
- tooltip.opener = moreBtn;
120
- tooltip.open = true;
123
+ this.tooltip.opener = moreBtn;
124
+ this.tooltip.open = true;
121
125
  }
122
126
  }
123
127
  }
128
+ get tooltip() {
129
+ return this.shadowRoot.querySelector(`#${this._id}-tag-group-tooltip`);
130
+ }
124
131
  };
125
132
  __decorate([
126
133
  property({ type: Boolean })
@@ -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 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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Token from \"@ui5/webcomponents/dist/Token.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExTooltip from \"./Tooltip.js\";\n\nimport TagGroupTemplate from \"./generated/templates/TagGroupTemplate.lit.js\";\n\n// Styles\nimport TagGroupCss from \"./generated/themes/TagGroup.css.js\";\nimport { Placement } from \"./types/Dropdown.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: litRender,\n styles: TagGroupCss,\n template: TagGroupTemplate,\n dependencies: [UDExTag, UDExTooltip, Tokenizer, Token],\n})\n/**\n * Emitted when tag was clicked\n *\n * @public\n */\n@event(\"tag-click\", { bubbles: true })\n/**\n * Emitted when icon in tag was clicked\n *\n * @public\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 */\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 * 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 * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<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 * @private\n */\n @property({ type: Boolean })\n _isHiddenTags!: boolean;\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 get hiddenTags(): Token[] {\n return this._tokenizer?.overflownTokens || [];\n }\n\n get isReadOrDisplayOnly(): boolean {\n return this.readonly || this.displayonly;\n }\n\n get tagTabIndex(): string {\n return this.disabled ? \"-1\" : \"\";\n }\n\n get tokenizer(): Tokenizer {\n return this.shadowRoot!.querySelector<Tokenizer>(`#${this._id}-tag-group-tokenizer`)!;\n }\n\n get tagRole(): string {\n return this.displayonly || this.readonly ? \"option\" : \"\";\n }\n\n onAfterRendering(): void {\n this._tokenizer = this.tokenizer;\n this._nMoreBtn = this._tokenizer.moreLink || null;\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\n _nMoreKeyDownHandler(e: Event) {\n if (isSpace(e as KeyboardEvent) || isEnter(e as KeyboardEvent)) {\n this.showMoreItems();\n }\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 _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 this.fireDecoratorEvent(\"tag-keydown\", { originalEvent: e });\n }\n\n showMoreItems(): void {\n if (this.fireDecoratorEvent(\"show-more-tags\")) {\n const tooltip = this.shadowRoot!.querySelector<UDExTooltip>(`#${this._id}-tag-group-tooltip`)!;\n const moreBtn = this._tokenizer.moreLink;\n if (moreBtn) {\n this._tokenizer.expanded = false;\n tooltip.opener = moreBtn;\n tooltip.open = true;\n }\n }\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 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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Token from \"@ui5/webcomponents/dist/Token.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExTooltip from \"./Tooltip.js\";\n\nimport TagGroupTemplate from \"./generated/templates/TagGroupTemplate.lit.js\";\n\n// Styles\nimport TagGroupCss from \"./generated/themes/TagGroup.css.js\";\nimport { Placement } from \"./types/Dropdown.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: litRender,\n styles: TagGroupCss,\n template: TagGroupTemplate,\n dependencies: [UDExTag, UDExTooltip, Tokenizer, Token],\n})\n/**\n * Emitted when tag was clicked\n *\n * @public\n */\n@event(\"tag-click\", { bubbles: true })\n/**\n * Emitted when icon in tag was clicked\n *\n * @public\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 */\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 * 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 * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<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 * @private\n */\n @property({ type: Boolean })\n _isHiddenTags!: boolean;\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 get hiddenTags(): Token[] {\n return this._tokenizer?.overflownTokens || [];\n }\n\n get isReadOrDisplayOnly(): boolean {\n return this.readonly || this.displayonly;\n }\n\n get tagTabIndex(): string {\n return this.disabled ? \"-1\" : \"\";\n }\n\n get tokenizer(): Tokenizer {\n return this.shadowRoot!.querySelector<Tokenizer>(`#${this._id}-tag-group-tokenizer`)!;\n }\n\n get tagRole(): string {\n return this.displayonly || this.readonly ? \"option\" : \"\";\n }\n\n onAfterRendering(): void {\n this._tokenizer = this.tokenizer;\n this._nMoreBtn = this._tokenizer.moreLink || null;\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\n _nMoreKeyDownHandler(e: Event) {\n if (isSpace(e as KeyboardEvent) || isEnter(e as KeyboardEvent)) {\n this.showMoreItems();\n }\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 _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)) {\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 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"]}
@@ -42,7 +42,6 @@ declare class UDExTruncatedText extends UI5Element {
42
42
  */
43
43
  charLimit: number;
44
44
  static i18nBundle: I18nBundle;
45
- constructor();
46
45
  get visibleText(): string;
47
46
  get truncatedText(): string;
48
47
  get buttonLabel(): string;