@ui5/webcomponents 2.2.0-rc.2 → 2.2.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 (554) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cypress/specs/Button.cy.ts +361 -0
  3. package/cypress/specs/List.cy.ts +34 -0
  4. package/cypress/specs/Menu.cy.ts +429 -0
  5. package/cypress/specs/ResponsivePopover.mobile.cy.ts +93 -0
  6. package/cypress/specs/Select.cy.ts +39 -0
  7. package/cypress/specs/TableLoading.cy.ts +44 -0
  8. package/cypress/specs/TextArea.cy.ts +699 -0
  9. package/cypress/support/commands/Menu.commands.ts +48 -0
  10. package/cypress/support/commands.ts +75 -0
  11. package/cypress/support/component.ts +3 -0
  12. package/cypress/tsconfig.json +36 -0
  13. package/cypress.config.js +8 -0
  14. package/dist/.tsbuildinfo +1 -1
  15. package/dist/BreadcrumbsItem.d.ts +2 -0
  16. package/dist/BreadcrumbsItem.js +5 -0
  17. package/dist/BreadcrumbsItem.js.map +1 -1
  18. package/dist/Calendar.d.ts +2 -0
  19. package/dist/Calendar.js +4 -2
  20. package/dist/Calendar.js.map +1 -1
  21. package/dist/ColorPicker.js +1 -0
  22. package/dist/ColorPicker.js.map +1 -1
  23. package/dist/DateComponentBase.d.ts +9 -0
  24. package/dist/DateComponentBase.js +11 -0
  25. package/dist/DateComponentBase.js.map +1 -1
  26. package/dist/DateRangePicker.d.ts +0 -5
  27. package/dist/DateRangePicker.js +0 -7
  28. package/dist/DateRangePicker.js.map +1 -1
  29. package/dist/DayPicker.d.ts +2 -3
  30. package/dist/DayPicker.js +25 -21
  31. package/dist/DayPicker.js.map +1 -1
  32. package/dist/Dialog.js +2 -2
  33. package/dist/Dialog.js.map +1 -1
  34. package/dist/FileUploader.d.ts +3 -3
  35. package/dist/FileUploader.js +3 -3
  36. package/dist/FileUploader.js.map +1 -1
  37. package/dist/Link.d.ts +1 -1
  38. package/dist/Link.js.map +1 -1
  39. package/dist/List.js +4 -3
  40. package/dist/List.js.map +1 -1
  41. package/dist/MonthPicker.d.ts +40 -2
  42. package/dist/MonthPicker.js +83 -10
  43. package/dist/MonthPicker.js.map +1 -1
  44. package/dist/MultiComboBox.js +8 -4
  45. package/dist/MultiComboBox.js.map +1 -1
  46. package/dist/Popover.js +2 -2
  47. package/dist/Popover.js.map +1 -1
  48. package/dist/Popup.js +0 -2
  49. package/dist/Popup.js.map +1 -1
  50. package/dist/TextArea.d.ts +1 -1
  51. package/dist/TextArea.js +7 -4
  52. package/dist/TextArea.js.map +1 -1
  53. package/dist/YearPicker.d.ts +39 -1
  54. package/dist/YearPicker.js +82 -9
  55. package/dist/YearPicker.js.map +1 -1
  56. package/dist/css/themes/Avatar.css +1 -1
  57. package/dist/css/themes/AvatarGroup.css +1 -1
  58. package/dist/css/themes/Bar.css +1 -1
  59. package/dist/css/themes/Breadcrumbs.css +1 -1
  60. package/dist/css/themes/BrowserScrollbar.css +1 -1
  61. package/dist/css/themes/BusyIndicator.css +1 -1
  62. package/dist/css/themes/Button.css +1 -1
  63. package/dist/css/themes/Calendar.css +1 -1
  64. package/dist/css/themes/CalendarHeader.css +1 -1
  65. package/dist/css/themes/CalendarLegend.css +1 -1
  66. package/dist/css/themes/CalendarLegendItem.css +1 -1
  67. package/dist/css/themes/Card.css +1 -1
  68. package/dist/css/themes/CardHeader.css +1 -1
  69. package/dist/css/themes/Carousel.css +1 -1
  70. package/dist/css/themes/CheckBox.css +1 -1
  71. package/dist/css/themes/ColorPalette.css +1 -1
  72. package/dist/css/themes/ColorPaletteItem.css +1 -1
  73. package/dist/css/themes/ColorPalettePopover.css +1 -1
  74. package/dist/css/themes/ColorPicker.css +1 -1
  75. package/dist/css/themes/ComboBox.css +1 -1
  76. package/dist/css/themes/DatePicker.css +1 -1
  77. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  78. package/dist/css/themes/DayPicker.css +1 -1
  79. package/dist/css/themes/Dialog.css +1 -1
  80. package/dist/css/themes/FileUploader.css +1 -1
  81. package/dist/css/themes/Form.css +1 -1
  82. package/dist/css/themes/FormItem.css +1 -1
  83. package/dist/css/themes/FormLabelSpan.css +1 -1
  84. package/dist/css/themes/GrowingButton.css +1 -1
  85. package/dist/css/themes/Icon.css +1 -1
  86. package/dist/css/themes/Input.css +1 -1
  87. package/dist/css/themes/InputIcon.css +1 -1
  88. package/dist/css/themes/InputSharedStyles.css +1 -1
  89. package/dist/css/themes/Link.css +1 -1
  90. package/dist/css/themes/List.css +1 -1
  91. package/dist/css/themes/ListItem.css +1 -1
  92. package/dist/css/themes/ListItemBase.css +1 -1
  93. package/dist/css/themes/ListItemCustom.css +1 -1
  94. package/dist/css/themes/ListItemGroup.css +1 -1
  95. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  96. package/dist/css/themes/ListItemIcon.css +1 -1
  97. package/dist/css/themes/Menu.css +1 -1
  98. package/dist/css/themes/MenuItem.css +1 -1
  99. package/dist/css/themes/MessageStrip.css +1 -1
  100. package/dist/css/themes/MonthPicker.css +1 -1
  101. package/dist/css/themes/MultiComboBox.css +1 -1
  102. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  103. package/dist/css/themes/MultiInput.css +1 -1
  104. package/dist/css/themes/NavigationMenu.css +1 -1
  105. package/dist/css/themes/NavigationMenuItem.css +1 -1
  106. package/dist/css/themes/OptionBase.css +1 -1
  107. package/dist/css/themes/Panel.css +1 -1
  108. package/dist/css/themes/Popover.css +1 -1
  109. package/dist/css/themes/PopupsCommon.css +1 -1
  110. package/dist/css/themes/ProgressIndicator.css +1 -1
  111. package/dist/css/themes/RadioButton.css +1 -1
  112. package/dist/css/themes/RangeSlider.css +1 -1
  113. package/dist/css/themes/RatingIndicator.css +1 -1
  114. package/dist/css/themes/ResponsivePopover.css +1 -1
  115. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  116. package/dist/css/themes/SegmentedButton.css +1 -1
  117. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  118. package/dist/css/themes/Select.css +1 -1
  119. package/dist/css/themes/SliderBase.css +1 -1
  120. package/dist/css/themes/SplitButton.css +1 -1
  121. package/dist/css/themes/StepInput.css +1 -1
  122. package/dist/css/themes/SuggestionItem.css +1 -1
  123. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  124. package/dist/css/themes/Switch.css +1 -1
  125. package/dist/css/themes/TabContainer.css +1 -1
  126. package/dist/css/themes/TabInOverflow.css +1 -1
  127. package/dist/css/themes/TabInStrip.css +1 -1
  128. package/dist/css/themes/TabSemanticIcon.css +1 -1
  129. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  130. package/dist/css/themes/Table.css +1 -1
  131. package/dist/css/themes/TableCellBase.css +1 -1
  132. package/dist/css/themes/TableHeaderRow.css +1 -1
  133. package/dist/css/themes/TableRow.css +1 -1
  134. package/dist/css/themes/TableRowBase.css +1 -1
  135. package/dist/css/themes/Tag.css +1 -1
  136. package/dist/css/themes/Text.css +1 -1
  137. package/dist/css/themes/TextArea.css +1 -1
  138. package/dist/css/themes/TimePicker.css +1 -1
  139. package/dist/css/themes/Toast.css +1 -1
  140. package/dist/css/themes/ToggleButton.css +1 -1
  141. package/dist/css/themes/Token.css +1 -1
  142. package/dist/css/themes/Tokenizer.css +1 -1
  143. package/dist/css/themes/TokenizerPopover.css +1 -1
  144. package/dist/css/themes/Toolbar.css +1 -1
  145. package/dist/css/themes/ToolbarPopover.css +1 -1
  146. package/dist/css/themes/TreeItem.css +1 -1
  147. package/dist/css/themes/ValueStateMessage.css +1 -1
  148. package/dist/css/themes/YearPicker.css +1 -1
  149. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  150. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  151. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  152. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  153. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  156. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  157. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  158. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  159. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  160. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  161. package/dist/custom-elements-internal.json +274 -3
  162. package/dist/custom-elements.json +222 -3
  163. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  213. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  214. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  215. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  216. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  217. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  218. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  219. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  220. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  221. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  222. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  223. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  224. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  225. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  226. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  227. package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
  228. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  229. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  230. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  231. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  232. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  233. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  234. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  235. package/dist/generated/templates/DateRangePickerTemplate.lit.js +1 -1
  236. package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -1
  237. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  238. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  239. package/dist/generated/templates/DateTimePickerTemplate.lit.js +1 -1
  240. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  241. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  242. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  243. package/dist/generated/templates/MonthPickerTemplate.lit.js +2 -2
  244. package/dist/generated/templates/MonthPickerTemplate.lit.js.map +1 -1
  245. package/dist/generated/templates/YearPickerTemplate.lit.js +2 -2
  246. package/dist/generated/templates/YearPickerTemplate.lit.js.map +1 -1
  247. package/dist/generated/themes/Avatar.css.js +1 -1
  248. package/dist/generated/themes/Avatar.css.js.map +1 -1
  249. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  250. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  251. package/dist/generated/themes/Bar.css.js +1 -1
  252. package/dist/generated/themes/Bar.css.js.map +1 -1
  253. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  254. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  255. package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
  256. package/dist/generated/themes/BrowserScrollbar.css.js.map +1 -1
  257. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  258. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  259. package/dist/generated/themes/Button.css.js +1 -1
  260. package/dist/generated/themes/Button.css.js.map +1 -1
  261. package/dist/generated/themes/Calendar.css.js +1 -1
  262. package/dist/generated/themes/Calendar.css.js.map +1 -1
  263. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  264. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  265. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  266. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  267. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  268. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  269. package/dist/generated/themes/Card.css.js +1 -1
  270. package/dist/generated/themes/Card.css.js.map +1 -1
  271. package/dist/generated/themes/CardHeader.css.js +1 -1
  272. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  273. package/dist/generated/themes/Carousel.css.js +1 -1
  274. package/dist/generated/themes/Carousel.css.js.map +1 -1
  275. package/dist/generated/themes/CheckBox.css.js +1 -1
  276. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  277. package/dist/generated/themes/ColorPalette.css.js +1 -1
  278. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  279. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  280. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  281. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  282. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  283. package/dist/generated/themes/ColorPicker.css.js +1 -1
  284. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  285. package/dist/generated/themes/ComboBox.css.js +1 -1
  286. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  287. package/dist/generated/themes/DatePicker.css.js +1 -1
  288. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  289. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  290. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  291. package/dist/generated/themes/DayPicker.css.js +1 -1
  292. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  293. package/dist/generated/themes/Dialog.css.js +1 -1
  294. package/dist/generated/themes/Dialog.css.js.map +1 -1
  295. package/dist/generated/themes/FileUploader.css.js +1 -1
  296. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  297. package/dist/generated/themes/Form.css.js +1 -1
  298. package/dist/generated/themes/Form.css.js.map +1 -1
  299. package/dist/generated/themes/FormItem.css.js +1 -1
  300. package/dist/generated/themes/FormItem.css.js.map +1 -1
  301. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  302. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  303. package/dist/generated/themes/GrowingButton.css.js +1 -1
  304. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  305. package/dist/generated/themes/Icon.css.js +1 -1
  306. package/dist/generated/themes/Icon.css.js.map +1 -1
  307. package/dist/generated/themes/Input.css.js +1 -1
  308. package/dist/generated/themes/Input.css.js.map +1 -1
  309. package/dist/generated/themes/InputIcon.css.js +1 -1
  310. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  311. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  312. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  313. package/dist/generated/themes/Link.css.js +1 -1
  314. package/dist/generated/themes/Link.css.js.map +1 -1
  315. package/dist/generated/themes/List.css.js +1 -1
  316. package/dist/generated/themes/List.css.js.map +1 -1
  317. package/dist/generated/themes/ListItem.css.js +1 -1
  318. package/dist/generated/themes/ListItem.css.js.map +1 -1
  319. package/dist/generated/themes/ListItemBase.css.js +1 -1
  320. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  321. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  322. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  323. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  324. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  325. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  326. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  327. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  328. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  329. package/dist/generated/themes/Menu.css.js +1 -1
  330. package/dist/generated/themes/Menu.css.js.map +1 -1
  331. package/dist/generated/themes/MenuItem.css.js +1 -1
  332. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  333. package/dist/generated/themes/MessageStrip.css.js +1 -1
  334. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  335. package/dist/generated/themes/MonthPicker.css.js +1 -1
  336. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  337. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  338. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  339. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  340. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  341. package/dist/generated/themes/MultiInput.css.js +1 -1
  342. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  343. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  344. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  345. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  346. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  347. package/dist/generated/themes/OptionBase.css.js +1 -1
  348. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  349. package/dist/generated/themes/Panel.css.js +1 -1
  350. package/dist/generated/themes/Panel.css.js.map +1 -1
  351. package/dist/generated/themes/Popover.css.js +1 -1
  352. package/dist/generated/themes/Popover.css.js.map +1 -1
  353. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  354. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  355. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  356. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  357. package/dist/generated/themes/RadioButton.css.js +1 -1
  358. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  359. package/dist/generated/themes/RangeSlider.css.js +1 -1
  360. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  361. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  362. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  363. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  364. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  365. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  366. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  367. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  368. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  369. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  370. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  371. package/dist/generated/themes/Select.css.js +1 -1
  372. package/dist/generated/themes/Select.css.js.map +1 -1
  373. package/dist/generated/themes/SliderBase.css.js +1 -1
  374. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  375. package/dist/generated/themes/SplitButton.css.js +1 -1
  376. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  377. package/dist/generated/themes/StepInput.css.js +1 -1
  378. package/dist/generated/themes/StepInput.css.js.map +1 -1
  379. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  380. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  381. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  382. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  383. package/dist/generated/themes/Switch.css.js +1 -1
  384. package/dist/generated/themes/Switch.css.js.map +1 -1
  385. package/dist/generated/themes/TabContainer.css.js +1 -1
  386. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  387. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  388. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  389. package/dist/generated/themes/TabInStrip.css.js +1 -1
  390. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  391. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  392. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  393. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  394. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  395. package/dist/generated/themes/Table.css.js +1 -1
  396. package/dist/generated/themes/Table.css.js.map +1 -1
  397. package/dist/generated/themes/TableCellBase.css.js +1 -1
  398. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  399. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  400. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  401. package/dist/generated/themes/TableRow.css.js +1 -1
  402. package/dist/generated/themes/TableRow.css.js.map +1 -1
  403. package/dist/generated/themes/TableRowBase.css.js +1 -1
  404. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  405. package/dist/generated/themes/Tag.css.js +1 -1
  406. package/dist/generated/themes/Tag.css.js.map +1 -1
  407. package/dist/generated/themes/Text.css.js +1 -1
  408. package/dist/generated/themes/Text.css.js.map +1 -1
  409. package/dist/generated/themes/TextArea.css.js +1 -1
  410. package/dist/generated/themes/TextArea.css.js.map +1 -1
  411. package/dist/generated/themes/TimePicker.css.js +1 -1
  412. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  413. package/dist/generated/themes/Toast.css.js +1 -1
  414. package/dist/generated/themes/Toast.css.js.map +1 -1
  415. package/dist/generated/themes/ToggleButton.css.js +1 -1
  416. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  417. package/dist/generated/themes/Token.css.js +1 -1
  418. package/dist/generated/themes/Token.css.js.map +1 -1
  419. package/dist/generated/themes/Tokenizer.css.js +1 -1
  420. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  421. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  422. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  423. package/dist/generated/themes/Toolbar.css.js +1 -1
  424. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  425. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  426. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  427. package/dist/generated/themes/TreeItem.css.js +1 -1
  428. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  429. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  430. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  431. package/dist/generated/themes/YearPicker.css.js +1 -1
  432. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  433. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  434. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  435. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  436. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  437. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  438. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  439. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  440. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  441. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  442. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  443. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  444. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  445. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  446. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  447. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  448. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  449. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  450. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  451. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  452. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  453. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  454. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  455. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  456. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  457. package/dist/types/CalendarWeekNumbering.d.ts +44 -0
  458. package/dist/types/CalendarWeekNumbering.js +46 -0
  459. package/dist/types/CalendarWeekNumbering.js.map +1 -0
  460. package/dist/vscode.html-custom-data.json +62 -2
  461. package/dist/web-types.json +73 -5
  462. package/package.json +11 -10
  463. package/src/Breadcrumbs.hbs +1 -0
  464. package/src/Calendar.hbs +5 -2
  465. package/src/ColorPalettePopover.hbs +1 -1
  466. package/src/DatePickerPopover.hbs +1 -0
  467. package/src/DateRangePicker.hbs +1 -0
  468. package/src/DateTimePickerPopover.hbs +1 -0
  469. package/src/Link.hbs +1 -0
  470. package/src/MonthPicker.hbs +2 -0
  471. package/src/YearPicker.hbs +3 -1
  472. package/src/i18n/messagebundle_ar.properties +9 -0
  473. package/src/i18n/messagebundle_bg.properties +9 -0
  474. package/src/i18n/messagebundle_ca.properties +9 -0
  475. package/src/i18n/messagebundle_cnr.properties +9 -0
  476. package/src/i18n/messagebundle_cs.properties +9 -0
  477. package/src/i18n/messagebundle_cy.properties +9 -0
  478. package/src/i18n/messagebundle_da.properties +9 -0
  479. package/src/i18n/messagebundle_de.properties +9 -0
  480. package/src/i18n/messagebundle_el.properties +9 -0
  481. package/src/i18n/messagebundle_en.properties +9 -0
  482. package/src/i18n/messagebundle_en_GB.properties +9 -0
  483. package/src/i18n/messagebundle_en_US_sappsd.properties +9 -0
  484. package/src/i18n/messagebundle_en_US_saprigi.properties +9 -0
  485. package/src/i18n/messagebundle_en_US_saptrc.properties +197 -188
  486. package/src/i18n/messagebundle_es.properties +9 -0
  487. package/src/i18n/messagebundle_es_MX.properties +9 -0
  488. package/src/i18n/messagebundle_et.properties +9 -0
  489. package/src/i18n/messagebundle_fi.properties +9 -0
  490. package/src/i18n/messagebundle_fr.properties +9 -0
  491. package/src/i18n/messagebundle_fr_CA.properties +9 -0
  492. package/src/i18n/messagebundle_hi.properties +9 -0
  493. package/src/i18n/messagebundle_hr.properties +9 -0
  494. package/src/i18n/messagebundle_hu.properties +11 -2
  495. package/src/i18n/messagebundle_id.properties +11 -2
  496. package/src/i18n/messagebundle_it.properties +9 -0
  497. package/src/i18n/messagebundle_iw.properties +9 -0
  498. package/src/i18n/messagebundle_ja.properties +9 -0
  499. package/src/i18n/messagebundle_kk.properties +9 -0
  500. package/src/i18n/messagebundle_ko.properties +9 -0
  501. package/src/i18n/messagebundle_lt.properties +9 -0
  502. package/src/i18n/messagebundle_lv.properties +9 -0
  503. package/src/i18n/messagebundle_mk.properties +9 -0
  504. package/src/i18n/messagebundle_ms.properties +9 -0
  505. package/src/i18n/messagebundle_nl.properties +9 -0
  506. package/src/i18n/messagebundle_no.properties +9 -0
  507. package/src/i18n/messagebundle_pl.properties +9 -0
  508. package/src/i18n/messagebundle_pt.properties +9 -0
  509. package/src/i18n/messagebundle_pt_PT.properties +9 -0
  510. package/src/i18n/messagebundle_ro.properties +9 -0
  511. package/src/i18n/messagebundle_ru.properties +10 -1
  512. package/src/i18n/messagebundle_sh.properties +9 -0
  513. package/src/i18n/messagebundle_sk.properties +9 -0
  514. package/src/i18n/messagebundle_sl.properties +9 -0
  515. package/src/i18n/messagebundle_sr.properties +9 -0
  516. package/src/i18n/messagebundle_sv.properties +9 -0
  517. package/src/i18n/messagebundle_th.properties +9 -0
  518. package/src/i18n/messagebundle_tr.properties +9 -0
  519. package/src/i18n/messagebundle_uk.properties +9 -0
  520. package/src/i18n/messagebundle_vi.properties +9 -0
  521. package/src/i18n/messagebundle_zh_CN.properties +9 -0
  522. package/src/i18n/messagebundle_zh_TW.properties +9 -0
  523. package/src/themes/BrowserScrollbar.css +8 -8
  524. package/src/themes/MenuItem.css +12 -2
  525. package/src/themes/MonthPicker.css +46 -26
  526. package/src/themes/TextArea.css +6 -6
  527. package/src/themes/YearPicker.css +41 -22
  528. package/src/themes/base/MonthPicker-parameters.css +6 -13
  529. package/src/themes/base/YearPicker-parameters.css +6 -13
  530. package/src/themes/sap_fiori_3/parameters-bundle.css +0 -1
  531. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +0 -1
  532. package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +0 -6
  533. package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +0 -6
  534. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +0 -1
  535. package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +0 -6
  536. package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +0 -6
  537. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +0 -1
  538. package/src/themes/sap_horizon/MonthPicker-parameters.css +0 -11
  539. package/src/themes/sap_horizon/YearPicker-parameters.css +0 -10
  540. package/src/themes/sap_horizon/parameters-bundle.css +0 -1
  541. package/src/themes/sap_horizon_dark/MonthPicker-parameters.css +0 -11
  542. package/src/themes/sap_horizon_dark/YearPicker-parameters.css +0 -10
  543. package/src/themes/sap_horizon_dark/parameters-bundle.css +0 -1
  544. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
  545. package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -1
  546. package/src/themes/sap_horizon_hcb/MonthPicker-parameters.css +0 -7
  547. package/src/themes/sap_horizon_hcb/YearPicker-parameters.css +0 -7
  548. package/src/themes/sap_horizon_hcb/parameters-bundle.css +0 -1
  549. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
  550. package/src/themes/sap_horizon_hcw/MonthPicker-parameters.css +0 -7
  551. package/src/themes/sap_horizon_hcw/YearPicker-parameters.css +0 -7
  552. package/src/themes/sap_horizon_hcw/parameters-bundle.css +0 -1
  553. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
  554. package/src/themes/base/BrowserScrollbar-parameters.css +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as DialogBeforeCloseEventDetail } 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\nimport {\n\tDIALOG_HEADER_ARIA_ROLE_DESCRIPTION,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE,\n} from \"./generated/i18n/i18n-defaults.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.Negative | ValueState.Critical | ValueState.Positive | ValueState.Information;\n/**\n * Defines the icons corresponding to the dialog's state.\n */\nconst ICON_PER_STATE: Record<ValueStateWithIcon, string> = {\n\t[ValueState.Negative]: \"error\",\n\t[ValueState.Critical]: \"alert\",\n\t[ValueState.Positive]: \"sys-enter-2\",\n\t[ValueState.Information]: \"information\",\n};\n\n/**\n * @class\n * ### Overview\n * The `ui5-dialog` 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 `ui5-dialog` 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 *\n * The `ui5-dialog` is modal, which means that a 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 `ui5-dialog` is fully customizable.\n *\n * ### Structure\n * A `ui5-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-dialog` 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 `draggable` accordingly.\n\n *\n * ### Responsive Behavior\n * The `stretch` property can be used to stretch the\n * `ui5-dialog` on full screen.\n *\n * **Note:** When a `ui5-bar` is used in the header or in the footer, you should remove the default dialog's paddings.\n *\n * For more information see the sample \"Bar in Header/Footer\".\n\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * When the `ui5-dialog` has the `draggable` property set to `true` and the header is focused, the user can move the dialog\n * with the following keyboard shortcuts:\n *\n * - [Up] or [Down] arrow keys - Move the dialog up/down.\n * - [Left] or [Right] arrow keys - Move the dialog left/right.\n *\n * #### Resizing\n * When the `ui5-dialog` has the `resizable` property set to `true` and the header is focused, the user can change the size of the dialog\n * with the following keyboard shortcuts:\n *\n * - [Shift] + [Up] or [Down] - Decrease/Increase the height of the dialog.\n * - [Shift] + [Left] or [Right] - Decrease/Increase the width of the dialog.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Dialog\";`\n *\n * @constructor\n * @extends Popup\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-dialog\",\n\ttemplate: DialogTemplate,\n\tstyles: [\n\t\tPopup.styles,\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tdialogCSS,\n\t],\n\tdependencies: [\n\t\tIcon,\n\t\t...Popup.dependencies,\n\t],\n})\nclass Dialog extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\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 *\n\t * **Note:** The component will be stretched to approximately\n\t * 90% of the viewport.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstretch = false;\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 *\n\t * **Note:** The component can be draggable only in desktop mode.\n\t *\n\t * **Note:** 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 * @default false\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdraggable = false;\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 *\n\t * **Note:** The component can be resizable only in desktop mode.\n\t *\n\t * **Note:** Upon resizing, externally defined height and width styling will be ignored.\n\t * @default false\n\t * @since 1.0.0-rc.10\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tresizable = false;\n\n\t/**\n\t * Defines the state of the `Dialog`.\n\t *\n\t * **Note:** If `\"Negative\"` and `\"Critical\"` states is set, it will change the\n\t * accessibility role to \"alertdialog\", if the accessibleRole property is set to `\"Dialog\"`.\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tstate: `${ValueState}` = \"None\";\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\t_draggedOrResized = false;\n\n\t/**\n\t * Defines the header HTML Element.\n\t *\n\t * **Note:** When a `ui5-bar` is used in the header, you should remove the default dialog's paddings.\n\t *\n\t * **Note:** If `header` slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * `accessibleName` should be used.\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 * **Note:** When a `ui5-bar` is used in the footer, you should remove the default dialog's paddings.\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Array<HTMLElement>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._screenResizeHandler = this._screenResize.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 async onDefine() {\n\t\tDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\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\tget isModal() {\n\t\treturn true;\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 ariaRoleDescriptionHeaderText() {\n\t\treturn (this.resizable || this.draggable) ? Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget effectiveAriaDescribedBy() {\n\t\treturn (this.resizable || this.draggable) ? `${this._id}-descr` : undefined;\n\t}\n\n\tget ariaDescribedByHeaderTextResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggableAndResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE);\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.Negative || this.state === ValueState.Critical) {\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}\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._draggedOrResized) {\n\t\t\tthis._center();\n\t\t}\n\t}\n\n\t_screenResize() {\n\t\tthis._center();\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\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._draggedOrResized = true;\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._draggedOrResized = true;\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\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._draggedOrResized = true;\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\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;\nexport type {\n\tDialogBeforeCloseEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.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 { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as DialogBeforeCloseEventDetail } 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\nimport {\n\tDIALOG_HEADER_ARIA_ROLE_DESCRIPTION,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DialogTemplate from \"./generated/templates/DialogTemplate.lit.js\";\n// Styles\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.Negative | ValueState.Critical | ValueState.Positive | ValueState.Information;\n/**\n * Defines the icons corresponding to the dialog's state.\n */\nconst ICON_PER_STATE: Record<ValueStateWithIcon, string> = {\n\t[ValueState.Negative]: \"error\",\n\t[ValueState.Critical]: \"alert\",\n\t[ValueState.Positive]: \"sys-enter-2\",\n\t[ValueState.Information]: \"information\",\n};\n\n/**\n * @class\n * ### Overview\n * The `ui5-dialog` 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 `ui5-dialog` 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 *\n * The `ui5-dialog` is modal, which means that a 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 `ui5-dialog` is fully customizable.\n *\n * ### Structure\n * A `ui5-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-dialog` 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 `draggable` accordingly.\n\n *\n * ### Responsive Behavior\n * The `stretch` property can be used to stretch the\n * `ui5-dialog` on full screen.\n *\n * **Note:** When a `ui5-bar` is used in the header or in the footer, you should remove the default dialog's paddings.\n *\n * For more information see the sample \"Bar in Header/Footer\".\n\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * When the `ui5-dialog` has the `draggable` property set to `true` and the header is focused, the user can move the dialog\n * with the following keyboard shortcuts:\n *\n * - [Up] or [Down] arrow keys - Move the dialog up/down.\n * - [Left] or [Right] arrow keys - Move the dialog left/right.\n *\n * #### Resizing\n * When the `ui5-dialog` has the `resizable` property set to `true` and the header is focused, the user can change the size of the dialog\n * with the following keyboard shortcuts:\n *\n * - [Shift] + [Up] or [Down] - Decrease/Increase the height of the dialog.\n * - [Shift] + [Left] or [Right] - Decrease/Increase the width of the dialog.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Dialog\";`\n *\n * @constructor\n * @extends Popup\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-dialog\",\n\ttemplate: DialogTemplate,\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tdialogCSS,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\tdependencies: [\n\t\tIcon,\n\t\t...Popup.dependencies,\n\t],\n})\nclass Dialog extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\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 *\n\t * **Note:** The component will be stretched to approximately\n\t * 90% of the viewport.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstretch = false;\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 *\n\t * **Note:** The component can be draggable only in desktop mode.\n\t *\n\t * **Note:** 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 * @default false\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdraggable = false;\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 *\n\t * **Note:** The component can be resizable only in desktop mode.\n\t *\n\t * **Note:** Upon resizing, externally defined height and width styling will be ignored.\n\t * @default false\n\t * @since 1.0.0-rc.10\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tresizable = false;\n\n\t/**\n\t * Defines the state of the `Dialog`.\n\t *\n\t * **Note:** If `\"Negative\"` and `\"Critical\"` states is set, it will change the\n\t * accessibility role to \"alertdialog\", if the accessibleRole property is set to `\"Dialog\"`.\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tstate: `${ValueState}` = \"None\";\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\t_draggedOrResized = false;\n\n\t/**\n\t * Defines the header HTML Element.\n\t *\n\t * **Note:** When a `ui5-bar` is used in the header, you should remove the default dialog's paddings.\n\t *\n\t * **Note:** If `header` slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * `accessibleName` should be used.\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 * **Note:** When a `ui5-bar` is used in the footer, you should remove the default dialog's paddings.\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Array<HTMLElement>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._screenResizeHandler = this._screenResize.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 async onDefine() {\n\t\tDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\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\tget isModal() {\n\t\treturn true;\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 ariaRoleDescriptionHeaderText() {\n\t\treturn (this.resizable || this.draggable) ? Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget effectiveAriaDescribedBy() {\n\t\treturn (this.resizable || this.draggable) ? `${this._id}-descr` : undefined;\n\t}\n\n\tget ariaDescribedByHeaderTextResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggableAndResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE);\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.Negative || this.state === ValueState.Critical) {\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}\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._draggedOrResized) {\n\t\t\tthis._center();\n\t\t}\n\t}\n\n\t_screenResize() {\n\t\tthis._center();\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\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._draggedOrResized = true;\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._draggedOrResized = true;\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\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._draggedOrResized = true;\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\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;\nexport type {\n\tDialogBeforeCloseEventDetail,\n};\n"]}
