@sapudex/web-components 0.111.0 → 0.117.1

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 (334) hide show
  1. package/.npmrc +1 -2
  2. package/bundle.esm.js +4 -0
  3. package/dist/AccordionItem.d.ts +7 -0
  4. package/dist/AccordionItem.js +6 -2
  5. package/dist/AccordionItem.js.map +1 -1
  6. package/dist/Avatar.d.ts +8 -1
  7. package/dist/Avatar.js +5 -2
  8. package/dist/Avatar.js.map +1 -1
  9. package/dist/CountrySelector.d.ts +6 -7
  10. package/dist/CountrySelector.js +15 -7
  11. package/dist/CountrySelector.js.map +1 -1
  12. package/dist/Dropdown.d.ts +10 -0
  13. package/dist/Dropdown.js +10 -0
  14. package/dist/Dropdown.js.map +1 -1
  15. package/dist/FilterMenu.d.ts +14 -4
  16. package/dist/FilterMenu.js +46 -7
  17. package/dist/FilterMenu.js.map +1 -1
  18. package/dist/Footer.d.ts +40 -1
  19. package/dist/Footer.js +151 -1
  20. package/dist/Footer.js.map +1 -1
  21. package/dist/InputGroup.d.ts +75 -0
  22. package/dist/InputGroup.js +101 -0
  23. package/dist/InputGroup.js.map +1 -0
  24. package/dist/List.d.ts +7 -0
  25. package/dist/List.js +78 -18
  26. package/dist/List.js.map +1 -1
  27. package/dist/ListItem.d.ts +0 -1
  28. package/dist/ListItem.js +0 -6
  29. package/dist/ListItem.js.map +1 -1
  30. package/dist/ListItemBase.d.ts +3 -0
  31. package/dist/ListItemBase.js +12 -0
  32. package/dist/ListItemBase.js.map +1 -1
  33. package/dist/MastheadMobileMenu.d.ts +4 -1
  34. package/dist/MastheadMobileMenu.js +10 -3
  35. package/dist/MastheadMobileMenu.js.map +1 -1
  36. package/dist/PhoneNumberField.d.ts +8 -0
  37. package/dist/PhoneNumberField.js +23 -10
  38. package/dist/PhoneNumberField.js.map +1 -1
  39. package/dist/Search.d.ts +60 -1
  40. package/dist/Search.js +191 -19
  41. package/dist/Search.js.map +1 -1
  42. package/dist/SecondaryNavigation.d.ts +37 -45
  43. package/dist/SecondaryNavigation.js +148 -153
  44. package/dist/SecondaryNavigation.js.map +1 -1
  45. package/dist/SecondaryNavigationItem.d.ts +101 -0
  46. package/dist/SecondaryNavigationItem.js +287 -0
  47. package/dist/SecondaryNavigationItem.js.map +1 -0
  48. package/dist/SecondaryNavigationItemBase.d.ts +68 -0
  49. package/dist/SecondaryNavigationItemBase.js +78 -0
  50. package/dist/SecondaryNavigationItemBase.js.map +1 -0
  51. package/dist/SecondaryNavigationSubItem.d.ts +52 -0
  52. package/dist/SecondaryNavigationSubItem.js +102 -0
  53. package/dist/SecondaryNavigationSubItem.js.map +1 -0
  54. package/dist/SelectBox.d.ts +7 -0
  55. package/dist/SelectBox.js +27 -2
  56. package/dist/SelectBox.js.map +1 -1
  57. package/dist/StatusBadge.d.ts +67 -0
  58. package/dist/StatusBadge.js +104 -0
  59. package/dist/StatusBadge.js.map +1 -0
  60. package/dist/Tab.js +1 -1
  61. package/dist/Tab.js.map +1 -1
  62. package/dist/Table.d.ts +5 -5
  63. package/dist/Table.js +5 -5
  64. package/dist/Table.js.map +1 -1
  65. package/dist/Tag.d.ts +7 -1
  66. package/dist/Tag.js +6 -2
  67. package/dist/Tag.js.map +1 -1
  68. package/dist/TextArea.js.map +1 -1
  69. package/dist/assets/{bundle.esm-b7920968.js → bundle.esm-f65ae7da.js} +189 -184
  70. package/dist/assets/messagebundle_en-7249941b.js +1 -0
  71. package/dist/css/themes/AccordionItem.css +1 -1
  72. package/dist/css/themes/Avatar.css +1 -1
  73. package/dist/css/themes/Breadcrumbs.css +1 -1
  74. package/dist/css/themes/Checkbox.css +1 -1
  75. package/dist/css/themes/CountrySelector.css +1 -1
  76. package/dist/css/themes/DatePicker.css +1 -1
  77. package/dist/css/themes/Dropdown.css +1 -1
  78. package/dist/css/themes/FilterMenu.css +1 -1
  79. package/dist/css/themes/HeroBanner.css +1 -1
  80. package/dist/css/themes/InputGroup.css +1 -0
  81. package/dist/css/themes/MastheadItem.css +1 -1
  82. package/dist/css/themes/MastheadMenuItem.css +1 -1
  83. package/dist/css/themes/MastheadShell.css +1 -1
  84. package/dist/css/themes/MediaPlayer.css +1 -1
  85. package/dist/css/themes/PhoneNumberField.css +1 -1
  86. package/dist/css/themes/RatingIndicator.css +1 -1
  87. package/dist/css/themes/Search.css +1 -1
  88. package/dist/css/themes/SearchSuggestions.css +1 -1
  89. package/dist/css/themes/SecondaryNavigation.css +1 -1
  90. package/dist/css/themes/SecondaryNavigationItem.css +1 -0
  91. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -0
  92. package/dist/css/themes/Slider.css +1 -1
  93. package/dist/css/themes/StatusBadge.css +1 -0
  94. package/dist/css/themes/Tag.css +1 -1
  95. package/dist/css/themes/TextField.css +1 -1
  96. package/dist/custom-elements-internal.json +1070 -116
  97. package/dist/custom-elements.json +1047 -169
  98. package/dist/features/SearchSuggestionsPopover.d.ts +3 -3
  99. package/dist/features/SearchSuggestionsPopover.js +16 -18
  100. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  102. package/dist/generated/i18n/i18n-defaults.d.ts +8 -1
  103. package/dist/generated/i18n/i18n-defaults.js +8 -1
  104. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  105. package/dist/generated/templates/AccordionItemTemplate.lit.js +2 -1
  106. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +1 -1
  107. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -1
  108. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  109. package/dist/generated/templates/DropdownTemplate.lit.js +1 -1
  110. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  111. package/dist/generated/templates/FilterMenuTemplate.lit.js +3 -3
  112. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  113. package/dist/generated/templates/FooterTemplate.lit.js +15 -15
  114. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  115. package/dist/generated/templates/HeroBannerTemplate.lit.js +2 -2
  116. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  117. package/dist/generated/templates/InputGroupTemplate.lit.d.ts +4 -0
  118. package/dist/generated/templates/InputGroupTemplate.lit.js +7 -0
  119. package/dist/generated/templates/InputGroupTemplate.lit.js.map +1 -0
  120. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +4 -4
  121. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
  122. package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
  123. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  124. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  125. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  126. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +15 -10
  127. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  128. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +1 -1
  129. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  130. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +11 -10
  131. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  132. package/dist/generated/templates/SearchTemplate.lit.js +11 -10
  133. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  134. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  135. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  136. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.d.ts +4 -0
  137. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +11 -0
  138. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -0
  139. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.d.ts +4 -0
  140. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +9 -0
  141. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -0
  142. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -9
  143. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  144. package/dist/generated/templates/SelectBoxTemplate.lit.js +1 -1
  145. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  146. package/dist/generated/templates/StatusBadgeTemplate.lit.d.ts +4 -0
  147. package/dist/generated/templates/StatusBadgeTemplate.lit.js +5 -0
  148. package/dist/generated/templates/StatusBadgeTemplate.lit.js.map +1 -0
  149. package/dist/generated/themes/AccordionItem.css.js +1 -1
  150. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  151. package/dist/generated/themes/Avatar.css.js +1 -1
  152. package/dist/generated/themes/Avatar.css.js.map +1 -1
  153. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  154. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  155. package/dist/generated/themes/Checkbox.css.js +1 -1
  156. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  157. package/dist/generated/themes/CountrySelector.css.js +1 -1
  158. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  159. package/dist/generated/themes/DatePicker.css.js +1 -1
  160. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  161. package/dist/generated/themes/Dropdown.css.js +1 -1
  162. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  163. package/dist/generated/themes/FilterMenu.css.js +1 -1
  164. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  165. package/dist/generated/themes/HeroBanner.css.js +1 -1
  166. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  167. package/dist/generated/themes/InputGroup.css.d.ts +3 -0
  168. package/dist/generated/themes/InputGroup.css.js +9 -0
  169. package/dist/generated/themes/InputGroup.css.js.map +1 -0
  170. package/dist/generated/themes/MastheadItem.css.js +1 -1
  171. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  172. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  173. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  174. package/dist/generated/themes/MastheadShell.css.js +1 -1
  175. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  176. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  177. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  178. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  179. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  180. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  181. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  182. package/dist/generated/themes/Search.css.js +1 -1
  183. package/dist/generated/themes/Search.css.js.map +1 -1
  184. package/dist/generated/themes/SearchSuggestions.css.js +1 -1
  185. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  186. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  187. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  188. package/dist/generated/themes/SecondaryNavigationItem.css.d.ts +3 -0
  189. package/dist/generated/themes/SecondaryNavigationItem.css.js +9 -0
  190. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -0
  191. package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +3 -0
  192. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +9 -0
  193. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -0
  194. package/dist/generated/themes/Slider.css.js +1 -1
  195. package/dist/generated/themes/Slider.css.js.map +1 -1
  196. package/dist/generated/themes/StatusBadge.css.d.ts +3 -0
  197. package/dist/generated/themes/StatusBadge.css.js +9 -0
  198. package/dist/generated/themes/StatusBadge.css.js.map +1 -0
  199. package/dist/generated/themes/Tag.css.js +1 -1
  200. package/dist/generated/themes/Tag.css.js.map +1 -1
  201. package/dist/generated/themes/TextField.css.js +1 -1
  202. package/dist/generated/themes/TextField.css.js.map +1 -1
  203. package/dist/i18n/messagebundle.properties +12 -1
  204. package/dist/i18n/messagebundle_en.properties +8 -1
  205. package/dist/types/callback.d.ts +2 -0
  206. package/dist/types/callback.js +2 -0
  207. package/dist/types/callback.js.map +1 -0
  208. package/dist/utils/debounce.d.ts +2 -2
  209. package/dist/utils/debounce.js.map +1 -1
  210. package/dist/utils/retryUntilSuccessful.d.ts +3 -0
  211. package/dist/utils/retryUntilSuccessful.js +21 -0
  212. package/dist/utils/retryUntilSuccessful.js.map +1 -0
  213. package/dist/vscode.html-custom-data.json +178 -14
  214. package/dist/web-types.json +406 -32
  215. package/package.json +1 -1
  216. package/src/AccordionItem.hbs +12 -1
  217. package/src/AccordionItem.ts +11 -2
  218. package/src/Avatar.ts +12 -3
  219. package/src/CountrySelector.hbs +3 -3
  220. package/src/CountrySelector.ts +22 -21
  221. package/src/Dropdown.hbs +0 -1
  222. package/src/Dropdown.ts +10 -0
  223. package/src/FilterMenu.hbs +5 -1
  224. package/src/FilterMenu.ts +60 -10
  225. package/src/Footer.hbs +154 -91
  226. package/src/Footer.ts +158 -1
  227. package/src/HeroBanner.hbs +24 -21
  228. package/src/InputGroup.hbs +20 -0
  229. package/src/InputGroup.ts +137 -0
  230. package/src/List.ts +92 -21
  231. package/src/ListGroupHeader.hbs +9 -5
  232. package/src/ListItem.hbs +2 -1
  233. package/src/ListItem.ts +0 -7
  234. package/src/ListItemBase.ts +14 -0
  235. package/src/ListSelectAll.hbs +1 -0
  236. package/src/MastheadMobileMenu.hbs +51 -28
  237. package/src/MastheadMobileMenu.ts +12 -3
  238. package/src/MastheadProfileMenu.hbs +1 -1
  239. package/src/PhoneNumberField.ts +27 -3
  240. package/src/Search.hbs +26 -3
  241. package/src/Search.ts +236 -21
  242. package/src/SearchSuggestions.hbs +47 -49
  243. package/src/SearchableListBase.hbs +2 -0
  244. package/src/SecondaryNavigation.hbs +52 -72
  245. package/src/SecondaryNavigation.ts +182 -186
  246. package/src/SecondaryNavigationItem.hbs +63 -0
  247. package/src/SecondaryNavigationItem.ts +358 -0
  248. package/src/SecondaryNavigationItemBase.ts +115 -0
  249. package/src/SecondaryNavigationSubItem.hbs +41 -0
  250. package/src/SecondaryNavigationSubItem.ts +123 -0
  251. package/src/SelectBox.hbs +1 -0
  252. package/src/SelectBox.ts +38 -1
  253. package/src/StatusBadge.hbs +9 -0
  254. package/src/StatusBadge.ts +129 -0
  255. package/src/Tab.ts +1 -1
  256. package/src/Table.ts +7 -7
  257. package/src/Tag.ts +12 -3
  258. package/src/TextArea.ts +1 -1
  259. package/src/features/SearchSuggestionsPopover.ts +18 -20
  260. package/src/generated/i18n/i18n-defaults.ts +2 -2
  261. package/src/generated/templates/AccordionItemTemplate.lit.ts +2 -1
  262. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
  263. package/src/generated/templates/DropdownTemplate.lit.ts +1 -1
  264. package/src/generated/templates/FilterMenuTemplate.lit.ts +3 -3
  265. package/src/generated/templates/FooterTemplate.lit.ts +15 -15
  266. package/src/generated/templates/HeroBannerTemplate.lit.ts +2 -2
  267. package/src/generated/templates/InputGroupTemplate.lit.ts +12 -0
  268. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
  269. package/src/generated/templates/ListItemTemplate.lit.ts +1 -1
  270. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  271. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +15 -10
  272. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +1 -1
  273. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +11 -10
  274. package/src/generated/templates/SearchTemplate.lit.ts +10 -9
  275. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  276. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +16 -0
  277. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +14 -0
  278. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -9
  279. package/src/generated/templates/SelectBoxTemplate.lit.ts +1 -1
  280. package/src/generated/templates/StatusBadgeTemplate.lit.ts +10 -0
  281. package/src/generated/themes/AccordionItem.css.ts +1 -1
  282. package/src/generated/themes/Avatar.css.ts +1 -1
  283. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  284. package/src/generated/themes/Checkbox.css.ts +1 -1
  285. package/src/generated/themes/CountrySelector.css.ts +1 -1
  286. package/src/generated/themes/DatePicker.css.ts +1 -1
  287. package/src/generated/themes/Dropdown.css.ts +1 -1
  288. package/src/generated/themes/FilterMenu.css.ts +1 -1
  289. package/src/generated/themes/HeroBanner.css.ts +1 -1
  290. package/src/generated/themes/InputGroup.css.ts +13 -0
  291. package/src/generated/themes/MastheadItem.css.ts +1 -1
  292. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  293. package/src/generated/themes/MastheadShell.css.ts +1 -1
  294. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  295. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  296. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  297. package/src/generated/themes/Search.css.ts +1 -1
  298. package/src/generated/themes/SearchSuggestions.css.ts +1 -1
  299. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  300. package/src/generated/themes/SecondaryNavigationItem.css.ts +13 -0
  301. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +13 -0
  302. package/src/generated/themes/Slider.css.ts +1 -1
  303. package/src/generated/themes/StatusBadge.css.ts +13 -0
  304. package/src/generated/themes/Tag.css.ts +1 -1
  305. package/src/generated/themes/TextField.css.ts +1 -1
  306. package/src/i18n/messagebundle.properties +12 -1
  307. package/src/i18n/messagebundle_en.properties +8 -1
  308. package/src/themes/AccordionItem.css +20 -15
  309. package/src/themes/Avatar.css +20 -0
  310. package/src/themes/Breadcrumbs.css +4 -2
  311. package/src/themes/Checkbox.css +12 -0
  312. package/src/themes/CountrySelector.css +16 -1
  313. package/src/themes/DatePicker.css +1 -1
  314. package/src/themes/Dropdown.css +3 -1
  315. package/src/themes/FilterMenu.css +10 -0
  316. package/src/themes/HeroBanner.css +42 -6
  317. package/src/themes/InputGroup.css +19 -0
  318. package/src/themes/MastheadItem.css +2 -7
  319. package/src/themes/MastheadMenuItem.css +0 -4
  320. package/src/themes/MastheadShell.css +9 -10
  321. package/src/themes/MediaPlayer.css +3 -2
  322. package/src/themes/PhoneNumberField.css +17 -3
  323. package/src/themes/Search.css +168 -21
  324. package/src/themes/SearchSuggestions.css +7 -1
  325. package/src/themes/SecondaryNavigation.css +44 -302
  326. package/src/themes/SecondaryNavigationItem.css +220 -0
  327. package/src/themes/SecondaryNavigationSubItem.css +118 -0
  328. package/src/themes/StatusBadge.css +135 -0
  329. package/src/themes/Tag.css +6 -1
  330. package/src/themes/TextField.css +10 -1
  331. package/src/types/callback.ts +3 -0
  332. package/src/utils/debounce.ts +1 -1
  333. package/src/utils/retryUntilSuccessful.ts +23 -0
  334. package/dist/assets/messagebundle_en-26cd7a92.js +0 -1
