@ui5/webcomponents 1.0.0-rc.6 → 1.0.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 (729) hide show
  1. package/CHANGELOG.md +816 -1
  2. package/README.md +144 -41
  3. package/csp.js +7 -0
  4. package/customI18n.js +50 -0
  5. package/dist/Assets-static.js +6 -0
  6. package/dist/Assets.js +2 -1
  7. package/dist/Avatar.js +222 -37
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +44 -22
  10. package/dist/Breadcrumbs.js +573 -0
  11. package/dist/BreadcrumbsItem.js +103 -0
  12. package/dist/BusyIndicator.js +172 -17
  13. package/dist/Button.js +148 -35
  14. package/dist/Calendar.js +342 -546
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +133 -62
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +44 -158
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +432 -78
  21. package/dist/CheckBox.js +150 -50
  22. package/dist/ColorPalette.js +493 -0
  23. package/dist/ColorPaletteItem.js +137 -0
  24. package/dist/ColorPalettePopover.js +219 -0
  25. package/dist/ColorPicker.js +524 -0
  26. package/dist/ComboBox.js +626 -90
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +12 -24
  30. package/dist/CustomListItem.js +38 -9
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +446 -382
  33. package/dist/DateRangePicker.js +328 -0
  34. package/dist/DateTimePicker.js +430 -0
  35. package/dist/DayPicker.js +509 -431
  36. package/dist/Dialog.js +498 -51
  37. package/dist/DurationPicker.js +312 -0
  38. package/dist/FileUploader.js +222 -29
  39. package/dist/GroupHeaderListItem.js +32 -8
  40. package/dist/Icon.js +197 -36
  41. package/dist/Input.js +689 -170
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -12
  44. package/dist/Link.js +139 -29
  45. package/dist/List.js +514 -111
  46. package/dist/ListItem.js +124 -20
  47. package/dist/ListItemBase.js +42 -8
  48. package/dist/MessageStrip.js +56 -70
  49. package/dist/MonthPicker.js +180 -182
  50. package/dist/MultiComboBox.js +589 -202
  51. package/dist/MultiComboBoxItem.js +8 -5
  52. package/dist/MultiInput.js +301 -0
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +118 -36
  55. package/dist/Popover.js +286 -234
  56. package/dist/Popup.js +381 -284
  57. package/dist/ProgressIndicator.js +235 -0
  58. package/dist/RadioButton.js +133 -53
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +291 -0
  62. package/dist/ResponsivePopover.js +82 -40
  63. package/dist/SegmentedButton.js +137 -51
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +478 -100
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +45 -22
  69. package/dist/StepInput.js +684 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +38 -30
  72. package/dist/SuggestionListItem.js +76 -0
  73. package/dist/Switch.js +60 -42
  74. package/dist/Tab.js +181 -15
  75. package/dist/TabContainer.js +296 -230
  76. package/dist/TabSeparator.js +2 -1
  77. package/dist/Table.js +480 -35
  78. package/dist/TableCell.js +13 -15
  79. package/dist/TableColumn.js +18 -7
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +244 -18
  82. package/dist/TextArea.js +311 -36
  83. package/dist/TimePicker.js +56 -683
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +17 -10
  87. package/dist/Toast.js +25 -14
  88. package/dist/ToggleButton.js +21 -13
  89. package/dist/Token.js +84 -45
  90. package/dist/Tokenizer.js +246 -64
  91. package/dist/Tree.js +443 -0
  92. package/dist/TreeItem.js +168 -0
  93. package/dist/TreeListItem.js +332 -0
  94. package/dist/WheelSlider.js +227 -77
  95. package/dist/YearPicker.js +199 -255
  96. package/dist/api.json +6871 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +273 -53
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  136. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -0
  154. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
  155. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  157. package/dist/generated/i18n/i18n-defaults.js +2 -2
  158. package/dist/generated/json-imports/Themes-static.js +35 -0
  159. package/dist/generated/json-imports/Themes.js +23 -15
  160. package/dist/generated/json-imports/i18n-static.js +162 -0
  161. package/dist/generated/json-imports/i18n.js +113 -89
  162. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  163. package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
  164. package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
  165. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  166. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  167. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -5
  168. package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
  169. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
  170. package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
  171. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  172. package/dist/generated/templates/CardTemplate.lit.js +5 -8
  173. package/dist/generated/templates/CarouselTemplate.lit.js +13 -14
  174. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
  175. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  176. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -5
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -4
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -5
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +12 -0
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -8
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
  190. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
  191. package/dist/generated/templates/IconTemplate.lit.js +6 -6
  192. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -12
  193. package/dist/generated/templates/InputTemplate.lit.js +9 -8
  194. package/dist/generated/templates/LabelTemplate.lit.js +4 -4
  195. package/dist/generated/templates/LinkTemplate.lit.js +5 -5
  196. package/dist/generated/templates/ListItemTemplate.lit.js +13 -13
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -9
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +6 -27
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -7
  201. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
  202. package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
  203. package/dist/generated/templates/PanelTemplate.lit.js +9 -6
  204. package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
  205. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +7 -0
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -4
  207. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
  208. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
  209. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  210. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
  211. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -11
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -9
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -4
  216. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  217. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  218. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -19
  219. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  220. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
  221. package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
  222. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -8
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -18
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +9 -0
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +11 -0
  226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -4
  227. package/dist/generated/templates/TabTemplate.lit.js +4 -4
  228. package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
  229. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
  230. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  231. package/dist/generated/templates/TableRowTemplate.lit.js +12 -10
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +11 -0
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -8
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -5
  237. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  238. package/dist/generated/templates/TitleTemplate.lit.js +10 -10
  239. package/dist/generated/templates/ToastTemplate.lit.js +5 -4
  240. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
  241. package/dist/generated/templates/TokenTemplate.lit.js +7 -5
  242. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
  243. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
  244. package/dist/generated/templates/TreeListItemTemplate.lit.js +21 -0
  245. package/dist/generated/templates/TreeTemplate.lit.js +8 -0
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  248. package/dist/generated/themes/Avatar.css.js +6 -7
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +6 -7
  251. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  253. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  254. package/dist/generated/themes/BusyIndicator.css.js +6 -7
  255. package/dist/generated/themes/Button.css.js +6 -7
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +6 -7
  258. package/dist/generated/themes/CalendarHeader.css.js +6 -7
  259. package/dist/generated/themes/Card.css.js +6 -7
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +6 -7
  262. package/dist/generated/themes/CheckBox.css.js +6 -7
  263. package/dist/generated/themes/ColorPalette.css.js +8 -0
  264. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  265. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  266. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  267. package/dist/generated/themes/ColorPicker.css.js +8 -0
  268. package/dist/generated/themes/ComboBox.css.js +6 -7
  269. package/dist/generated/themes/ComboBoxPopover.css.js +6 -7
  270. package/dist/generated/themes/CustomListItem.css.js +6 -7
  271. package/dist/generated/themes/DatePicker.css.js +6 -7
  272. package/dist/generated/themes/DatePickerPopover.css.js +6 -7
  273. package/dist/generated/themes/DateRangePicker.css.js +8 -0
  274. package/dist/generated/themes/DateTimePicker.css.js +8 -0
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +8 -0
  276. package/dist/generated/themes/DayPicker.css.js +6 -7
  277. package/dist/generated/themes/Dialog.css.js +6 -7
  278. package/dist/generated/themes/FileUploader.css.js +6 -7
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +6 -7
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +6 -7
  282. package/dist/generated/themes/Input.css.js +6 -7
  283. package/dist/generated/themes/InputIcon.css.js +6 -7
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +6 -7
  285. package/dist/generated/themes/Label.css.js +6 -7
  286. package/dist/generated/themes/Link.css.js +6 -7
  287. package/dist/generated/themes/List.css.js +6 -7
  288. package/dist/generated/themes/ListItem.css.js +6 -7
  289. package/dist/generated/themes/ListItemBase.css.js +6 -7
  290. package/dist/generated/themes/MessageStrip.css.js +6 -7
  291. package/dist/generated/themes/MonthPicker.css.js +6 -7
  292. package/dist/generated/themes/MultiComboBox.css.js +6 -7
  293. package/dist/generated/themes/MultiInput.css.js +8 -0
  294. package/dist/generated/themes/Panel.css.js +6 -7
  295. package/dist/generated/themes/Popover.css.js +6 -7
  296. package/dist/generated/themes/Popup.css.js +6 -7
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +8 -0
  299. package/dist/generated/themes/PopupsCommon.css.js +8 -0
  300. package/dist/generated/themes/ProgressIndicator.css.js +8 -0
  301. package/dist/generated/themes/RadioButton.css.js +6 -7
  302. package/dist/generated/themes/RatingIndicator.css.js +8 -0
  303. package/dist/generated/themes/ResponsivePopover.css.js +6 -7
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +6 -7
  305. package/dist/generated/themes/SegmentedButton.css.js +6 -7
  306. package/dist/generated/themes/Select.css.js +6 -7
  307. package/dist/generated/themes/SelectPopover.css.js +8 -0
  308. package/dist/generated/themes/SliderBase.css.js +8 -0
  309. package/dist/generated/themes/StepInput.css.js +8 -0
  310. package/dist/generated/themes/Suggestions.css.js +8 -0
  311. package/dist/generated/themes/Switch.css.js +6 -7
  312. package/dist/generated/themes/Tab.css.js +6 -7
  313. package/dist/generated/themes/TabContainer.css.js +6 -7
  314. package/dist/generated/themes/TabInOverflow.css.js +8 -0
  315. package/dist/generated/themes/TabInStrip.css.js +8 -0
  316. package/dist/generated/themes/Table.css.js +6 -7
  317. package/dist/generated/themes/TableCell.css.js +6 -7
  318. package/dist/generated/themes/TableColumn.css.js +6 -7
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +6 -7
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +6 -7
  323. package/dist/generated/themes/TimePicker.css.js +6 -7
  324. package/dist/generated/themes/TimePickerPopover.css.js +6 -7
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +6 -7
  327. package/dist/generated/themes/Toast.css.js +6 -7
  328. package/dist/generated/themes/ToggleButton.css.js +6 -7
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +6 -7
  331. package/dist/generated/themes/Tokenizer.css.js +6 -7
  332. package/dist/generated/themes/Tree.css.js +8 -0
  333. package/dist/generated/themes/TreeListItem.css.js +8 -0
  334. package/dist/generated/themes/ValueStateMessage.css.js +6 -7
  335. package/dist/generated/themes/WheelSlider.css.js +6 -7
  336. package/dist/generated/themes/YearPicker.css.js +6 -7
  337. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
  343. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
  344. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  345. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  346. package/dist/i18n/messagebundle.properties +335 -0
  347. package/dist/i18n/messagebundle_ar.properties +224 -0
  348. package/dist/i18n/messagebundle_bg.properties +224 -0
  349. package/dist/i18n/messagebundle_ca.properties +224 -0
  350. package/dist/i18n/messagebundle_cs.properties +224 -0
  351. package/dist/i18n/messagebundle_cy.properties +224 -0
  352. package/dist/i18n/messagebundle_da.properties +224 -0
  353. package/dist/i18n/messagebundle_de.properties +224 -0
  354. package/dist/i18n/messagebundle_el.properties +224 -0
  355. package/dist/i18n/messagebundle_en.properties +224 -0
  356. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  357. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  358. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  359. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  360. package/dist/i18n/messagebundle_es.properties +224 -0
  361. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  362. package/dist/i18n/messagebundle_et.properties +224 -0
  363. package/dist/i18n/messagebundle_fi.properties +224 -0
  364. package/dist/i18n/messagebundle_fr.properties +224 -0
  365. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  366. package/dist/i18n/messagebundle_hi.properties +224 -0
  367. package/dist/i18n/messagebundle_hr.properties +224 -0
  368. package/dist/i18n/messagebundle_hu.properties +224 -0
  369. package/dist/i18n/messagebundle_id.properties +224 -0
  370. package/dist/i18n/messagebundle_in.properties +172 -0
  371. package/dist/i18n/messagebundle_it.properties +224 -0
  372. package/dist/i18n/messagebundle_iw.properties +224 -0
  373. package/dist/i18n/messagebundle_ja.properties +224 -0
  374. package/dist/i18n/messagebundle_kk.properties +224 -0
  375. package/dist/i18n/messagebundle_ko.properties +224 -0
  376. package/dist/i18n/messagebundle_lt.properties +224 -0
  377. package/dist/i18n/messagebundle_lv.properties +224 -0
  378. package/dist/i18n/messagebundle_ms.properties +224 -0
  379. package/dist/i18n/messagebundle_nl.properties +224 -0
  380. package/dist/i18n/messagebundle_no.properties +224 -0
  381. package/dist/i18n/messagebundle_pl.properties +224 -0
  382. package/dist/i18n/messagebundle_pt.properties +224 -0
  383. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  384. package/dist/i18n/messagebundle_ro.properties +224 -0
  385. package/dist/i18n/messagebundle_ru.properties +224 -0
  386. package/dist/i18n/messagebundle_sh.properties +224 -0
  387. package/dist/i18n/messagebundle_sk.properties +224 -0
  388. package/dist/i18n/messagebundle_sl.properties +224 -0
  389. package/dist/i18n/messagebundle_sv.properties +224 -0
  390. package/dist/i18n/messagebundle_th.properties +224 -0
  391. package/dist/i18n/messagebundle_tr.properties +224 -0
  392. package/dist/i18n/messagebundle_uk.properties +224 -0
  393. package/dist/i18n/messagebundle_vi.properties +224 -0
  394. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  395. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  396. package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
  397. package/dist/popup-utils/PopoverRegistry.js +55 -21
  398. package/dist/timepicker-utils/TimeSlider.js +103 -0
  399. package/dist/types/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
  400. package/dist/types/AvatarGroupType.js +43 -0
  401. package/dist/types/AvatarShape.js +1 -1
  402. package/dist/types/AvatarSize.js +1 -1
  403. package/dist/types/BreadcrumbsDesign.js +42 -0
  404. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  405. package/dist/types/BusyIndicatorSize.js +1 -1
  406. package/dist/types/ButtonDesign.js +8 -1
  407. package/dist/types/CalendarSelectionMode.js +47 -0
  408. package/dist/types/CarouselArrowsPlacement.js +3 -3
  409. package/dist/types/GrowingMode.js +48 -0
  410. package/dist/types/InputType.js +7 -7
  411. package/dist/types/LinkDesign.js +1 -1
  412. package/dist/types/ListGrowingMode.js +15 -0
  413. package/dist/types/ListItemType.js +2 -2
  414. package/dist/types/ListMode.js +9 -1
  415. package/dist/types/ListSeparators.js +1 -1
  416. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  417. package/dist/types/PanelAccessibleRole.js +1 -1
  418. package/dist/types/PopoverHorizontalAlign.js +1 -1
  419. package/dist/types/PopoverPlacementType.js +2 -2
  420. package/dist/types/PopoverVerticalAlign.js +1 -2
  421. package/dist/types/Priority.js +55 -0
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +40 -0
  425. package/dist/types/TabLayout.js +1 -1
  426. package/dist/types/TableGrowingMode.js +15 -0
  427. package/dist/types/TableMode.js +47 -0
  428. package/dist/types/TableRowType.js +40 -0
  429. package/dist/types/TitleLevel.js +1 -1
  430. package/dist/types/ToastPlacement.js +1 -2
  431. package/dist/types/WrappingType.js +41 -0
  432. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  433. package/dist/webcomponentsjs/README.md +64 -47
  434. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  435. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  436. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  437. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  438. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  439. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  440. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  441. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  442. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  443. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  444. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  445. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  446. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  447. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  448. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  449. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  450. package/package-scripts.js +1 -0
  451. package/package.json +23 -6
  452. package/src/Assets-static.js +6 -0
  453. package/src/Assets.js +7 -0
  454. package/src/Avatar.hbs +20 -0
  455. package/src/Avatar.js +392 -0
  456. package/src/AvatarGroup.hbs +30 -0
  457. package/src/AvatarGroup.js +603 -0
  458. package/src/Badge.hbs +14 -0
  459. package/src/Badge.js +165 -0
  460. package/src/Breadcrumbs.hbs +42 -0
  461. package/src/Breadcrumbs.js +573 -0
  462. package/src/BreadcrumbsItem.js +103 -0
  463. package/src/BreadcrumbsPopover.hbs +28 -0
  464. package/src/BusyIndicator.hbs +32 -0
  465. package/src/BusyIndicator.js +269 -0
  466. package/src/Button.hbs +45 -0
  467. package/src/Button.js +463 -0
  468. package/src/Calendar.hbs +69 -0
  469. package/src/Calendar.js +489 -0
  470. package/src/CalendarDate.js +45 -0
  471. package/src/CalendarHeader.hbs +54 -0
  472. package/src/CalendarHeader.js +209 -0
  473. package/src/CalendarPart.js +111 -0
  474. package/src/Card.hbs +14 -0
  475. package/src/Card.js +160 -0
  476. package/src/CardHeader.hbs +35 -0
  477. package/src/CardHeader.js +288 -0
  478. package/src/Carousel.hbs +85 -0
  479. package/src/Carousel.js +681 -0
  480. package/src/CheckBox.hbs +44 -0
  481. package/src/CheckBox.js +424 -0
  482. package/src/ColorPalette.hbs +52 -0
  483. package/src/ColorPalette.js +493 -0
  484. package/src/ColorPaletteDialog.hbs +18 -0
  485. package/src/ColorPaletteItem.hbs +11 -0
  486. package/src/ColorPaletteItem.js +137 -0
  487. package/src/ColorPalettePopover.hbs +29 -0
  488. package/src/ColorPalettePopover.js +219 -0
  489. package/src/ColorPicker.hbs +98 -0
  490. package/src/ColorPicker.js +524 -0
  491. package/src/ComboBox.hbs +49 -0
  492. package/src/ComboBox.js +1041 -0
  493. package/src/ComboBoxFilters.js +40 -0
  494. package/src/ComboBoxGroupItem.js +70 -0
  495. package/src/ComboBoxItem.js +49 -0
  496. package/src/ComboBoxPopover.hbs +125 -0
  497. package/src/CustomListItem.hbs +5 -0
  498. package/src/CustomListItem.js +99 -0
  499. package/src/DateComponentBase.js +170 -0
  500. package/src/DatePicker.hbs +44 -0
  501. package/src/DatePicker.js +823 -0
  502. package/src/DatePickerPopover.hbs +63 -0
  503. package/src/DateRangePicker.js +328 -0
  504. package/src/DateTimePicker.js +430 -0
  505. package/src/DateTimePickerPopover.hbs +74 -0
  506. package/src/DayPicker.hbs +66 -0
  507. package/src/DayPicker.js +754 -0
  508. package/src/Dialog.hbs +35 -0
  509. package/src/Dialog.js +601 -0
  510. package/src/DurationPicker.js +312 -0
  511. package/src/FileUploader.hbs +40 -0
  512. package/src/FileUploader.js +530 -0
  513. package/src/FileUploaderPopover.hbs +25 -0
  514. package/src/GroupHeaderListItem.hbs +15 -0
  515. package/src/GroupHeaderListItem.js +94 -0
  516. package/src/Icon.hbs +25 -0
  517. package/src/Icon.js +373 -0
  518. package/src/Input.hbs +78 -0
  519. package/src/Input.js +1381 -0
  520. package/src/InputPopover.hbs +118 -0
  521. package/src/Interfaces.js +192 -0
  522. package/src/Label.hbs +13 -0
  523. package/src/Label.js +152 -0
  524. package/src/Link.hbs +20 -0
  525. package/src/Link.js +349 -0
  526. package/src/List.hbs +89 -0
  527. package/src/List.js +1056 -0
  528. package/src/ListItem.hbs +102 -0
  529. package/src/ListItem.js +371 -0
  530. package/src/ListItemBase.js +179 -0
  531. package/src/MessageStrip.hbs +34 -0
  532. package/src/MessageStrip.js +227 -0
  533. package/src/MonthPicker.hbs +29 -0
  534. package/src/MonthPicker.js +299 -0
  535. package/src/MultiComboBox.hbs +78 -0
  536. package/src/MultiComboBox.js +1091 -0
  537. package/src/MultiComboBoxItem.js +43 -0
  538. package/src/MultiComboBoxPopover.hbs +133 -0
  539. package/src/MultiInput.hbs +41 -0
  540. package/src/MultiInput.js +301 -0
  541. package/src/Option.js +115 -0
  542. package/src/Panel.hbs +63 -0
  543. package/src/Panel.js +462 -0
  544. package/src/Popover.hbs +25 -0
  545. package/src/Popover.js +786 -0
  546. package/src/Popup.hbs +34 -0
  547. package/src/Popup.js +567 -0
  548. package/src/PopupBlockLayer.hbs +7 -0
  549. package/src/ProgressIndicator.hbs +35 -0
  550. package/src/ProgressIndicator.js +235 -0
  551. package/src/RadioButton.hbs +33 -0
  552. package/src/RadioButton.js +494 -0
  553. package/src/RadioButtonGroup.js +205 -0
  554. package/src/RangeSlider.hbs +70 -0
  555. package/src/RangeSlider.js +769 -0
  556. package/src/RatingIndicator.hbs +33 -0
  557. package/src/RatingIndicator.js +291 -0
  558. package/src/ResponsivePopover.hbs +39 -0
  559. package/src/ResponsivePopover.js +206 -0
  560. package/src/SegmentedButton.hbs +17 -0
  561. package/src/SegmentedButton.js +290 -0
  562. package/src/SegmentedButtonItem.hbs +42 -0
  563. package/src/SegmentedButtonItem.js +109 -0
  564. package/src/Select.hbs +45 -0
  565. package/src/Select.js +834 -0
  566. package/src/SelectPopover.hbs +89 -0
  567. package/src/Slider.hbs +42 -0
  568. package/src/Slider.js +320 -0
  569. package/src/SliderBase.hbs +38 -0
  570. package/src/SliderBase.js +842 -0
  571. package/src/StandardListItem.hbs +44 -0
  572. package/src/StandardListItem.js +191 -0
  573. package/src/StepInput.hbs +80 -0
  574. package/src/StepInput.js +684 -0
  575. package/src/SuggestionGroupItem.js +64 -0
  576. package/src/SuggestionItem.js +146 -0
  577. package/src/SuggestionListItem.hbs +33 -0
  578. package/src/SuggestionListItem.js +76 -0
  579. package/src/Switch.hbs +50 -0
  580. package/src/Switch.js +262 -0
  581. package/src/Tab.hbs +3 -0
  582. package/src/Tab.js +334 -0
  583. package/src/TabContainer.hbs +93 -0
  584. package/src/TabContainer.js +679 -0
  585. package/src/TabContainerPopover.hbs +24 -0
  586. package/src/TabInOverflow.hbs +22 -0
  587. package/src/TabInStrip.hbs +43 -0
  588. package/src/TabSeparator.hbs +1 -0
  589. package/src/TabSeparator.js +44 -0
  590. package/src/Table.hbs +99 -0
  591. package/src/Table.js +761 -0
  592. package/src/TableCell.hbs +7 -0
  593. package/src/TableCell.js +88 -0
  594. package/src/TableColumn.hbs +8 -0
  595. package/src/TableColumn.js +136 -0
  596. package/src/TableGroupRow.hbs +12 -0
  597. package/src/TableGroupRow.js +160 -0
  598. package/src/TableRow.hbs +61 -0
  599. package/src/TableRow.js +388 -0
  600. package/src/TextArea.hbs +50 -0
  601. package/src/TextArea.js +691 -0
  602. package/src/TextAreaPopover.hbs +28 -0
  603. package/src/TimePicker.hbs +35 -0
  604. package/src/TimePicker.js +166 -0
  605. package/src/TimePickerBase.js +463 -0
  606. package/src/TimePickerPopover.hbs +34 -0
  607. package/src/TimeSelection.hbs +60 -0
  608. package/src/TimeSelection.js +493 -0
  609. package/src/Title.hbs +47 -0
  610. package/src/Title.js +132 -0
  611. package/src/Toast.hbs +13 -0
  612. package/src/Toast.js +243 -0
  613. package/src/ToggleButton.hbs +5 -0
  614. package/src/ToggleButton.js +84 -0
  615. package/src/Token.hbs +30 -0
  616. package/src/Token.js +219 -0
  617. package/src/Tokenizer.hbs +27 -0
  618. package/src/Tokenizer.js +414 -0
  619. package/src/TokenizerPopover.hbs +50 -0
  620. package/src/Tree.hbs +42 -0
  621. package/src/Tree.js +443 -0
  622. package/src/TreeItem.js +168 -0
  623. package/src/TreeListItem.hbs +48 -0
  624. package/src/TreeListItem.js +332 -0
  625. package/src/WheelSlider.hbs +48 -0
  626. package/src/WheelSlider.js +435 -0
  627. package/src/YearPicker.hbs +27 -0
  628. package/src/YearPicker.js +324 -0
  629. package/src/features/ColorPaletteMoreColors.js +42 -0
  630. package/src/features/InputElementsFormSupport.js +88 -0
  631. package/src/features/InputSuggestions.js +521 -0
  632. package/src/i18n/messagebundle.properties +335 -0
  633. package/src/i18n/messagebundle_ar.properties +224 -0
  634. package/src/i18n/messagebundle_bg.properties +224 -0
  635. package/src/i18n/messagebundle_ca.properties +224 -0
  636. package/src/i18n/messagebundle_cs.properties +224 -0
  637. package/src/i18n/messagebundle_cy.properties +224 -0
  638. package/src/i18n/messagebundle_da.properties +224 -0
  639. package/src/i18n/messagebundle_de.properties +224 -0
  640. package/src/i18n/messagebundle_el.properties +224 -0
  641. package/src/i18n/messagebundle_en.properties +224 -0
  642. package/src/i18n/messagebundle_en_GB.properties +224 -0
  643. package/src/i18n/messagebundle_en_US_sappsd.properties +224 -0
  644. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  645. package/src/i18n/messagebundle_en_US_saptrc.properties +224 -0
  646. package/src/i18n/messagebundle_es.properties +224 -0
  647. package/src/i18n/messagebundle_es_MX.properties +224 -0
  648. package/src/i18n/messagebundle_et.properties +224 -0
  649. package/src/i18n/messagebundle_fi.properties +224 -0
  650. package/src/i18n/messagebundle_fr.properties +224 -0
  651. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  652. package/src/i18n/messagebundle_hi.properties +224 -0
  653. package/src/i18n/messagebundle_hr.properties +224 -0
  654. package/src/i18n/messagebundle_hu.properties +224 -0
  655. package/src/i18n/messagebundle_id.properties +224 -0
  656. package/src/i18n/messagebundle_in.properties +172 -0
  657. package/src/i18n/messagebundle_it.properties +224 -0
  658. package/src/i18n/messagebundle_iw.properties +224 -0
  659. package/src/i18n/messagebundle_ja.properties +224 -0
  660. package/src/i18n/messagebundle_kk.properties +224 -0
  661. package/src/i18n/messagebundle_ko.properties +224 -0
  662. package/src/i18n/messagebundle_lt.properties +224 -0
  663. package/src/i18n/messagebundle_lv.properties +224 -0
  664. package/src/i18n/messagebundle_ms.properties +224 -0
  665. package/src/i18n/messagebundle_nl.properties +224 -0
  666. package/src/i18n/messagebundle_no.properties +224 -0
  667. package/src/i18n/messagebundle_pl.properties +224 -0
  668. package/src/i18n/messagebundle_pt.properties +224 -0
  669. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  670. package/src/i18n/messagebundle_ro.properties +224 -0
  671. package/src/i18n/messagebundle_ru.properties +224 -0
  672. package/src/i18n/messagebundle_sh.properties +224 -0
  673. package/src/i18n/messagebundle_sk.properties +224 -0
  674. package/src/i18n/messagebundle_sl.properties +224 -0
  675. package/src/i18n/messagebundle_sv.properties +224 -0
  676. package/src/i18n/messagebundle_th.properties +224 -0
  677. package/src/i18n/messagebundle_tr.properties +224 -0
  678. package/src/i18n/messagebundle_uk.properties +224 -0
  679. package/src/i18n/messagebundle_vi.properties +224 -0
  680. package/src/i18n/messagebundle_zh_CN.properties +224 -0
  681. package/src/i18n/messagebundle_zh_TW.properties +224 -0
  682. package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
  683. package/src/popup-utils/PopoverRegistry.js +145 -0
  684. package/src/timepicker-utils/TimeSlider.js +103 -0
  685. package/src/types/AvatarColorScheme.js +104 -0
  686. package/src/types/AvatarGroupType.js +43 -0
  687. package/src/types/AvatarShape.js +41 -0
  688. package/src/types/AvatarSize.js +67 -0
  689. package/src/types/BreadcrumbsDesign.js +42 -0
  690. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  691. package/src/types/BusyIndicatorSize.js +47 -0
  692. package/src/types/ButtonDesign.js +68 -0
  693. package/src/types/CalendarSelectionMode.js +47 -0
  694. package/src/types/CarouselArrowsPlacement.js +40 -0
  695. package/src/types/GrowingMode.js +48 -0
  696. package/src/types/InputType.js +68 -0
  697. package/src/types/LinkDesign.js +47 -0
  698. package/src/types/ListGrowingMode.js +15 -0
  699. package/src/types/ListItemType.js +47 -0
  700. package/src/types/ListMode.js +77 -0
  701. package/src/types/ListSeparators.js +46 -0
  702. package/src/types/MessageStripDesign.js +54 -0
  703. package/src/types/PanelAccessibleRole.js +48 -0
  704. package/src/types/PopoverHorizontalAlign.js +54 -0
  705. package/src/types/PopoverPlacementType.js +54 -0
  706. package/src/types/PopoverVerticalAlign.js +54 -0
  707. package/src/types/Priority.js +55 -0
  708. package/src/types/SemanticColor.js +61 -0
  709. package/src/types/SwitchDesign.js +40 -0
  710. package/src/types/TabContainerTabsPlacement.js +40 -0
  711. package/src/types/TabLayout.js +40 -0
  712. package/src/types/TableGrowingMode.js +15 -0
  713. package/src/types/TableMode.js +47 -0
  714. package/src/types/TableRowType.js +40 -0
  715. package/src/types/TitleLevel.js +68 -0
  716. package/src/types/ToastPlacement.js +91 -0
  717. package/src/types/WrappingType.js +41 -0
  718. package/dist/Timeline.js +0 -82
  719. package/dist/TimelineItem.js +0 -161
  720. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  721. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  722. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  723. package/dist/generated/themes/ComboBoxItem.css.js +0 -9
  724. package/dist/generated/themes/TabContainerPopup.css.js +0 -9
  725. package/dist/generated/themes/Timeline.css.js +0 -9
  726. package/dist/generated/themes/TimelineItem.css.js +0 -9
  727. package/dist/popup-utils/PopupUtils.js +0 -55
  728. package/dist/types/AvatarFitType.js +0 -40
  729. package/dist/webcomponentsjs/package.json +0 -46