@@ -8,7 +8,7 @@ type FileData = {
8
8
  fileName: string;
9
9
  fileSize: number;
10
10
  };
11
- type FileUploaderFileSizeExceededEventDetail = {
11
+ type FileUploaderFileSizeExceedEventDetail = {
12
12
  filesData: Array<FileData>;
13
13
  };
14
14
  type FileUploaderChangeEventDetail = {
@@ -153,7 +153,7 @@ declare class FileUploader extends UI5Element implements IFormInputElement {
153
153
  _updateValue(files: FileList | null): void;
154
154
  /**
155
155
  * Checks whether all files are below `maxFileSize` (if set),
156
- * and fires a `fileSizeExceeded` event if any file exceeds it.
156
+ * and fires a `file-size-exceed` event if any file exceeds it.
157
157
  * @private
158
158
  */
159
159
  _validateFiles(changedFiles: FileList): FileList;
@@ -199,4 +199,4 @@ declare class FileUploader extends UI5Element implements IFormInputElement {
199
199
  static onDefine(): Promise<void>;
200
200
  }
201
201
  export default FileUploader;
202
- export type { FileData, FileUploaderChangeEventDetail, FileUploaderFileSizeExceededEventDetail, };
202
+ export type { FileData, FileUploaderChangeEventDetail, FileUploaderFileSizeExceedEventDetail, };
@@ -202,13 +202,13 @@ let FileUploader = FileUploader_1 = class FileUploader extends UI5Element {
202
202
  }
203
203
  /**
204
204
  * Checks whether all files are below `maxFileSize` (if set),
205
- * and fires a `fileSizeExceeded` event if any file exceeds it.
205
+ * and fires a `file-size-exceed` event if any file exceeds it.
206
206
  * @private
207
207
  */
208
208
  _validateFiles(changedFiles) {
209
209
  const exceededFilesData = this.maxFileSize ? this._getExceededFiles(changedFiles) : [];
210
210
  if (exceededFilesData.length) {
211
- this.fireEvent("fileSizeExceeded", {
211
+ this.fireEvent("file-size-exceed", {
212
212
  filesData: exceededFilesData,
213
213
  });
214
214
  changedFiles = new DataTransfer().files;
@@ -413,7 +413,7 @@ FileUploader = FileUploader_1 = __decorate([
413
413
  * @public
414
414
  */
415
415
  ,
416
- event("fileSizeExceeded", {
416
+ event("file-size-exceed", {
417
417
  detail: {
418
418
  /**
419
419
  * @public
@@ -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 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 type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.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\";\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\";\n\nconst convertBytesToMegabytes = (bytes: number) => (bytes / 1024) / 1024;\n\ntype FileData = {\n\tfileName: string,\n\tfileSize: number,\n}\n\ntype FileUploaderFileSizeExceededEventDetail = {\n\tfilesData: Array<FileData>,\n}\n\ntype FileUploaderChangeEventDetail = {\n\tfiles: FileList | null,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-file-uploader` 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 *\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 *\n * And, similar to all input based components, the FileUploader supports \"valueState\", \"placeholder\", \"name\", and \"disabled\" properties.\n *\n * For the `ui5-file-uploader`\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/FileUploader.js\";`\n * @constructor\n * @since 1.0.0-rc.6\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-file-uploader\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: litRender,\n\tstyles: [\n\t\tFileUploaderCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t],\n\ttemplate: FileUploaderTemplate,\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 *\n * **Note:** 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 * @param {FileList | null} files The current files.\n * @public\n */\n@event<FileUploaderChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfiles: { type: FileList },\n\t},\n})\n/**\n * Event is fired when the size of a file is above the `maxFileSize` property value.\n * @param {Array<FileData>} filesData An array of `FileData` objects containing the`fileName` and `fileSize` in MB of each file that exceeds the upload limit.\n * @since 2.2.0\n * @public\n */\n@event<FileUploaderFileSizeExceededEventDetail>(\"fileSizeExceeded\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfilesData: { type: Array<FileData> },\n\t},\n})\nclass FileUploader extends UI5Element implements IFormInputElement {\n\t/**\n\t * Comma-separated list of file types that the component should accept.\n\t *\n\t * **Note:** Please make sure you are adding the `.` in front on the file type, e.g. `.png` in case you want to accept png's only.\n\t * @default undefined\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 * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideInput = false;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Allows multiple files to be chosen.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmultiple = false;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\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 * @default undefined\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 * @default \"\"\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Defines the maximum file size in megabytes which prevents the upload if at least one file exceeds it.\n\t * @default undefined\n\t * @since 2.2.0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmaxFileSize?: number;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\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 * **Note:** If no content is provided in this slot, the component will only consist of an input field and will not be interactable using the keyboard.\n\t * Also it is not recommended to use any non-interactable components, as it may lead to poor accessibility experience.\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 *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Critical` or `Negative` value state.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\tstatic emptyInput: HTMLInputElement;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\t/**\n\t * @override\n\t */\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this.content[0];\n\t}\n\n\tget formFormattedValue() {\n\t\tif (this.files && this.name) {\n\t\t\tconst formData = new FormData();\n\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\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn null;\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_ondrag(e: DragEvent) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t}\n\n\t_ondrop(e: DragEvent) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tconst files = e.dataTransfer?.files;\n\n\t\tif (!files) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst validatedFiles = this._validateFiles(files);\n\n\t\tif (!this.value && !validatedFiles.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._input.files = validatedFiles;\n\t\tthis._updateValue(validatedFiles);\n\t\tthis.fireEvent<FileUploaderChangeEventDetail>(\"change\", {\n\t\t\tfiles: validatedFiles,\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 * @public\n\t * @default null\n\t */\n\tget files(): FileList | null {\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\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_onChange(e: Event) {\n\t\tlet changedFiles = (e.target as HTMLInputElement).files;\n\n\t\tif (changedFiles) {\n\t\t\tchangedFiles = this._validateFiles(changedFiles);\n\t\t}\n\n\t\tif (!this.value && !changedFiles?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._updateValue(changedFiles);\n\t\tthis.fireEvent<FileUploaderChangeEventDetail>(\"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/**\n\t * Checks whether all files are below `maxFileSize` (if set),\n\t * and fires a `fileSizeExceeded` event if any file exceeds it.\n\t * @private\n\t */\n\t_validateFiles(changedFiles: FileList): FileList {\n\t\tconst exceededFilesData = this.maxFileSize ? this._getExceededFiles(changedFiles) : [];\n\n\t\tif (exceededFilesData.length) {\n\t\t\tthis.fireEvent<FileUploaderFileSizeExceededEventDetail>(\"fileSizeExceeded\", {\n\t\t\t\tfilesData: exceededFilesData,\n\t\t\t});\n\t\t\tchangedFiles = new DataTransfer().files;\n\t\t}\n\n\t\treturn changedFiles;\n\t}\n\n\t_getExceededFiles(files: FileList): Array<FileData> {\n\t\tconst filesArray = Array.from(files);\n\t\tconst exceededFiles: Array<FileData> = [];\n\n\t\tfor (let i = 0; i < filesArray.length; i++) {\n\t\t\tconst fileSize = convertBytesToMegabytes(filesArray[i].size);\n\t\t\tif (fileSize > this.maxFileSize!) {\n\t\t\t\texceededFiles.push({\n\t\t\t\t\tfileName: filesArray[i].name,\n\t\t\t\t\tfileSize,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn exceededFiles;\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\topenValueStatePopover() {\n\t\tconst popover = this._getPopover();\n\n\t\tif (popover) {\n\t\t\tpopover.opener = this;\n\t\t\tpopover.open = true;\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tconst popover = this._getPopover();\n\n\t\tif (popover) {\n\t\t\tpopover.open = false;\n\t\t}\n\t}\n\n\t_getPopover(): Popover {\n\t\treturn this.shadowRoot!.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 _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\"Positive\": FileUploader.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": FileUploader.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Negative\": FileUploader.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": 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.Positive;\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\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"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.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\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;\nexport type {\n\tFileData,\n\tFileUploaderChangeEventDetail,\n\tFileUploaderFileSizeExceededEventDetail,\n};\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 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 type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.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\";\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\";\n\nconst convertBytesToMegabytes = (bytes: number) => (bytes / 1024) / 1024;\n\ntype FileData = {\n\tfileName: string,\n\tfileSize: number,\n}\n\ntype FileUploaderFileSizeExceedEventDetail = {\n\tfilesData: Array<FileData>,\n}\n\ntype FileUploaderChangeEventDetail = {\n\tfiles: FileList | null,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-file-uploader` 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 *\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 *\n * And, similar to all input based components, the FileUploader supports \"valueState\", \"placeholder\", \"name\", and \"disabled\" properties.\n *\n * For the `ui5-file-uploader`\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/FileUploader.js\";`\n * @constructor\n * @since 1.0.0-rc.6\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-file-uploader\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: litRender,\n\tstyles: [\n\t\tFileUploaderCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t],\n\ttemplate: FileUploaderTemplate,\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 *\n * **Note:** 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 * @param {FileList | null} files The current files.\n * @public\n */\n@event<FileUploaderChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfiles: { type: FileList },\n\t},\n})\n/**\n * Event is fired when the size of a file is above the `maxFileSize` property value.\n * @param {Array<FileData>} filesData An array of `FileData` objects containing the`fileName` and `fileSize` in MB of each file that exceeds the upload limit.\n * @since 2.2.0\n * @public\n */\n@event<FileUploaderFileSizeExceedEventDetail>(\"file-size-exceed\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfilesData: { type: Array<FileData> },\n\t},\n})\nclass FileUploader extends UI5Element implements IFormInputElement {\n\t/**\n\t * Comma-separated list of file types that the component should accept.\n\t *\n\t * **Note:** Please make sure you are adding the `.` in front on the file type, e.g. `.png` in case you want to accept png's only.\n\t * @default undefined\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 * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideInput = false;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Allows multiple files to be chosen.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmultiple = false;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\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 * @default undefined\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 * @default \"\"\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Defines the maximum file size in megabytes which prevents the upload if at least one file exceeds it.\n\t * @default undefined\n\t * @since 2.2.0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmaxFileSize?: number;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\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 * **Note:** If no content is provided in this slot, the component will only consist of an input field and will not be interactable using the keyboard.\n\t * Also it is not recommended to use any non-interactable components, as it may lead to poor accessibility experience.\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 *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Critical` or `Negative` value state.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\tstatic emptyInput: HTMLInputElement;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\t/**\n\t * @override\n\t */\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this.content[0];\n\t}\n\n\tget formFormattedValue() {\n\t\tif (this.files && this.name) {\n\t\t\tconst formData = new FormData();\n\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\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn null;\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_ondrag(e: DragEvent) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t}\n\n\t_ondrop(e: DragEvent) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tconst files = e.dataTransfer?.files;\n\n\t\tif (!files) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst validatedFiles = this._validateFiles(files);\n\n\t\tif (!this.value && !validatedFiles.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._input.files = validatedFiles;\n\t\tthis._updateValue(validatedFiles);\n\t\tthis.fireEvent<FileUploaderChangeEventDetail>(\"change\", {\n\t\t\tfiles: validatedFiles,\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 * @public\n\t * @default null\n\t */\n\tget files(): FileList | null {\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\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_onChange(e: Event) {\n\t\tlet changedFiles = (e.target as HTMLInputElement).files;\n\n\t\tif (changedFiles) {\n\t\t\tchangedFiles = this._validateFiles(changedFiles);\n\t\t}\n\n\t\tif (!this.value && !changedFiles?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._updateValue(changedFiles);\n\t\tthis.fireEvent<FileUploaderChangeEventDetail>(\"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/**\n\t * Checks whether all files are below `maxFileSize` (if set),\n\t * and fires a `file-size-exceed` event if any file exceeds it.\n\t * @private\n\t */\n\t_validateFiles(changedFiles: FileList): FileList {\n\t\tconst exceededFilesData = this.maxFileSize ? this._getExceededFiles(changedFiles) : [];\n\n\t\tif (exceededFilesData.length) {\n\t\t\tthis.fireEvent<FileUploaderFileSizeExceedEventDetail>(\"file-size-exceed\", {\n\t\t\t\tfilesData: exceededFilesData,\n\t\t\t});\n\t\t\tchangedFiles = new DataTransfer().files;\n\t\t}\n\n\t\treturn changedFiles;\n\t}\n\n\t_getExceededFiles(files: FileList): Array<FileData> {\n\t\tconst filesArray = Array.from(files);\n\t\tconst exceededFiles: Array<FileData> = [];\n\n\t\tfor (let i = 0; i < filesArray.length; i++) {\n\t\t\tconst fileSize = convertBytesToMegabytes(filesArray[i].size);\n\t\t\tif (fileSize > this.maxFileSize!) {\n\t\t\t\texceededFiles.push({\n\t\t\t\t\tfileName: filesArray[i].name,\n\t\t\t\t\tfileSize,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn exceededFiles;\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\topenValueStatePopover() {\n\t\tconst popover = this._getPopover();\n\n\t\tif (popover) {\n\t\t\tpopover.opener = this;\n\t\t\tpopover.open = true;\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tconst popover = this._getPopover();\n\n\t\tif (popover) {\n\t\t\tpopover.open = false;\n\t\t}\n\t}\n\n\t_getPopover(): Popover {\n\t\treturn this.shadowRoot!.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 _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\"Positive\": FileUploader.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": FileUploader.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Negative\": FileUploader.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": 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.Positive;\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\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"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.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\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;\nexport type {\n\tFileData,\n\tFileUploaderChangeEventDetail,\n\tFileUploaderFileSizeExceedEventDetail,\n};\n"]}
package/dist/Link.d.ts CHANGED
@@ -12,7 +12,7 @@ type LinkClickEventDetail = {
12
12
  metaKey: boolean;
13
13
  shiftKey: boolean;
14
14
  };
15
- type LinkAccessibilityAttributes = Pick<AccessibilityAttributes, "expanded" | "hasPopup">;
15
+ type LinkAccessibilityAttributes = Pick<AccessibilityAttributes, "expanded" | "hasPopup" | "current">;
16
16
  /**
17
17
  * @class
18
18
  *
package/dist/Link.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { markEvent } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport { getLocationHostname, getLocationPort, getLocationProtocol } from \"@ui5/webcomponents-base/dist/Location.js\";\nimport LinkDesign from \"./types/LinkDesign.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type LinkAccessibleRole from \"./types/LinkAccessibleRole.js\";\n// Template\nimport LinkTemplate from \"./generated/templates/LinkTemplate.lit.js\";\n\nimport { LINK_SUBTLE, LINK_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport linkCss from \"./generated/themes/Link.css.js\";\nimport Icon from \"./Icon.js\";\n\ntype LinkClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype LinkAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\">;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-link` is a hyperlink component that is used to navigate to other\n * apps and web pages, or to trigger actions.\n * It is a clickable text element, visualized in such a way that it stands out\n * from the standard text.\n * On hover, it changes its style to an underlined text to provide additional feedback to the user.\n *\n * ### Usage\n *\n * You can set the `ui5-link` to be enabled or disabled.\n *\n * To create a visual hierarchy in large lists of links, you can set the less important links as\n * `Subtle` or the more important ones as `Emphasized`,\n * by using the `design` property.\n *\n * If the `href` property is set, the link behaves as the HTML\n * anchor tag (`<a></a>`) and opens the specified URL in the given target frame (`target` property).\n * To specify where the linked content is opened, you can use the `target` property.\n *\n * ### Responsive behavior\n *\n * If there is not enough space, the text of the `ui5-link` becomes truncated.\n * If the `wrappingType` property is set to `\"Normal\"`, the text is displayed\n * on several lines instead of being truncated.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Link\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart icon - Used to style the provided icon within the link\n * @csspart endIcon - Used to style the provided endIcon within the link\n * @slot {Array<Node>} default - Defines the text of the component.\n *\n * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-link\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: LinkTemplate,\n\tstyles: linkCss,\n\tdependencies: [Icon],\n})\n/**\n * Fired when the component is triggered either with a mouse/tap\n * or by using the Enter key.\n * @public\n * @allowPreventDefault\n * @param {boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n */\n@event<LinkClickEventDetail>(\"click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\taltKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tctrlKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tmetaKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tshiftKey: { type: Boolean },\n\t},\n})\nclass Link extends UI5Element implements ITabbable {\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** When disabled, the click event cannot be triggered by the user.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t @property()\n\t tooltip?: string;\n\n\t/**\n\t * Defines the component href.\n\t *\n\t * **Note:** Standard hyperlink behavior is supported.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\thref?: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the component design.\n\t *\n\t * **Note:** Avaialble options are `Default`, `Subtle`, and `Emphasized`.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${LinkDesign}` = \"Default\";\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** By default the text will wrap. If \"None\" is set - the text will truncate.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the ARIA role of the component.\n\t *\n\t * **Note:** Use the <code>LinkAccessibleRole.Button</code> role in cases when navigation is not expected to occur and the href property is not defined.\n\t * @default \"Link\"\n\t * @public\n\t * @since 1.9.0\n\t */\n\t@property()\n\taccessibleRole: `${LinkAccessibleRole}` = \"Link\";\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * @public\n\t * @since 1.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: LinkAccessibilityAttributes = {};\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component before the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t@property({ noAttribute: true })\n\t_rel: string | undefined;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t/**\n\t * Indicates if the element is on focus.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t_dummyAnchor: HTMLAnchorElement;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._dummyAnchor = document.createElement(\"a\");\n\t}\n\n\tonBeforeRendering() {\n\t\tconst needsNoReferrer = this.target !== \"_self\"\n\t\t\t&& this.href\n\t\t\t&& this._isCrossOrigin(this.href);\n\n\t\tthis._rel = needsNoReferrer ? \"noreferrer noopener\" : undefined;\n\t}\n\n\t_isCrossOrigin(href: string) {\n\t\tthis._dummyAnchor.href = href;\n\n\t\treturn !(this._dummyAnchor.hostname === getLocationHostname()\n\t\t\t&& this._dummyAnchor.port === getLocationPort()\n\t\t\t&& this._dummyAnchor.protocol === getLocationProtocol());\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn this.forcedTabIndex;\n\t\t}\n\t\treturn (this.disabled || !this.textContent?.length) ? \"-1\" : \"0\";\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget hasLinkType() {\n\t\treturn this.design !== LinkDesign.Default;\n\t}\n\n\tstatic typeTextMappings(): Record<string, I18nText> {\n\t\treturn {\n\t\t\t\"Subtle\": LINK_SUBTLE,\n\t\t\t\"Emphasized\": LINK_EMPHASIZED,\n\t\t};\n\t}\n\n\tget linkTypeText() {\n\t\treturn Link.i18nBundle.getText(Link.typeTextMappings()[this.design]);\n\t}\n\n\tget parsedRef() {\n\t\treturn (this.href && this.href.length > 0) ? this.href : undefined;\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\tget _hasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n\n\tstatic async onDefine() {\n\t\tLink.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_onclick(e: MouseEvent | KeyboardEvent) {\n\t\tconst {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t} = e;\n\n\t\te.stopImmediatePropagation();\n\t\tmarkEvent(e, \"link\");\n\n\t\tconst executeEvent = this.fireEvent<LinkClickEventDetail>(\"click\", {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t}, true);\n\n\t\tif (!executeEvent) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tmarkEvent(e, \"link\");\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) && !this.href) {\n\t\t\tthis._onclick(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tmarkEvent(e, \"link\");\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!isSpace(e)) {\n\t\t\tmarkEvent(e, \"link\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onclick(e);\n\n\t\tif (this.href && !e.defaultPrevented) {\n\t\t\tconst customEvent = new MouseEvent(\"click\");\n\n\t\t\tcustomEvent.stopImmediatePropagation();\n\t\t\tthis.getDomRef()!.dispatchEvent(customEvent);\n\t\t}\n\t}\n}\n\nLink.define();\n\nexport default Link;\n\nexport type {\n\tLinkClickEventDetail,\n\tLinkAccessibilityAttributes,\n};\n"]}
1
+ {"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { markEvent } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport { getLocationHostname, getLocationPort, getLocationProtocol } from \"@ui5/webcomponents-base/dist/Location.js\";\nimport LinkDesign from \"./types/LinkDesign.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type LinkAccessibleRole from \"./types/LinkAccessibleRole.js\";\n// Template\nimport LinkTemplate from \"./generated/templates/LinkTemplate.lit.js\";\n\nimport { LINK_SUBTLE, LINK_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport linkCss from \"./generated/themes/Link.css.js\";\nimport Icon from \"./Icon.js\";\n\ntype LinkClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype LinkAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"current\">;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-link` is a hyperlink component that is used to navigate to other\n * apps and web pages, or to trigger actions.\n * It is a clickable text element, visualized in such a way that it stands out\n * from the standard text.\n * On hover, it changes its style to an underlined text to provide additional feedback to the user.\n *\n * ### Usage\n *\n * You can set the `ui5-link` to be enabled or disabled.\n *\n * To create a visual hierarchy in large lists of links, you can set the less important links as\n * `Subtle` or the more important ones as `Emphasized`,\n * by using the `design` property.\n *\n * If the `href` property is set, the link behaves as the HTML\n * anchor tag (`<a></a>`) and opens the specified URL in the given target frame (`target` property).\n * To specify where the linked content is opened, you can use the `target` property.\n *\n * ### Responsive behavior\n *\n * If there is not enough space, the text of the `ui5-link` becomes truncated.\n * If the `wrappingType` property is set to `\"Normal\"`, the text is displayed\n * on several lines instead of being truncated.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Link\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart icon - Used to style the provided icon within the link\n * @csspart endIcon - Used to style the provided endIcon within the link\n * @slot {Array<Node>} default - Defines the text of the component.\n *\n * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-link\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: LinkTemplate,\n\tstyles: linkCss,\n\tdependencies: [Icon],\n})\n/**\n * Fired when the component is triggered either with a mouse/tap\n * or by using the Enter key.\n * @public\n * @allowPreventDefault\n * @param {boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n */\n@event<LinkClickEventDetail>(\"click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\taltKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tctrlKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tmetaKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tshiftKey: { type: Boolean },\n\t},\n})\nclass Link extends UI5Element implements ITabbable {\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** When disabled, the click event cannot be triggered by the user.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t @property()\n\t tooltip?: string;\n\n\t/**\n\t * Defines the component href.\n\t *\n\t * **Note:** Standard hyperlink behavior is supported.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\thref?: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the component design.\n\t *\n\t * **Note:** Avaialble options are `Default`, `Subtle`, and `Emphasized`.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${LinkDesign}` = \"Default\";\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** By default the text will wrap. If \"None\" is set - the text will truncate.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the ARIA role of the component.\n\t *\n\t * **Note:** Use the <code>LinkAccessibleRole.Button</code> role in cases when navigation is not expected to occur and the href property is not defined.\n\t * @default \"Link\"\n\t * @public\n\t * @since 1.9.0\n\t */\n\t@property()\n\taccessibleRole: `${LinkAccessibleRole}` = \"Link\";\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * @public\n\t * @since 1.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: LinkAccessibilityAttributes = {};\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component before the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t@property({ noAttribute: true })\n\t_rel: string | undefined;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t/**\n\t * Indicates if the element is on focus.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t_dummyAnchor: HTMLAnchorElement;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._dummyAnchor = document.createElement(\"a\");\n\t}\n\n\tonBeforeRendering() {\n\t\tconst needsNoReferrer = this.target !== \"_self\"\n\t\t\t&& this.href\n\t\t\t&& this._isCrossOrigin(this.href);\n\n\t\tthis._rel = needsNoReferrer ? \"noreferrer noopener\" : undefined;\n\t}\n\n\t_isCrossOrigin(href: string) {\n\t\tthis._dummyAnchor.href = href;\n\n\t\treturn !(this._dummyAnchor.hostname === getLocationHostname()\n\t\t\t&& this._dummyAnchor.port === getLocationPort()\n\t\t\t&& this._dummyAnchor.protocol === getLocationProtocol());\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn this.forcedTabIndex;\n\t\t}\n\t\treturn (this.disabled || !this.textContent?.length) ? \"-1\" : \"0\";\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget hasLinkType() {\n\t\treturn this.design !== LinkDesign.Default;\n\t}\n\n\tstatic typeTextMappings(): Record<string, I18nText> {\n\t\treturn {\n\t\t\t\"Subtle\": LINK_SUBTLE,\n\t\t\t\"Emphasized\": LINK_EMPHASIZED,\n\t\t};\n\t}\n\n\tget linkTypeText() {\n\t\treturn Link.i18nBundle.getText(Link.typeTextMappings()[this.design]);\n\t}\n\n\tget parsedRef() {\n\t\treturn (this.href && this.href.length > 0) ? this.href : undefined;\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\tget _hasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n\n\tstatic async onDefine() {\n\t\tLink.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_onclick(e: MouseEvent | KeyboardEvent) {\n\t\tconst {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t} = e;\n\n\t\te.stopImmediatePropagation();\n\t\tmarkEvent(e, \"link\");\n\n\t\tconst executeEvent = this.fireEvent<LinkClickEventDetail>(\"click\", {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t}, true);\n\n\t\tif (!executeEvent) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tmarkEvent(e, \"link\");\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) && !this.href) {\n\t\t\tthis._onclick(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tmarkEvent(e, \"link\");\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!isSpace(e)) {\n\t\t\tmarkEvent(e, \"link\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onclick(e);\n\n\t\tif (this.href && !e.defaultPrevented) {\n\t\t\tconst customEvent = new MouseEvent(\"click\");\n\n\t\t\tcustomEvent.stopImmediatePropagation();\n\t\t\tthis.getDomRef()!.dispatchEvent(customEvent);\n\t\t}\n\t}\n}\n\nLink.define();\n\nexport default Link;\n\nexport type {\n\tLinkClickEventDetail,\n\tLinkAccessibilityAttributes,\n};\n"]}
package/dist/List.js CHANGED
@@ -35,7 +35,6 @@ import BusyIndicator from "./BusyIndicator.js";
35
35
  import ListTemplate from "./generated/templates/ListTemplate.lit.js";
36
36
  // Styles
37
37
  import listCss from "./generated/themes/List.css.js";
38
- import browserScrollbarCSS from "./generated/themes/BrowserScrollbar.css.js";
39
38
  // Texts
40
39
  import { LOAD_MORE_TEXT, ARIA_LABEL_LIST_SELECTABLE, ARIA_LABEL_LIST_MULTISELECTABLE, ARIA_LABEL_LIST_DELETABLE, } from "./generated/i18n/i18n-defaults.js";
41
40
  import ListItemGroup, { isInstanceOfListItemGroup } from "./ListItemGroup.js";
@@ -330,7 +329,6 @@ let List = List_1 = class List extends UI5Element {
330
329
  return {
331
330
  root: {
332
331
  "ui5-list-root": true,
333
- "ui5-content-native-scrollbars": getEffectiveScrollbarStyle(),
334
332
  },
335
333
  };
336
334
  }
@@ -865,7 +863,10 @@ List = List_1 = __decorate([
865
863
  fastNavigation: true,
866
864
  renderer: litRender,
867
865
  template: ListTemplate,
868
- styles: [browserScrollbarCSS, listCss],
866
+ styles: [
867
+ listCss,
868
+ getEffectiveScrollbarStyle(),
869
+ ],
869
870
  dependencies: [BusyIndicator, DropIndicator, ListItemGroup],
870
871
  })
871
872
  /**