@@ -0,0 +1,78 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
9
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
12
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
13
+ export var Target;
14
+ (function (Target) {
15
+ Target["_blank"] = "_blank";
16
+ Target["_parent"] = "_parent";
17
+ Target["_self"] = "_self";
18
+ Target["_top"] = "_top";
19
+ })(Target || (Target = {}));
20
+ /**
21
+ * @class
22
+ *
23
+ * A class to serve as a foundation
24
+ * for the <code>UDExSecondaryNavigationItem</code> and <code>UDExSecondaryNavigationSubItem</code> classes.
25
+ *
26
+ * @constructor
27
+ * @author SAP SE
28
+ * @extends UI5Element
29
+ * @public
30
+ */
31
+ let UDExSecondaryNavigationItemBase = class UDExSecondaryNavigationItemBase extends UI5Element {
32
+ onEnterDOM() {
33
+ if (isDesktop()) {
34
+ this.setAttribute("desktop", "");
35
+ }
36
+ }
37
+ getActiveSubItem(data) {
38
+ let activeItem;
39
+ const findActiveItem = (array) => {
40
+ array.forEach(item => {
41
+ if (item.active === true) {
42
+ activeItem = item;
43
+ return;
44
+ }
45
+ if (item.items) {
46
+ findActiveItem(item.items);
47
+ }
48
+ });
49
+ };
50
+ findActiveItem(data);
51
+ return activeItem;
52
+ }
53
+ };
54
+ __decorate([
55
+ property({ type: Boolean })
56
+ ], UDExSecondaryNavigationItemBase.prototype, "active", void 0);
57
+ __decorate([
58
+ property({ type: String })
59
+ ], UDExSecondaryNavigationItemBase.prototype, "path", void 0);
60
+ __decorate([
61
+ property({ type: String })
62
+ ], UDExSecondaryNavigationItemBase.prototype, "target", void 0);
63
+ __decorate([
64
+ property({ type: String })
65
+ ], UDExSecondaryNavigationItemBase.prototype, "subTitle", void 0);
66
+ __decorate([
67
+ property({ type: String })
68
+ ], UDExSecondaryNavigationItemBase.prototype, "label", void 0);
69
+ __decorate([
70
+ property({ validator: Integer })
71
+ ], UDExSecondaryNavigationItemBase.prototype, "index", void 0);
72
+ UDExSecondaryNavigationItemBase = __decorate([
73
+ customElement({
74
+ renderer: litRender,
75
+ })
76
+ ], UDExSecondaryNavigationItemBase);
77
+ export default UDExSecondaryNavigationItemBase;
78
+ //# sourceMappingURL=SecondaryNavigationItemBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecondaryNavigationItemBase.js","sourceRoot":"","sources":["../src/SecondaryNavigationItemBase.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,+CAA+C,CAAC;AAEpE,MAAM,CAAN,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,yBAAe,CAAA;IACf,uBAAa,CAAA;AACf,CAAC,EALW,MAAM,KAAN,MAAM,QAKjB;AAYD;;;;;;;;;;GAUG;AAMH,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,UAAU;IAiDtD,UAAU;QACR,IAAI,SAAS,EAAE,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SAClC;IACH,CAAC;IAED,gBAAgB,CAAC,IAAoB;QACnC,IAAI,UAAU,CAAC;QACf,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAE,EAAE;YAC/C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;oBACxB,UAAU,GAAG,IAAI,CAAC;oBAClB,OAAO;iBACR;gBACD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAA;AAjEG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+DACT;AAQjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6DACX;AAQd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+DACT;AAQhB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iEACP;AAQlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DACV;AAQf;IADD,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;8DAChB;AA/Cb,+BAA+B;IAJpC,aAAa,CAAC;QACb,QAAQ,EAAE,SAAS;KACpB,CAAC;GAEI,+BAA+B,CAwEpC;AAED,eAAe,+BAA+B,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.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 Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\n\nexport enum Target {\n _blank = \"_blank\",\n _parent = \"_parent\",\n _self = \"_self\",\n _top = \"_top\",\n}\n\nexport type NavItem = {\n path?: string;\n mobileLinkTitle?: string;\n target?: Target;\n title: string;\n active?: boolean;\n isBack?: boolean;\n items?: Array<NavItem>;\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExSecondaryNavigationItem</code> and <code>UDExSecondaryNavigationSubItem</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n@customElement({\n renderer: litRender,\n})\n\nclass UDExSecondaryNavigationItemBase extends UI5Element {\n /**\n * Defines active state for the item\n *\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines path for the item\n *\n * @public\n */\n @property({ type: String })\n path!: string;\n\n /**\n * Defines target for the item\n *\n * @public\n */\n @property({ type: String })\n target!: string;\n\n /**\n * Defines subTitle for the item\n *\n * @public\n */\n @property({ type: String })\n subTitle!: string;\n\n /**\n * Defines label for the item\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ validator: Integer })\n index!: number;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n getActiveSubItem(data: Array<NavItem>): NavItem | undefined {\n let activeItem;\n const findActiveItem = (array: Array<NavItem>) => {\n array.forEach(item => {\n if (item.active === true) {\n activeItem = item;\n return;\n }\n if (item.items) {\n findActiveItem(item.items);\n }\n });\n };\n\n findActiveItem(data);\n return activeItem;\n }\n}\n\nexport default UDExSecondaryNavigationItemBase;\n"]}
@@ -0,0 +1,52 @@
1
+ import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
2
+ import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
3
+ import UDExSecondaryNavigationItemBase, { NavItem } from "./SecondaryNavigationItemBase.js";
4
+ /**
5
+ * @class
6
+ *
7
+ * <h3 class="comment-api-title">Overview</h3>
8
+ *
9
+ *
10
+ * <h3>Usage</h3>
11
+ *
12
+ * For the <code>udex-secondary-navigation-sub-item</code>
13
+ * <h3>ES6 Module Import</h3>
14
+ *
15
+ * <code>import "@udex/web-components/dist/SecondaryNavigationSubItem.js";</code>
16
+ *
17
+ * @constructor
18
+ * @extends UDExSecondaryNavigationItemBase
19
+ * @tagname udex-secondary-navigation-sub-item
20
+ * @public
21
+ */
22
+ declare class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {
23
+ /**
24
+ * Defines active item.
25
+ *
26
+ * @public
27
+ * @default false
28
+ */
29
+ isActive: boolean;
30
+ /**
31
+ * Defines back item.
32
+ *
33
+ * @public
34
+ * @default false
35
+ */
36
+ isBack: boolean;
37
+ /**
38
+ * List of the nested items
39
+ *
40
+ * @default "[]"
41
+ * @public
42
+ */
43
+ nestedItems: Array<NavItem>;
44
+ static i18nBundle: any;
45
+ static onDefine(): Promise<void>;
46
+ onItemClick(): void;
47
+ onBackItemClick(): void;
48
+ get hasItems(): boolean;
49
+ get isSubItemActive(): boolean;
50
+ get backButtonLabel(): string;
51
+ }
52
+ export default UDExSecondaryNavigationSubItem;
@@ -0,0 +1,102 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var UDExSecondaryNavigationSubItem_1;
8
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
11
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
12
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
13
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
14
+ import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
15
+ import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
16
+ import UDExSecondaryNavigationItemBase from "./SecondaryNavigationItemBase.js";
17
+ import { BACK_BUTTON_LABEL } from "./generated/i18n/i18n-defaults.js";
18
+ import SecondaryNavigationSubItemTemplate from "./generated/templates/SecondaryNavigationSubItemTemplate.lit.js";
19
+ // Styles
20
+ import SecondaryNavigationSubItemCss from "./generated/themes/SecondaryNavigationSubItem.css.js";
21
+ /**
22
+ * @class
23
+ *
24
+ * <h3 class="comment-api-title">Overview</h3>
25
+ *
26
+ *
27
+ * <h3>Usage</h3>
28
+ *
29
+ * For the <code>udex-secondary-navigation-sub-item</code>
30
+ * <h3>ES6 Module Import</h3>
31
+ *
32
+ * <code>import "@udex/web-components/dist/SecondaryNavigationSubItem.js";</code>
33
+ *
34
+ * @constructor
35
+ * @extends UDExSecondaryNavigationItemBase
36
+ * @tagname udex-secondary-navigation-sub-item
37
+ * @public
38
+ */
39
+ let UDExSecondaryNavigationSubItem = UDExSecondaryNavigationSubItem_1 = class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {
40
+ static async onDefine() {
41
+ UDExSecondaryNavigationSubItem_1.i18nBundle = await getI18nBundle("udex-secondary-navigation-sub-item");
42
+ }
43
+ onItemClick() {
44
+ this.fireEvent("sub-item-click", {
45
+ item: this,
46
+ });
47
+ }
48
+ onBackItemClick() {
49
+ this.fireEvent("back-item-click");
50
+ }
51
+ get hasItems() {
52
+ return !!this.nestedItems.length;
53
+ }
54
+ get isSubItemActive() {
55
+ return !!this.getActiveSubItem(this.nestedItems)?.active;
56
+ }
57
+ get backButtonLabel() {
58
+ const label = UDExSecondaryNavigationSubItem_1.i18nBundle.getText(BACK_BUTTON_LABEL);
59
+ return `${label} ${this.label}`;
60
+ }
61
+ };
62
+ __decorate([
63
+ property({ type: Boolean })
64
+ ], UDExSecondaryNavigationSubItem.prototype, "isActive", void 0);
65
+ __decorate([
66
+ property({ type: Boolean })
67
+ ], UDExSecondaryNavigationSubItem.prototype, "isBack", void 0);
68
+ __decorate([
69
+ property({ type: Object, multiple: true })
70
+ ], UDExSecondaryNavigationSubItem.prototype, "nestedItems", void 0);
71
+ UDExSecondaryNavigationSubItem = UDExSecondaryNavigationSubItem_1 = __decorate([
72
+ customElement({
73
+ tag: "udex-secondary-navigation-sub-item",
74
+ renderer: litRender,
75
+ styles: SecondaryNavigationSubItemCss,
76
+ template: SecondaryNavigationSubItemTemplate,
77
+ dependencies: [UI5Icon],
78
+ })
79
+ /**
80
+ * Fires when item is clicked
81
+ *
82
+ * @allowPreventDefault
83
+ * @public
84
+ */
85
+ ,
86
+ event("sub-item-click", {
87
+ detail: {
88
+ item: { type: HTMLElement },
89
+ },
90
+ })
91
+ /**
92
+ * Fires when back item is clicked
93
+ *
94
+ * @allowPreventDefault
95
+ * @public
96
+ */
97
+ ,
98
+ event("back-item-click")
99
+ ], UDExSecondaryNavigationSubItem);
100
+ UDExSecondaryNavigationSubItem.define();
101
+ export default UDExSecondaryNavigationSubItem;
102
+ //# sourceMappingURL=SecondaryNavigationSubItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecondaryNavigationSubItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationSubItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,mDAAmD,CAAC;AAC3D,OAAO,kDAAkD,CAAC;AAC1D,OAAO,+BAA4C,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,kCAAkC,MAAM,iEAAiE,CAAC;AAEjH,SAAS;AACT,OAAO,6BAA6B,MAAM,sDAAsD,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AA6BH,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,+BAA+B;IA8B1E,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,gCAA8B,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oCAAoC,CAAC,CAAC;IACxG,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAC/B,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC3D,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,KAAK,GAAG,gCAA8B,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAW,CAAC;QAC7F,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF,CAAA;AAhDG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gEACP;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8DACT;AASjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mEACZ;AA1B3B,8BAA8B;IA5BnC,aAAa,CAAC;QACb,GAAG,EAAE,oCAAoC;QACzC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,6BAA6B;QACrC,QAAQ,EAAE,kCAAkC;QAC5C,YAAY,EAAE,CAAC,OAAO,CAAC;KACxB,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,gBAAgB,EAAE;QACvB,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC5B;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,iBAAiB,CAAC;GAEnB,8BAA8B,CAwDnC;AAED,8BAA8B,CAAC,MAAM,EAAE,CAAC;AAExC,eAAe,8BAA8B,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { BACK_BUTTON_LABEL } from \"./generated/i18n/i18n-defaults.js\";\n\nimport SecondaryNavigationSubItemTemplate from \"./generated/templates/SecondaryNavigationSubItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationSubItemCss from \"./generated/themes/SecondaryNavigationSubItem.css.js\";\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-secondary-navigation-sub-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/SecondaryNavigationSubItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-sub-item\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation-sub-item\",\n renderer: litRender,\n styles: SecondaryNavigationSubItemCss,\n template: SecondaryNavigationSubItemTemplate,\n dependencies: [UI5Icon],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fires when back item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"back-item-click\")\n\nclass UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines active item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isActive!: boolean;\n\n /**\n * Defines back item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isBack!: boolean;\n\n /**\n * List of the nested items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n nestedItems!: Array<NavItem>;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigationSubItem.i18nBundle = await getI18nBundle(\"udex-secondary-navigation-sub-item\");\n }\n\n onItemClick(): void {\n this.fireEvent(\"sub-item-click\", {\n item: this,\n });\n }\n\n onBackItemClick(): void {\n this.fireEvent(\"back-item-click\");\n }\n\n get hasItems(): boolean {\n return !!this.nestedItems.length;\n }\n\n get isSubItemActive(): boolean {\n return !!this.getActiveSubItem(this.nestedItems)?.active;\n }\n\n get backButtonLabel(): string {\n const label = UDExSecondaryNavigationSubItem.i18nBundle.getText(BACK_BUTTON_LABEL) as string;\n return `${label} ${this.label}`;\n }\n}\n\nUDExSecondaryNavigationSubItem.define();\n\nexport default UDExSecondaryNavigationSubItem;\n"]}
@@ -1,5 +1,6 @@
1
1
  import Tokenizer from "@ui5/webcomponents/dist/Tokenizer.js";
