@ui5/webcomponents 0.0.0-d849bec2c → 0.0.0-dc3ccac50

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 (732) hide show
  1. package/CHANGELOG.md +552 -1
  2. package/README.md +144 -52
  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 +197 -46
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +44 -22
  10. package/dist/Breadcrumbs.js +563 -0
  11. package/dist/BreadcrumbsItem.js +109 -0
  12. package/dist/BusyIndicator.js +141 -37
  13. package/dist/Button.js +120 -68
  14. package/dist/Calendar.js +341 -545
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +127 -56
  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 +267 -98
  21. package/dist/CheckBox.js +146 -58
  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 +599 -94
  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 -4
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +392 -409
  33. package/dist/DateRangePicker.js +328 -0
  34. package/dist/DateTimePicker.js +106 -384
  35. package/dist/DayPicker.js +508 -430
  36. package/dist/Dialog.js +496 -44
  37. package/dist/DurationPicker.js +135 -400
  38. package/dist/FileUploader.js +208 -26
  39. package/dist/GroupHeaderListItem.js +24 -14
  40. package/dist/Icon.js +140 -46
  41. package/dist/Input.js +613 -162
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -17
  44. package/dist/Link.js +123 -29
  45. package/dist/List.js +425 -94
  46. package/dist/ListItem.js +88 -19
  47. package/dist/ListItemBase.js +27 -5
  48. package/dist/MessageStrip.js +50 -65
  49. package/dist/MonthPicker.js +180 -182
  50. package/dist/MultiComboBox.js +569 -156
  51. package/dist/MultiComboBoxItem.js +8 -2
  52. package/dist/MultiInput.js +301 -0
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +100 -37
  55. package/dist/Popover.js +252 -139
  56. package/dist/Popup.js +364 -90
  57. package/dist/ProgressIndicator.js +235 -0
  58. package/dist/RadioButton.js +131 -51
  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 +67 -53
  63. package/dist/SegmentedButton.js +109 -73
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +441 -108
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +44 -13
  69. package/dist/StepInput.js +681 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +37 -31
  72. package/dist/SuggestionListItem.js +76 -0
  73. package/dist/Switch.js +59 -42
  74. package/dist/Tab.js +55 -24
  75. package/dist/TabContainer.js +142 -62
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +475 -22
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +235 -10
  82. package/dist/TextArea.js +139 -41
  83. package/dist/TimePicker.js +55 -675
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +16 -9
  87. package/dist/Toast.js +24 -13
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +84 -47
  90. package/dist/Tokenizer.js +242 -60
  91. package/dist/Tree.js +137 -51
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +127 -7
  94. package/dist/WheelSlider.js +76 -56
  95. package/dist/YearPicker.js +198 -254
  96. package/dist/api.json +6877 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +247 -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 -87
  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 -6
  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 -12
  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 -6
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -6
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -9
  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 -23
  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 +8 -17
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -5
  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 +4 -4
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -9
  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 -14
  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 -5
  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 -20
  219. package/dist/generated/templates/StepInputTemplate.lit.js +8 -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 -6
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -14
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -21
  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 -11
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -7
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -6
  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 +18 -16
  245. package/dist/generated/templates/TreeTemplate.lit.js +5 -5
  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 +5 -5
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +5 -5
  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 +5 -5
  255. package/dist/generated/themes/Button.css.js +5 -5
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +5 -5
  258. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  259. package/dist/generated/themes/Card.css.js +5 -5
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +5 -5
  262. package/dist/generated/themes/CheckBox.css.js +5 -5
  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 +5 -5
  269. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  270. package/dist/generated/themes/CustomListItem.css.js +5 -5
  271. package/dist/generated/themes/DatePicker.css.js +5 -5
  272. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  273. package/dist/generated/themes/DateRangePicker.css.js +8 -0
  274. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  276. package/dist/generated/themes/DayPicker.css.js +5 -5
  277. package/dist/generated/themes/Dialog.css.js +5 -5
  278. package/dist/generated/themes/FileUploader.css.js +5 -5
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +5 -5
  282. package/dist/generated/themes/Input.css.js +5 -5
  283. package/dist/generated/themes/InputIcon.css.js +5 -5
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  285. package/dist/generated/themes/Label.css.js +5 -5
  286. package/dist/generated/themes/Link.css.js +5 -5
  287. package/dist/generated/themes/List.css.js +5 -5
  288. package/dist/generated/themes/ListItem.css.js +5 -5
  289. package/dist/generated/themes/ListItemBase.css.js +5 -5
  290. package/dist/generated/themes/MessageStrip.css.js +5 -5
  291. package/dist/generated/themes/MonthPicker.css.js +5 -5
  292. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  293. package/dist/generated/themes/MultiInput.css.js +8 -0
  294. package/dist/generated/themes/Panel.css.js +5 -5
  295. package/dist/generated/themes/Popover.css.js +5 -5
  296. package/dist/generated/themes/Popup.css.js +5 -5
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  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 +5 -5
  302. package/dist/generated/themes/RatingIndicator.css.js +8 -0
  303. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  305. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  306. package/dist/generated/themes/Select.css.js +5 -5
  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 +5 -5
  312. package/dist/generated/themes/Tab.css.js +5 -5
  313. package/dist/generated/themes/TabContainer.css.js +5 -5
  314. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  315. package/dist/generated/themes/TabInStrip.css.js +5 -5
  316. package/dist/generated/themes/Table.css.js +5 -5
  317. package/dist/generated/themes/TableCell.css.js +5 -5
  318. package/dist/generated/themes/TableColumn.css.js +5 -5
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +5 -5
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +5 -5
  323. package/dist/generated/themes/TimePicker.css.js +5 -5
  324. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +5 -5
  327. package/dist/generated/themes/Toast.css.js +5 -5
  328. package/dist/generated/themes/ToggleButton.css.js +5 -5
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +5 -5
  331. package/dist/generated/themes/Tokenizer.css.js +5 -5
  332. package/dist/generated/themes/Tree.css.js +5 -5
  333. package/dist/generated/themes/TreeListItem.css.js +5 -5
  334. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  335. package/dist/generated/themes/WheelSlider.css.js +5 -5
  336. package/dist/generated/themes/YearPicker.css.js +5 -5
  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 +49 -15
  398. package/dist/timepicker-utils/TimeSlider.js +15 -13
  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 +1 -1
  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 +1 -1
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +5 -5
  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 -7
  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 +563 -0
  462. package/src/BreadcrumbsItem.js +109 -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 +532 -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 +226 -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 +77 -0
  574. package/src/StepInput.js +681 -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 +261 -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 +530 -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 -97
  719. package/dist/TimelineItem.js +0 -161
  720. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  721. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -10
  722. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
  723. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  724. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  725. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  726. package/dist/generated/themes/DurationPicker.css.js +0 -8
  727. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  728. package/dist/generated/themes/Timeline.css.js +0 -8
  729. package/dist/generated/themes/TimelineItem.css.js +0 -8
  730. package/dist/popup-utils/PopupUtils.js +0 -55
  731. package/dist/types/AvatarFitType.js +0 -40
  732. package/dist/webcomponentsjs/package.json +0 -46
