@ui5/webcomponents 1.13.2 → 1.14.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/Avatar.d.ts +3 -3
  3. package/dist/Avatar.js.map +1 -1
  4. package/dist/AvatarGroup.d.ts +2 -3
  5. package/dist/AvatarGroup.js.map +1 -1
  6. package/dist/Breadcrumbs.d.ts +2 -2
  7. package/dist/Breadcrumbs.js.map +1 -1
  8. package/dist/BusyIndicator.d.ts +1 -1
  9. package/dist/BusyIndicator.js.map +1 -1
  10. package/dist/Button.d.ts +1 -1
  11. package/dist/Button.js.map +1 -1
  12. package/dist/Calendar.d.ts +1 -1
  13. package/dist/Calendar.js.map +1 -1
  14. package/dist/CalendarHeader.d.ts +2 -2
  15. package/dist/CalendarHeader.js.map +1 -1
  16. package/dist/Carousel.d.ts +2 -2
  17. package/dist/Carousel.js.map +1 -1
  18. package/dist/CheckBox.d.ts +2 -2
  19. package/dist/CheckBox.js.map +1 -1
  20. package/dist/ComboBox.d.ts +4 -4
  21. package/dist/ComboBox.js.map +1 -1
  22. package/dist/DateComponentBase.d.ts +3 -3
  23. package/dist/DateComponentBase.js.map +1 -1
  24. package/dist/DatePicker.d.ts +1 -1
  25. package/dist/DatePicker.js.map +1 -1
  26. package/dist/DayPicker.d.ts +1 -1
  27. package/dist/DayPicker.js.map +1 -1
  28. package/dist/Dialog.d.ts +1 -1
  29. package/dist/Dialog.js.map +1 -1
  30. package/dist/FileUploader.d.ts +1 -1
  31. package/dist/FileUploader.js.map +1 -1
  32. package/dist/Icon.d.ts +1 -1
  33. package/dist/Icon.js.map +1 -1
  34. package/dist/Input.d.ts +2 -2
  35. package/dist/Input.js.map +1 -1
  36. package/dist/Label.d.ts +1 -7
  37. package/dist/Label.js +0 -9
  38. package/dist/Label.js.map +1 -1
  39. package/dist/Link.d.ts +2 -2
  40. package/dist/Link.js.map +1 -1
  41. package/dist/List.d.ts +3 -3
  42. package/dist/List.js.map +1 -1
  43. package/dist/ListItem.d.ts +4 -4
  44. package/dist/ListItem.js.map +1 -1
  45. package/dist/MessageStrip.d.ts +3 -3
  46. package/dist/MessageStrip.js +8 -8
  47. package/dist/MessageStrip.js.map +1 -1
  48. package/dist/MultiComboBox.d.ts +4 -4
  49. package/dist/MultiComboBox.js.map +1 -1
  50. package/dist/Panel.d.ts +2 -2
  51. package/dist/Panel.js.map +1 -1
  52. package/dist/Popover.d.ts +8 -8
  53. package/dist/Popover.js +2 -2
  54. package/dist/Popover.js.map +1 -1
  55. package/dist/Popup.d.ts +1 -1
  56. package/dist/Popup.js.map +1 -1
  57. package/dist/ProgressIndicator.d.ts +1 -1
  58. package/dist/ProgressIndicator.js.map +1 -1
  59. package/dist/RadioButton.d.ts +2 -2
  60. package/dist/RadioButton.js.map +1 -1
  61. package/dist/SegmentedButtonItem.d.ts +1 -1
  62. package/dist/SegmentedButtonItem.js.map +1 -1
  63. package/dist/Select.d.ts +1 -1
  64. package/dist/Select.js.map +1 -1
  65. package/dist/SplitButton.d.ts +1 -1
  66. package/dist/SplitButton.js.map +1 -1
  67. package/dist/StandardListItem.d.ts +2 -2
  68. package/dist/StandardListItem.js.map +1 -1
  69. package/dist/StepInput.d.ts +2 -2
  70. package/dist/StepInput.js.map +1 -1
  71. package/dist/SuggestionItem.d.ts +2 -2
  72. package/dist/SuggestionItem.js.map +1 -1
  73. package/dist/Switch.d.ts +1 -1
  74. package/dist/Switch.js.map +1 -1
  75. package/dist/Tab.d.ts +1 -1
  76. package/dist/Tab.js.map +1 -1
  77. package/dist/TabContainer.d.ts +6 -6
  78. package/dist/TabContainer.js.map +1 -1
  79. package/dist/Table.d.ts +4 -4
  80. package/dist/Table.js.map +1 -1
  81. package/dist/TableCell.d.ts +14 -0
  82. package/dist/TableCell.js +19 -2
  83. package/dist/TableCell.js.map +1 -1
  84. package/dist/TableColumn.d.ts +1 -1
  85. package/dist/TableColumn.js.map +1 -1
  86. package/dist/TableGroupRow.d.ts +1 -1
  87. package/dist/TableGroupRow.js.map +1 -1
  88. package/dist/TableRow.d.ts +2 -2
  89. package/dist/TableRow.js +1 -1
  90. package/dist/TableRow.js.map +1 -1
  91. package/dist/TextArea.d.ts +1 -1
  92. package/dist/TextArea.js.map +1 -1
  93. package/dist/TimePickerBase.d.ts +1 -1
  94. package/dist/TimePickerBase.js.map +1 -1
  95. package/dist/Title.d.ts +2 -2
  96. package/dist/Title.js.map +1 -1
  97. package/dist/Toast.d.ts +1 -1
  98. package/dist/Toast.js.map +1 -1
  99. package/dist/Tokenizer.d.ts +1 -1
  100. package/dist/Tokenizer.js.map +1 -1
  101. package/dist/Tree.d.ts +1 -1
  102. package/dist/Tree.js.map +1 -1
  103. package/dist/TreeItem.d.ts +1 -1
  104. package/dist/TreeItem.js.map +1 -1
  105. package/dist/TreeItemBase.d.ts +3 -3
  106. package/dist/TreeItemBase.js.map +1 -1
  107. package/dist/api.json +1 -1
  108. package/dist/assets/IgnoreCustomElements.2238457d.css +1 -0
  109. package/dist/assets/Label.95b96777.css +1 -0
  110. package/dist/assets/messagebundle_en_US_sappsd.aec484c1.js +1 -0
  111. package/dist/assets/{messagebundle_en_US_saprigi.8f67a54b.js → messagebundle_en_US_saprigi.f321a5ab.js} +1 -1
  112. package/dist/assets/messagebundle_en_US_saptrc.94f1e535.js +1 -0
  113. package/dist/assets/{parameters-bundle.css.64a1fcb3.js → parameters-bundle.css.026dc74e.js} +1 -1
  114. package/dist/assets/{parameters-bundle.css.2480d334.js → parameters-bundle.css.0c41d58c.js} +1 -1
  115. package/dist/assets/{parameters-bundle.css.b06aacf3.js → parameters-bundle.css.14a79875.js} +1 -1
  116. package/dist/assets/{parameters-bundle.css.4cf7b367.js → parameters-bundle.css.23269e5b.js} +1 -1
  117. package/dist/assets/{parameters-bundle.css.0910d303.js → parameters-bundle.css.51692b82.js} +1 -1
  118. package/dist/assets/{parameters-bundle.css.e59780e1.js → parameters-bundle.css.5ab8f243.js} +1 -1
  119. package/dist/assets/{parameters-bundle.css.0c80e05a.js → parameters-bundle.css.64406af3.js} +1 -1
  120. package/dist/assets/{parameters-bundle.css.a0b1bee1.js → parameters-bundle.css.7c9daf4d.js} +1 -1
  121. package/dist/assets/{parameters-bundle.css.691f8760.js → parameters-bundle.css.8289b958.js} +1 -1
  122. package/dist/assets/{parameters-bundle.css.8a87377e.js → parameters-bundle.css.ba16125d.js} +1 -1
  123. package/dist/assets/{parameters-bundle.css.b8d253d9.js → parameters-bundle.css.db425c28.js} +1 -1
  124. package/dist/assets/{parameters-bundle.css.731f329b.js → parameters-bundle.css.eef2edf1.js} +1 -1
  125. package/dist/assets/test/pages/{ComboBox.html.7a8266c1.js → ComboBox.html.95e153b8.js} +1 -1
  126. package/dist/assets/test/pages/{Icon.html.ae37223a.js → Icon.html.251f84e4.js} +1 -1
  127. package/dist/assets/test/pages/{Label.html.227cb1b0.js → Label.html.df067063.js} +1 -1
  128. package/dist/assets/test/pages/{Popups.html.0c15c9f3.js → Popups.html.67ffb6cc.js} +1 -1
  129. package/dist/css/themes/Label.css +1 -1
  130. package/dist/css/themes/TextArea.css +1 -1
  131. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  132. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  133. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  134. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  135. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  136. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  137. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  138. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  139. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  140. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  141. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  142. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  143. package/dist/custom-elements.json +1 -1
  144. package/dist/features/InputSuggestions.d.ts +2 -2
  145. package/dist/features/InputSuggestions.js.map +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  148. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  154. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  155. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  156. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  157. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  158. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  159. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  160. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  161. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  162. package/dist/generated/i18n/i18n-defaults.js +2 -1
  163. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  164. package/dist/generated/templates/LabelTemplate.lit.js +2 -2
  165. package/dist/generated/templates/LabelTemplate.lit.js.map +1 -1
  166. package/dist/generated/themes/Label.css.js +1 -1
  167. package/dist/generated/themes/Label.css.js.map +1 -1
  168. package/dist/generated/themes/TextArea.css.js +1 -1
  169. package/dist/generated/themes/TextArea.css.js.map +1 -1
  170. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  171. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  172. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  173. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  174. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  175. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  176. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  177. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  178. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  179. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  180. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  181. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  182. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  183. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  184. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  185. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  186. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  187. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  188. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  189. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  190. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  191. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  192. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  193. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  194. package/dist/i18n/messagebundle.properties +3 -0
  195. package/dist/i18n/messagebundle_en_US_sappsd.properties +2 -0
  196. package/dist/i18n/messagebundle_en_US_saprigi.properties +2 -0
  197. package/dist/i18n/messagebundle_en_US_saptrc.properties +2 -0
  198. package/dist/test/pages/72override.html +1 -1
  199. package/dist/test/pages/AnimanitionOff.html +1 -1
  200. package/dist/test/pages/Avatar.html +1 -1
  201. package/dist/test/pages/AvatarGroup.html +1 -1
  202. package/dist/test/pages/Badge.html +1 -1
  203. package/dist/test/pages/Breadcrumbs.html +1 -1
  204. package/dist/test/pages/BusyIndicator.html +1 -1
  205. package/dist/test/pages/Button.html +1 -1
  206. package/dist/test/pages/Calendar.html +1 -1
  207. package/dist/test/pages/Card.html +1 -1
  208. package/dist/test/pages/Carousel.html +1 -1
  209. package/dist/test/pages/CheckBox.html +1 -1
  210. package/dist/test/pages/ColorPalette.html +1 -1
  211. package/dist/test/pages/ColorPalettePopover.html +1 -1
  212. package/dist/test/pages/ColorPicker.html +1 -1
  213. package/dist/test/pages/ComboBox.html +2 -2
  214. package/dist/test/pages/Components.html +1 -1
  215. package/dist/test/pages/CoreControls.html +1 -1
  216. package/dist/test/pages/CoreControls_exp.html +1 -1
  217. package/dist/test/pages/CustomCSS.html +1 -1
  218. package/dist/test/pages/DatePicker.html +1 -1
  219. package/dist/test/pages/DatePicker_test_page.html +1 -1
  220. package/dist/test/pages/DateRangePicker.html +1 -1
  221. package/dist/test/pages/DateTimePicker.html +1 -1
  222. package/dist/test/pages/DateTimePicker_Timezone.html +1 -1
  223. package/dist/test/pages/DayPicker.html +1 -1
  224. package/dist/test/pages/Dialog.html +1 -1
  225. package/dist/test/pages/DialogLifecycle.html +1 -1
  226. package/dist/test/pages/DialogSemantic.html +1 -1
  227. package/dist/test/pages/Eventing.html +1 -1
  228. package/dist/test/pages/F6Test1.html +1 -1
  229. package/dist/test/pages/F6Test2.html +1 -1
  230. package/dist/test/pages/F6Test3.html +1 -1
  231. package/dist/test/pages/F6Test4.html +1 -1
  232. package/dist/test/pages/F6Test5.html +1 -1
  233. package/dist/test/pages/F6Test6.html +1 -1
  234. package/dist/test/pages/F6Test7.html +1 -1
  235. package/dist/test/pages/FileUploader.html +1 -1
  236. package/dist/test/pages/FormComponents.html +1 -1
  237. package/dist/test/pages/FormSupport.html +1 -1
  238. package/dist/test/pages/HCB.html +1 -1
  239. package/dist/test/pages/Icon.html +2 -2
  240. package/dist/test/pages/Icon_and_theming.html +1 -1
  241. package/dist/test/pages/Icon_custom.html +1 -1
  242. package/dist/test/pages/Input.html +1 -1
  243. package/dist/test/pages/InputFieldLabels.html +1 -1
  244. package/dist/test/pages/InputFieldMinWidth.html +1 -1
  245. package/dist/test/pages/InputIcons.html +1 -1
  246. package/dist/test/pages/Input_quickview.html +1 -1
  247. package/dist/test/pages/InputsAlignment.html +1 -1
  248. package/dist/test/pages/InputsLazyLoading.html +1 -1
  249. package/dist/test/pages/ItemNavigation.html +1 -1
  250. package/dist/test/pages/Kitchen.html +1 -1
  251. package/dist/test/pages/Kitchen.openui5.html +1 -1
  252. package/dist/test/pages/Label.html +45 -42
  253. package/dist/test/pages/Link.html +1 -1
  254. package/dist/test/pages/List.html +1 -1
  255. package/dist/test/pages/ListGrowing_Button.html +1 -1
  256. package/dist/test/pages/ListGrowing_Scroll.html +1 -1
  257. package/dist/test/pages/List_keyboard_support.html +1 -1
  258. package/dist/test/pages/List_test_page.html +1 -1
  259. package/dist/test/pages/LitKeyFunction.html +1 -1
  260. package/dist/test/pages/MemoryLeak.html +1 -1
  261. package/dist/test/pages/Menu.html +1 -1
  262. package/dist/test/pages/MessagePage.html +1 -1
  263. package/dist/test/pages/MessageStrip.html +1 -1
  264. package/dist/test/pages/MultiComboBox.html +1 -1
  265. package/dist/test/pages/MultiInput.html +1 -1
  266. package/dist/test/pages/MultiInput_Suggestions.html +1 -1
  267. package/dist/test/pages/OpenUI5-second.html +1 -1
  268. package/dist/test/pages/OpenUI5.html +1 -1
  269. package/dist/test/pages/Panel.html +1 -1
  270. package/dist/test/pages/Popover.html +1 -1
  271. package/dist/test/pages/PopoverArrowBounds.html +1 -1
  272. package/dist/test/pages/Popups.html +2 -2
  273. package/dist/test/pages/ProgressIndicator.html +1 -1
  274. package/dist/test/pages/RTL.html +1 -1
  275. package/dist/test/pages/RadioButton.html +1 -1
  276. package/dist/test/pages/RangeSlider.html +1 -1
  277. package/dist/test/pages/RatingIndicator.html +1 -1
  278. package/dist/test/pages/ResizeHandler.html +1 -1
  279. package/dist/test/pages/ResponsivePopover.html +1 -1
  280. package/dist/test/pages/SegmentedButton.html +1 -1
  281. package/dist/test/pages/Select.html +1 -1
  282. package/dist/test/pages/Simple.html +1 -1
  283. package/dist/test/pages/Slider.html +1 -1
  284. package/dist/test/pages/SplitButton.html +1 -1
  285. package/dist/test/pages/StepInput.html +1 -1
  286. package/dist/test/pages/Switch.html +1 -1
  287. package/dist/test/pages/TabContainer.html +1 -1
  288. package/dist/test/pages/Table-perf-pure.html +1 -1
  289. package/dist/test/pages/Table-perf.html +1 -1
  290. package/dist/test/pages/Table.html +3 -3
  291. package/dist/test/pages/Table2.html +1 -1
  292. package/dist/test/pages/TableAllPopin.html +1 -1
  293. package/dist/test/pages/TableCustomStyling.html +1 -1
  294. package/dist/test/pages/TableGrouping.html +1 -1
  295. package/dist/test/pages/TableGrowingWithButton.html +1 -1
  296. package/dist/test/pages/TableGrowingWithScroll.html +1 -1
  297. package/dist/test/pages/TableSelection.html +1 -1
  298. package/dist/test/pages/TextArea.html +1 -1
  299. package/dist/test/pages/TimePicker.html +1 -1
  300. package/dist/test/pages/TimeSelection.html +1 -1
  301. package/dist/test/pages/Title.html +1 -1
  302. package/dist/test/pages/Toast.html +1 -1
  303. package/dist/test/pages/ToggleButton.html +1 -1
  304. package/dist/test/pages/Tree.html +1 -1
  305. package/dist/test/pages/WheelSlider_Test_Page.html +1 -1
  306. package/dist/test/pages/base/AriaLabelHelper.html +1 -1
  307. package/dist/test/pages/base/DOMObserver.html +1 -1
  308. package/dist/test/pages/base/IconCollection.html +1 -1
  309. package/dist/test/pages/base/IconCollectionInCustomTheme.html +1 -1
  310. package/dist/test/pages/base/IgnoreCustomElements.html +26 -0
  311. package/dist/test/pages/base/InvisibleMessage.html +1 -1
  312. package/dist/test/pages/form.html +1 -1
  313. package/dist/test/pages/i18n-defaultLang.html +1 -1
  314. package/dist/test/pages/i18n-demo.html +1 -1
  315. package/package.json +7 -7
  316. package/src/Label.hbs +4 -6
  317. package/src/i18n/messagebundle.properties +3 -0
  318. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  319. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  320. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  321. package/src/themes/Label.css +11 -28
  322. package/src/themes/TextArea.css +16 -7
  323. package/src/themes/base/TextArea-parameters.css +0 -1
  324. package/src/themes/sap_horizon/TextArea-parameters.css +0 -5
  325. package/src/themes/sap_horizon_dark/TextArea-parameters.css +0 -5
  326. package/dist/assets/Label.b48eb771.css +0 -1
  327. package/dist/assets/messagebundle_en_US_sappsd.4b5e22df.js +0 -1
  328. package/dist/assets/messagebundle_en_US_saptrc.1c1645fc.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { isPhone, isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport {\n\tisUp, isDown, isLeft, isRight,\n\tisUpShift, isDownShift, isLeftShift, isRightShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport Popup from \"./Popup.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/resize-corner.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\n\n// Template\nimport DialogTemplate from \"./generated/templates/DialogTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport dialogCSS from \"./generated/themes/Dialog.css.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\n\n/**\n * Defines the step size at which this component would change by when being dragged or resized with the keyboard.\n */\nconst STEP_SIZE = 16;\n\ntype ValueStateWithIcon = ValueState.Error | ValueState.Warning | ValueState.Success | ValueState.Information;\n/**\n * Defines the icons corresponding to the dialog's state.\n */\nconst ICON_PER_STATE: Record<ValueStateWithIcon, string> = {\n\t[ValueState.Error]: \"error\",\n\t[ValueState.Warning]: \"alert\",\n\t[ValueState.Success]: \"sys-enter-2\",\n\t[ValueState.Information]: \"information\",\n};\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n * The <code>ui5-dialog</code> component is used to temporarily display some information in a\n * size-limited window in front of the regular app screen.\n * It is used to prompt the user for an action or a confirmation.\n * The <code>ui5-dialog</code> interrupts the current app processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The dialog combines concepts known from other technologies where the windows have\n * names such as dialog box, dialog window, pop-up, pop-up window, alert box, or message box.\n * <br><br>\n * The <code>ui5-dialog</code> is modal, which means that an user action is required before it is possible to return to the parent window.\n * To open multiple dialogs, each dialog element should be separate in the markup. This will ensure the correct modal behavior. Avoid nesting dialogs within each other.\n * The content of the <code>ui5-dialog</code> is fully customizable.\n *\n * <h3>Structure</h3>\n * A <code>ui5-dialog</code> consists of a header, content, and a footer for action buttons.\n * The <code>ui5-dialog</code> is usually displayed at the center of the screen.\n * Its position can be changed by the user. To enable this, you need to set the property <code>draggable</code> accordingly.\n\n *\n * <h3>Responsive Behavior</h3>\n * The <code>stretch</code> property can be used to stretch the\n * <code>ui5-dialog</code> on full screen.\n *\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-dialog</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>header - Used to style the header of the component</li>\n * <li>content - Used to style the content of the component</li>\n * <li>footer - Used to style the footer of the component</li>\n * </ul>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Dialog\";</code>\n *\n * <b>Note:</b> We don't recommend nesting popup-like components (<code>ui5-dialog</code>, <code>ui5-popover</code>) inside <code>ui5-dialog</code>.\n * Ideally you should create all popups on the same level inside your HTML page and just open them from one another, rather than nesting them.\n *\n * <b>Note:</b> We don't recommend nesting popup-like components (<code>ui5-dialog</code>, <code>ui5-popover</code>) inside other components containing z-index.\n * This might break z-index management.\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Dialog\n * @extends sap.ui.webc.main.Popup\n * @tagname ui5-dialog\n * @public\n */\n@customElement({\n\ttag: \"ui5-dialog\",\n\ttemplate: DialogTemplate,\n\tstyles: [\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tdialogCSS,\n\t],\n\tdependencies: [\n\t\tIcon,\n\t],\n})\nclass Dialog extends Popup {\n\t/**\n\t * Defines the header text.\n\t * <br><br>\n\t * <b>Note:</b> If <code>header</code> slot is provided, the <code>headerText</code> is ignored.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.Dialog.prototype.headerText\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines whether the component should be stretched to fullscreen.\n\t * <br><br>\n\t * <b>Note:</b> The component will be stretched to approximately\n\t * 90% of the viewport.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.Dialog.prototype.stretch\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstretch!: boolean;\n\n\t/**\n\t * Determines whether the component is draggable.\n\t * If this property is set to true, the Dialog will be draggable by its header.\n\t * <br><br>\n\t * <b>Note:</b> The component can be draggable only in desktop mode.\n\t * <br><br>\n\t * <b>Note:</b> This property overrides the default HTML \"draggable\" attribute native behavior.\n\t * When \"draggable\" is set to true, the native browser \"draggable\"\n\t * behavior is prevented and only the Dialog custom logic (\"draggable by its header\") works.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.Dialog.prototype.draggable\n\t * @defaultvalue false\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdraggable!: boolean;\n\n\t/**\n\t * Configures the component to be resizable.\n\t * If this property is set to true, the Dialog will have a resize handle in its bottom right corner in LTR languages.\n\t * In RTL languages, the resize handle will be placed in the bottom left corner.\n\t * <br><br>\n\t * <b>Note:</b> The component can be resizable only in desktop mode.\n\t * <br>\n\t * <b>Note:</b> Upon resizing, externally defined height and width styling will be ignored.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.Dialog.prototype.resizable\n\t * @defaultvalue false\n\t * @since 1.0.0-rc.10\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tresizable!: boolean;\n\n\t/**\n\t * Defines the state of the <code>Dialog</code>.\n\t * <br><br>\n\t * Available options are: <code>\"None\"</code> (by default), <code>\"Success\"</code>, <code>\"Warning\"</code>, <code>\"Information\"</code> and <code>\"Error\"</code>.\n\t * <br><br>\n\t * <b>Note:</b> If <code>\"Error\"</code> and <code>\"Warning\"</code> state is set, it will change the\n\t * accessibility role to \"alertdialog\", if the accessibleRole property is set to <code>\"Dialog\"</code>.\n\t * @type {sap.ui.webc.base.types.ValueState}\n\t * @name sap.ui.webc.main.Dialog.prototype.state\n\t * @defaultvalue \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tstate!: ValueState;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop!: boolean;\n\n\t_screenResizeHandler: () => void;\n\t_dragMouseMoveHandler: (e: MouseEvent) => void;\n\t_dragMouseUpHandler: (e: MouseEvent) => void;\n\t_resizeMouseMoveHandler: (e: MouseEvent) => void;\n\t_resizeMouseUpHandler: (e: MouseEvent) => void;\n\t_dragStartHandler: (e: DragEvent) => void;\n\t_y?: number;\n\t_x?: number;\n\t_isRTL?: boolean;\n\t_screenResizeHandlerAttached?: boolean;\n\t_initialX?: number;\n\t_initialY?: number;\n\t_initialWidth?: number;\n\t_initialHeight?: number;\n\t_initialTop?: number;\n\t_initialLeft?: number;\n\t_minWidth?: number;\n\t_cachedMinHeight?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * <br><br>\n\t * <b>Note:</b> If <code>header</code> slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * <code>accessibleName</code> should be used.\n\t *\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.Dialog.prototype.header\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t *\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.Dialog.prototype.footer\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Array<HTMLElement>;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._screenResizeHandler = this._center.bind(this);\n\n\t\tthis._dragMouseMoveHandler = this._onDragMouseMove.bind(this);\n\t\tthis._dragMouseUpHandler = this._onDragMouseUp.bind(this);\n\n\t\tthis._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);\n\t\tthis._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);\n\n\t\tthis._dragStartHandler = this._handleDragStart.bind(this);\n\t}\n\n\tstatic _isHeader(element: HTMLElement) {\n\t\treturn element.classList.contains(\"ui5-popup-header-root\") || element.getAttribute(\"slot\") === \"header\";\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t *\n\t * @param {boolean} [preventInitialFocus=false] Prevents applying the focus inside the popup\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.main.Dialog#show\n\t * @async\n\t * @returns {Promise} Resolves when the dialog is open\n\t */\n\tasync show(preventInitialFocus = false) {\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\tget isModal() {\n\t\treturn true;\n\t}\n\n\tget shouldHideBackdrop() {\n\t\treturn false;\n\t}\n\n\tget _ariaLabelledBy() {\n\t\tlet ariaLabelledById;\n\n\t\tif (this.headerText !== \"\" && !this._ariaLabel) {\n\t\t\tariaLabelledById = \"ui5-popup-header-text\";\n\t\t}\n\n\t\treturn ariaLabelledById;\n\t}\n\n\tget _displayProp() {\n\t\treturn \"flex\";\n\t}\n\n\t/**\n\t * Determines if the header should be shown.\n\t */\n\tget _displayHeader() {\n\t\treturn this.header.length || this.headerText || this.draggable || this.resizable;\n\t}\n\n\tget _movable() {\n\t\treturn !this.stretch && this.onDesktop && (this.draggable || this.resizable);\n\t}\n\n\tget _headerTabIndex() {\n\t\treturn this._movable ? \"0\" : undefined;\n\t}\n\n\tget _showResizeHandle() {\n\t\treturn this.resizable && this.onDesktop;\n\t}\n\n\tget _minHeight() {\n\t\tlet minHeight = Number.parseInt(window.getComputedStyle(this.contentDOM).minHeight);\n\n\t\tconst header = this._root.querySelector<HTMLElement>(\".ui5-popup-header-root\");\n\t\tif (header) {\n\t\t\tminHeight += header.offsetHeight;\n\t\t}\n\n\t\tconst footer = this._root.querySelector<HTMLElement>(\".ui5-popup-footer-root\");\n\t\tif (footer) {\n\t\t\tminHeight += footer.offsetHeight;\n\t\t}\n\n\t\treturn minHeight;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.state !== ValueState.None;\n\t}\n\n\tget _dialogStateIcon() {\n\t\treturn ICON_PER_STATE[this.state as ValueStateWithIcon];\n\t}\n\n\tget _role(): string | undefined {\n\t\tif (this.accessibleRole === PopupAccessibleRole.None) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.state === ValueState.Error || this.state === ValueState.Warning) {\n\t\t\treturn PopupAccessibleRole.AlertDialog.toLowerCase();\n\t\t}\n\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\t\tthis._center();\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._isRTL = this.effectiveDir === \"rtl\";\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.isOpen() && this.open) {\n\t\t\tthis.show();\n\t\t} else if (this.isOpen() && !this.open) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tthis._attachScreenResizeHandler();\n\n\t\tthis.addEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\tonExitDOM() {\n\t\tsuper.onExitDOM();\n\t\tthis._detachScreenResizeHandler();\n\n\t\tthis.removeEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this._screenResizeHandlerAttached) {\n\t\t\tthis._center();\n\t\t}\n\t}\n\n\t_attachScreenResizeHandler() {\n\t\tif (!this._screenResizeHandlerAttached) {\n\t\t\twindow.addEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = true;\n\t\t}\n\t}\n\n\t_detachScreenResizeHandler() {\n\t\tif (this._screenResizeHandlerAttached) {\n\t\t\twindow.removeEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = false; // prevent dialog from repositioning during resizing\n\t\t}\n\t}\n\n\t_center() {\n\t\tconst height = window.innerHeight - this.offsetHeight,\n\t\t\twidth = window.innerWidth - this.offsetWidth;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${Math.round(height / 2)}px`,\n\t\t\tleft: `${Math.round(width / 2)}px`,\n\t\t});\n\t}\n\n\t_revertSize = () => {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"\",\n\t\t\tleft: \"\",\n\t\t\twidth: \"\",\n\t\t\theight: \"\",\n\t\t});\n\t}\n\n\t/**\n\t * Event handlers\n\t */\n\t_onDragMouseDown(e: DragEvent) {\n\t\t// allow dragging only on the header\n\t\tif (!this._movable || !this.draggable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t} = window.getComputedStyle(this);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t\twidth: `${Math.round(Number.parseFloat(width) * 100) / 100}px`,\n\t\t\theight: `${Math.round(Number.parseFloat(height) * 100) / 100}px`,\n\t\t});\n\n\t\tthis._x = e.clientX;\n\t\tthis._y = e.clientY;\n\n\t\tthis._attachMouseDragHandlers();\n\t}\n\n\t_onDragMouseMove(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tconst { clientX, clientY } = e;\n\t\tconst calcX = this._x! - clientX;\n\t\tconst calcY = this._y! - clientY;\n\t\tconst {\n\t\t\tleft,\n\t\t\ttop,\n\t\t} = this.getBoundingClientRect();\n\n\t\tObject.assign(this.style, {\n\t\t\tleft: `${Math.floor(left - calcX)}px`,\n\t\t\ttop: `${Math.floor(top - calcY)}px`,\n\t\t});\n\n\t\tthis._x = clientX;\n\t\tthis._y = clientY;\n\t}\n\n\t_onDragMouseUp() {\n\t\tdelete this._x;\n\t\tdelete this._y;\n\n\t\tthis._detachMouseDragHandlers();\n\t}\n\n\t_onDragOrResizeKeyDown(e: KeyboardEvent) {\n\t\tif (!this._movable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.draggable && [isUp, isDown, isLeft, isRight].some(key => key(e))) {\n\t\t\tthis._dragWithEvent(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.resizable && [isUpShift, isDownShift, isLeftShift, isRightShift].some(key => key(e))) {\n\t\t\tthis._resizeWithEvent(e);\n\t\t}\n\t}\n\n\t_dragWithEvent(e: KeyboardEvent) {\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t\twidth,\n\t\t\theight,\n\t\t} = this.getBoundingClientRect();\n\n\t\tlet newPos = 0;\n\t\tlet posDirection: \"top\" | \"left\" = \"top\";\n\n\t\tswitch (true) {\n\t\tcase isUp(e):\n\t\t\tnewPos = top - STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isDown(e):\n\t\t\tnewPos = top + STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isLeft(e):\n\t\t\tnewPos = left - STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\tcase isRight(e):\n\t\t\tnewPos = left + STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\t}\n\n\t\tnewPos = clamp(\n\t\t\tnewPos,\n\t\t\t0,\n\t\t\tposDirection === \"left\" ? window.innerWidth - width : window.innerHeight - height,\n\t\t);\n\n\t\tthis.style[posDirection] = `${newPos}px`;\n\t}\n\n\t_resizeWithEvent(e: KeyboardEvent) {\n\t\tthis._detachScreenResizeHandler();\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\n\t\tconst { top, left } = this.getBoundingClientRect(),\n\t\t\tstyle = window.getComputedStyle(this),\n\t\t\tminWidth = Number.parseFloat(style.minWidth),\n\t\t\tmaxWidth = window.innerWidth - left,\n\t\t\tmaxHeight = window.innerHeight - top;\n\n\t\tlet width = Number.parseFloat(style.width),\n\t\t\theight = Number.parseFloat(style.height);\n\n\t\tswitch (true) {\n\t\tcase isUpShift(e):\n\t\t\theight -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isDownShift(e):\n\t\t\theight += STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isLeftShift(e):\n\t\t\twidth -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isRightShift(e):\n\t\t\twidth += STEP_SIZE;\n\t\t\tbreak;\n\t\t}\n\n\t\twidth = clamp(width, minWidth, maxWidth);\n\t\theight = clamp(height, this._minHeight, maxHeight);\n\n\t\tObject.assign(this.style, {\n\t\t\twidth: `${width}px`,\n\t\t\theight: `${height}px`,\n\t\t});\n\t}\n\n\t_attachMouseDragHandlers() {\n\t\tthis._detachScreenResizeHandler();\n\n\t\twindow.addEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_detachMouseDragHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_onResizeMouseDown(e: MouseEvent) {\n\t\tif (!this._movable || !this.resizable) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t\tminWidth,\n\t\t} = window.getComputedStyle(this);\n\n\t\tthis._initialX = e.clientX;\n\t\tthis._initialY = e.clientY;\n\t\tthis._initialWidth = Number.parseFloat(width);\n\t\tthis._initialHeight = Number.parseFloat(height);\n\t\tthis._initialTop = top;\n\t\tthis._initialLeft = left;\n\t\tthis._minWidth = Number.parseFloat(minWidth);\n\t\tthis._cachedMinHeight = this._minHeight;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tthis._attachMouseResizeHandlers();\n\t}\n\n\t_onResizeMouseMove(e: MouseEvent) {\n\t\tconst { clientX, clientY } = e;\n\n\t\tlet newWidth,\n\t\t\tnewLeft;\n\n\t\tif (this._isRTL) {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! - (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\tthis._initialLeft! + this._initialWidth!,\n\t\t\t);\n\n\t\t\tnewLeft = clamp(\n\t\t\t\tthis._initialLeft! + (clientX - this._initialX!),\n\t\t\t\t0,\n\t\t\t\tthis._initialX! + this._initialWidth! - this._minWidth!,\n\t\t\t);\n\t\t} else {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! + (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\twindow.innerWidth - this._initialLeft!,\n\t\t\t);\n\t\t}\n\n\t\tconst newHeight = clamp(\n\t\t\tthis._initialHeight! + (clientY - this._initialY!),\n\t\t\tthis._cachedMinHeight!,\n\t\t\twindow.innerHeight - this._initialTop!,\n\t\t);\n\n\t\tObject.assign(this.style, {\n\t\t\theight: `${newHeight}px`,\n\t\t\twidth: `${newWidth}px`,\n\t\t\tleft: newLeft ? `${newLeft}px` : undefined,\n\t\t});\n\t}\n\n\t_onResizeMouseUp() {\n\t\tdelete this._initialX;\n\t\tdelete this._initialY;\n\t\tdelete this._initialWidth;\n\t\tdelete this._initialHeight;\n\t\tdelete this._initialTop;\n\t\tdelete this._initialLeft;\n\t\tdelete this._minWidth;\n\t\tdelete this._cachedMinHeight;\n\n\t\tthis._detachMouseResizeHandlers();\n\t}\n\n\t_handleDragStart(e: DragEvent) {\n\t\tif (this.draggable) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_attachMouseResizeHandlers() {\n\t\tthis._detachScreenResizeHandler();\n\n\t\twindow.addEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\t}\n\n\t_detachMouseResizeHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n}\n\nDialog.define();\n\nexport default Dialog;\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { isPhone, isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport {\n\tisUp, isDown, isLeft, isRight,\n\tisUpShift, isDownShift, isLeftShift, isRightShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport Popup from \"./Popup.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/resize-corner.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\n\n// Template\nimport DialogTemplate from \"./generated/templates/DialogTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport dialogCSS from \"./generated/themes/Dialog.css.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\n\n/**\n * Defines the step size at which this component would change by when being dragged or resized with the keyboard.\n */\nconst STEP_SIZE = 16;\n\ntype ValueStateWithIcon = ValueState.Error | ValueState.Warning | ValueState.Success | ValueState.Information;\n/**\n * Defines the icons corresponding to the dialog's state.\n */\nconst ICON_PER_STATE: Record<ValueStateWithIcon, string> = {\n\t[ValueState.Error]: \"error\",\n\t[ValueState.Warning]: \"alert\",\n\t[ValueState.Success]: \"sys-enter-2\",\n\t[ValueState.Information]: \"information\",\n};\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n * The <code>ui5-dialog</code> component is used to temporarily display some information in a\n * size-limited window in front of the regular app screen.\n * It is used to prompt the user for an action or a confirmation.\n * The <code>ui5-dialog</code> interrupts the current app processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The dialog combines concepts known from other technologies where the windows have\n * names such as dialog box, dialog window, pop-up, pop-up window, alert box, or message box.\n * <br><br>\n * The <code>ui5-dialog</code> is modal, which means that an user action is required before it is possible to return to the parent window.\n * To open multiple dialogs, each dialog element should be separate in the markup. This will ensure the correct modal behavior. Avoid nesting dialogs within each other.\n * The content of the <code>ui5-dialog</code> is fully customizable.\n *\n * <h3>Structure</h3>\n * A <code>ui5-dialog</code> consists of a header, content, and a footer for action buttons.\n * The <code>ui5-dialog</code> is usually displayed at the center of the screen.\n * Its position can be changed by the user. To enable this, you need to set the property <code>draggable</code> accordingly.\n\n *\n * <h3>Responsive Behavior</h3>\n * The <code>stretch</code> property can be used to stretch the\n * <code>ui5-dialog</code> on full screen.\n *\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-dialog</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>header - Used to style the header of the component</li>\n * <li>content - Used to style the content of the component</li>\n * <li>footer - Used to style the footer of the component</li>\n * </ul>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Dialog\";</code>\n *\n * <b>Note:</b> We don't recommend nesting popup-like components (<code>ui5-dialog</code>, <code>ui5-popover</code>) inside <code>ui5-dialog</code>.\n * Ideally you should create all popups on the same level inside your HTML page and just open them from one another, rather than nesting them.\n *\n * <b>Note:</b> We don't recommend nesting popup-like components (<code>ui5-dialog</code>, <code>ui5-popover</code>) inside other components containing z-index.\n * This might break z-index management.\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Dialog\n * @extends sap.ui.webc.main.Popup\n * @tagname ui5-dialog\n * @public\n */\n@customElement({\n\ttag: \"ui5-dialog\",\n\ttemplate: DialogTemplate,\n\tstyles: [\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tdialogCSS,\n\t],\n\tdependencies: [\n\t\tIcon,\n\t],\n})\nclass Dialog extends Popup {\n\t/**\n\t * Defines the header text.\n\t * <br><br>\n\t * <b>Note:</b> If <code>header</code> slot is provided, the <code>headerText</code> is ignored.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.Dialog.prototype.headerText\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines whether the component should be stretched to fullscreen.\n\t * <br><br>\n\t * <b>Note:</b> The component will be stretched to approximately\n\t * 90% of the viewport.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.Dialog.prototype.stretch\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstretch!: boolean;\n\n\t/**\n\t * Determines whether the component is draggable.\n\t * If this property is set to true, the Dialog will be draggable by its header.\n\t * <br><br>\n\t * <b>Note:</b> The component can be draggable only in desktop mode.\n\t * <br><br>\n\t * <b>Note:</b> This property overrides the default HTML \"draggable\" attribute native behavior.\n\t * When \"draggable\" is set to true, the native browser \"draggable\"\n\t * behavior is prevented and only the Dialog custom logic (\"draggable by its header\") works.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.Dialog.prototype.draggable\n\t * @defaultvalue false\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdraggable!: boolean;\n\n\t/**\n\t * Configures the component to be resizable.\n\t * If this property is set to true, the Dialog will have a resize handle in its bottom right corner in LTR languages.\n\t * In RTL languages, the resize handle will be placed in the bottom left corner.\n\t * <br><br>\n\t * <b>Note:</b> The component can be resizable only in desktop mode.\n\t * <br>\n\t * <b>Note:</b> Upon resizing, externally defined height and width styling will be ignored.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.Dialog.prototype.resizable\n\t * @defaultvalue false\n\t * @since 1.0.0-rc.10\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tresizable!: boolean;\n\n\t/**\n\t * Defines the state of the <code>Dialog</code>.\n\t * <br><br>\n\t * Available options are: <code>\"None\"</code> (by default), <code>\"Success\"</code>, <code>\"Warning\"</code>, <code>\"Information\"</code> and <code>\"Error\"</code>.\n\t * <br><br>\n\t * <b>Note:</b> If <code>\"Error\"</code> and <code>\"Warning\"</code> state is set, it will change the\n\t * accessibility role to \"alertdialog\", if the accessibleRole property is set to <code>\"Dialog\"</code>.\n\t * @type {sap.ui.webc.base.types.ValueState}\n\t * @name sap.ui.webc.main.Dialog.prototype.state\n\t * @defaultvalue \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tstate!: `${ValueState}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop!: boolean;\n\n\t_screenResizeHandler: () => void;\n\t_dragMouseMoveHandler: (e: MouseEvent) => void;\n\t_dragMouseUpHandler: (e: MouseEvent) => void;\n\t_resizeMouseMoveHandler: (e: MouseEvent) => void;\n\t_resizeMouseUpHandler: (e: MouseEvent) => void;\n\t_dragStartHandler: (e: DragEvent) => void;\n\t_y?: number;\n\t_x?: number;\n\t_isRTL?: boolean;\n\t_screenResizeHandlerAttached?: boolean;\n\t_initialX?: number;\n\t_initialY?: number;\n\t_initialWidth?: number;\n\t_initialHeight?: number;\n\t_initialTop?: number;\n\t_initialLeft?: number;\n\t_minWidth?: number;\n\t_cachedMinHeight?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * <br><br>\n\t * <b>Note:</b> If <code>header</code> slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * <code>accessibleName</code> should be used.\n\t *\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.Dialog.prototype.header\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t *\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.Dialog.prototype.footer\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Array<HTMLElement>;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._screenResizeHandler = this._center.bind(this);\n\n\t\tthis._dragMouseMoveHandler = this._onDragMouseMove.bind(this);\n\t\tthis._dragMouseUpHandler = this._onDragMouseUp.bind(this);\n\n\t\tthis._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);\n\t\tthis._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);\n\n\t\tthis._dragStartHandler = this._handleDragStart.bind(this);\n\t}\n\n\tstatic _isHeader(element: HTMLElement) {\n\t\treturn element.classList.contains(\"ui5-popup-header-root\") || element.getAttribute(\"slot\") === \"header\";\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t *\n\t * @param {boolean} [preventInitialFocus=false] Prevents applying the focus inside the popup\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.main.Dialog#show\n\t * @async\n\t * @returns {Promise} Resolves when the dialog is open\n\t */\n\tasync show(preventInitialFocus = false) {\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\tget isModal() {\n\t\treturn true;\n\t}\n\n\tget shouldHideBackdrop() {\n\t\treturn false;\n\t}\n\n\tget _ariaLabelledBy() {\n\t\tlet ariaLabelledById;\n\n\t\tif (this.headerText !== \"\" && !this._ariaLabel) {\n\t\t\tariaLabelledById = \"ui5-popup-header-text\";\n\t\t}\n\n\t\treturn ariaLabelledById;\n\t}\n\n\tget _displayProp() {\n\t\treturn \"flex\";\n\t}\n\n\t/**\n\t * Determines if the header should be shown.\n\t */\n\tget _displayHeader() {\n\t\treturn this.header.length || this.headerText || this.draggable || this.resizable;\n\t}\n\n\tget _movable() {\n\t\treturn !this.stretch && this.onDesktop && (this.draggable || this.resizable);\n\t}\n\n\tget _headerTabIndex() {\n\t\treturn this._movable ? \"0\" : undefined;\n\t}\n\n\tget _showResizeHandle() {\n\t\treturn this.resizable && this.onDesktop;\n\t}\n\n\tget _minHeight() {\n\t\tlet minHeight = Number.parseInt(window.getComputedStyle(this.contentDOM).minHeight);\n\n\t\tconst header = this._root.querySelector<HTMLElement>(\".ui5-popup-header-root\");\n\t\tif (header) {\n\t\t\tminHeight += header.offsetHeight;\n\t\t}\n\n\t\tconst footer = this._root.querySelector<HTMLElement>(\".ui5-popup-footer-root\");\n\t\tif (footer) {\n\t\t\tminHeight += footer.offsetHeight;\n\t\t}\n\n\t\treturn minHeight;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.state !== ValueState.None;\n\t}\n\n\tget _dialogStateIcon() {\n\t\treturn ICON_PER_STATE[this.state as ValueStateWithIcon];\n\t}\n\n\tget _role(): string | undefined {\n\t\tif (this.accessibleRole === PopupAccessibleRole.None) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.state === ValueState.Error || this.state === ValueState.Warning) {\n\t\t\treturn PopupAccessibleRole.AlertDialog.toLowerCase();\n\t\t}\n\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\t\tthis._center();\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._isRTL = this.effectiveDir === \"rtl\";\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.isOpen() && this.open) {\n\t\t\tthis.show();\n\t\t} else if (this.isOpen() && !this.open) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tthis._attachScreenResizeHandler();\n\n\t\tthis.addEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\tonExitDOM() {\n\t\tsuper.onExitDOM();\n\t\tthis._detachScreenResizeHandler();\n\n\t\tthis.removeEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this._screenResizeHandlerAttached) {\n\t\t\tthis._center();\n\t\t}\n\t}\n\n\t_attachScreenResizeHandler() {\n\t\tif (!this._screenResizeHandlerAttached) {\n\t\t\twindow.addEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = true;\n\t\t}\n\t}\n\n\t_detachScreenResizeHandler() {\n\t\tif (this._screenResizeHandlerAttached) {\n\t\t\twindow.removeEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = false; // prevent dialog from repositioning during resizing\n\t\t}\n\t}\n\n\t_center() {\n\t\tconst height = window.innerHeight - this.offsetHeight,\n\t\t\twidth = window.innerWidth - this.offsetWidth;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${Math.round(height / 2)}px`,\n\t\t\tleft: `${Math.round(width / 2)}px`,\n\t\t});\n\t}\n\n\t_revertSize = () => {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"\",\n\t\t\tleft: \"\",\n\t\t\twidth: \"\",\n\t\t\theight: \"\",\n\t\t});\n\t}\n\n\t/**\n\t * Event handlers\n\t */\n\t_onDragMouseDown(e: DragEvent) {\n\t\t// allow dragging only on the header\n\t\tif (!this._movable || !this.draggable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t} = window.getComputedStyle(this);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t\twidth: `${Math.round(Number.parseFloat(width) * 100) / 100}px`,\n\t\t\theight: `${Math.round(Number.parseFloat(height) * 100) / 100}px`,\n\t\t});\n\n\t\tthis._x = e.clientX;\n\t\tthis._y = e.clientY;\n\n\t\tthis._attachMouseDragHandlers();\n\t}\n\n\t_onDragMouseMove(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tconst { clientX, clientY } = e;\n\t\tconst calcX = this._x! - clientX;\n\t\tconst calcY = this._y! - clientY;\n\t\tconst {\n\t\t\tleft,\n\t\t\ttop,\n\t\t} = this.getBoundingClientRect();\n\n\t\tObject.assign(this.style, {\n\t\t\tleft: `${Math.floor(left - calcX)}px`,\n\t\t\ttop: `${Math.floor(top - calcY)}px`,\n\t\t});\n\n\t\tthis._x = clientX;\n\t\tthis._y = clientY;\n\t}\n\n\t_onDragMouseUp() {\n\t\tdelete this._x;\n\t\tdelete this._y;\n\n\t\tthis._detachMouseDragHandlers();\n\t}\n\n\t_onDragOrResizeKeyDown(e: KeyboardEvent) {\n\t\tif (!this._movable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.draggable && [isUp, isDown, isLeft, isRight].some(key => key(e))) {\n\t\t\tthis._dragWithEvent(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.resizable && [isUpShift, isDownShift, isLeftShift, isRightShift].some(key => key(e))) {\n\t\t\tthis._resizeWithEvent(e);\n\t\t}\n\t}\n\n\t_dragWithEvent(e: KeyboardEvent) {\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t\twidth,\n\t\t\theight,\n\t\t} = this.getBoundingClientRect();\n\n\t\tlet newPos = 0;\n\t\tlet posDirection: \"top\" | \"left\" = \"top\";\n\n\t\tswitch (true) {\n\t\tcase isUp(e):\n\t\t\tnewPos = top - STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isDown(e):\n\t\t\tnewPos = top + STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isLeft(e):\n\t\t\tnewPos = left - STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\tcase isRight(e):\n\t\t\tnewPos = left + STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\t}\n\n\t\tnewPos = clamp(\n\t\t\tnewPos,\n\t\t\t0,\n\t\t\tposDirection === \"left\" ? window.innerWidth - width : window.innerHeight - height,\n\t\t);\n\n\t\tthis.style[posDirection] = `${newPos}px`;\n\t}\n\n\t_resizeWithEvent(e: KeyboardEvent) {\n\t\tthis._detachScreenResizeHandler();\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\n\t\tconst { top, left } = this.getBoundingClientRect(),\n\t\t\tstyle = window.getComputedStyle(this),\n\t\t\tminWidth = Number.parseFloat(style.minWidth),\n\t\t\tmaxWidth = window.innerWidth - left,\n\t\t\tmaxHeight = window.innerHeight - top;\n\n\t\tlet width = Number.parseFloat(style.width),\n\t\t\theight = Number.parseFloat(style.height);\n\n\t\tswitch (true) {\n\t\tcase isUpShift(e):\n\t\t\theight -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isDownShift(e):\n\t\t\theight += STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isLeftShift(e):\n\t\t\twidth -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isRightShift(e):\n\t\t\twidth += STEP_SIZE;\n\t\t\tbreak;\n\t\t}\n\n\t\twidth = clamp(width, minWidth, maxWidth);\n\t\theight = clamp(height, this._minHeight, maxHeight);\n\n\t\tObject.assign(this.style, {\n\t\t\twidth: `${width}px`,\n\t\t\theight: `${height}px`,\n\t\t});\n\t}\n\n\t_attachMouseDragHandlers() {\n\t\tthis._detachScreenResizeHandler();\n\n\t\twindow.addEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_detachMouseDragHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_onResizeMouseDown(e: MouseEvent) {\n\t\tif (!this._movable || !this.resizable) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t\tminWidth,\n\t\t} = window.getComputedStyle(this);\n\n\t\tthis._initialX = e.clientX;\n\t\tthis._initialY = e.clientY;\n\t\tthis._initialWidth = Number.parseFloat(width);\n\t\tthis._initialHeight = Number.parseFloat(height);\n\t\tthis._initialTop = top;\n\t\tthis._initialLeft = left;\n\t\tthis._minWidth = Number.parseFloat(minWidth);\n\t\tthis._cachedMinHeight = this._minHeight;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tthis._attachMouseResizeHandlers();\n\t}\n\n\t_onResizeMouseMove(e: MouseEvent) {\n\t\tconst { clientX, clientY } = e;\n\n\t\tlet newWidth,\n\t\t\tnewLeft;\n\n\t\tif (this._isRTL) {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! - (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\tthis._initialLeft! + this._initialWidth!,\n\t\t\t);\n\n\t\t\tnewLeft = clamp(\n\t\t\t\tthis._initialLeft! + (clientX - this._initialX!),\n\t\t\t\t0,\n\t\t\t\tthis._initialX! + this._initialWidth! - this._minWidth!,\n\t\t\t);\n\t\t} else {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! + (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\twindow.innerWidth - this._initialLeft!,\n\t\t\t);\n\t\t}\n\n\t\tconst newHeight = clamp(\n\t\t\tthis._initialHeight! + (clientY - this._initialY!),\n\t\t\tthis._cachedMinHeight!,\n\t\t\twindow.innerHeight - this._initialTop!,\n\t\t);\n\n\t\tObject.assign(this.style, {\n\t\t\theight: `${newHeight}px`,\n\t\t\twidth: `${newWidth}px`,\n\t\t\tleft: newLeft ? `${newLeft}px` : undefined,\n\t\t});\n\t}\n\n\t_onResizeMouseUp() {\n\t\tdelete this._initialX;\n\t\tdelete this._initialY;\n\t\tdelete this._initialWidth;\n\t\tdelete this._initialHeight;\n\t\tdelete this._initialTop;\n\t\tdelete this._initialLeft;\n\t\tdelete this._minWidth;\n\t\tdelete this._cachedMinHeight;\n\n\t\tthis._detachMouseResizeHandlers();\n\t}\n\n\t_handleDragStart(e: DragEvent) {\n\t\tif (this.draggable) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_attachMouseResizeHandlers() {\n\t\tthis._detachScreenResizeHandler();\n\n\t\twindow.addEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\t}\n\n\t_detachMouseResizeHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n}\n\nDialog.define();\n\nexport default Dialog;\n"]}