2
2
  import Token from "@ui5/webcomponents/dist/Token.js";
3
+ import { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
4
  import UDExDropdown from "./Dropdown.js";
4
5
  import UDExSearchableListBase from "./SearchableListBase.js";
5
6
  import UDExSearch from "./Search.js";
@@ -120,8 +121,13 @@ declare class UDExSelectBox extends UDExSearchableListBase {
120
121
  _search: UDExSearch;
121
122
  _singleSelectedOption: string;
122
123
  _truncatableTag: UDExTag;
124
+ _handleResizeBound: ResizeObserverCallback;
125
+ constructor();
126
+ onEnterDOM(): void;
127
+ onExitDOM(): void;
123
128
  onAfterRendering(): void;
124
129
  onBeforeRendering(): void;
130
+ _handleResize(): void;
125
131
  handleItemPress(e: CustomEvent): void;
126
132
  handleSingleSelectMode(): void;
127
133
  handleSelectAll(e: CustomEvent): void;
@@ -143,6 +149,7 @@ declare class UDExSelectBox extends UDExSearchableListBase {
143
149
  handleKeyDownTrigger(e: KeyboardEvent): void;
144
150
  handleKeyDownTag(e: KeyboardEvent): void;
145
151
  handleKeyDownDropdown(e: KeyboardEvent): void;
152
+ handleKeyDownSearch(e: CustomEvent): void;
146
153
  handleOutsideClick(): void;
147
154
  openDropdown(): void;
148
155
  closeDropdown(): void;
package/dist/SelectBox.js CHANGED
@@ -14,6 +14,7 @@ import { isEnter, isSpace, isDelete, isTabPrevious, isTabNext, isLeft, isRight,
14
14
  import Tokenizer from "@ui5/webcomponents/dist/Tokenizer.js";
15
15
  import Icon from "@ui5/webcomponents/dist/Icon.js";
16
16
  import Token from "@ui5/webcomponents/dist/Token.js";
17
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
17
18
  import UDExDropdown from "./Dropdown.js";
18
19
  import UDExList from "./List.js";
19
20
  import UDExListItem from "./ListItem.js";
@@ -55,9 +56,18 @@ import UDExStatusMessage from "./StatusMessage.js";
55
56
  */
56
57
  let UDExSelectBox = UDExSelectBox_1 = class UDExSelectBox extends UDExSearchableListBase {
57
58
  constructor() {
58
- super(...arguments);
59
+ super();
59
60
  this._open = false;
60
61
  this._showTagsDropdownContent = false;
62
+ this._shouldFilterItems = false;
63
+ this._handleResizeBound = this._handleResize.bind(this);
64
+ this._filteredItems = [];
65
+ }
66
+ onEnterDOM() {
67
+ ResizeHandler.register(this, this._handleResizeBound);
68
+ }
69
+ onExitDOM() {
70
+ ResizeHandler.deregister(this, this._handleResizeBound);
61
71
  }
62
72
  onAfterRendering() {
63
73
  this._tokenizer = this.tokenizer;
@@ -74,6 +84,9 @@ let UDExSelectBox = UDExSelectBox_1 = class UDExSelectBox extends UDExSearchable
74
84
  this.handleSingleSelectMode();
75
85
  }
76
86
  }
87
+ _handleResize() {
88
+ this._dropdown.style.setProperty("--udex-dropdown-pane-width", `${this.offsetWidth}px`);
89
+ }
77
90
  handleItemPress(e) {
78
91
  this.onItemPress(e);
79
92
  if (this.modeSingleSelect) {
@@ -215,9 +228,19 @@ let UDExSelectBox = UDExSelectBox_1 = class UDExSelectBox extends UDExSearchable
215
228
  }
216
229
  }
217
230
  handleKeyDownDropdown(e) {
231
+ const isTabPrevPress = isTabPrevious(e) && !this._search;
218
232
  if (isEscape(e)) {
219
233
  this.trigger.focus();
220
234
  }
235
+ if (isTabNext(e) || isTabPrevPress) {
236
+ this.closeDropdown();
237
+ }
238
+ }
239
+ handleKeyDownSearch(e) {
240
+ const keyEvent = e.detail;
241
+ if (isTabPrevious(keyEvent) || isEscape(keyEvent)) {
242
+ this.closeDropdown();
243
+ }
221
244
  }
222
245
  handleOutsideClick() {
223
246
  document.addEventListener("click", (e) => {
@@ -230,7 +253,9 @@ let UDExSelectBox = UDExSelectBox_1 = class UDExSelectBox extends UDExSearchable
230
253
  this._dropdown.onOpen(this.trigger);
231
254
  }
232
255
  closeDropdown() {
233
- this._dropdown.onClose();
256
+ if (this._dropdown.open) {
257
+ this._dropdown.onClose();
258
+ }
234
259
  }
235
260
  scrollToTag(index) {
236
261
  this._tokenizer._scrollToToken(this._tokenizer.tokens[index]);
@@ -1 +1 @@
1
- {"version":3,"file":"SelectBox.js","sourceRoot":"","sources":["../src/SelectBox.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,eAAe,MAAM,0DAA0D,CAAC;AACvF,OAAO,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,aAAa,EACb,SAAS,EACT,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,WAAW,GACZ,MAAM,sCAAsC,CAAC;AAE9C,OAAO,SAAS,MAAM,sCAAsC,CAAC;AAC7D,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,mBAAmB,MAAM,sBAAsB,CAAC;AACvD,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,wBAAwB,MAAM,2BAA2B,CAAC;AACjE,OAAO,sBAAsB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,0BAA0B,MAAM,sDAAsD,CAAC;AAE9F,SAAS;AACT,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AA6CH,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,sBAAsB;IAAlD;;QAqHI,UAAK,GAAa,KAAK,CAAC;QAGxB,6BAAwB,GAAY,KAAK,CAAC;IAgX9C,CAAC;IAxWC,gBAAgB;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAClD,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IAED,eAAe,CAAC,CAAa;QAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAC5D,CAAC;IAED,eAAe,CAAC,CAAa;QAC3B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,iBAAiB,CAAC,CAAa;QAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,iBAAiB,CAAC,CAAa;QAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,wBAAwB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,wBAAwB;QACtB,IAAI,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;SAClC;QACD,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,qBAAqB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,cAAc,CAAE,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAW,CAAC,aAAa,CAAc,0BAA0B,CAAE,CAAC;QACpG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,CAAQ;QACtB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAoB,CAAC;QACnC,MAAM,KAAK,GAAW,GAAG,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC;QACnD,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,0BAA0B;QACxB,MAAM,KAAK,GAAW,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC;QACpE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,CAAc;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAiB,CAAC;QAChC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YAClD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,4BAA4B;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvC;IACH,CAAC;IAED,sBAAsB,CAAC,CAAgB;QACrC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAe,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC/C,MAAM,qBAAqB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,KAAK,WAAW,GAAG,CAAC,CAAC;QAE1F,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;SACnC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,KAAK,WAAW,GAAG,CAAC,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;SACnC;QAED,IAAI,gBAAgB,IAAI,qBAAqB,EAAE;YAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;SAClC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,oBAAoB,CAAC,CAAgB;QACnC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QAED,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,CAAC,EAAE;YACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;YAChC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAe,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACpC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,eAAe,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;YACvG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aACtB;SACF;IACH,CAAC;IAED,qBAAqB,CAAC,CAAgB;QACpC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;IAED,kBAAkB;QAChB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAa,EAAE,EAAE;YACnD,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;gBAC3D,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,EAAU;QACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,sBAAsB;QACpB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,wBAAwB;QACtB,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,CAAC;IAED,yBAAyB;QACvB,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAChF,CAAC;IAED,eAAe;QACb,MAAM,eAAe,GAAW,MAAM;aACnC,gBAAgB,CAAC,IAAI,CAAC;aACtB,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEjC,IAAI,CAAC,eAAe,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;SACnC;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;IAC5D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC;IACzE,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,CAAC;IACvD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAe,eAAe,CAAE,CAAC;IACxE,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAa,aAAa,CAAE,CAAC;IACpE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,yBAAyB,CAAE,CAAC;IACpE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAY,iBAAiB,CAAE,CAAC;IACvE,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,SAAS,GAAG,wBAAwB,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACnF,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO;MACL,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE;MAC/D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,eAAe,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3B,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,iBAAiB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;IAChD,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,eAAa,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,eAAe,CAAC,eAAa,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS;YAC3D,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,IAAI,SAAS;YACrD,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC;SAChF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,0BAA0B;QACnC,OAAO,0BAA0B,CAAC;IACpC,CAAC;CACF,CAAA;AA/dG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACK;AAS/B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACP;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACP;AAOnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACT;AAShB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACV;AASf;IADD,QAAQ,EAAE;qDACe;AAQxB;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;wDACF;AAS3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACP;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACJ;AAStB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;iDACnC;AAS7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACD;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;uDAC9B;AAMtC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;iDACxB;AAGpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACP;AAGnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACF;AAGxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+DACgB;AAxHxC,aAAa;IA5ClB,aAAa,CAAC;QACb,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC;QACvD,QAAQ,EAAE,iBAAiB;QAC3B,YAAY,EAAE;YACZ,wBAAwB;YACxB,YAAY;YACZ,mBAAmB;YACnB,iBAAiB;YACjB,iBAAiB;YACjB,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,UAAU;YACV,UAAU;YACV,SAAS;YACT,OAAO;YACP,KAAK;YACL,IAAI;YACJ,iBAAiB;SAClB;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,QAAQ,EAAE;QACf,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC5B;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,WAAW,CAAC;GAEb,aAAa,CAwelB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","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.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport {\n isEnter,\n isSpace,\n isDelete,\n isTabPrevious,\n isTabNext,\n isLeft,\n isRight,\n isDown,\n isUp,\n isEscape,\n isBackSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport 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 UDExDropdown from \"./Dropdown.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 UDExSearchableListBase from \"./SearchableListBase.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExTooltip, { PlacementType } from \"./Tooltip.js\";\nimport UDExButton from \"./Button.js\";\nimport ValueState from \"./types/common.js\";\n\nimport { SELECT_OPTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport SelectBoxTemplate from \"./generated/templates/SelectBoxTemplate.lit.js\";\nimport SearchableListBaseTemplate from \"./generated/templates/SearchableListBaseTemplate.lit\";\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 UDExStatusMessage from \"./StatusMessage.js\";\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 \"@udex/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],\n template: SelectBoxTemplate,\n dependencies: [\n UDExSelectBoxGroupHeader,\n UDExListItem,\n UDExListGroupHeader,\n UDExListSelectAll,\n UDExSelectBoxItem,\n UDExList,\n UDExDropdown,\n UDExTooltip,\n UDExSearch,\n UDExButton,\n Tokenizer,\n UDExTag,\n Token,\n Icon,\n UDExStatusMessage,\n ],\n})\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @event sap.ui.webc.web-components.UDExSelectBox#resetSearch\n * @public\n */\n@event(\"remove\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fired event when the user clicks on the More button.\n *\n * @event sap.ui.webc.web-components.UDExSelectBox#showMore\n * @public\n */\n@event(\"show-more\")\n\nclass UDExSelectBox extends UDExSearchableListBase {\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 * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\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 \"\"\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 \"\"\n * @public\n */\n @property({ defaultValue: \"\" })\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({ type: ValueState, defaultValue: ValueState.Standard })\n valueState!: `${ValueState}`;\n\n /**\n * Defines supporting text under the trigger container.\n *\n * @default \"\"\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({ type: PlacementType, defaultValue: PlacementType.Bottom })\n tooltipPlacement!: `${PlacementType}`;\n\n /**\n * @private\n */\n @property({ type: String, noAttribute: true })\n _direction?: string;\n\n @property({ type: Boolean })\n _focused!: boolean;\n\n @property({ type: Boolean })\n _open?: boolean = false;\n\n @property({ type: Boolean })\n _showTagsDropdownContent: boolean = false;\n\n _dropdown!: UDExDropdown;\n _tokenizer!: Tokenizer;\n _search!: UDExSearch;\n _singleSelectedOption!: string;\n _truncatableTag!: UDExTag;\n\n onAfterRendering() {\n this._tokenizer = this.tokenizer;\n this._dropdown = this.dropdown;\n this._search = this.search;\n this.handleDirection();\n\n if (this._tokenizer?.tokens.length > 0) {\n this.handleOutsideClick();\n }\n }\n\n onBeforeRendering() {\n super.onBeforeRendering();\n\n if (this.modeSingleSelect && this.hasSelectedItems) {\n this.handleSingleSelectMode();\n }\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.fireEvent(\"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.disabled) {\n return;\n }\n this._focused = true;\n }\n\n handleFocusOut() {\n this._focused = false;\n }\n\n handleDropdownBeforeOpen() {\n this._open = true;\n }\n\n handleDropdownAfterClose() {\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._tokenizer.expanded = true;\n this._showTagsDropdownContent = false;\n this.openDropdown();\n this.handleUnselectTruncatableTag();\n this.fireEvent(\"show-more\");\n }\n\n showMoreReadOnlyItems() {\n const tooltip = this.shadowRoot!.querySelector<UDExTooltip>(\"udex-tooltip\")!;\n const moreBtn = this._tokenizer.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer-more-text\")!;\n tooltip.onOpen(moreBtn);\n }\n\n handleRemoveTag(e: Event) {\n const tag = e.target as UI5Element;\n const tagId: string = tag.getAttribute(\"data-id\")!;\n this.handleDropdownItemPress(tagId);\n this.fireEventRemove(tagId);\n }\n\n handleRemoveTruncatableTag() {\n const tagId: string = this._truncatableTag.getAttribute(\"data-id\")!;\n this.handleDropdownItemPress(tagId);\n this.closeDropdown();\n this.fireEventRemove(tagId);\n }\n\n handleTagPress(e: CustomEvent) {\n const tag = e.target as UDExTag;\n tag.selected = false;\n\n if (tag.isTruncatable && !this._tokenizer.expanded) {\n this._truncatableTag = tag;\n this._truncatableTag.selected = true;\n this._showTagsDropdownContent = true;\n this.openDropdown();\n }\n }\n\n handleUnselectTruncatableTag() {\n if (this._truncatableTag?.selected) {\n this._truncatableTag.selected = false;\n }\n }\n\n handleKeydownTokenizer(e: KeyboardEvent) {\n e.stopPropagation();\n const target = e.target as Token;\n const activeIndex = this._tokenizer.tokens?.indexOf(target);\n const tagsCount = this._tokenizer._tokensCount;\n const isTabPreviousFirstTag = isTabPrevious(e) && activeIndex === 0;\n const isTabNextLastTag = isTabNext(e) && this._tokenizer._tokensCount === activeIndex + 1;\n\n if (isLeft(e) && activeIndex !== 0) {\n this.focusTag(activeIndex - 1);\n this.scrollToTag(activeIndex - 1);\n }\n\n if (isRight(e) && tagsCount !== activeIndex + 1) {\n this.focusTag(activeIndex + 1);\n this.scrollToTag(activeIndex + 1);\n }\n\n if (isTabNextLastTag || isTabPreviousFirstTag) {\n this._tokenizer.expanded = false;\n }\n\n if (isDown(e) || isUp(e)) {\n this.openDropdown();\n }\n }\n\n handleKeyDownTrigger(e: KeyboardEvent) {\n if (isSpace(e)) {\n e.preventDefault();\n }\n\n if (isSpace(e) || isEnter(e)) {\n this.openDropdown();\n }\n\n if (isTabNext(e) && this._tokenizer?._tokensCount > 0) {\n this._tokenizer.expanded = true;\n setTimeout(() => {\n this.focusTag(this._tokenizer._tokensCount - 1);\n });\n }\n }\n\n handleKeyDownTag(e: KeyboardEvent) {\n if (isSpace(e)) {\n e.preventDefault();\n }\n\n if (isDelete(e) || isBackSpace(e)) {\n this.handleRemoveTag(e);\n const target = e.target as Token;\n const tags = this._tokenizer.tokens;\n const deletedTagIndex = tags.indexOf(target);\n const nextTokenIndex = deletedTagIndex === tags.length - 1 ? deletedTagIndex - 1 : deletedTagIndex + 1;\n if (this._tokenizer.tokens.length !== 1) {\n this.focusTag(nextTokenIndex);\n this.scrollToTag(nextTokenIndex);\n } else {\n this.trigger.focus();\n }\n }\n }\n\n handleKeyDownDropdown(e: KeyboardEvent) {\n if (isEscape(e)) {\n this.trigger.focus();\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 });\n }\n\n openDropdown() {\n this._dropdown.onOpen(this.trigger);\n }\n\n closeDropdown() {\n this._dropdown.onClose();\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 fireEventRemove(id: string) {\n this.fireEvent(\"remove\", {\n item: this.getItemFromList(id),\n });\n }\n\n handleOpenMultiSelect() {\n if (this._dropdown.open) {\n this.closeDropdown();\n } else {\n this._showTagsDropdownContent = false;\n this.openDropdown();\n }\n }\n\n handleOpenSingleSelect() {\n if (this._dropdown.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() {\n return this.displayonly ? this.showMoreReadOnlyItems() : this.showMoreItems();\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 get isDisabled(): boolean {\n return this.readonly || this.displayonly || this.disabled;\n }\n\n get overflowsTags() {\n return this._tokenizer?.tokens?.filter(tag => tag.overflows) || [];\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 dropdown(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\"udex-dropdown\")!;\n }\n\n get search(): UDExSearch {\n return this.shadowRoot!.querySelector<UDExSearch>(\"udex-search\")!;\n }\n\n get trigger(): UDExDropdown {\n return this.shadowRoot!.querySelector(\".udex-text-field__input\")!;\n }\n\n get tokenizer(): Tokenizer {\n return this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\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 tokenizerClass(): string {\n return `udex-text-field__tokenizer\n ${this.displayonly ? \"udex-text-field__tokenize_displayonly\" : \"\"}\n ${this.readonly ? \"udex-text-field__tokenize_readonly\" : \"\"}`;\n }\n\n get tokenizerExpanded() {\n if (this._showTagsDropdownContent && this._truncatableTag) {\n return false;\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 ? \"-1\" : tabindex || \"0\";\n }\n\n get iconAccessibleNameText(): string {\n return UDExSelectBox.i18nBundle.getText(SELECT_OPTIONS);\n }\n\n get additionalClassName(): string {\n return `udex-list__sticky`;\n }\n\n get searchableList() {\n return executeTemplate(UDExSelectBox.searchableListBaseTemplate, this);\n }\n\n get accInfo() {\n return {\n \"ariaLabel\": this.accessibleName || this.label || undefined,\n \"ariaLabelledBy\": this.accessibleNameRef || undefined,\n \"ariaControls\": this.shadowRoot?.querySelector(\"udex-list\")?.getAttribute(\"id\"),\n };\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n}\n\nUDExSelectBox.define();\n\nexport default UDExSelectBox;\n"]}
1
+ {"version":3,"file":"SelectBox.js","sourceRoot":"","sources":["../src/SelectBox.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,eAAe,MAAM,0DAA0D,CAAC;AACvF,OAAO,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,aAAa,EACb,SAAS,EACT,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,WAAW,GACZ,MAAM,sCAAsC,CAAC;AAE9C,OAAO,SAAS,MAAM,sCAAsC,CAAC;AAC7D,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,aAAyC,MAAM,wDAAwD,CAAC;AAC/G,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,mBAAmB,MAAM,sBAAsB,CAAC;AACvD,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,wBAAwB,MAAM,2BAA2B,CAAC;AACjE,OAAO,sBAAsB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,0BAA0B,MAAM,sDAAsD,CAAC;AAE9F,SAAS;AACT,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AA6CH,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,sBAAsB;IAkIhD;QACE,KAAK,EAAE,CAAC;QAdR,UAAK,GAAa,KAAK,CAAC;QAGxB,6BAAwB,GAAY,KAAK,CAAC;QAY1C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAClD,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IAC1F,CAAC;IAED,eAAe,CAAC,CAAa;QAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAC5D,CAAC;IAED,eAAe,CAAC,CAAa;QAC3B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,iBAAiB,CAAC,CAAa;QAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,iBAAiB,CAAC,CAAa;QAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,wBAAwB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,wBAAwB;QACtB,IAAI,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;SAClC;QACD,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,qBAAqB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,cAAc,CAAE,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAW,CAAC,aAAa,CAAc,0BAA0B,CAAE,CAAC;QACpG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,CAAQ;QACtB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAoB,CAAC;QACnC,MAAM,KAAK,GAAW,GAAG,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC;QACnD,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,0BAA0B;QACxB,MAAM,KAAK,GAAW,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC;QACpE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,CAAc;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAiB,CAAC;QAChC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YAClD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,4BAA4B;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvC;IACH,CAAC;IAED,sBAAsB,CAAC,CAAgB;QACrC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAe,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC/C,MAAM,qBAAqB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,KAAK,WAAW,GAAG,CAAC,CAAC;QAE1F,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;SACnC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,KAAK,WAAW,GAAG,CAAC,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;SACnC;QAED,IAAI,gBAAgB,IAAI,qBAAqB,EAAE;YAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;SAClC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,oBAAoB,CAAC,CAAgB;QACnC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QAED,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,CAAC,EAAE;YACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;YAChC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAe,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACpC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,eAAe,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;YACvG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aACtB;SACF;IACH,CAAC;IAED,qBAAqB,CAAC,CAAgB;QACpC,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAEzD,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;YAClC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,mBAAmB,CAAC,CAAc;QAChC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAuB,CAAC;QAC3C,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACjD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,kBAAkB;QAChB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAa,EAAE,EAAE;YACnD,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;gBAC3D,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,EAAU;QACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,sBAAsB;QACpB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,wBAAwB;QACtB,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,CAAC;IAED,yBAAyB;QACvB,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAChF,CAAC;IAED,eAAe;QACb,MAAM,eAAe,GAAW,MAAM;aACnC,gBAAgB,CAAC,IAAI,CAAC;aACtB,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEjC,IAAI,CAAC,eAAe,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;SACnC;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;IAC5D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC;IACzE,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,CAAC;IACvD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAe,eAAe,CAAE,CAAC;IACxE,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAa,aAAa,CAAE,CAAC;IACpE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,yBAAyB,CAAE,CAAC;IACpE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAY,iBAAiB,CAAE,CAAC;IACvE,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,SAAS,GAAG,wBAAwB,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACnF,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO;MACL,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE;MAC/D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,eAAe,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3B,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,iBAAiB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;IAChD,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,eAAa,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,eAAe,CAAC,eAAa,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS;YAC3D,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,IAAI,SAAS;YACrD,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC;SAChF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,0BAA0B;QACnC,OAAO,0BAA0B,CAAC;IACpC,CAAC;CACF,CAAA;AAngBG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACK;AAS/B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACP;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACP;AAOnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACT;AAShB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACV;AASf;IADD,QAAQ,EAAE;qDACe;AAQxB;IADD,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;wDACF;AAS3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACP;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACJ;AAStB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;iDACnC;AAS7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACD;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;uDAC9B;AAMtC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;iDACxB;AAGpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACP;AAGnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACF;AAGxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+DACgB;AAxHxC,aAAa;IA5ClB,aAAa,CAAC;QACb,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC;QACvD,QAAQ,EAAE,iBAAiB;QAC3B,YAAY,EAAE;YACZ,wBAAwB;YACxB,YAAY;YACZ,mBAAmB;YACnB,iBAAiB;YACjB,iBAAiB;YACjB,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,UAAU;YACV,UAAU;YACV,SAAS;YACT,OAAO;YACP,KAAK;YACL,IAAI;YACJ,iBAAiB;SAClB;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,QAAQ,EAAE;QACf,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC5B;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,WAAW,CAAC;GAEb,aAAa,CA4gBlB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","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.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport {\n isEnter,\n isSpace,\n isDelete,\n isTabPrevious,\n isTabNext,\n isLeft,\n isRight,\n isDown,\n isUp,\n isEscape,\n isBackSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport 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 ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport UDExDropdown from \"./Dropdown.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 UDExSearchableListBase from \"./SearchableListBase.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExTag from \"./Tag.js\";\nimport UDExTooltip, { PlacementType } from \"./Tooltip.js\";\nimport UDExButton from \"./Button.js\";\nimport ValueState from \"./types/common.js\";\n\nimport { SELECT_OPTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport SelectBoxTemplate from \"./generated/templates/SelectBoxTemplate.lit.js\";\nimport SearchableListBaseTemplate from \"./generated/templates/SearchableListBaseTemplate.lit\";\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 UDExStatusMessage from \"./StatusMessage.js\";\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 \"@udex/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],\n template: SelectBoxTemplate,\n dependencies: [\n UDExSelectBoxGroupHeader,\n UDExListItem,\n UDExListGroupHeader,\n UDExListSelectAll,\n UDExSelectBoxItem,\n UDExList,\n UDExDropdown,\n UDExTooltip,\n UDExSearch,\n UDExButton,\n Tokenizer,\n UDExTag,\n Token,\n Icon,\n UDExStatusMessage,\n ],\n})\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @event sap.ui.webc.web-components.UDExSelectBox#resetSearch\n * @public\n */\n@event(\"remove\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fired event when the user clicks on the More button.\n *\n * @event sap.ui.webc.web-components.UDExSelectBox#showMore\n * @public\n */\n@event(\"show-more\")\n\nclass UDExSelectBox extends UDExSearchableListBase {\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 * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\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 \"\"\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 \"\"\n * @public\n */\n @property({ defaultValue: \"\" })\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({ type: ValueState, defaultValue: ValueState.Standard })\n valueState!: `${ValueState}`;\n\n /**\n * Defines supporting text under the trigger container.\n *\n * @default \"\"\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({ type: PlacementType, defaultValue: PlacementType.Bottom })\n tooltipPlacement!: `${PlacementType}`;\n\n /**\n * @private\n */\n @property({ type: String, noAttribute: true })\n _direction?: string;\n\n @property({ type: Boolean })\n _focused!: boolean;\n\n @property({ type: Boolean })\n _open?: boolean = false;\n\n @property({ type: Boolean })\n _showTagsDropdownContent: boolean = false;\n\n _dropdown!: UDExDropdown;\n _tokenizer!: Tokenizer;\n _search!: UDExSearch;\n _singleSelectedOption!: string;\n _truncatableTag!: UDExTag;\n\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(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering() {\n this._tokenizer = this.tokenizer;\n this._dropdown = this.dropdown;\n this._search = this.search;\n this.handleDirection();\n\n if (this._tokenizer?.tokens.length > 0) {\n this.handleOutsideClick();\n }\n }\n\n onBeforeRendering() {\n super.onBeforeRendering();\n\n if (this.modeSingleSelect && this.hasSelectedItems) {\n this.handleSingleSelectMode();\n }\n }\n\n _handleResize() {\n this._dropdown.style.setProperty(\"--udex-dropdown-pane-width\", `${this.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.fireEvent(\"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.disabled) {\n return;\n }\n this._focused = true;\n }\n\n handleFocusOut() {\n this._focused = false;\n }\n\n handleDropdownBeforeOpen() {\n this._open = true;\n }\n\n handleDropdownAfterClose() {\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._tokenizer.expanded = true;\n this._showTagsDropdownContent = false;\n this.openDropdown();\n this.handleUnselectTruncatableTag();\n this.fireEvent(\"show-more\");\n }\n\n showMoreReadOnlyItems() {\n const tooltip = this.shadowRoot!.querySelector<UDExTooltip>(\"udex-tooltip\")!;\n const moreBtn = this._tokenizer.shadowRoot!.querySelector<HTMLElement>(\".ui5-tokenizer-more-text\")!;\n tooltip.onOpen(moreBtn);\n }\n\n handleRemoveTag(e: Event) {\n const tag = e.target as UI5Element;\n const tagId: string = tag.getAttribute(\"data-id\")!;\n this.handleDropdownItemPress(tagId);\n this.fireEventRemove(tagId);\n }\n\n handleRemoveTruncatableTag() {\n const tagId: string = this._truncatableTag.getAttribute(\"data-id\")!;\n this.handleDropdownItemPress(tagId);\n this.closeDropdown();\n this.fireEventRemove(tagId);\n }\n\n handleTagPress(e: CustomEvent) {\n const tag = e.target as UDExTag;\n tag.selected = false;\n\n if (tag.isTruncatable && !this._tokenizer.expanded) {\n this._truncatableTag = tag;\n this._truncatableTag.selected = true;\n this._showTagsDropdownContent = true;\n this.openDropdown();\n }\n }\n\n handleUnselectTruncatableTag() {\n if (this._truncatableTag?.selected) {\n this._truncatableTag.selected = false;\n }\n }\n\n handleKeydownTokenizer(e: KeyboardEvent) {\n e.stopPropagation();\n const target = e.target as Token;\n const activeIndex = this._tokenizer.tokens?.indexOf(target);\n const tagsCount = this._tokenizer._tokensCount;\n const isTabPreviousFirstTag = isTabPrevious(e) && activeIndex === 0;\n const isTabNextLastTag = isTabNext(e) && this._tokenizer._tokensCount === activeIndex + 1;\n\n if (isLeft(e) && activeIndex !== 0) {\n this.focusTag(activeIndex - 1);\n this.scrollToTag(activeIndex - 1);\n }\n\n if (isRight(e) && tagsCount !== activeIndex + 1) {\n this.focusTag(activeIndex + 1);\n this.scrollToTag(activeIndex + 1);\n }\n\n if (isTabNextLastTag || isTabPreviousFirstTag) {\n this._tokenizer.expanded = false;\n }\n\n if (isDown(e) || isUp(e)) {\n this.openDropdown();\n }\n }\n\n handleKeyDownTrigger(e: KeyboardEvent) {\n if (isSpace(e)) {\n e.preventDefault();\n }\n\n if (isSpace(e) || isEnter(e)) {\n this.openDropdown();\n }\n\n if (isTabNext(e) && this._tokenizer?._tokensCount > 0) {\n this._tokenizer.expanded = true;\n setTimeout(() => {\n this.focusTag(this._tokenizer._tokensCount - 1);\n });\n }\n }\n\n handleKeyDownTag(e: KeyboardEvent) {\n if (isSpace(e)) {\n e.preventDefault();\n }\n\n if (isDelete(e) || isBackSpace(e)) {\n this.handleRemoveTag(e);\n const target = e.target as Token;\n const tags = this._tokenizer.tokens;\n const deletedTagIndex = tags.indexOf(target);\n const nextTokenIndex = deletedTagIndex === tags.length - 1 ? deletedTagIndex - 1 : deletedTagIndex + 1;\n if (this._tokenizer.tokens.length !== 1) {\n this.focusTag(nextTokenIndex);\n this.scrollToTag(nextTokenIndex);\n } else {\n this.trigger.focus();\n }\n }\n }\n\n handleKeyDownDropdown(e: KeyboardEvent) {\n const isTabPrevPress = isTabPrevious(e) && !this._search;\n\n if (isEscape(e)) {\n this.trigger.focus();\n }\n\n if (isTabNext(e) || isTabPrevPress) {\n this.closeDropdown();\n }\n }\n\n handleKeyDownSearch(e: CustomEvent) {\n const keyEvent = e.detail as KeyboardEvent;\n if (isTabPrevious(keyEvent) || isEscape(keyEvent)) {\n this.closeDropdown();\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 });\n }\n\n openDropdown() {\n this._dropdown.onOpen(this.trigger);\n }\n\n closeDropdown() {\n if (this._dropdown.open) {\n this._dropdown.onClose();\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 fireEventRemove(id: string) {\n this.fireEvent(\"remove\", {\n item: this.getItemFromList(id),\n });\n }\n\n handleOpenMultiSelect() {\n if (this._dropdown.open) {\n this.closeDropdown();\n } else {\n this._showTagsDropdownContent = false;\n this.openDropdown();\n }\n }\n\n handleOpenSingleSelect() {\n if (this._dropdown.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() {\n return this.displayonly ? this.showMoreReadOnlyItems() : this.showMoreItems();\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 get isDisabled(): boolean {\n return this.readonly || this.displayonly || this.disabled;\n }\n\n get overflowsTags() {\n return this._tokenizer?.tokens?.filter(tag => tag.overflows) || [];\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 dropdown(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\"udex-dropdown\")!;\n }\n\n get search(): UDExSearch {\n return this.shadowRoot!.querySelector<UDExSearch>(\"udex-search\")!;\n }\n\n get trigger(): UDExDropdown {\n return this.shadowRoot!.querySelector(\".udex-text-field__input\")!;\n }\n\n get tokenizer(): Tokenizer {\n return this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\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 tokenizerClass(): string {\n return `udex-text-field__tokenizer\n ${this.displayonly ? \"udex-text-field__tokenize_displayonly\" : \"\"}\n ${this.readonly ? \"udex-text-field__tokenize_readonly\" : \"\"}`;\n }\n\n get tokenizerExpanded() {\n if (this._showTagsDropdownContent && this._truncatableTag) {\n return false;\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 ? \"-1\" : tabindex || \"0\";\n }\n\n get iconAccessibleNameText(): string {\n return UDExSelectBox.i18nBundle.getText(SELECT_OPTIONS);\n }\n\n get additionalClassName(): string {\n return `udex-list__sticky`;\n }\n\n get searchableList() {\n return executeTemplate(UDExSelectBox.searchableListBaseTemplate, this);\n }\n\n get accInfo() {\n return {\n \"ariaLabel\": this.accessibleName || this.label || undefined,\n \"ariaLabelledBy\": this.accessibleNameRef || undefined,\n \"ariaControls\": this.shadowRoot?.querySelector(\"udex-list\")?.getAttribute(\"id\"),\n };\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n}\n\nUDExSelectBox.define();\n\nexport default UDExSelectBox;\n"]}
@@ -0,0 +1,67 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import "@ui5/webcomponents-icons/dist/error.js";
3
+ import "@ui5/webcomponents-icons/dist/alert.js";
4
+ import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
5
+ import "@ui5/webcomponents-icons/dist/edit.js";
6
+ import "@ui5/webcomponents-icons/dist/information.js";
7
+ import I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
+ export declare enum IconMapping {
9
+ Success = "sys-enter-2",
10
+ Error = "error",
11
+ Warning = "alert",
12
+ Edit = "edit",
13
+ Information = "information"
14
+ }
15
+ export declare enum BadgeSize {
16
+ XS = "XS",
17
+ S = "S",
18
+ M = "M",
19
+ L = "L",
20
+ XL = "XL"
21
+ }
22
+ /**
23
+ * @class
24
+ *
25
+ * <h3 class="comment-api-title">Overview</h3>
26
+ *
27
+ *
28
+ * <h3>Usage</h3>
29
+ *
30
+ * For the <code>udex-status-badge</code>
31
+ * <h3>ES6 Module Import</h3>
32
+ *
33
+ * <code>import "@udex/web-components/dist/StatusBadge.js";</code>
34
+ *
35
+ * @constructor
36
+ * @extends UI5Element
37
+ * @public
38
+ */
39
+ declare class UDExStatusBadge extends UI5Element {
40
+ /**
41
+ * Defines the value state of the component.
42
+ *
43
+ * @default "Information"
44
+ * @public
45
+ */
46
+ valueState: "Information" | "Warning" | "Error" | "Success" | "Edit";
47
+ /**
48
+ * Defines predefined size of the component.
49
+ *
50
+ * @default "S"
51
+ * @public
52
+ */
53
+ size: `${BadgeSize}`;
54
+ /**
55
+ * Defines the text alternative of the component.
56
+ *
57
+ * @default ""
58
+ * @public
59
+ */
60
+ accessibleName: string;
61
+ static i18nBundle: I18nBundle;
62
+ static onDefine(): Promise<void>;
63
+ get iconFieldName(): string;
64
+ get badgeAccessibleName(): string;
65
+ get ariaTitle(): string;
66
+ }
67
+ export default UDExStatusBadge;