@@ -0,0 +1,603 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
+ import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
5
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
6
+
7
+ import {
8
+ isEnter,
9
+ isSpace,
10
+ } from "@ui5/webcomponents-base/dist/Keys.js";
11
+
12
+ import {
13
+ AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL,
14
+ AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL,
15
+ AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL,
16
+ AVATAR_GROUP_ARIA_LABEL_GROUP,
17
+ AVATAR_GROUP_MOVE,
18
+ } from "./generated/i18n/i18n-defaults.js";
19
+
20
+ // Template
21
+ import AvatarGroupTemplate from "./generated/templates/AvatarGroupTemplate.lit.js";
22
+ // Styles
23
+ import AvatarGroupCss from "./generated/themes/AvatarGroup.css.js";
24
+
25
+ import Button from "./Button.js";
26
+ import AvatarSize from "./types/AvatarSize.js";
27
+ import AvatarGroupType from "./types/AvatarGroupType.js";
28
+ import AvatarColorScheme from "./types/AvatarColorScheme.js";
29
+
30
+ const OVERFLOW_BTN_CLASS = "ui5-avatar-group-overflow-btn";
31
+ const AVATAR_GROUP_OVERFLOW_BTN_SELECTOR = `.${OVERFLOW_BTN_CLASS}`;
32
+
33
+ // based on RTL/LTR a margin-left/right is set respectfully
34
+ const offsets = {
35
+ [AvatarSize.XS]: {
36
+ [AvatarGroupType.Individual]: "0.0625rem",
37
+ [AvatarGroupType.Group]: "-0.75rem",
38
+ },
39
+ [AvatarSize.S]: {
40
+ [AvatarGroupType.Individual]: "0.125rem",
41
+ [AvatarGroupType.Group]: "-1.25rem",
42
+ },
43
+ [AvatarSize.M]: {
44
+ [AvatarGroupType.Individual]: "0.125rem",
45
+ [AvatarGroupType.Group]: "-1.625rem",
46
+ },
47
+ [AvatarSize.L]: {
48
+ [AvatarGroupType.Individual]: "0.125rem",
49
+ [AvatarGroupType.Group]: " -2rem",
50
+ },
51
+ [AvatarSize.XL]: {
52
+ [AvatarGroupType.Individual]: "0.25rem",
53
+ [AvatarGroupType.Group]: "-2.75rem",
54
+ },
55
+ };
56
+
57
+ /**
58
+ * @public
59
+ */
60
+ const metadata = {
61
+ tag: "ui5-avatar-group",
62
+ managedSlots: true,
63
+ properties: /** @lends sap.ui.webcomponents.main.AvatarGroup.prototype */ {
64
+
65
+ /**
66
+ * Defines the mode of the <code>AvatarGroup</code>.
67
+ * <br><br>
68
+ * Available options are:
69
+ * <ul>
70
+ * <li><code>Group</code></li>
71
+ * <li><code>Individual</code></li>
72
+ * </ul>
73
+ * @type {AvatarGroupType}
74
+ * @defaultValue "Group"
75
+ * @public
76
+ */
77
+ type: {
78
+ type: String,
79
+ defaultValue: AvatarGroupType.Group,
80
+ },
81
+
82
+ /**
83
+ * Defines the aria-haspopup value of the component on:
84
+ * <br><br>
85
+ * <ul>
86
+ * <li> the whole container when <code>type</code> property is <code>Group</code></li>
87
+ * <li> the default "More" overflow button when <code>type</code> is <code>Individual</code></li>
88
+ * </ul>
89
+ * <br><br>
90
+ * @type String
91
+ * @since 1.0.0-rc.15
92
+ * @protected
93
+ */
94
+ ariaHaspopup: {
95
+ type: String,
96
+ },
97
+
98
+ /**
99
+ * @private
100
+ */
101
+ _overflowButtonText: {
102
+ type: String,
103
+ noAttribute: true,
104
+ },
105
+ },
106
+ slots: /** @lends sap.ui.webcomponents.main.AvatarGroup.prototype */ {
107
+ /**
108
+ * Defines the items of the component. Use the <code>ui5-avatar</code> component as an item.
109
+ * <br><br>
110
+ * <b>Note:</b> The UX guidelines recommends using avatars with "Circle" shape.
111
+ * Moreover, if you use avatars with "Square" shape, there will be visual inconsistency
112
+ * as the built-in overflow action has "Circle" shape.
113
+ * @type {sap.ui.webcomponents.main.IAvatar[]}
114
+ * @slot items
115
+ * @public
116
+ */
117
+ "default": {
118
+ type: HTMLElement,
119
+ propertyName: "items",
120
+ },
121
+ /**
122
+ * Defines the overflow button of the component.
123
+ * <b>Note:</b> We recommend using the <code>ui5-button</code> component.
124
+ * <br><br>
125
+ * <b>Note:</b> If this slot is not used, the component will
126
+ * display the built-in overflow button.
127
+ * @type {HTMLElement}
128
+ * @slot overflowButton
129
+ * @public
130
+ * @since 1.0.0-rc.13
131
+ */
132
+ overflowButton: {
133
+ type: HTMLElement,
134
+ },
135
+ },
136
+ events: /** @lends sap.ui.webcomponents.main.AvatarGroup.prototype */ {
137
+ /**
138
+ * Fired when the component is activated either with a
139
+ * click/tap or by using the Enter or Space key.
140
+ * @param {HTMLElement} targetRef The DOM ref of the clicked item.
141
+ * @param {boolean} overflowButtonClicked indicates if the overflow button is clicked
142
+ * @event
143
+ * @public
144
+ * @since 1.0.0-rc.11
145
+ */
146
+ click: {
147
+ detail: {
148
+ targetRef: { type: HTMLElement },
149
+ overflowButtonClicked: { type: Boolean },
150
+ },
151
+ },
152
+ /**
153
+ * Fired when the count of visible <code>ui5-avatar</code> elements in the
154
+ * component has changed
155
+ * @event
156
+ * @public
157
+ * @since 1.0.0-rc.13
158
+ */
159
+ overflow: {},
160
+ },
161
+ };
162
+
163
+ /**
164
+ * @class
165
+ *
166
+ * <h3 class="comment-api-title">Overview</h3>
167
+ *
168
+ * Displays a group of avatars arranged horizontally. It is useful to visually
169
+ * showcase a group of related avatars, such as, project team members or employees.
170
+ *
171
+ * The component allows you to display the avatars in different sizes,
172
+ * depending on your use case.
173
+ *
174
+ * The <code>AvatarGroup</code> component has two group types:
175
+ * <ul>
176
+ * <li><code>Group</code> type: The avatars are displayed as partially overlapped on
177
+ * top of each other and the entire group has one click/tap area.</li>
178
+ * <li><code>Individual</code> type: The avatars are displayed side-by-side and each
179
+ * avatar has its own click/tap area.</li>
180
+ * </ul>
181
+ *
182
+ * <h3>Responsive Behavior</h3>
183
+ *
184
+ * When the available space is less than the width required to display all avatars,
185
+ * an overflow visualization appears as a button placed at the end with the same shape
186
+ * and size as the avatars. The visualization displays the number of avatars that have overflowed
187
+ * and are not currently visible.
188
+ *
189
+ * <h3>Usage</h3>
190
+ *
191
+ * Use the <code>AvatarGroup</code> if:
192
+ * <ul>
193
+ * <li>You want to display a group of avatars.</li>
194
+ * <li>You want to display several avatars which have something in common.</li>
195
+ * </ul>
196
+ *
197
+ * Do not use the <code>AvatarGroup</code> if:
198
+ * <ul>
199
+ * <li>You want to display a single avatar.</li>
200
+ * <li>You want to display a gallery for simple images.</li>
201
+ * <li>You want to use it for other visual content than avatars.</li>
202
+ * </ul>
203
+ *
204
+ * <h3>Keyboard Handling</h3>
205
+ * The component provides advanced keyboard handling.
206
+ * When focused, the user can use the following keyboard
207
+ * shortcuts in order to perform a navigation:
208
+ * <br>
209
+ * - <code>type</code> Individual:
210
+ * <br>
211
+ * <ul>
212
+ * <li>[TAB] - Move focus to the overflow button</li>
213
+ * <li>[LEFT] - Navigate one avatar to the left</li>
214
+ * <li>[RIGHT] - Navigate one avatar to the right</li>
215
+ * <li>[HOME] - Navigate to the first avatar</li>
216
+ * <li>[END] - Navigate to the last avatar</li>
217
+ * <li>[SPACE],[ENTER],[RETURN] - Trigger <code>ui5-click</code> event</li>
218
+ * </ul>
219
+ * <br>
220
+ * - <code>type</code> Group:
221
+ * <br>
222
+ * <ul>
223
+ * <li>[TAB] - Move focus to the next interactive element after the component</li>
224
+ * <li>[SPACE],[ENTER],[RETURN] - Trigger <code>ui5-click</code> event</li>
225
+ * </ul>
226
+ * <br>
227
+ *
228
+ * @constructor
229
+ * @author SAP SE
230
+ * @alias sap.ui.webcomponents.main.AvatarGroup
231
+ * @extends UI5Element
232
+ * @tagname ui5-avatar-group
233
+ * @since 1.0.0-rc.11
234
+ * @public
235
+ */
236
+ class AvatarGroup extends UI5Element {
237
+ constructor() {
238
+ super();
239
+
240
+ this._itemNavigation = new ItemNavigation(this, {
241
+ getItemsCallback: () => {
242
+ return this._isGroup ? [] : this.items.slice(0, this._hiddenStartIndex);
243
+ },
244
+ });
245
+
246
+ this._colorIndex = 0;
247
+ this._hiddenItems = 0;
248
+ this._onResizeHandler = this._onResize.bind(this);
249
+ }
250
+
251
+ static get metadata() {
252
+ return metadata;
253
+ }
254
+
255
+ static get render() {
256
+ return litRender;
257
+ }
258
+
259
+ static get template() {
260
+ return AvatarGroupTemplate;
261
+ }
262
+
263
+ static get styles() {
264
+ return AvatarGroupCss;
265
+ }
266
+
267
+ static get dependencies() {
268
+ return [
269
+ Button,
270
+ ];
271
+ }
272
+
273
+ static async onDefine() {
274
+ AvatarGroup.i18nBundle = await getI18nBundle("@ui5/webcomponents");
275
+ }
276
+
277
+ /**
278
+ * Returns an array containing the <code>ui5-avatar</code> instances that are currently not displayed due to lack of space.
279
+ * @readonly
280
+ * @type { Array }
281
+ * @defaultValue []
282
+ * @public
283
+ */
284
+ get hiddenItems() {
285
+ return this.items.slice(this._hiddenStartIndex);
286
+ }
287
+
288
+ /**
289
+ * Returns an array containing the <code>AvatarColorScheme</code> values that correspond to the avatars in the component.
290
+ * @readonly
291
+ * @type { Array }
292
+ * @defaultValue []
293
+ * @public
294
+ */
295
+ get colorScheme() {
296
+ return this.items.map(avatar => avatar._effectiveBackgroundColor);
297
+ }
298
+
299
+ get _customOverflowButton() {
300
+ return this.overflowButton.length ? this.overflowButton[0] : undefined;
301
+ }
302
+
303
+ get _ariaLabelText() {
304
+ const hiddenItemsCount = this.hiddenItems.length;
305
+ const typeLabelKey = this._isGroup ? AVATAR_GROUP_ARIA_LABEL_GROUP : AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL;
306
+
307
+ // avatar type label
308
+ let text = AvatarGroup.i18nBundle.getText(typeLabelKey);
309
+
310
+ // add displayed-hidden avatars label
311
+ text += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL, this._itemsCount - hiddenItemsCount, hiddenItemsCount)}`;
312
+
313
+ if (this._isGroup) {
314
+ // the container role is "button", add the message for complete list activation
315
+ text += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL)}`;
316
+ } else {
317
+ // the container role is "group", add the "how to navigate" message
318
+ text += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_MOVE)}`;
319
+ }
320
+
321
+ return text;
322
+ }
323
+
324
+ get _overflowButtonAriaLabelText() {
325
+ return this._isGroup ? undefined : AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL);
326
+ }
327
+
328
+ get _containerAriaHasPopup() {
329
+ return this._isGroup ? this._getAriaHasPopup() : undefined;
330
+ }
331
+
332
+ get _overflowButtonAccInfo() {
333
+ return {
334
+ ariaHaspopup: this._isGroup ? undefined : this._getAriaHasPopup(),
335
+ };
336
+ }
337
+
338
+ get _role() {
339
+ return this._isGroup ? "button" : "group";
340
+ }
341
+
342
+ get _hiddenStartIndex() {
343
+ return this._itemsCount - this._hiddenItems;
344
+ }
345
+
346
+ get _overflowBtnHidden() {
347
+ return this._hiddenItems === 0;
348
+ }
349
+
350
+ get _isGroup() {
351
+ return this.type === AvatarGroupType.Group;
352
+ }
353
+
354
+ get _itemsCount() {
355
+ return this.items.length;
356
+ }
357
+
358
+ get _groupTabIndex() {
359
+ return this._isGroup ? "0" : "-1";
360
+ }
361
+
362
+ get _overflowButton() {
363
+ return this.shadowRoot.querySelector(AVATAR_GROUP_OVERFLOW_BTN_SELECTOR);
364
+ }
365
+
366
+ /**
367
+ * Return the effective overflow button width
368
+ * Differences are that when in "Group" type the button is offset and overlaps the avatars
369
+ *
370
+ * 1) In case of "Group", (LTR/RTL aware) button width is qual to second item offset left/right
371
+ * 2) In case of "Individual" group type width is directly taken from button element
372
+ * @private
373
+ */
374
+ get _overflowButtonEffectiveWidth() {
375
+ const button = this._customOverflowButton ? this._customOverflowButton : this._overflowButton;
376
+ // if in "Group" mode overflow button size is equal to the offset from second item
377
+ if (this._isGroup) {
378
+ let item = this.items[1];
379
+
380
+ // in some cases when second avatar is overflowed the offset of the button is the right one
381
+ if (!item || item.hidden) {
382
+ item = button;
383
+ }
384
+
385
+ return this.effectiveDir === "rtl" ? this._getWidthToItem(item) : item.offsetLeft;
386
+ }
387
+
388
+ return button.offsetWidth;
389
+ }
390
+
391
+ get firstAvatarSize() {
392
+ return this.items[0].size;
393
+ }
394
+
395
+ get classes() {
396
+ return {
397
+ overflowButton: {
398
+ "ui5-avatar-group-overflow-btn": true,
399
+ "ui5-avatar-group-overflow-btn-xs": this.firstAvatarSize === "XS",
400
+ "ui5-avatar-group-overflow-btn-s": this.firstAvatarSize === "S",
401
+ "ui5-avatar-group-overflow-btn-m": this.firstAvatarSize === "M",
402
+ "ui5-avatar-group-overflow-btn-l": this.firstAvatarSize === "L",
403
+ "ui5-avatar-group-overflow-btn-xl": this.firstAvatarSize === "XL",
404
+ },
405
+ };
406
+ }
407
+
408
+ onAfterRendering() {
409
+ this._overflowItems();
410
+ }
411
+
412
+ onBeforeRendering() {
413
+ if (this._customOverflowButton) {
414
+ this._customOverflowButton.nonInteractive = this._isGroup;
415
+ }
416
+
417
+ this._prepareAvatars();
418
+ }
419
+
420
+ onEnterDOM() {
421
+ ResizeHandler.register(this, this._onResizeHandler);
422
+ }
423
+
424
+ onExitDOM() {
425
+ ResizeHandler.deregister(this, this._onResizeHandler);
426
+ }
427
+
428
+ _onResize() {
429
+ this._overflowItems();
430
+ }
431
+
432
+ _onkeydown(event) {
433
+ // when type is "Individual" the ui5-avatar and ui5-button both
434
+ // fire "click" event when SPACE or ENTER are pressed and
435
+ // AvatarGroup "click" is fired in their handlers (_onClick, _onUI5Click).
436
+ if (this._isGroup) {
437
+ if (isEnter(event)) {
438
+ this._fireGroupEvent(event.target);
439
+ } else if (isSpace(event)) {
440
+ // prevent scrolling
441
+ event.preventDefault();
442
+ }
443
+ }
444
+ }
445
+
446
+ _onkeyup(event) {
447
+ if (!event.shiftKey && isSpace(event) && this._isGroup) {
448
+ this._fireGroupEvent(event.target);
449
+ event.preventDefault();
450
+ }
451
+ }
452
+
453
+ _fireGroupEvent(targetRef) {
454
+ const isOverflowButtonClicked = targetRef.classList.contains(OVERFLOW_BTN_CLASS) || targetRef === this._customOverflowButton;
455
+
456
+ this.fireEvent("click", {
457
+ targetRef,
458
+ overflowButtonClicked: isOverflowButtonClicked,
459
+ });
460
+ }
461
+
462
+ _onClick(event) {
463
+ // no matter the value of noConflict, the ui5-button and the group container (div) always fire a native click event
464
+ const isButton = event.target.hasAttribute("ui5-button");
465
+ event.stopPropagation();
466
+
467
+ if (this._isGroup || isButton) {
468
+ this._fireGroupEvent(event.target);
469
+ }
470
+ }
471
+
472
+ _onUI5Click(event) {
473
+ // when noConflict=true only ui5-avatar will fire ui5-click event
474
+ const isAvatar = event.target.hasAttribute("ui5-avatar");
475
+ event.stopPropagation();
476
+
477
+ if (isAvatar) {
478
+ this._fireGroupEvent(event.target);
479
+ }
480
+ }
481
+
482
+ /**
483
+ * Modifies avatars to the needs of avatar group properties. Respects already set size and background color.
484
+ * Set the margins (offsets) based on RTL/LTR.
485
+ * @private
486
+ */
487
+ _prepareAvatars() {
488
+ const RTL = this.effectiveDir === "rtl";
489
+ this._colorIndex = 0;
490
+
491
+ this.items.forEach((avatar, index) => {
492
+ const colorIndex = this._getNextBackgroundColor();
493
+ avatar.interactive = !this._isGroup;
494
+
495
+ if (!avatar.getAttribute("_color-scheme")) {
496
+ // AvatarGroup respects colors set to ui5-avatar
497
+ avatar.setAttribute("_color-scheme", AvatarColorScheme[`Accent${colorIndex}`]);
498
+ }
499
+
500
+ // last avatar should not be offset as it breaks the container width and focus styles are no set correctly
501
+ if (index !== this._itemsCount - 1 || this._customOverflowButton) {
502
+ // based on RTL margin left or right is set to avatars
503
+ avatar.style[`margin-${RTL ? "left" : "right"}`] = offsets[avatar._effectiveSize][this.type];
504
+ }
505
+ });
506
+ }
507
+
508
+ _onfocusin(event) {
509
+ const target = event.target;
510
+ this._itemNavigation.setCurrentItem(target);
511
+ }
512
+
513
+ /**
514
+ * Returns the total width to item excluding the item width
515
+ * RTL/LTR aware
516
+ * @private
517
+ * @param {HTMLElement} item
518
+ */
519
+ _getWidthToItem(item) {
520
+ const isRTL = this.effectiveDir === "rtl";
521
+
522
+ if (isRTL) {
523
+ // in RTL the total width is equal to difference of the parent container width and
524
+ // how much is the item offset to the left minus its offsetWidth
525
+ return item.offsetParent.offsetWidth - item.offsetLeft - item.offsetWidth;
526
+ }
527
+
528
+ // in LTR the width is equal to item.offsetLeft
529
+ return item.offsetLeft;
530
+ }
531
+
532
+ /**
533
+ * Overflows items that were not able to fit the container
534
+ * @private
535
+ */
536
+ _overflowItems() {
537
+ if (this.items.length < 2) {
538
+ // no need to overflow avatars
539
+ return;
540
+ }
541
+
542
+ let hiddenItems = 0;
543
+
544
+ for (let index = 0; index < this._itemsCount; index++) {
545
+ const item = this.items[index];
546
+
547
+ // show item to determine if it will fit the new container size
548
+ item.hidden = false;
549
+
550
+ // container width to current item + item width (avatar)
551
+ // used to determine whether the following items will fit the container or not
552
+ let totalWidth = this._getWidthToItem(item) + item.offsetWidth;
553
+
554
+ if (index !== this._itemsCount - 1 || this._customOverflowButton) {
555
+ totalWidth += this._overflowButtonEffectiveWidth;
556
+ }
557
+
558
+ if (totalWidth > this.offsetWidth) {
559
+ hiddenItems = this._itemsCount - index;
560
+ break;
561
+ }
562
+ }
563
+
564
+ // hide the items that did not fit the container size
565
+ this._setHiddenItems(hiddenItems);
566
+ }
567
+
568
+ _getNextBackgroundColor() {
569
+ // counter is to automatically assign background colors to avatars, `Accent10` is the highest color value
570
+ if (++this._colorIndex > 10) {
571
+ this._colorIndex = 1;
572
+ }
573
+ return this._colorIndex;
574
+ }
575
+
576
+ _setHiddenItems(hiddenItems) {
577
+ const shouldFireEvent = this._hiddenItems !== hiddenItems;
578
+
579
+ this._hiddenItems = hiddenItems;
580
+
581
+ this.items.forEach((item, index) => {
582
+ item.hidden = index >= this._hiddenStartIndex;
583
+ });
584
+
585
+ this._overflowButtonText = `+${hiddenItems > 99 ? 99 : hiddenItems}`;
586
+
587
+ if (shouldFireEvent) {
588
+ this.fireEvent("overflow");
589
+ }
590
+ }
591
+
592
+ _getAriaHasPopup() {
593
+ if (this.ariaHaspopup === "") {
594
+ return;
595
+ }
596
+
597
+ return this.ariaHaspopup;
598
+ }
599
+ }
600
+
601
+ AvatarGroup.define();
602
+
603
+ export default AvatarGroup;