@@ -123,7 +123,7 @@ declare class FileUploader extends UI5Element implements IFormElement {
123
123
  * @defaultvalue "None"
124
124
  * @public
125
125
  */
126
- valueState: ValueState;
126
+ valueState: `${ValueState}`;
127
127
  /**
128
128
  * @private
129
129
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploader.js","sourceRoot":"","sources":["../src/FileUploader.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getEventMark } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tFILEUPLOAD_BROWSE,\n\tFILEUPLOADER_TITLE,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport Input from \"./Input.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\n\n// Template\nimport FileUploaderTemplate from \"./generated/templates/FileUploaderTemplate.lit.js\";\nimport FileUploaderPopoverTemplate from \"./generated/templates/FileUploaderPopoverTemplate.lit.js\";\n\n// Styles\nimport FileUploaderCss from \"./generated/themes/FileUploader.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-file-uploader</code> opens a file explorer dialog and enables users to upload files.\n * The component consists of input field, but you can provide an HTML element by your choice\n * to trigger the file upload, by using the default slot.\n * Furthermore, you can set the property \"hideInput\" to \"true\" to hide the input field.\n * <br>\n * To get all selected files, you can simply use the read-only \"files\" property.\n * To restrict the types of files the user can select, you can use the \"accept\" property.\n * <br>\n * And, similar to all input based components, the FileUploader supports \"valueState\", \"placeholder\", \"name\", and \"disabled\" properties.\n *\n * For the <code>ui5-file-uploader</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/FileUploader.js\";</code>\n *\n * @constructor\n * @since 1.0.0-rc.6\n * @author SAP SE\n * @alias sap.ui.webc.main.FileUploader\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-file-uploader\n * @public\n */\n@customElement({\n\ttag: \"ui5-file-uploader\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: FileUploaderCss,\n\ttemplate: FileUploaderTemplate,\n\tstaticAreaTemplate: FileUploaderPopoverTemplate,\n\tstaticAreaStyles: [ResponsivePopoverCommonCss, ValueStateMessageCss],\n\tdependencies: [\n\t\tInput,\n\t\tPopover,\n\t\tIcon,\n\t],\n})\n/**\n * Event is fired when the value of the file path has been changed.\n * <b>Note:</b> Keep in mind that because of the HTML input element of type file, the event is also fired in Chrome browser when the Cancel button of the uploads window is pressed.\n *\n * @event sap.ui.webc.main.FileUploader#change\n * @param {FileList} files The current files.\n * @public\n */\n@event(\"change\", {\n\tdetail: {\n\t\tfiles: { type: FileList },\n\t},\n})\nclass FileUploader extends UI5Element implements IFormElement {\n\t/**\n\t * Comma-separated list of file types that the component should accept.\n\t * <br><br>\n\t * <b>Note:</b> Please make sure you are adding the <code>.</code> in front on the file type, e.g. <code>.png</code> in case you want to accept png's only.\n\t * @type {string}\n\t * @name sap.ui.webc.main.FileUploader.prototype.accept\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\taccept!: string;\n\n\t/**\n\t * If set to \"true\", the input field of component will not be rendered. Only the default slot that is passed will be rendered.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.FileUploader.prototype.hideInput\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideInput!: boolean;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t * <br><br>\n\t * <b>Note:</b> A disabled component is completely noninteractive.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.FileUploader.prototype.disabled\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Allows multiple files to be chosen.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.FileUploader.prototype.multiple\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmultiple!: boolean;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t *\n\t * <br><br>\n\t * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:\n\t * <code>import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";</code>\n\t *\n\t * <br><br>\n\t * <b>Note:</b> When set, a native <code>input</code> HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.FileUploader.prototype.name\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the component has no value.\n\t * @type {string}\n\t * @name sap.ui.webc.main.FileUploader.prototype.placeholder\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tplaceholder!: string;\n\n\t/**\n\t * Defines the name/names of the file/files to upload.\n\t * @type {string}\n\t * @name sap.ui.webc.main.FileUploader.prototype.value\n\t * @defaultvalue \"\"\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>None</code></li>\n\t * <li><code>Error</code></li>\n\t * <li><code>Warning</code></li>\n\t * <li><code>Success</code></li>\n\t * <li><code>Information</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.base.types.ValueState}\n\t * @name sap.ui.webc.main.FileUploader.prototype.valueState\n\t * @defaultvalue \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: ValueState;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * By default the component contains a single input field. With this slot you can pass any content that you wish to add. See the samples for more information.\n\t *\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.FileUploader.prototype.default\n\t * @slot content\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.\n\t * <br>\n\t * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,\n\t * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.FileUploader.prototype.valueStateMessage\n\t * @since 1.0.0-rc.9\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * The slot is used to render native <code>input</code> HTML element within Light DOM to enable form submit,\n\t * when <code>name</code> property is set.\n\t * @type {HTMLElement[]}\n\t * @slot\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array<HTMLElement>;\n\n\t_internals: ElementInternals;\n\n\tstatic emptyInput: HTMLInputElement;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._internals = this.attachInternals && this.attachInternals();\n\t}\n\n\t_onmouseover() {\n\t\tthis.content.forEach(item => {\n\t\t\titem.classList.add(\"ui5_hovered\");\n\t\t});\n\t}\n\n\t_onmouseout() {\n\t\tthis.content.forEach(item => {\n\t\t\titem.classList.remove(\"ui5_hovered\");\n\t\t});\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (getEventMark(e) === \"button\") {\n\t\t\tthis._input.click();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis._input.click();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._input.click();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t/**\n\t * FileList of all selected files.\n\t * @readonly\n\t * @type {FileList}\n\t * @public\n\t * @name sap.ui.webc.main.FileUploader.prototype.files\n\t */\n\tget files() {\n\t\tif (this._input) {\n\t\t\treturn this._input.files;\n\t\t}\n\n\t\treturn FileUploader._emptyFilesList;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._enableFormSupport();\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.value) {\n\t\t\tthis._input.value = \"\";\n\t\t}\n\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature<typeof FormSupport>(\"FormSupport\");\n\n\t\tif (formSupport) {\n\t\t\tif (this._canUseNativeFormSupport) {\n\t\t\t\tthis._setFormValue();\n\t\t\t} else {\n\t\t\t\tformSupport.syncNativeFileInput(this,\n\t\t\t\t\t(element: IFormElement, nativeInput: HTMLInputElement) => {\n\t\t\t\t\t\tnativeInput.disabled = !!element.disabled;\n\t\t\t\t\t},\n\t\t\t\t\tthis._onChange.bind(this));\n\t\t\t}\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onChange(e: Event) {\n\t\tconst changedFiles = (e.target as HTMLInputElement).files;\n\n\t\tthis._updateValue(changedFiles);\n\t\tthis.fireEvent(\"change\", {\n\t\t\tfiles: changedFiles,\n\t\t});\n\t}\n\n\t_updateValue(files: FileList | null) {\n\t\tthis.value = Array.from(files || []).reduce((acc, currFile) => {\n\t\t\treturn `${acc}\"${currFile.name}\" `;\n\t\t}, \"\");\n\t}\n\n\t_setFormValue() {\n\t\tconst formData = new FormData();\n\n\t\tif (this.files) {\n\t\t\tfor (let i = 0; i < this.files.length; i++) {\n\t\t\t\tformData.append(this.name, this.files[i]);\n\t\t\t}\n\t\t}\n\n\t\tthis._internals.setFormValue(formData);\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\tconst popover = await this._getPopover();\n\n\t\tif (popover) {\n\t\t\tpopover.showAt(this);\n\t\t}\n\t}\n\n\tasync closeValueStatePopover() {\n\t\tconst popover = await this._getPopover();\n\n\t\tif (popover) {\n\t\t\tpopover.close();\n\t\t}\n\t}\n\n\tasync _getPopover(): Promise<Popover> {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\".ui5-valuestatemessage-popover\")!;\n\t}\n\n\t/**\n\t * in case when the component is not placed in the DOM, return empty FileList, like native input would do\n\t * @private\n\t */\n\tstatic get _emptyFilesList() {\n\t\tif (!this.emptyInput) {\n\t\t\tthis.emptyInput = document.createElement(\"input\");\n\t\t\tthis.emptyInput.type = \"file\";\n\t\t}\n\t\treturn this.emptyInput.files;\n\t}\n\n\tget browseText(): string {\n\t\treturn FileUploader.i18nBundle.getText(FILEUPLOAD_BROWSE);\n\t}\n\n\tget titleText(): string {\n\t\treturn FileUploader.i18nBundle.getText(FILEUPLOADER_TITLE);\n\t}\n\n\tget _canUseNativeFormSupport(): boolean {\n\t\treturn !!(this._internals && this._internals.setFormValue);\n\t}\n\n\tget _keepInputInShadowDOM(): boolean {\n\t\t// only put input in the light dom when ui5-file-uploader is placed inside form and there is no support for form elements\n\t\treturn this._canUseNativeFormSupport || !this.name;\n\t}\n\n\tget _input(): HTMLInputElement {\n\t\treturn (this.shadowRoot!.querySelector<HTMLInputElement>(\"input[type=file]\") || this.querySelector<HTMLInputElement>(\"input[type=file][data-ui5-form-support]\"))!;\n\t}\n\n\tget valueStateTextMappings(): Record<string, string> {\n\t\treturn {\n\t\t\t\"Success\": FileUploader.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": FileUploader.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Error\": FileUploader.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Warning\": FileUploader.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText(): string {\n\t\treturn this.valueStateTextMappings[this.valueState];\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateText;\n\t}\n\n\tget shouldOpenValueStateMessagePopover(): boolean {\n\t\treturn this.focused && this.hasValueStateText && !this.hideInput;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon(): string {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"width\": `${this.ui5Input ? this.ui5Input.offsetWidth : 0}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ui5Input() {\n\t\treturn this.shadowRoot!.querySelector<Input>(\".ui5-file-uploader-input\");\n\t}\n\n\tstatic async onDefine() {\n\t\tFileUploader.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nFileUploader.define();\n\nexport default FileUploader;\n"]}
1
+ {"version":3,"file":"FileUploader.js","sourceRoot":"","sources":["../src/FileUploader.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getEventMark } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tFILEUPLOAD_BROWSE,\n\tFILEUPLOADER_TITLE,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport Input from \"./Input.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\n\n// Template\nimport FileUploaderTemplate from \"./generated/templates/FileUploaderTemplate.lit.js\";\nimport FileUploaderPopoverTemplate from \"./generated/templates/FileUploaderPopoverTemplate.lit.js\";\n\n// Styles\nimport FileUploaderCss from \"./generated/themes/FileUploader.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-file-uploader</code> opens a file explorer dialog and enables users to upload files.\n * The component consists of input field, but you can provide an HTML element by your choice\n * to trigger the file upload, by using the default slot.\n * Furthermore, you can set the property \"hideInput\" to \"true\" to hide the input field.\n * <br>\n * To get all selected files, you can simply use the read-only \"files\" property.\n * To restrict the types of files the user can select, you can use the \"accept\" property.\n * <br>\n * And, similar to all input based components, the FileUploader supports \"valueState\", \"placeholder\", \"name\", and \"disabled\" properties.\n *\n * For the <code>ui5-file-uploader</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/FileUploader.js\";</code>\n *\n * @constructor\n * @since 1.0.0-rc.6\n * @author SAP SE\n * @alias sap.ui.webc.main.FileUploader\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-file-uploader\n * @public\n */\n@customElement({\n\ttag: \"ui5-file-uploader\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: FileUploaderCss,\n\ttemplate: FileUploaderTemplate,\n\tstaticAreaTemplate: FileUploaderPopoverTemplate,\n\tstaticAreaStyles: [ResponsivePopoverCommonCss, ValueStateMessageCss],\n\tdependencies: [\n\t\tInput,\n\t\tPopover,\n\t\tIcon,\n\t],\n})\n/**\n * Event is fired when the value of the file path has been changed.\n * <b>Note:</b> Keep in mind that because of the HTML input element of type file, the event is also fired in Chrome browser when the Cancel button of the uploads window is pressed.\n *\n * @event sap.ui.webc.main.FileUploader#change\n * @param {FileList} files The current files.\n * @public\n */\n@event(\"change\", {\n\tdetail: {\n\t\tfiles: { type: FileList },\n\t},\n})\nclass FileUploader extends UI5Element implements IFormElement {\n\t/**\n\t * Comma-separated list of file types that the component should accept.\n\t * <br><br>\n\t * <b>Note:</b> Please make sure you are adding the <code>.</code> in front on the file type, e.g. <code>.png</code> in case you want to accept png's only.\n\t * @type {string}\n\t * @name sap.ui.webc.main.FileUploader.prototype.accept\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\taccept!: string;\n\n\t/**\n\t * If set to \"true\", the input field of component will not be rendered. Only the default slot that is passed will be rendered.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.FileUploader.prototype.hideInput\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideInput!: boolean;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t * <br><br>\n\t * <b>Note:</b> A disabled component is completely noninteractive.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.FileUploader.prototype.disabled\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Allows multiple files to be chosen.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.FileUploader.prototype.multiple\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmultiple!: boolean;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t *\n\t * <br><br>\n\t * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:\n\t * <code>import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";</code>\n\t *\n\t * <br><br>\n\t * <b>Note:</b> When set, a native <code>input</code> HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.FileUploader.prototype.name\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the component has no value.\n\t * @type {string}\n\t * @name sap.ui.webc.main.FileUploader.prototype.placeholder\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tplaceholder!: string;\n\n\t/**\n\t * Defines the name/names of the file/files to upload.\n\t * @type {string}\n\t * @name sap.ui.webc.main.FileUploader.prototype.value\n\t * @defaultvalue \"\"\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>None</code></li>\n\t * <li><code>Error</code></li>\n\t * <li><code>Warning</code></li>\n\t * <li><code>Success</code></li>\n\t * <li><code>Information</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.base.types.ValueState}\n\t * @name sap.ui.webc.main.FileUploader.prototype.valueState\n\t * @defaultvalue \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * By default the component contains a single input field. With this slot you can pass any content that you wish to add. See the samples for more information.\n\t *\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.FileUploader.prototype.default\n\t * @slot content\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.\n\t * <br>\n\t * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,\n\t * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.FileUploader.prototype.valueStateMessage\n\t * @since 1.0.0-rc.9\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * The slot is used to render native <code>input</code> HTML element within Light DOM to enable form submit,\n\t * when <code>name</code> property is set.\n\t * @type {HTMLElement[]}\n\t * @slot\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array<HTMLElement>;\n\n\t_internals: ElementInternals;\n\n\tstatic emptyInput: HTMLInputElement;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._internals = this.attachInternals && this.attachInternals();\n\t}\n\n\t_onmouseover() {\n\t\tthis.content.forEach(item => {\n\t\t\titem.classList.add(\"ui5_hovered\");\n\t\t});\n\t}\n\n\t_onmouseout() {\n\t\tthis.content.forEach(item => {\n\t\t\titem.classList.remove(\"ui5_hovered\");\n\t\t});\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (getEventMark(e) === \"button\") {\n\t\t\tthis._input.click();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis._input.click();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._input.click();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t/**\n\t * FileList of all selected files.\n\t * @readonly\n\t * @type {FileList}\n\t * @public\n\t * @name sap.ui.webc.main.FileUploader.prototype.files\n\t */\n\tget files() {\n\t\tif (this._input) {\n\t\t\treturn this._input.files;\n\t\t}\n\n\t\treturn FileUploader._emptyFilesList;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._enableFormSupport();\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.value) {\n\t\t\tthis._input.value = \"\";\n\t\t}\n\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature<typeof FormSupport>(\"FormSupport\");\n\n\t\tif (formSupport) {\n\t\t\tif (this._canUseNativeFormSupport) {\n\t\t\t\tthis._setFormValue();\n\t\t\t} else {\n\t\t\t\tformSupport.syncNativeFileInput(this,\n\t\t\t\t\t(element: IFormElement, nativeInput: HTMLInputElement) => {\n\t\t\t\t\t\tnativeInput.disabled = !!element.disabled;\n\t\t\t\t\t},\n\t\t\t\t\tthis._onChange.bind(this));\n\t\t\t}\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onChange(e: Event) {\n\t\tconst changedFiles = (e.target as HTMLInputElement).files;\n\n\t\tthis._updateValue(changedFiles);\n\t\tthis.fireEvent(\"change\", {\n\t\t\tfiles: changedFiles,\n\t\t});\n\t}\n\n\t_updateValue(files: FileList | null) {\n\t\tthis.value = Array.from(files || []).reduce((acc, currFile) => {\n\t\t\treturn `${acc}\"${currFile.name}\" `;\n\t\t}, \"\");\n\t}\n\n\t_setFormValue() {\n\t\tconst formData = new FormData();\n\n\t\tif (this.files) {\n\t\t\tfor (let i = 0; i < this.files.length; i++) {\n\t\t\t\tformData.append(this.name, this.files[i]);\n\t\t\t}\n\t\t}\n\n\t\tthis._internals.setFormValue(formData);\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\tconst popover = await this._getPopover();\n\n\t\tif (popover) {\n\t\t\tpopover.showAt(this);\n\t\t}\n\t}\n\n\tasync closeValueStatePopover() {\n\t\tconst popover = await this._getPopover();\n\n\t\tif (popover) {\n\t\t\tpopover.close();\n\t\t}\n\t}\n\n\tasync _getPopover(): Promise<Popover> {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\".ui5-valuestatemessage-popover\")!;\n\t}\n\n\t/**\n\t * in case when the component is not placed in the DOM, return empty FileList, like native input would do\n\t * @private\n\t */\n\tstatic get _emptyFilesList() {\n\t\tif (!this.emptyInput) {\n\t\t\tthis.emptyInput = document.createElement(\"input\");\n\t\t\tthis.emptyInput.type = \"file\";\n\t\t}\n\t\treturn this.emptyInput.files;\n\t}\n\n\tget browseText(): string {\n\t\treturn FileUploader.i18nBundle.getText(FILEUPLOAD_BROWSE);\n\t}\n\n\tget titleText(): string {\n\t\treturn FileUploader.i18nBundle.getText(FILEUPLOADER_TITLE);\n\t}\n\n\tget _canUseNativeFormSupport(): boolean {\n\t\treturn !!(this._internals && this._internals.setFormValue);\n\t}\n\n\tget _keepInputInShadowDOM(): boolean {\n\t\t// only put input in the light dom when ui5-file-uploader is placed inside form and there is no support for form elements\n\t\treturn this._canUseNativeFormSupport || !this.name;\n\t}\n\n\tget _input(): HTMLInputElement {\n\t\treturn (this.shadowRoot!.querySelector<HTMLInputElement>(\"input[type=file]\") || this.querySelector<HTMLInputElement>(\"input[type=file][data-ui5-form-support]\"))!;\n\t}\n\n\tget valueStateTextMappings(): Record<string, string> {\n\t\treturn {\n\t\t\t\"Success\": FileUploader.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": FileUploader.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Error\": FileUploader.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Warning\": FileUploader.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText(): string {\n\t\treturn this.valueStateTextMappings[this.valueState];\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateText;\n\t}\n\n\tget shouldOpenValueStateMessagePopover(): boolean {\n\t\treturn this.focused && this.hasValueStateText && !this.hideInput;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon(): string {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"width\": `${this.ui5Input ? this.ui5Input.offsetWidth : 0}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ui5Input() {\n\t\treturn this.shadowRoot!.querySelector<Input>(\".ui5-file-uploader-input\");\n\t}\n\n\tstatic async onDefine() {\n\t\tFileUploader.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nFileUploader.define();\n\nexport default FileUploader;\n"]}
package/dist/Icon.d.ts CHANGED
@@ -127,7 +127,7 @@ declare class Icon extends UI5Element {
127
127
  * @public
128
128
  * @since 1.9.2
129
129
  */
130
- design: IconDesign;
130
+ design: `${IconDesign}`;
131
131
  /**
132
132
  * Defines if the icon is interactive (focusable and pressable)
133
133
  * @name sap.ui.webc.main.Icon.prototype.interactive
package/dist/Icon.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../src/Icon.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAY,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,eAAe,MAAM,0DAA0D,CAAC;AACvF,OAAO,YAAY,MAAM,2CAA2C,CAAC;AACrE,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,SAAS;AACT,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AAiBH,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,UAAU;IAmK5B,iBAAiB;QAChB,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACpB;IACF,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,OAAO;SACP;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACxB;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,oBAAoB;SACxC;IACF,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACxB;IACF,CAAC;IAED;;MAEE;IACF,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,IAAI,mBAAmB;QACtB,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACtB,OAAO,IAAI,CAAC;aACZ;YAED,OAAO;SACP;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,uBAAuB,KAAK,iBAAiB,CAAC;IAC3D,CAAC;IAED,IAAI,uBAAuB;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,QAAQ,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE;YACV,8BAA8B;YAC9B,OAAO,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;SAC5D;QAED,IAAI,QAAQ,GAAiD,eAAe,CAAC,IAAI,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,EAAE;YACd,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,QAAQ,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,8BAA8B;YAC9B,OAAO,OAAO,CAAC,IAAI,CAAC,uDAAuD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACxF;QAED,IAAI,QAAQ,KAAK,cAAc,EAAE;YAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,8BAA8B;YAC9B,OAAO,OAAO,CAAC,IAAI,CAAC,sIAAsI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,0FAA0F,CAAC,CAAC;SACrR;QAED,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,aAAa,CAAC;QAEjD,IAAI,QAAQ,CAAC,cAAc,EAAE;YAC5B,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;SAChE;QAED,iDAAiD;QACjD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3F,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAExC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC;SACnD;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACxB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,uBAAuB,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;SAC7E;aAAM;YACN,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;SACzC;IACF,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,uBAAuB,CAAC;IACzD,CAAC;CACD,CAAA;AArQA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;oCAC7C;AAWpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCACN;AAuCtB;IADC,QAAQ,EAAE;kCACG;AAed;IADC,QAAQ,EAAE;4CACa;AAaxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCACN;AAWtB;IADC,QAAQ,EAAE;4CACa;AASxB;IADC,QAAQ,EAAE;wCACS;AAMpB;IADC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACJ;AAMzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qCACpD;AAMnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qCACV;AAMlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qCACV;AAMlB;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;qDACxB;AAzJ5B,IAAI;IAhBT,aAAa,CAAC;QACd,GAAG,EAAE,UAAU;QACf,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,OAAO;KACf,CAAC;IACF;;;;;;OAMG;;IACF,KAAK,CAAC,OAAO,CAAC;GACT,IAAI,CA8RT;AAED,IAAI,CAAC,MAAM,EAAE,CAAC;AAEd,eAAe,IAAI,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { getIconData, getIconDataSync, IconData } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport IconTemplate from \"./generated/templates/IconTemplate.lit.js\";\nimport IconDesign from \"./types/IconDesign.js\";\n\n// Styles\nimport iconCss from \"./generated/themes/Icon.css.js\";\n\nconst ICON_NOT_FOUND = \"ICON_NOT_FOUND\";\nconst PRESENTATION_ROLE = \"presentation\";\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-icon</code> component represents an SVG icon.\n * There are two main scenarios how the <code>ui5-icon</code> component is used:\n * as a purely decorative element, <br>\n * or as an interactive element that can be focused and clicked.\n *\n * <h3>Usage</h3>\n *\n * 1. <b>Get familiar with the icons collections.</b>\n * <br>\n * Before displaying an icon, you need to explore the icons collections to find and import the desired icon.\n * <br>\n * Currently there are 3 icons collection, available as 3 npm packages:\n * <br>\n *\n * <ul>\n * <li>\n * <ui5-link target=\"_blank\" href=\"https://www.npmjs.com/package/@ui5/webcomponents-icons\">@ui5/webcomponents-icons</ui5-link> represents the \"SAP-icons\" collection and includes the following\n * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons\">icons</ui5-link>.\n * </li>\n * <li>\n * <ui5-link target=\"_blank\" href=\"https://www.npmjs.com/package/@ui5/webcomponents-icons-tnt\">@ui5/webcomponents-icons-tnt</ui5-link> represents the \"tnt\" collection and includes the following\n * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons-TNT\">icons</ui5-link>.\n * </li>\n * <li>\n * <ui5-link target=\"_blank\" href=\"https://www.npmjs.com/package/@ui5/webcomponents-icons-business-suite\">@ui5/webcomponents-icons-icons-business-suite</ui5-link> represents the \"business-suite\" collection and includes the following\n * <ui5-link target=\"_blank\" href=\"https://ui5.sap.com/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/BusinessSuiteInAppSymbols\">icons</ui5-link>.\n * </li>\n * </ul>\n *\n * 2. <b>After exploring the icons collections, add one or more of the packages as dependencies to your project.</b>\n * <br>\n * <code>npm i @ui5/webcomponents-icons</code><br>\n * <code>npm i @ui5/webcomponents-icons-tnt</code><br>\n * <code>npm i @ui5/webcomponents-icons-business-suite</code>\n * <br><br>\n *\n * 3. <b>Then, import the desired icon</b>.\n * <br>\n * <code>import \"@ui5/{package_name}/dist/{icon_name}.js\";</code>\n * <br><br>\n *\n * <b>For Example</b>:\n * <br>\n *\n * For the standard \"SAP-icons\" icon collection, import an icon from the <code>@ui5/webcomponents-icons</code> package:\n * <br>\n * <code>import \"@ui5/webcomponents-icons/dist/employee.js\";</code>\n * <br><br>\n *\n * For the \"tnt\" (SAP Fiori Tools) icon collection, import an icon from the <code>@ui5/webcomponents-icons-tnt</code> package:\n * <br>\n * <code>import \"@ui5/webcomponents-icons-tnt/dist/antenna.js\";</code>\n * <br><br>\n *\n * For the \"business-suite\" (SAP Business Suite) icon collection, import an icon from the <code>@ui5/webcomponents-icons-business-suite</code> package:\n * <br>\n * <code>import \"@ui5/webcomponents-icons-business-suite/dist/ab-testing.js\";</code>\n * <br><br>\n *\n * 4. <b>Display the icon using the <code>ui5-icon</code> web component.</b><br>\n * Set the icon collection (\"SAP-icons\", \"tnt\" or \"business-suite\" - \"SAP-icons\" is the default icon collection and can be skipped)<br>\n * and the icon name to the <code>name</code> property.\n * <br><br>\n *\n * <code>&lt;ui5-icon name=\"employee\">&lt;/ui5-icon></code><br>\n * <code>&lt;ui5-icon name=\"tnt/antenna\">&lt;/ui5-icon></code><br>\n * <code>&lt;ui5-icon name=\"business-suite/ab-testing\">&lt;/ui5-icon></code>\n *\n * <br><br>\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-icon</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>root - Used to style the outermost wrapper of the <code>ui5-icon</code></li>\n * </ul>\n *\n * <br><br>\n * <h3>Keyboard Handling</h3>\n *\n * <ul>\n * <li>[SPACE, ENTER, RETURN] - Fires the <code>click</code> event if the <code>interactive</code> property is set to true.</li>\n * <li>[SHIFT] - If [SPACE] or [ENTER],[RETURN] is pressed, pressing [SHIFT] releases the ui5-icon without triggering the click event.</li>\n * </ul>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Icon.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Icon\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-icon\n * @implements sap.ui.webc.main.IIcon\n * @public\n */\n@customElement({\n\ttag: \"ui5-icon\",\n\tlanguageAware: true,\n\tthemeAware: true,\n\trenderer: litRender,\n\ttemplate: IconTemplate,\n\tstyles: iconCss,\n})\n/**\n * Fired on mouseup, <code>SPACE</code> and <code>ENTER</code>.\n * - on mouse click, the icon fires native <code>click</code> event\n * - on <code>SPACE</code> and <code>ENTER</code>, the icon fires custom <code>click</code> event\n * @private\n * @since 1.0.0-rc.8\n */\n@event(\"click\")\nclass Icon extends UI5Element {\n\t/**\n\t * Defines the component semantic design.\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>Contrast</code></li>\n\t * <li><code>Critical</code></li>\n\t * <li><code>Default</code></li>\n\t * <li><code>Information</code></li>\n\t * <li><code>Negative</code></li>\n\t * <li><code>Neutral</code></li>\n\t * <li><code>NonInteractive</code></li>\n\t * <li><code>Positive</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.main.types.IconDesign}\n\t * @name sap.ui.webc.main.Icon.prototype.design\n\t * @defaultvalue \"Default\"\n\t * @public\n\t * @since 1.9.2\n\t */\n\t@property({ type: IconDesign, defaultValue: IconDesign.Default })\n\tdesign!: IconDesign;\n\n\t/**\n\t * Defines if the icon is interactive (focusable and pressable)\n\t * @name sap.ui.webc.main.Icon.prototype.interactive\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\tinteractive!: boolean;\n\n\t/**\n\t * Defines the unique identifier (icon name) of the component.\n\t * <br>\n\t *\n\t * To browse all available icons, see the\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">SAP Icons</ui5-link>,\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons-TNT\">SAP Fiori Tools</ui5-link> and\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">SAP Business Suite</ui5-link> collections.\n\t * <br>\n\t *\n\t * Example:\n\t * <br>\n\t * <code>name='add'</code>, <code>name='delete'</code>, <code>name='employee'</code>.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> To use the SAP Fiori Tools icons,\n\t * you need to set the <code>tnt</code> prefix in front of the icon's name.\n\t * <br>\n\t *\n\t * Example:\n\t * <br>\n\t * <code>name='tnt/antenna'</code>, <code>name='tnt/actor'</code>, <code>name='tnt/api'</code>.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> To use the SAP Business Suite icons,\n\t * you need to set the <code>business-suite</code> prefix in front of the icon's name.\n\t * <br>\n\t *\n\t * Example:\n\t * <br>\n\t * <code>name='business-suite/3d'</code>, <code>name='business-suite/1x2-grid-layout'</code>, <code>name='business-suite/4x4-grid-layout'</code>.\n\t * @name sap.ui.webc.main.Icon.prototype.name\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * If not provided a default text alternative will be set, if present.\n\t * <br><br>\n\t * <b>Note:</b> Every icon should have a text alternative in order to\n\t * calculate its accessible name.\n\t *\n\t * @name sap.ui.webc.main.Icon.prototype.accessibleName\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines whether the component should have a tooltip.\n\t * <br><br>\n\t * <b>Note:</b> The tooltip text should be provided via the <code>accessible-name</code> property.\n\t *\n\t * @name sap.ui.webc.main.Icon.prototype.showTooltip\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowTooltip!: boolean;\n\n\t/**\n\t * Defines the accessibility role of the component.\n\t * @name sap.ui.webc.main.Icon.prototype.accessibleRole\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleRole!: string;\n\n\t/**\n\t * Defines the ARIA hidden state of the component.\n\t * Note: If the role is presentation the default value of aria-hidden will be true.\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tariaHidden!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ multiple: true })\n\tpathData!: Array<string>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object, defaultValue: undefined, noAttribute: true })\n\taccData?: I18nText;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\tinvalid!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true, defaultValue: undefined })\n\teffectiveAccessibleName?: string;\n\n\tltr?: boolean;\n\tpackageName?: string;\n\tviewBox?: string;\n\tcustomSvg?: object;\n\n\t_onfocusout?: ((event: FocusEvent) => void);\n\t_onfocusin?: ((event: FocusEvent) => void);\n\n\t_onFocusInHandler() {\n\t\tif (this.interactive) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_onFocusOutHandler() {\n\t\tthis.focused = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this.interactive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this.interactive && isSpace(e)) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\t}\n\n\t/**\n\t* Enforce \"ltr\" direction, based on the icons collection metadata.\n\t*/\n\tget _dir() {\n\t\treturn this.ltr ? \"ltr\" : undefined;\n\t}\n\n\tget effectiveAriaHidden() {\n\t\tif (this.ariaHidden === \"\") {\n\t\t\tif (this.isDecorative) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.ariaHidden;\n\t}\n\n\tget _tabIndex() {\n\t\treturn this.interactive ? \"0\" : undefined;\n\t}\n\n\tget isDecorative() {\n\t\treturn this.effectiveAccessibleRole === PRESENTATION_ROLE;\n\t}\n\n\tget effectiveAccessibleRole() {\n\t\tif (this.accessibleRole) {\n\t\t\treturn this.accessibleRole;\n\t\t}\n\n\t\tif (this.interactive) {\n\t\t\treturn \"button\";\n\t\t}\n\n\t\treturn this.effectiveAccessibleName ? \"img\" : PRESENTATION_ROLE;\n\t}\n\n\tasync onBeforeRendering() {\n\t\tconst name = this.name;\n\t\tif (!name) {\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(\"Icon name property is required\", this);\n\t\t}\n\n\t\tlet iconData: typeof ICON_NOT_FOUND | IconData | undefined = getIconDataSync(name);\n\t\tif (!iconData) {\n\t\t\ticonData = await getIconData(name);\n\t\t}\n\n\t\tif (!iconData) {\n\t\t\tthis.invalid = true;\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(`Required icon is not registered. Invalid icon name: ${this.name}`);\n\t\t}\n\n\t\tif (iconData === ICON_NOT_FOUND) {\n\t\t\tthis.invalid = true;\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(`Required icon is not registered. You can either import the icon as a module in order to use it e.g. \"@ui5/webcomponents-icons/dist/${name.replace(\"sap-icon://\", \"\")}.js\", or setup a JSON build step and import \"@ui5/webcomponents-icons/dist/AllIcons.js\".`);\n\t\t}\n\n\t\tthis.viewBox = iconData.viewBox || \"0 0 512 512\";\n\n\t\tif (iconData.customTemplate) {\n\t\t\ticonData.pathData = [];\n\t\t\tthis.customSvg = executeTemplate(iconData.customTemplate, this);\n\t\t}\n\n\t\t// in case a new valid name is set, show the icon\n\t\tthis.invalid = false;\n\t\tthis.pathData = Array.isArray(iconData.pathData) ? iconData.pathData : [iconData.pathData];\n\t\tthis.accData = iconData.accData;\n\t\tthis.ltr = iconData.ltr;\n\t\tthis.packageName = iconData.packageName;\n\n\t\tthis._onfocusout = this.interactive ? this._onFocusOutHandler.bind(this) : undefined;\n\t\tthis._onfocusin = this.interactive ? this._onFocusInHandler.bind(this) : undefined;\n\n\t\tif (this.accessibleName) {\n\t\t\tthis.effectiveAccessibleName = this.accessibleName;\n\t\t} else if (this.accData) {\n\t\t\tconst i18nBundle = await getI18nBundle(this.packageName);\n\t\t\tthis.effectiveAccessibleName = i18nBundle.getText(this.accData) || undefined;\n\t\t} else {\n\t\t\tthis.effectiveAccessibleName = undefined;\n\t\t}\n\t}\n\n\tget hasIconTooltip() {\n\t\treturn this.showTooltip && this.effectiveAccessibleName;\n\t}\n}\n\nIcon.define();\n\nexport default Icon;\n"]}
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../src/Icon.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { getIconData, getIconDataSync, IconData } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport IconTemplate from \"./generated/templates/IconTemplate.lit.js\";\nimport IconDesign from \"./types/IconDesign.js\";\n\n// Styles\nimport iconCss from \"./generated/themes/Icon.css.js\";\n\nconst ICON_NOT_FOUND = \"ICON_NOT_FOUND\";\nconst PRESENTATION_ROLE = \"presentation\";\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-icon</code> component represents an SVG icon.\n * There are two main scenarios how the <code>ui5-icon</code> component is used:\n * as a purely decorative element, <br>\n * or as an interactive element that can be focused and clicked.\n *\n * <h3>Usage</h3>\n *\n * 1. <b>Get familiar with the icons collections.</b>\n * <br>\n * Before displaying an icon, you need to explore the icons collections to find and import the desired icon.\n * <br>\n * Currently there are 3 icons collection, available as 3 npm packages:\n * <br>\n *\n * <ul>\n * <li>\n * <ui5-link target=\"_blank\" href=\"https://www.npmjs.com/package/@ui5/webcomponents-icons\">@ui5/webcomponents-icons</ui5-link> represents the \"SAP-icons\" collection and includes the following\n * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons\">icons</ui5-link>.\n * </li>\n * <li>\n * <ui5-link target=\"_blank\" href=\"https://www.npmjs.com/package/@ui5/webcomponents-icons-tnt\">@ui5/webcomponents-icons-tnt</ui5-link> represents the \"tnt\" collection and includes the following\n * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons-TNT\">icons</ui5-link>.\n * </li>\n * <li>\n * <ui5-link target=\"_blank\" href=\"https://www.npmjs.com/package/@ui5/webcomponents-icons-business-suite\">@ui5/webcomponents-icons-icons-business-suite</ui5-link> represents the \"business-suite\" collection and includes the following\n * <ui5-link target=\"_blank\" href=\"https://ui5.sap.com/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/BusinessSuiteInAppSymbols\">icons</ui5-link>.\n * </li>\n * </ul>\n *\n * 2. <b>After exploring the icons collections, add one or more of the packages as dependencies to your project.</b>\n * <br>\n * <code>npm i @ui5/webcomponents-icons</code><br>\n * <code>npm i @ui5/webcomponents-icons-tnt</code><br>\n * <code>npm i @ui5/webcomponents-icons-business-suite</code>\n * <br><br>\n *\n * 3. <b>Then, import the desired icon</b>.\n * <br>\n * <code>import \"@ui5/{package_name}/dist/{icon_name}.js\";</code>\n * <br><br>\n *\n * <b>For Example</b>:\n * <br>\n *\n * For the standard \"SAP-icons\" icon collection, import an icon from the <code>@ui5/webcomponents-icons</code> package:\n * <br>\n * <code>import \"@ui5/webcomponents-icons/dist/employee.js\";</code>\n * <br><br>\n *\n * For the \"tnt\" (SAP Fiori Tools) icon collection, import an icon from the <code>@ui5/webcomponents-icons-tnt</code> package:\n * <br>\n * <code>import \"@ui5/webcomponents-icons-tnt/dist/antenna.js\";</code>\n * <br><br>\n *\n * For the \"business-suite\" (SAP Business Suite) icon collection, import an icon from the <code>@ui5/webcomponents-icons-business-suite</code> package:\n * <br>\n * <code>import \"@ui5/webcomponents-icons-business-suite/dist/ab-testing.js\";</code>\n * <br><br>\n *\n * 4. <b>Display the icon using the <code>ui5-icon</code> web component.</b><br>\n * Set the icon collection (\"SAP-icons\", \"tnt\" or \"business-suite\" - \"SAP-icons\" is the default icon collection and can be skipped)<br>\n * and the icon name to the <code>name</code> property.\n * <br><br>\n *\n * <code>&lt;ui5-icon name=\"employee\">&lt;/ui5-icon></code><br>\n * <code>&lt;ui5-icon name=\"tnt/antenna\">&lt;/ui5-icon></code><br>\n * <code>&lt;ui5-icon name=\"business-suite/ab-testing\">&lt;/ui5-icon></code>\n *\n * <br><br>\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-icon</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>root - Used to style the outermost wrapper of the <code>ui5-icon</code></li>\n * </ul>\n *\n * <br><br>\n * <h3>Keyboard Handling</h3>\n *\n * <ul>\n * <li>[SPACE, ENTER, RETURN] - Fires the <code>click</code> event if the <code>interactive</code> property is set to true.</li>\n * <li>[SHIFT] - If [SPACE] or [ENTER],[RETURN] is pressed, pressing [SHIFT] releases the ui5-icon without triggering the click event.</li>\n * </ul>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Icon.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Icon\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-icon\n * @implements sap.ui.webc.main.IIcon\n * @public\n */\n@customElement({\n\ttag: \"ui5-icon\",\n\tlanguageAware: true,\n\tthemeAware: true,\n\trenderer: litRender,\n\ttemplate: IconTemplate,\n\tstyles: iconCss,\n})\n/**\n * Fired on mouseup, <code>SPACE</code> and <code>ENTER</code>.\n * - on mouse click, the icon fires native <code>click</code> event\n * - on <code>SPACE</code> and <code>ENTER</code>, the icon fires custom <code>click</code> event\n * @private\n * @since 1.0.0-rc.8\n */\n@event(\"click\")\nclass Icon extends UI5Element {\n\t/**\n\t * Defines the component semantic design.\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>Contrast</code></li>\n\t * <li><code>Critical</code></li>\n\t * <li><code>Default</code></li>\n\t * <li><code>Information</code></li>\n\t * <li><code>Negative</code></li>\n\t * <li><code>Neutral</code></li>\n\t * <li><code>NonInteractive</code></li>\n\t * <li><code>Positive</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.main.types.IconDesign}\n\t * @name sap.ui.webc.main.Icon.prototype.design\n\t * @defaultvalue \"Default\"\n\t * @public\n\t * @since 1.9.2\n\t */\n\t@property({ type: IconDesign, defaultValue: IconDesign.Default })\n\tdesign!: `${IconDesign}`;\n\n\t/**\n\t * Defines if the icon is interactive (focusable and pressable)\n\t * @name sap.ui.webc.main.Icon.prototype.interactive\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\tinteractive!: boolean;\n\n\t/**\n\t * Defines the unique identifier (icon name) of the component.\n\t * <br>\n\t *\n\t * To browse all available icons, see the\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">SAP Icons</ui5-link>,\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html#/overview/SAP-icons-TNT\">SAP Fiori Tools</ui5-link> and\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">SAP Business Suite</ui5-link> collections.\n\t * <br>\n\t *\n\t * Example:\n\t * <br>\n\t * <code>name='add'</code>, <code>name='delete'</code>, <code>name='employee'</code>.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> To use the SAP Fiori Tools icons,\n\t * you need to set the <code>tnt</code> prefix in front of the icon's name.\n\t * <br>\n\t *\n\t * Example:\n\t * <br>\n\t * <code>name='tnt/antenna'</code>, <code>name='tnt/actor'</code>, <code>name='tnt/api'</code>.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> To use the SAP Business Suite icons,\n\t * you need to set the <code>business-suite</code> prefix in front of the icon's name.\n\t * <br>\n\t *\n\t * Example:\n\t * <br>\n\t * <code>name='business-suite/3d'</code>, <code>name='business-suite/1x2-grid-layout'</code>, <code>name='business-suite/4x4-grid-layout'</code>.\n\t * @name sap.ui.webc.main.Icon.prototype.name\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * If not provided a default text alternative will be set, if present.\n\t * <br><br>\n\t * <b>Note:</b> Every icon should have a text alternative in order to\n\t * calculate its accessible name.\n\t *\n\t * @name sap.ui.webc.main.Icon.prototype.accessibleName\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines whether the component should have a tooltip.\n\t * <br><br>\n\t * <b>Note:</b> The tooltip text should be provided via the <code>accessible-name</code> property.\n\t *\n\t * @name sap.ui.webc.main.Icon.prototype.showTooltip\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowTooltip!: boolean;\n\n\t/**\n\t * Defines the accessibility role of the component.\n\t * @name sap.ui.webc.main.Icon.prototype.accessibleRole\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleRole!: string;\n\n\t/**\n\t * Defines the ARIA hidden state of the component.\n\t * Note: If the role is presentation the default value of aria-hidden will be true.\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tariaHidden!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ multiple: true })\n\tpathData!: Array<string>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object, defaultValue: undefined, noAttribute: true })\n\taccData?: I18nText;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\tinvalid!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true, defaultValue: undefined })\n\teffectiveAccessibleName?: string;\n\n\tltr?: boolean;\n\tpackageName?: string;\n\tviewBox?: string;\n\tcustomSvg?: object;\n\n\t_onfocusout?: ((event: FocusEvent) => void);\n\t_onfocusin?: ((event: FocusEvent) => void);\n\n\t_onFocusInHandler() {\n\t\tif (this.interactive) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_onFocusOutHandler() {\n\t\tthis.focused = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this.interactive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this.interactive && isSpace(e)) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\t}\n\n\t/**\n\t* Enforce \"ltr\" direction, based on the icons collection metadata.\n\t*/\n\tget _dir() {\n\t\treturn this.ltr ? \"ltr\" : undefined;\n\t}\n\n\tget effectiveAriaHidden() {\n\t\tif (this.ariaHidden === \"\") {\n\t\t\tif (this.isDecorative) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.ariaHidden;\n\t}\n\n\tget _tabIndex() {\n\t\treturn this.interactive ? \"0\" : undefined;\n\t}\n\n\tget isDecorative() {\n\t\treturn this.effectiveAccessibleRole === PRESENTATION_ROLE;\n\t}\n\n\tget effectiveAccessibleRole() {\n\t\tif (this.accessibleRole) {\n\t\t\treturn this.accessibleRole;\n\t\t}\n\n\t\tif (this.interactive) {\n\t\t\treturn \"button\";\n\t\t}\n\n\t\treturn this.effectiveAccessibleName ? \"img\" : PRESENTATION_ROLE;\n\t}\n\n\tasync onBeforeRendering() {\n\t\tconst name = this.name;\n\t\tif (!name) {\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(\"Icon name property is required\", this);\n\t\t}\n\n\t\tlet iconData: typeof ICON_NOT_FOUND | IconData | undefined = getIconDataSync(name);\n\t\tif (!iconData) {\n\t\t\ticonData = await getIconData(name);\n\t\t}\n\n\t\tif (!iconData) {\n\t\t\tthis.invalid = true;\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(`Required icon is not registered. Invalid icon name: ${this.name}`);\n\t\t}\n\n\t\tif (iconData === ICON_NOT_FOUND) {\n\t\t\tthis.invalid = true;\n\t\t\t/* eslint-disable-next-line */\n\t\t\treturn console.warn(`Required icon is not registered. You can either import the icon as a module in order to use it e.g. \"@ui5/webcomponents-icons/dist/${name.replace(\"sap-icon://\", \"\")}.js\", or setup a JSON build step and import \"@ui5/webcomponents-icons/dist/AllIcons.js\".`);\n\t\t}\n\n\t\tthis.viewBox = iconData.viewBox || \"0 0 512 512\";\n\n\t\tif (iconData.customTemplate) {\n\t\t\ticonData.pathData = [];\n\t\t\tthis.customSvg = executeTemplate(iconData.customTemplate, this);\n\t\t}\n\n\t\t// in case a new valid name is set, show the icon\n\t\tthis.invalid = false;\n\t\tthis.pathData = Array.isArray(iconData.pathData) ? iconData.pathData : [iconData.pathData];\n\t\tthis.accData = iconData.accData;\n\t\tthis.ltr = iconData.ltr;\n\t\tthis.packageName = iconData.packageName;\n\n\t\tthis._onfocusout = this.interactive ? this._onFocusOutHandler.bind(this) : undefined;\n\t\tthis._onfocusin = this.interactive ? this._onFocusInHandler.bind(this) : undefined;\n\n\t\tif (this.accessibleName) {\n\t\t\tthis.effectiveAccessibleName = this.accessibleName;\n\t\t} else if (this.accData) {\n\t\t\tconst i18nBundle = await getI18nBundle(this.packageName);\n\t\t\tthis.effectiveAccessibleName = i18nBundle.getText(this.accData) || undefined;\n\t\t} else {\n\t\t\tthis.effectiveAccessibleName = undefined;\n\t\t}\n\t}\n\n\tget hasIconTooltip() {\n\t\treturn this.showTooltip && this.effectiveAccessibleName;\n\t}\n}\n\nIcon.define();\n\nexport default Icon;\n"]}
package/dist/Input.d.ts CHANGED
@@ -175,7 +175,7 @@ declare class Input extends UI5Element implements SuggestionComponent, IFormElem
175
175
  * @defaultvalue "Text"
176
176
  * @public
177
177
  */
178
- type: InputType;
178
+ type: `${InputType}`;
179
179
  /**
180
180
  * Defines the value of the component.
181
181
  * <br><br>
@@ -216,7 +216,7 @@ declare class Input extends UI5Element implements SuggestionComponent, IFormElem
216
216
  * @defaultvalue "None"
217
217
  * @public
218
218
  */
219
- valueState: ValueState;
219
+ valueState: `${ValueState}`;
220
220
  /**
221
221
  * Determines the name with which the component will be submitted in an HTML form.
222
222
  *