package/dist/Dialog.js CHANGED
@@ -1,32 +1,140 @@
1
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
2
-
3
- import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
1
+ import { isPhone, isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
2
+ import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
3
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
+ import {
5
+ isUp, isDown, isLeft, isRight,
6
+ isUpShift, isDownShift, isLeftShift, isRightShift,
7
+ } from "@ui5/webcomponents-base/dist/Keys.js";
4
8
  import Popup from "./Popup.js";
9
+ import "@ui5/webcomponents-icons/dist/resize-corner.js";
10
+ import Icon from "./Icon.js";
11
+
5
12
  // Template
6
13
  import DialogTemplate from "./generated/templates/DialogTemplate.lit.js";
7
-
8
14
  // Styles
9
- import dialogCss from "./generated/themes/Dialog.css.js";
15
+ import browserScrollbarCSS from "./generated/themes/BrowserScrollbar.css.js";
16
+ import PopupsCommonCss from "./generated/themes/PopupsCommon.css.js";
17
+ import dialogCSS from "./generated/themes/Dialog.css.js";
18
+
19
+ /**
20
+ * Defines the step size at which this component would change by when being dragged or resized with the keyboard.
21
+ */
22
+ const STEP_SIZE = 16;
10
23
 
11
24
  /**
12
25
  * @public
13
26
  */
14
27
  const metadata = {
15
28
  tag: "ui5-dialog",
29
+ slots: /** @lends sap.ui.webcomponents.main.Dialog.prototype */ {
30
+ /**
31
+ * Defines the header HTML Element.
32
+ * <br><br>
33
+ * <b>Note:</b> If <code>header</code> slot is provided, the labelling of the dialog is a responsibility of the application developer.
34
+ * <code>accessibleName</code> should be used.
35
+ *
36
+ * @type {HTMLElement[]}
37
+ * @slot
38
+ * @public
39
+ */
40
+ header: {
41
+ type: HTMLElement,
42
+ },
43
+
44
+ /**
45
+ * Defines the footer HTML Element.
46
+ *
47
+ * @type {HTMLElement[]}
48
+ * @slot
49
+ * @public
50
+ */
51
+ footer: {
52
+ type: HTMLElement,
53
+ },
54
+ },
16
55
  properties: /** @lends sap.ui.webcomponents.main.Dialog.prototype */ {
17
56
  /**
18
- * Determines whether the <code>ui5-dialog</code> should be stretched to fullscreen.
57
+ * Defines the header text.
58
+ * <br><br>
59
+ * <b>Note:</b> If <code>header</code> slot is provided, the <code>headerText</code> is ignored.
60
+ *
61
+ * @type {string}
62
+ * @defaultvalue ""
63
+ * @public
64
+ */
65
+ headerText: {
66
+ type: String,
67
+ },
68
+
69
+ /**
70
+ * Sets the accessible aria name of the component.
71
+ *
72
+ * @type {string}
73
+ * @defaultvalue ""
74
+ * @public
75
+ */
76
+ accessibleName: {
77
+ type: String,
78
+ },
79
+
80
+ /**
81
+ * Determines whether the component should be stretched to fullscreen.
19
82
  * <br><br>
20
- * <b>Note:</b> The <code>ui5-dialog</code> will be stretched to aproximetly
83
+ * <b>Note:</b> The component will be stretched to approximately
21
84
  * 90% of the viewport.
22
85
  *
23
- * @type {Boolean}
86
+ * @type {boolean}
24
87
  * @defaultvalue false
25
88
  * @public
26
89
  */
27
90
  stretch: {
28
91
  type: Boolean,
29
92
  },
93
+
94
+ /**
95
+ * Determines whether the component is draggable.
96
+ * If this property is set to true, the Dialog will be draggable by its header.
97
+ * <br><br>
98
+ * <b>Note:</b> The component can be draggable only in desktop mode.
99
+ * @type {boolean}
100
+ * @defaultvalue false
101
+ * @since 1.0.0-rc.9
102
+ * @public
103
+ */
104
+ draggable: {
105
+ type: Boolean,
106
+ },
107
+
108
+ /**
109
+ * Configures the component to be resizable.
110
+ * If this property is set to true, the Dialog will have a resize handle in its bottom right corner in LTR languages.
111
+ * In RTL languages, the resize handle will be placed in the bottom left corner.
112
+ * <br><br>
113
+ * <b>Note:</b> The component can be resizable only in desktop mode.
114
+ * <br>
115
+ * <b>Note:</b> Upon resizing, externally defined height and width styling will be ignored.
116
+ * @type {boolean}
117
+ * @defaultvalue false
118
+ * @since 1.0.0-rc.10
119
+ * @public
120
+ */
121
+ resizable: {
122
+ type: Boolean,
123
+ },
124
+
125
+ /**
126
+ * @private
127
+ */
128
+ onPhone: {
129
+ type: Boolean,
130
+ },
131
+
132
+ /**
133
+ * @private
134
+ */
135
+ onDesktop: {
136
+ type: Boolean,
137
+ },
30
138
  },
31
139
  };
32
140
 
@@ -47,6 +155,8 @@ const metadata = {
47
155
  * <h3>Structure</h3>
48
156
  * A <code>ui5-dialog</code> consists of a header, content, and a footer for action buttons.
49
157
  * The <code>ui5-dialog</code> is usually displayed at the center of the screen.
158
+ * Its position can be changed by the user. To enable this, you need to set the property <code>draggable</code> accordingly.
159
+
50
160
  *
51
161
  * <h3>Responsive Behavior</h3>
52
162
  * The <code>stretch</code> property can be used to stretch the
@@ -56,6 +166,12 @@ const metadata = {
56
166
  *
57
167
  * <code>import "@ui5/webcomponents/dist/Dialog";</code>
58
168
  *
169
+ * <b>Note:</b> We don't recommend nesting popup-like components (<code>ui5-dialog</code>, <code>ui5-popover</code>) inside <code>ui5-dialog</code>.
170
+ * Ideally you should create all popups on the same level inside your HTML page and just open them from one another, rather than nesting them.
171
+ *
172
+ * <b>Note:</b> We don't recommend nesting popup-like components (<code>ui5-dialog</code>, <code>ui5-popover</code>) inside other components containing z-index.
173
+ * This might break z-index management.
174
+ *
59
175
  * @constructor
60
176
  * @author SAP SE
61
177
  * @alias sap.ui.webcomponents.main.Dialog
@@ -64,12 +180,26 @@ const metadata = {
64
180
  * @public
65
181
  */
66
182
  class Dialog extends Popup {
183
+ constructor() {
184
+ super();
185
+
186
+ this._screenResizeHandler = this._center.bind(this);
187
+
188
+ this._dragMouseMoveHandler = this._onDragMouseMove.bind(this);
189
+ this._dragMouseUpHandler = this._onDragMouseUp.bind(this);
190
+
191
+ this._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);
192
+ this._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);
193
+ }
194
+
67
195
  static get metadata() {
68
196
  return metadata;
69
197
  }
70
198
 
71
- static get render() {
72
- return litRender;
199
+ static get dependencies() {
200
+ return [
201
+ Icon,
202
+ ];
73
203
  }
74
204
 
75
205
  static get template() {
@@ -77,75 +207,392 @@ class Dialog extends Popup {
77
207
  }
78
208
 
79
209
  static get styles() {
80
- return [Popup.styles, dialogCss];
210
+ return [browserScrollbarCSS, PopupsCommonCss, dialogCSS];
211
+ }
212
+
213
+ static _isHeader(element) {
214
+ return element.classList.contains("ui5-popup-header-root") || element.getAttribute("slot") === "header";
81
215
  }
82
216
 
83
217
  /**
84
- * Opens the <code>ui5-dialog</code>.
85
- * @public
86
- */
87
- open() {
88
- if (this.opened) {
89
- return;
218
+ * Shows the dialog.
219
+ *
220
+ * @param {boolean} preventInitialFocus Prevents applying the focus inside the popup
221
+ * @async
222
+ * @returns {Promise} Resolves when the dialog is open
223
+ * @public
224
+ */
225
+ async show(preventInitialFocus = false) {
226
+ await super._open(preventInitialFocus);
227
+ }
228
+
229
+ get isModal() { // Required by Popup.js
230
+ return true;
231
+ }
232
+
233
+ get shouldHideBackdrop() { // Required by Popup.js
234
+ return false;
235
+ }
236
+
237
+ get _ariaLabelledBy() { // Required by Popup.js
238
+ let ariaLabelledById;
239
+
240
+ if (this.headerText !== "" && !this.accessibleName) {
241
+ ariaLabelledById = "ui5-popup-header-text";
90
242
  }
91
243
 
92
- const cancelled = super.open();
93
- if (cancelled) {
94
- return true;
244
+ return ariaLabelledById;
245
+ }
246
+
247
+ get _ariaLabel() {
248
+ let ariaLabel;
249
+
250
+ if (this.header.length > 0 && !!this.accessibleName) {
251
+ ariaLabel = this.accessibleName;
95
252
  }
96
253
 
97
- this.storeCurrentFocus();
254
+ return this.accessibleName ? this.accessibleName : ariaLabel;
255
+ }
98
256
 
99
- this.opened = true;
257
+ get _ariaModal() { // Required by Popup.js
258
+ return true;
259
+ }
260
+
261
+ get _displayProp() {
262
+ return "flex";
263
+ }
264
+
265
+ /**
266
+ * Determines if the header of the dialog should be shown.
267
+ */
268
+ get _displayHeader() {
269
+ return this.header.length || this.headerText || this.draggable || this.resizable;
270
+ }
271
+
272
+ get _movable() {
273
+ return !this.stretch && this.onDesktop && (this.draggable || this.resizable);
274
+ }
275
+
276
+ get _headerTabIndex() {
277
+ return this._movable ? "0" : undefined;
278
+ }
279
+
280
+ _show() {
281
+ super._show();
282
+ this._center();
283
+ }
284
+
285
+ onBeforeRendering() {
286
+ this._isRTL = this.effectiveDir === "rtl";
287
+ this.onPhone = isPhone();
288
+ this.onDesktop = isDesktop();
289
+ this._detachResizeHandlers();
290
+ }
291
+
292
+ onAfterRendering() {
293
+ this._attachResizeHandlers();
294
+ }
295
+
296
+ onExitDOM() {
297
+ super.onExitDOM();
298
+ this._detachResizeHandlers();
299
+ }
300
+
301
+ _attachResizeHandlers() {
302
+ ResizeHandler.register(this, this._screenResizeHandler);
303
+ ResizeHandler.register(document.body, this._screenResizeHandler);
304
+ this._resizeHandlersAttached = true;
305
+ }
306
+
307
+ _detachResizeHandlers() {
308
+ if (this._resizeHandlersAttached) {
309
+ ResizeHandler.deregister(this, this._screenResizeHandler);
310
+ ResizeHandler.deregister(document.body, this._screenResizeHandler);
311
+ this._resizeHandlersAttached = false;
312
+ }
313
+ }
314
+
315
+ _center() {
316
+ const height = window.innerHeight - this.offsetHeight,
317
+ width = window.innerWidth - this.offsetWidth;
318
+
319
+ Object.assign(this.style, {
320
+ top: `${Math.round(height / 2)}px`,
321
+ left: `${Math.round(width / 2)}px`,
322
+ });
323
+ }
324
+
325
+ _revertSize() {
326
+ Object.assign(this.style, {
327
+ top: "",
328
+ left: "",
329
+ width: "",
330
+ height: "",
331
+ });
332
+ this.removeEventListener("ui5-before-close", this._revertSize);
100
333
  }
101
334
 
102
335
  /**
103
- * Closes the <code>ui5-dialog</code>.
104
- * @public
105
- */
106
- close() {
107
- if (!this.opened) {
336
+ * Event handlers
337
+ */
338
+ _onDragMouseDown(event) {
339
+ // allow dragging only on the header
340
+ if (!this._movable || !this.draggable || !Dialog._isHeader(event.target)) {
108
341
  return;
109
342
  }
110
343
 
111
- const cancelled = super.close();
112
- if (cancelled) {
344
+ event.preventDefault();
345
+
346
+ const {
347
+ top,
348
+ left,
349
+ } = this.getBoundingClientRect();
350
+ const {
351
+ width,
352
+ height,
353
+ } = window.getComputedStyle(this);
354
+
355
+ Object.assign(this.style, {
356
+ top: `${top}px`,
357
+ left: `${left}px`,
358
+ width: `${Math.round(Number.parseFloat(width) * 100) / 100}px`,
359
+ height: `${Math.round(Number.parseFloat(height) * 100) / 100}px`,
360
+ });
361
+
362
+ this._x = event.clientX;
363
+ this._y = event.clientY;
364
+
365
+ this._attachMouseDragHandlers();
366
+ }
367
+
368
+ _onDragMouseMove(event) {
369
+ event.preventDefault();
370
+
371
+ const calcX = this._x - event.clientX;
372
+ const calcY = this._y - event.clientY;
373
+ const {
374
+ left,
375
+ top,
376
+ } = this.getBoundingClientRect();
377
+
378
+ Object.assign(this.style, {
379
+ left: `${Math.floor(left - calcX)}px`,
380
+ top: `${Math.floor(top - calcY)}px`,
381
+ });
382
+
383
+ this._x = event.clientX;
384
+ this._y = event.clientY;
385
+ }
386
+
387
+ _onDragMouseUp() {
388
+ this._x = null;
389
+ this._y = null;
390
+
391
+ this._detachMouseDragHandlers();
392
+ }
393
+
394
+ _onDragOrResizeKeyDown(event) {
395
+ if (!this._movable || !Dialog._isHeader(event.target)) {
113
396
  return;
114
397
  }
115
398
 
116
- this.opened = false;
399
+ if (this.draggable && [isUp, isDown, isLeft, isRight].some(key => key(event))) {
400
+ this._dragWithEvent(event);
401
+ return;
402
+ }
403
+
404
+ if (this.resizable && [isUpShift, isDownShift, isLeftShift, isRightShift].some(key => key(event))) {
405
+ this._resizeWithEvent(event);
406
+ }
407
+ }
408
+
409
+ _dragWithEvent(event) {
410
+ const {
411
+ top,
412
+ left,
413
+ width,
414
+ height,
415
+ } = this.getBoundingClientRect();
416
+
417
+ let newPos,
418
+ posDirection;
419
+
420
+ switch (true) {
421
+ case isUp(event):
422
+ newPos = top - STEP_SIZE;
423
+ posDirection = "top";
424
+ break;
425
+ case isDown(event):
426
+ newPos = top + STEP_SIZE;
427
+ posDirection = "top";
428
+ break;
429
+ case isLeft(event):
430
+ newPos = left - STEP_SIZE;
431
+ posDirection = "left";
432
+ break;
433
+ case isRight(event):
434
+ newPos = left + STEP_SIZE;
435
+ posDirection = "left";
436
+ break;
437
+ }
117
438
 
118
- this.resetFocus();
439
+ newPos = clamp(
440
+ newPos,
441
+ 0,
442
+ posDirection === "left" ? window.innerWidth - width : window.innerHeight - height,
443
+ );
119
444
 
120
- this.fireEvent("afterClose", { });
445
+ this.style[posDirection] = `${newPos}px`;
121
446
  }
122
447
 
123
- get classes() {
124
- return {
125
- dialogParent: {
126
- "ui5-phone": isPhone(),
127
- },
128
- blockLayer: {
129
- "ui5-popup-BLy": true,
130
- "ui5-popup-blockLayer": true,
131
- "ui5-popup-blockLayer--hidden": this._hideBlockLayer,
132
- },
133
- };
448
+ _resizeWithEvent(event) {
449
+ this._detachResizeHandlers();
450
+ this.addEventListener("ui5-before-close", this._revertSize);
451
+
452
+ const { top, left } = this.getBoundingClientRect(),
453
+ style = window.getComputedStyle(this),
454
+ minWidth = Number.parseFloat(style.minWidth),
455
+ minHeight = Number.parseFloat(style.minHeight),
456
+ maxWidth = window.innerWidth - left,
457
+ maxHeight = window.innerHeight - top;
458
+
459
+ let width = Number.parseFloat(style.width),
460
+ height = Number.parseFloat(style.height);
461
+
462
+ switch (true) {
463
+ case isUpShift(event):
464
+ height -= STEP_SIZE;
465
+ break;
466
+ case isDownShift(event):
467
+ height += STEP_SIZE;
468
+ break;
469
+ case isLeftShift(event):
470
+ width -= STEP_SIZE;
471
+ break;
472
+ case isRightShift(event):
473
+ width += STEP_SIZE;
474
+ break;
475
+ }
476
+
477
+ width = clamp(width, minWidth, maxWidth);
478
+ height = clamp(height, minHeight, maxHeight);
479
+
480
+ Object.assign(this.style, {
481
+ width: `${width}px`,
482
+ height: `${height}px`,
483
+ });
134
484
  }
135
485
 
136
- get zindex() {
137
- return `z-index: ${this._zIndex + 1};`;
486
+ _attachMouseDragHandlers() {
487
+ this._detachResizeHandlers();
488
+
489
+ window.addEventListener("mousemove", this._dragMouseMoveHandler);
490
+ window.addEventListener("mouseup", this._dragMouseUpHandler);
138
491
  }
139
492
 
140
- get blockLayer() {
141
- return `z-index: ${this._zIndex};`;
493
+ _detachMouseDragHandlers() {
494
+ window.removeEventListener("mousemove", this._dragMouseMoveHandler);
495
+ window.removeEventListener("mouseup", this._dragMouseUpHandler);
142
496
  }
143
497
 
144
- get headerAriaLabelledBy() {
145
- if (this.headerText || this.header) {
146
- return `${this._id}-popup-heading`;
498
+ _onResizeMouseDown(event) {
499
+ if (!this._movable || !this.resizable) {
500
+ return;
147
501
  }
148
- return undefined;
502
+
503
+ event.preventDefault();
504
+
505
+ const {
506
+ top,
507
+ left,
508
+ } = this.getBoundingClientRect();
509
+ const {
510
+ width,
511
+ height,
512
+ minWidth,
513
+ minHeight,
514
+ } = window.getComputedStyle(this);
515
+
516
+ this._initialX = event.clientX;
517
+ this._initialY = event.clientY;
518
+ this._initialWidth = Number.parseFloat(width);
519
+ this._initialHeight = Number.parseFloat(height);
520
+ this._initialTop = top;
521
+ this._initialLeft = left;
522
+ this._minWidth = Number.parseFloat(minWidth);
523
+ this._minHeight = Number.parseFloat(minHeight);
524
+
525
+ Object.assign(this.style, {
526
+ top: `${top}px`,
527
+ left: `${left}px`,
528
+ });
529
+
530
+ this._attachMouseResizeHandlers();
531
+ }
532
+
533
+ _onResizeMouseMove(event) {
534
+ const { clientX, clientY } = event;
535
+
536
+ let newWidth,
537
+ newLeft;
538
+
539
+ if (this._isRTL) {
540
+ newWidth = clamp(
541
+ this._initialWidth - (clientX - this._initialX),
542
+ this._minWidth,
543
+ this._initialLeft + this._initialWidth,
544
+ );
545
+
546
+ newLeft = clamp(
547
+ this._initialLeft + (clientX - this._initialX),
548
+ 0,
549
+ this._initialX + this._initialWidth - this._minWidth,
550
+ );
551
+ } else {
552
+ newWidth = clamp(
553
+ this._initialWidth + (clientX - this._initialX),
554
+ this._minWidth,
555
+ window.innerWidth - this._initialLeft,
556
+ );
557
+ }
558
+
559
+ const newHeight = clamp(
560
+ this._initialHeight + (clientY - this._initialY),
561
+ this._minHeight,
562
+ window.innerHeight - this._initialTop,
563
+ );
564
+
565
+ Object.assign(this.style, {
566
+ height: `${newHeight}px`,
567
+ width: `${newWidth}px`,
568
+ left: newLeft ? `${newLeft}px` : undefined,
569
+ });
570
+ }
571
+
572
+ _onResizeMouseUp() {
573
+ this._initialX = null;
574
+ this._initialY = null;
575
+ this._initialWidth = null;
576
+ this._initialHeight = null;
577
+ this._initialTop = null;
578
+ this._initialLeft = null;
579
+ this._minWidth = null;
580
+ this._minHeight = null;
581
+
582
+ this._detachMouseResizeHandlers();
583
+ }
584
+
585
+ _attachMouseResizeHandlers() {
586
+ this._detachResizeHandlers();
587
+
588
+ window.addEventListener("mousemove", this._resizeMouseMoveHandler);
589
+ window.addEventListener("mouseup", this._resizeMouseUpHandler);
590
+ this.addEventListener("ui5-before-close", this._revertSize);
591
+ }
592
+
593
+ _detachMouseResizeHandlers() {
594
+ window.removeEventListener("mousemove", this._resizeMouseMoveHandler);
595
+ window.removeEventListener("mouseup", this._resizeMouseUpHandler);
149
596
  }
150
597
  }
151
598