@ui5/webcomponents 2.11.0-rc.2 → 2.11.0-rc.4

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 (843) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Assets-node.d.ts +16 -0
  4. package/dist/Assets-node.js +19 -0
  5. package/dist/Assets-node.js.map +1 -0
  6. package/dist/Avatar.d.ts +4 -0
  7. package/dist/Avatar.js +9 -4
  8. package/dist/Avatar.js.map +1 -1
  9. package/dist/Breadcrumbs.js +2 -2
  10. package/dist/Breadcrumbs.js.map +1 -1
  11. package/dist/Calendar.d.ts +31 -8
  12. package/dist/Calendar.js +100 -26
  13. package/dist/Calendar.js.map +1 -1
  14. package/dist/CalendarHeaderTemplate.js +1 -1
  15. package/dist/CalendarHeaderTemplate.js.map +1 -1
  16. package/dist/CalendarTemplate.js +3 -1
  17. package/dist/CalendarTemplate.js.map +1 -1
  18. package/dist/CheckBoxTemplate.js +1 -1
  19. package/dist/CheckBoxTemplate.js.map +1 -1
  20. package/dist/ComboBox.d.ts +1 -0
  21. package/dist/ComboBox.js +4 -1
  22. package/dist/ComboBox.js.map +1 -1
  23. package/dist/ComboBoxPopoverTemplate.js +1 -1
  24. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  25. package/dist/DynamicDateRange.d.ts +133 -0
  26. package/dist/DynamicDateRange.js +291 -0
  27. package/dist/DynamicDateRange.js.map +1 -0
  28. package/dist/DynamicDateRangeInputTemplate.d.ts +2 -0
  29. package/dist/DynamicDateRangeInputTemplate.js +13 -0
  30. package/dist/DynamicDateRangeInputTemplate.js.map +1 -0
  31. package/dist/DynamicDateRangePopoverTemplate.d.ts +2 -0
  32. package/dist/DynamicDateRangePopoverTemplate.js +18 -0
  33. package/dist/DynamicDateRangePopoverTemplate.js.map +1 -0
  34. package/dist/DynamicDateRangeTemplate.d.ts +2 -0
  35. package/dist/DynamicDateRangeTemplate.js +9 -0
  36. package/dist/DynamicDateRangeTemplate.js.map +1 -0
  37. package/dist/Icon.js +2 -2
  38. package/dist/Icon.js.map +1 -1
  39. package/dist/Input.d.ts +1 -0
  40. package/dist/Input.js +4 -1
  41. package/dist/Input.js.map +1 -1
  42. package/dist/Tab.d.ts +2 -1
  43. package/dist/Tab.js +2 -1
  44. package/dist/Tab.js.map +1 -1
  45. package/dist/TabContainer.js +2 -2
  46. package/dist/TabContainer.js.map +1 -1
  47. package/dist/Table.d.ts +0 -6
  48. package/dist/Table.js +3 -6
  49. package/dist/Table.js.map +1 -1
  50. package/dist/TableCell.d.ts +0 -1
  51. package/dist/TableCell.js +0 -1
  52. package/dist/TableCell.js.map +1 -1
  53. package/dist/TableGrowing.d.ts +0 -1
  54. package/dist/TableGrowing.js +0 -1
  55. package/dist/TableGrowing.js.map +1 -1
  56. package/dist/TableHeaderCell.d.ts +0 -1
  57. package/dist/TableHeaderCell.js +0 -1
  58. package/dist/TableHeaderCell.js.map +1 -1
  59. package/dist/TableHeaderCellActionAI.d.ts +0 -1
  60. package/dist/TableHeaderCellActionAI.js +0 -1
  61. package/dist/TableHeaderCellActionAI.js.map +1 -1
  62. package/dist/TableHeaderRow.d.ts +0 -1
  63. package/dist/TableHeaderRow.js +0 -1
  64. package/dist/TableHeaderRow.js.map +1 -1
  65. package/dist/TableRow.d.ts +1 -2
  66. package/dist/TableRow.js +9 -5
  67. package/dist/TableRow.js.map +1 -1
  68. package/dist/TableRowAction.d.ts +0 -1
  69. package/dist/TableRowAction.js +0 -1
  70. package/dist/TableRowAction.js.map +1 -1
  71. package/dist/TableRowActionNavigation.d.ts +0 -1
  72. package/dist/TableRowActionNavigation.js +0 -1
  73. package/dist/TableRowActionNavigation.js.map +1 -1
  74. package/dist/TableSelection.d.ts +1 -1
  75. package/dist/TableSelection.js +1 -1
  76. package/dist/TableSelection.js.map +1 -1
  77. package/dist/TableSelectionBase.d.ts +9 -2
  78. package/dist/TableSelectionBase.js +14 -3
  79. package/dist/TableSelectionBase.js.map +1 -1
  80. package/dist/TableSelectionMulti.d.ts +0 -1
  81. package/dist/TableSelectionMulti.js +0 -5
  82. package/dist/TableSelectionMulti.js.map +1 -1
  83. package/dist/Tokenizer.d.ts +2 -0
  84. package/dist/Tokenizer.js +7 -1
  85. package/dist/Tokenizer.js.map +1 -1
  86. package/dist/TokenizerPopoverTemplate.js +1 -1
  87. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  88. package/dist/Toolbar.d.ts +3 -22
  89. package/dist/Toolbar.js +12 -45
  90. package/dist/Toolbar.js.map +1 -1
  91. package/dist/ToolbarButton.d.ts +10 -11
  92. package/dist/ToolbarButton.js +14 -23
  93. package/dist/ToolbarButton.js.map +1 -1
  94. package/dist/ToolbarButtonTemplate.js +2 -3
  95. package/dist/ToolbarButtonTemplate.js.map +1 -1
  96. package/dist/ToolbarItem.d.ts +13 -17
  97. package/dist/ToolbarItem.js +18 -22
  98. package/dist/ToolbarItem.js.map +1 -1
  99. package/dist/ToolbarSelect.d.ts +0 -4
  100. package/dist/ToolbarSelect.js +5 -9
  101. package/dist/ToolbarSelect.js.map +1 -1
  102. package/dist/ToolbarSelectTemplate.js +1 -1
  103. package/dist/ToolbarSelectTemplate.js.map +1 -1
  104. package/dist/ToolbarSeparator.d.ts +0 -4
  105. package/dist/ToolbarSeparator.js +6 -9
  106. package/dist/ToolbarSeparator.js.map +1 -1
  107. package/dist/ToolbarSpacer.d.ts +0 -3
  108. package/dist/ToolbarSpacer.js +2 -9
  109. package/dist/ToolbarSpacer.js.map +1 -1
  110. package/dist/ToolbarTemplate.js +15 -3
  111. package/dist/ToolbarTemplate.js.map +1 -1
  112. package/dist/Tree.js +20 -2
  113. package/dist/Tree.js.map +1 -1
  114. package/dist/YearPicker.d.ts +2 -3
  115. package/dist/YearPicker.js +7 -33
  116. package/dist/YearPicker.js.map +1 -1
  117. package/dist/YearRangePicker.d.ts +144 -0
  118. package/dist/YearRangePicker.js +418 -0
  119. package/dist/YearRangePicker.js.map +1 -0
  120. package/dist/YearRangePickerTemplate.d.ts +2 -0
  121. package/dist/YearRangePickerTemplate.js +6 -0
  122. package/dist/YearRangePickerTemplate.js.map +1 -0
  123. package/dist/bundle.esm.js +6 -0
  124. package/dist/bundle.esm.js.map +1 -1
  125. package/dist/css/themes/Avatar.css +1 -1
  126. package/dist/css/themes/AvatarGroup.css +1 -1
  127. package/dist/css/themes/Bar.css +1 -1
  128. package/dist/css/themes/Breadcrumbs.css +1 -1
  129. package/dist/css/themes/BusyIndicator.css +1 -1
  130. package/dist/css/themes/Button.css +1 -1
  131. package/dist/css/themes/ButtonBadge.css +1 -1
  132. package/dist/css/themes/Calendar.css +1 -1
  133. package/dist/css/themes/CalendarHeader.css +1 -1
  134. package/dist/css/themes/CalendarLegend.css +1 -1
  135. package/dist/css/themes/CalendarLegendItem.css +1 -1
  136. package/dist/css/themes/Card.css +1 -1
  137. package/dist/css/themes/CardHeader.css +1 -1
  138. package/dist/css/themes/Carousel.css +1 -1
  139. package/dist/css/themes/CheckBox.css +1 -1
  140. package/dist/css/themes/ColorPalette.css +1 -1
  141. package/dist/css/themes/ColorPaletteItem.css +1 -1
  142. package/dist/css/themes/ColorPalettePopover.css +1 -1
  143. package/dist/css/themes/ColorPicker.css +1 -1
  144. package/dist/css/themes/ComboBox.css +1 -1
  145. package/dist/css/themes/ComboBoxItem.css +1 -1
  146. package/dist/css/themes/DatePicker.css +1 -1
  147. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  148. package/dist/css/themes/DayPicker.css +1 -1
  149. package/dist/css/themes/Dialog.css +1 -1
  150. package/dist/css/themes/DynamicDateRange.css +1 -0
  151. package/dist/css/themes/DynamicDateRangePopover.css +1 -0
  152. package/dist/css/themes/FileUploader.css +1 -1
  153. package/dist/css/themes/Form.css +1 -1
  154. package/dist/css/themes/FormItem.css +1 -1
  155. package/dist/css/themes/FormItemSpan.css +1 -1
  156. package/dist/css/themes/GrowingButton.css +1 -1
  157. package/dist/css/themes/Icon.css +1 -1
  158. package/dist/css/themes/Input.css +1 -1
  159. package/dist/css/themes/InputIcon.css +1 -1
  160. package/dist/css/themes/InputSharedStyles.css +1 -1
  161. package/dist/css/themes/Link.css +1 -1
  162. package/dist/css/themes/List.css +1 -1
  163. package/dist/css/themes/ListItem.css +1 -1
  164. package/dist/css/themes/ListItemBase.css +1 -1
  165. package/dist/css/themes/ListItemCustom.css +1 -1
  166. package/dist/css/themes/ListItemGroup.css +1 -1
  167. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  168. package/dist/css/themes/ListItemIcon.css +1 -1
  169. package/dist/css/themes/Menu.css +1 -1
  170. package/dist/css/themes/MenuItem.css +1 -1
  171. package/dist/css/themes/MessageStrip.css +1 -1
  172. package/dist/css/themes/MonthPicker.css +1 -1
  173. package/dist/css/themes/MultiComboBox.css +1 -1
  174. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  175. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  176. package/dist/css/themes/MultiInput.css +1 -1
  177. package/dist/css/themes/OptionBase.css +1 -1
  178. package/dist/css/themes/Panel.css +1 -1
  179. package/dist/css/themes/Popover.css +1 -1
  180. package/dist/css/themes/PopupsCommon.css +1 -1
  181. package/dist/css/themes/ProgressIndicator.css +1 -1
  182. package/dist/css/themes/RadioButton.css +1 -1
  183. package/dist/css/themes/RangeSlider.css +1 -1
  184. package/dist/css/themes/RatingIndicator.css +1 -1
  185. package/dist/css/themes/ResponsivePopover.css +1 -1
  186. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  187. package/dist/css/themes/SegmentedButton.css +1 -1
  188. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  189. package/dist/css/themes/Select.css +1 -1
  190. package/dist/css/themes/SliderBase.css +1 -1
  191. package/dist/css/themes/SplitButton.css +1 -1
  192. package/dist/css/themes/StepInput.css +1 -1
  193. package/dist/css/themes/SuggestionItem.css +1 -1
  194. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  195. package/dist/css/themes/Switch.css +1 -1
  196. package/dist/css/themes/TabContainer.css +1 -1
  197. package/dist/css/themes/TabInOverflow.css +1 -1
  198. package/dist/css/themes/TabInStrip.css +1 -1
  199. package/dist/css/themes/TabSemanticIcon.css +1 -1
  200. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  201. package/dist/css/themes/TableCellBase.css +1 -1
  202. package/dist/css/themes/TableHeaderRow.css +1 -1
  203. package/dist/css/themes/TableRow.css +1 -1
  204. package/dist/css/themes/TableRowActionBase.css +1 -1
  205. package/dist/css/themes/TableRowBase.css +1 -1
  206. package/dist/css/themes/Tag.css +1 -1
  207. package/dist/css/themes/Text.css +1 -1
  208. package/dist/css/themes/TextArea.css +1 -1
  209. package/dist/css/themes/TimePicker.css +1 -1
  210. package/dist/css/themes/Toast.css +1 -1
  211. package/dist/css/themes/ToggleButton.css +1 -1
  212. package/dist/css/themes/Token.css +1 -1
  213. package/dist/css/themes/Tokenizer.css +1 -1
  214. package/dist/css/themes/TokenizerPopover.css +1 -1
  215. package/dist/css/themes/Toolbar.css +1 -1
  216. package/dist/css/themes/ToolbarPopover.css +1 -1
  217. package/dist/css/themes/ToolbarSelect.css +1 -1
  218. package/dist/css/themes/ToolbarSeparator.css +1 -0
  219. package/dist/css/themes/TreeItem.css +1 -1
  220. package/dist/css/themes/ValueStateMessage.css +1 -1
  221. package/dist/css/themes/YearPicker.css +1 -1
  222. package/dist/css/themes/YearRangePicker.css +1 -0
  223. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  224. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  225. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  226. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  227. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  228. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  229. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  230. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  231. package/dist/custom-elements-internal.json +523 -17
  232. package/dist/custom-elements.json +414 -8
  233. package/dist/dynamic-date-range-options/DateRange.d.ts +23 -0
  234. package/dist/dynamic-date-range-options/DateRange.js +71 -0
  235. package/dist/dynamic-date-range-options/DateRange.js.map +1 -0
  236. package/dist/dynamic-date-range-options/DateRangeTemplate.d.ts +2 -0
  237. package/dist/dynamic-date-range-options/DateRangeTemplate.js +11 -0
  238. package/dist/dynamic-date-range-options/DateRangeTemplate.js.map +1 -0
  239. package/dist/dynamic-date-range-options/SingleDate.d.ts +23 -0
  240. package/dist/dynamic-date-range-options/SingleDate.js +67 -0
  241. package/dist/dynamic-date-range-options/SingleDate.js.map +1 -0
  242. package/dist/dynamic-date-range-options/SingleDateTemplate.d.ts +2 -0
  243. package/dist/dynamic-date-range-options/SingleDateTemplate.js +7 -0
  244. package/dist/dynamic-date-range-options/SingleDateTemplate.js.map +1 -0
  245. package/dist/dynamic-date-range-options/Today.d.ts +17 -0
  246. package/dist/dynamic-date-range-options/Today.js +37 -0
  247. package/dist/dynamic-date-range-options/Today.js.map +1 -0
  248. package/dist/dynamic-date-range-options/Tomorrow.d.ts +17 -0
  249. package/dist/dynamic-date-range-options/Tomorrow.js +37 -0
  250. package/dist/dynamic-date-range-options/Tomorrow.js.map +1 -0
  251. package/dist/dynamic-date-range-options/Yesterday.d.ts +17 -0
  252. package/dist/dynamic-date-range-options/Yesterday.js +37 -0
  253. package/dist/dynamic-date-range-options/Yesterday.js.map +1 -0
  254. package/dist/dynamic-date-range-options/toDates.d.ts +7 -0
  255. package/dist/dynamic-date-range-options/toDates.js +41 -0
  256. package/dist/dynamic-date-range-options/toDates.js.map +1 -0
  257. package/dist/features/InputSuggestionsTemplate.js +1 -1
  258. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  259. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  266. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  267. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  268. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  269. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  270. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  276. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  277. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  278. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  279. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  284. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  285. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  286. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  287. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  288. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  289. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  290. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  291. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  292. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  304. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  305. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  306. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  307. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  308. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  309. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  310. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  311. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  312. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  313. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  314. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  315. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  316. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  317. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  318. package/dist/generated/i18n/i18n-defaults.d.ts +14 -1
  319. package/dist/generated/i18n/i18n-defaults.js +14 -1
  320. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  321. package/dist/generated/json-imports/Themes-node.d.ts +1 -0
  322. package/dist/generated/json-imports/Themes-node.js +25 -0
  323. package/dist/generated/json-imports/Themes-node.js.map +1 -0
  324. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  325. package/dist/generated/json-imports/i18n-node.js +120 -0
  326. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  327. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  328. package/dist/generated/themes/Avatar.css.js +1 -1
  329. package/dist/generated/themes/Avatar.css.js.map +1 -1
  330. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  331. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  332. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  333. package/dist/generated/themes/Bar.css.d.ts +1 -1
  334. package/dist/generated/themes/Bar.css.js +1 -1
  335. package/dist/generated/themes/Bar.css.js.map +1 -1
  336. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  337. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  338. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  339. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  340. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  341. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  342. package/dist/generated/themes/Button.css.d.ts +1 -1
  343. package/dist/generated/themes/Button.css.js +1 -1
  344. package/dist/generated/themes/Button.css.js.map +1 -1
  345. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  346. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  347. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  348. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  349. package/dist/generated/themes/Calendar.css.js +1 -1
  350. package/dist/generated/themes/Calendar.css.js.map +1 -1
  351. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  352. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  353. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  354. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  355. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  356. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  357. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  358. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  359. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  360. package/dist/generated/themes/Card.css.d.ts +1 -1
  361. package/dist/generated/themes/Card.css.js +1 -1
  362. package/dist/generated/themes/Card.css.js.map +1 -1
  363. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  364. package/dist/generated/themes/CardHeader.css.js +1 -1
  365. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  366. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  367. package/dist/generated/themes/Carousel.css.js +1 -1
  368. package/dist/generated/themes/Carousel.css.js.map +1 -1
  369. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  370. package/dist/generated/themes/CheckBox.css.js +1 -1
  371. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  372. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  373. package/dist/generated/themes/ColorPalette.css.js +1 -1
  374. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  375. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  376. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  377. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  378. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  379. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  380. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  381. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  382. package/dist/generated/themes/ColorPicker.css.js +1 -1
  383. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  384. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  385. package/dist/generated/themes/ComboBox.css.js +1 -1
  386. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  387. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  388. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  389. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  390. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  391. package/dist/generated/themes/DatePicker.css.js +1 -1
  392. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  393. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  394. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  395. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  396. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  397. package/dist/generated/themes/DayPicker.css.js +1 -1
  398. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  399. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  400. package/dist/generated/themes/Dialog.css.js +1 -1
  401. package/dist/generated/themes/Dialog.css.js.map +1 -1
  402. package/dist/generated/themes/DynamicDateRange.css.d.ts +2 -0
  403. package/dist/generated/themes/DynamicDateRange.css.js +8 -0
  404. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -0
  405. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +2 -0
  406. package/dist/generated/themes/DynamicDateRangePopover.css.js +8 -0
  407. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -0
  408. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  409. package/dist/generated/themes/FileUploader.css.js +1 -1
  410. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  411. package/dist/generated/themes/Form.css.d.ts +1 -1
  412. package/dist/generated/themes/Form.css.js +1 -1
  413. package/dist/generated/themes/Form.css.js.map +1 -1
  414. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  415. package/dist/generated/themes/FormItem.css.js +1 -1
  416. package/dist/generated/themes/FormItem.css.js.map +1 -1
  417. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  418. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  419. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  420. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  421. package/dist/generated/themes/GrowingButton.css.js +1 -1
  422. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  423. package/dist/generated/themes/Icon.css.d.ts +1 -1
  424. package/dist/generated/themes/Icon.css.js +1 -1
  425. package/dist/generated/themes/Icon.css.js.map +1 -1
  426. package/dist/generated/themes/Input.css.d.ts +1 -1
  427. package/dist/generated/themes/Input.css.js +1 -1
  428. package/dist/generated/themes/Input.css.js.map +1 -1
  429. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  430. package/dist/generated/themes/InputIcon.css.js +1 -1
  431. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  432. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  433. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  434. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  435. package/dist/generated/themes/Link.css.d.ts +1 -1
  436. package/dist/generated/themes/Link.css.js +1 -1
  437. package/dist/generated/themes/Link.css.js.map +1 -1
  438. package/dist/generated/themes/List.css.d.ts +1 -1
  439. package/dist/generated/themes/List.css.js +1 -1
  440. package/dist/generated/themes/List.css.js.map +1 -1
  441. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  442. package/dist/generated/themes/ListItem.css.js +1 -1
  443. package/dist/generated/themes/ListItem.css.js.map +1 -1
  444. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  445. package/dist/generated/themes/ListItemBase.css.js +1 -1
  446. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  447. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  448. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  449. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  450. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  451. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  452. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  453. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  454. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  455. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  456. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  457. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  458. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  459. package/dist/generated/themes/Menu.css.d.ts +1 -1
  460. package/dist/generated/themes/Menu.css.js +1 -1
  461. package/dist/generated/themes/Menu.css.js.map +1 -1
  462. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  463. package/dist/generated/themes/MenuItem.css.js +1 -1
  464. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  465. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  466. package/dist/generated/themes/MessageStrip.css.js +1 -1
  467. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  468. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  469. package/dist/generated/themes/MonthPicker.css.js +1 -1
  470. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  471. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  472. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  473. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  474. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  475. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  476. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  477. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  478. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  479. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  480. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  481. package/dist/generated/themes/MultiInput.css.js +1 -1
  482. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  483. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  484. package/dist/generated/themes/OptionBase.css.js +1 -1
  485. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  486. package/dist/generated/themes/Panel.css.d.ts +1 -1
  487. package/dist/generated/themes/Panel.css.js +1 -1
  488. package/dist/generated/themes/Panel.css.js.map +1 -1
  489. package/dist/generated/themes/Popover.css.d.ts +1 -1
  490. package/dist/generated/themes/Popover.css.js +1 -1
  491. package/dist/generated/themes/Popover.css.js.map +1 -1
  492. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  493. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  494. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  495. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  496. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  497. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  498. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  499. package/dist/generated/themes/RadioButton.css.js +1 -1
  500. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  501. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  502. package/dist/generated/themes/RangeSlider.css.js +1 -1
  503. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  504. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  505. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  506. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  507. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  508. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  509. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  510. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  511. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  512. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  513. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  514. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  515. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  516. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  517. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  518. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  519. package/dist/generated/themes/Select.css.d.ts +1 -1
  520. package/dist/generated/themes/Select.css.js +1 -1
  521. package/dist/generated/themes/Select.css.js.map +1 -1
  522. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  523. package/dist/generated/themes/SliderBase.css.js +1 -1
  524. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  525. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  526. package/dist/generated/themes/SplitButton.css.js +1 -1
  527. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  528. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  529. package/dist/generated/themes/StepInput.css.js +1 -1
  530. package/dist/generated/themes/StepInput.css.js.map +1 -1
  531. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  532. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  533. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  534. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  535. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  536. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  537. package/dist/generated/themes/Switch.css.d.ts +1 -1
  538. package/dist/generated/themes/Switch.css.js +1 -1
  539. package/dist/generated/themes/Switch.css.js.map +1 -1
  540. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  541. package/dist/generated/themes/TabContainer.css.js +1 -1
  542. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  543. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  544. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  545. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  546. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  547. package/dist/generated/themes/TabInStrip.css.js +1 -1
  548. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  549. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  550. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  551. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  552. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  553. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  554. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  555. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  556. package/dist/generated/themes/TableCellBase.css.js +1 -1
  557. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  558. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  559. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  560. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  561. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  562. package/dist/generated/themes/TableRow.css.js +1 -1
  563. package/dist/generated/themes/TableRow.css.js.map +1 -1
  564. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  565. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  566. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  567. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  568. package/dist/generated/themes/TableRowBase.css.js +1 -1
  569. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  570. package/dist/generated/themes/Tag.css.d.ts +1 -1
  571. package/dist/generated/themes/Tag.css.js +1 -1
  572. package/dist/generated/themes/Tag.css.js.map +1 -1
  573. package/dist/generated/themes/Text.css.d.ts +1 -1
  574. package/dist/generated/themes/Text.css.js +1 -1
  575. package/dist/generated/themes/Text.css.js.map +1 -1
  576. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  577. package/dist/generated/themes/TextArea.css.js +1 -1
  578. package/dist/generated/themes/TextArea.css.js.map +1 -1
  579. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  580. package/dist/generated/themes/TimePicker.css.js +1 -1
  581. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  582. package/dist/generated/themes/Toast.css.d.ts +1 -1
  583. package/dist/generated/themes/Toast.css.js +1 -1
  584. package/dist/generated/themes/Toast.css.js.map +1 -1
  585. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  586. package/dist/generated/themes/ToggleButton.css.js +1 -1
  587. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  588. package/dist/generated/themes/Token.css.d.ts +1 -1
  589. package/dist/generated/themes/Token.css.js +1 -1
  590. package/dist/generated/themes/Token.css.js.map +1 -1
  591. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  592. package/dist/generated/themes/Tokenizer.css.js +1 -1
  593. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  594. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  595. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  596. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  597. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  598. package/dist/generated/themes/Toolbar.css.js +1 -1
  599. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  600. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  601. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  602. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  603. package/dist/generated/themes/ToolbarSelect.css.d.ts +1 -1
  604. package/dist/generated/themes/ToolbarSelect.css.js +1 -1
  605. package/dist/generated/themes/ToolbarSelect.css.js.map +1 -1
  606. package/dist/generated/themes/ToolbarSeparator.css.d.ts +2 -0
  607. package/dist/generated/themes/ToolbarSeparator.css.js +8 -0
  608. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -0
  609. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  610. package/dist/generated/themes/TreeItem.css.js +1 -1
  611. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  612. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  613. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  614. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  615. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  616. package/dist/generated/themes/YearPicker.css.js +1 -1
  617. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  618. package/dist/generated/themes/YearRangePicker.css.d.ts +2 -0
  619. package/dist/generated/themes/YearRangePicker.css.js +8 -0
  620. package/dist/generated/themes/YearRangePicker.css.js.map +1 -0
  621. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  622. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  623. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  624. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  625. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  626. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  627. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  628. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  629. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  630. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  631. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  632. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  633. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  634. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  635. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  636. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  637. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  638. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  639. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  640. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  641. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  642. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  643. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  644. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  645. package/dist/popup-utils/PopoverRegistry.js +14 -2
  646. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  647. package/dist/types/TableSelectionBehavior.d.ts +22 -0
  648. package/dist/types/TableSelectionBehavior.js +24 -0
  649. package/dist/types/TableSelectionBehavior.js.map +1 -0
  650. package/dist/vscode.html-custom-data.json +42 -5
  651. package/dist/web-types.json +143 -13
  652. package/package.json +9 -9
  653. package/src/CalendarHeaderTemplate.tsx +6 -3
  654. package/src/CalendarTemplate.tsx +21 -0
  655. package/src/CheckBoxTemplate.tsx +1 -0
  656. package/src/ComboBoxPopoverTemplate.tsx +1 -1
  657. package/src/DynamicDateRangeInputTemplate.tsx +38 -0
  658. package/src/DynamicDateRangePopoverTemplate.tsx +75 -0
  659. package/src/DynamicDateRangeTemplate.tsx +11 -0
  660. package/src/TokenizerPopoverTemplate.tsx +2 -2
  661. package/src/ToolbarButtonTemplate.tsx +2 -3
  662. package/src/ToolbarSelectTemplate.tsx +1 -1
  663. package/src/ToolbarTemplate.tsx +43 -6
  664. package/src/YearRangePickerTemplate.tsx +42 -0
  665. package/src/dynamic-date-range-options/DateRangeTemplate.tsx +22 -0
  666. package/src/dynamic-date-range-options/SingleDateTemplate.tsx +13 -0
  667. package/src/features/InputSuggestionsTemplate.tsx +1 -1
  668. package/src/i18n/messagebundle.properties +40 -1
  669. package/src/i18n/messagebundle_ar.properties +6 -0
  670. package/src/i18n/messagebundle_bg.properties +6 -0
  671. package/src/i18n/messagebundle_ca.properties +6 -0
  672. package/src/i18n/messagebundle_cnr.properties +6 -0
  673. package/src/i18n/messagebundle_cs.properties +6 -0
  674. package/src/i18n/messagebundle_cy.properties +6 -0
  675. package/src/i18n/messagebundle_da.properties +6 -0
  676. package/src/i18n/messagebundle_de.properties +7 -1
  677. package/src/i18n/messagebundle_el.properties +6 -0
  678. package/src/i18n/messagebundle_en.properties +4 -217
  679. package/src/i18n/messagebundle_en_GB.properties +6 -0
  680. package/src/i18n/messagebundle_en_US_sappsd.properties +6 -0
  681. package/src/i18n/messagebundle_en_US_saprigi.properties +4 -0
  682. package/src/i18n/messagebundle_en_US_saptrc.properties +6 -0
  683. package/src/i18n/messagebundle_es.properties +6 -0
  684. package/src/i18n/messagebundle_es_MX.properties +6 -0
  685. package/src/i18n/messagebundle_et.properties +6 -0
  686. package/src/i18n/messagebundle_fi.properties +6 -0
  687. package/src/i18n/messagebundle_fr.properties +6 -0
  688. package/src/i18n/messagebundle_fr_CA.properties +6 -0
  689. package/src/i18n/messagebundle_hi.properties +6 -0
  690. package/src/i18n/messagebundle_hr.properties +6 -0
  691. package/src/i18n/messagebundle_hu.properties +6 -0
  692. package/src/i18n/messagebundle_id.properties +6 -0
  693. package/src/i18n/messagebundle_it.properties +10 -4
  694. package/src/i18n/messagebundle_iw.properties +6 -0
  695. package/src/i18n/messagebundle_ja.properties +6 -0
  696. package/src/i18n/messagebundle_kk.properties +6 -0
  697. package/src/i18n/messagebundle_ko.properties +6 -0
  698. package/src/i18n/messagebundle_lt.properties +6 -0
  699. package/src/i18n/messagebundle_lv.properties +6 -0
  700. package/src/i18n/messagebundle_mk.properties +6 -0
  701. package/src/i18n/messagebundle_ms.properties +6 -0
  702. package/src/i18n/messagebundle_nl.properties +6 -0
  703. package/src/i18n/messagebundle_no.properties +6 -0
  704. package/src/i18n/messagebundle_pl.properties +6 -0
  705. package/src/i18n/messagebundle_pt.properties +6 -0
  706. package/src/i18n/messagebundle_pt_PT.properties +6 -0
  707. package/src/i18n/messagebundle_ro.properties +6 -0
  708. package/src/i18n/messagebundle_ru.properties +6 -0
  709. package/src/i18n/messagebundle_sh.properties +6 -0
  710. package/src/i18n/messagebundle_sk.properties +6 -0
  711. package/src/i18n/messagebundle_sl.properties +6 -0
  712. package/src/i18n/messagebundle_sr.properties +6 -0
  713. package/src/i18n/messagebundle_sv.properties +6 -0
  714. package/src/i18n/messagebundle_th.properties +6 -0
  715. package/src/i18n/messagebundle_tr.properties +6 -0
  716. package/src/i18n/messagebundle_uk.properties +7 -1
  717. package/src/i18n/messagebundle_vi.properties +6 -0
  718. package/src/i18n/messagebundle_zh_CN.properties +6 -0
  719. package/src/i18n/messagebundle_zh_TW.properties +6 -0
  720. package/src/themes/Avatar.css +1 -1
  721. package/src/themes/AvatarGroup.css +1 -0
  722. package/src/themes/CalendarHeader.css +0 -10
  723. package/src/themes/CheckBox.css +0 -9
  724. package/src/themes/DatePicker.css +0 -1
  725. package/src/themes/DynamicDateRange.css +7 -0
  726. package/src/themes/DynamicDateRangePopover.css +89 -0
  727. package/src/themes/Toolbar.css +0 -7
  728. package/src/themes/ToolbarPopover.css +5 -0
  729. package/src/themes/ToolbarSelect.css +3 -3
  730. package/src/themes/ToolbarSeparator.css +6 -0
  731. package/src/themes/YearRangePicker.css +118 -0
  732. package/src/themes/base/Avatar-parameters.css +1 -0
  733. package/src/themes/base/AvatarGroup-parameters.css +1 -0
  734. package/src/themes/base/DynamicDateRange-parameters.css +3 -0
  735. package/src/themes/base/rtl-parameters.css +1 -1
  736. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  737. package/cypress/specs/Avatar.cy.tsx +0 -55
  738. package/cypress/specs/AvatarGroup.cy.tsx +0 -66
  739. package/cypress/specs/Breadcrumbs.mobile.cy.tsx +0 -53
  740. package/cypress/specs/Button.cy.tsx +0 -434
  741. package/cypress/specs/Calendar.cy.tsx +0 -710
  742. package/cypress/specs/CalendarLegend.cy.tsx +0 -77
  743. package/cypress/specs/Card.cy.tsx +0 -338
  744. package/cypress/specs/Carousel.cy.tsx +0 -581
  745. package/cypress/specs/Carousel.mobile.cy.tsx +0 -67
  746. package/cypress/specs/ColorPalette.cy.tsx +0 -213
  747. package/cypress/specs/ColorPicker.cy.tsx +0 -332
  748. package/cypress/specs/ComboBox.cy.tsx +0 -198
  749. package/cypress/specs/DateControlsWithTimezone.cy.tsx +0 -75
  750. package/cypress/specs/DatePicker.cy.tsx +0 -1699
  751. package/cypress/specs/DateRangePicker.cy.tsx +0 -594
  752. package/cypress/specs/DateTimePicker.cy.tsx +0 -568
  753. package/cypress/specs/DayPicker.cy.tsx +0 -81
  754. package/cypress/specs/Dialog.cy.tsx +0 -133
  755. package/cypress/specs/ExpandableText.cy.tsx +0 -393
  756. package/cypress/specs/F6.cy.tsx +0 -977
  757. package/cypress/specs/Form.cy.tsx +0 -1022
  758. package/cypress/specs/FormSupport.cy.tsx +0 -975
  759. package/cypress/specs/Input.cy.tsx +0 -978
  760. package/cypress/specs/Label.cy.tsx +0 -144
  761. package/cypress/specs/Link.cy.tsx +0 -216
  762. package/cypress/specs/List.cy.tsx +0 -309
  763. package/cypress/specs/List.mobile.cy.tsx +0 -31
  764. package/cypress/specs/LitKeyFunction.cy.tsx +0 -58
  765. package/cypress/specs/Menu.cy.tsx +0 -617
  766. package/cypress/specs/MessageStrip.cy.tsx +0 -171
  767. package/cypress/specs/MultiComboBox.cy.tsx +0 -189
  768. package/cypress/specs/MultiInput.cy.tsx +0 -72
  769. package/cypress/specs/Popover.cy.tsx +0 -419
  770. package/cypress/specs/RTL.cy.tsx +0 -18
  771. package/cypress/specs/RadioButton.cy.tsx +0 -499
  772. package/cypress/specs/RangeSlider.cy.tsx +0 -52
  773. package/cypress/specs/RatingIndicator.cy.tsx +0 -279
  774. package/cypress/specs/ResponsivePopover.mobile.cy.tsx +0 -112
  775. package/cypress/specs/SegmentedButton.cy.tsx +0 -215
  776. package/cypress/specs/Select.cy.tsx +0 -241
  777. package/cypress/specs/Slider.cy.tsx +0 -87
  778. package/cypress/specs/StepInput.cy.tsx +0 -32
  779. package/cypress/specs/TabContainer.cy.tsx +0 -78
  780. package/cypress/specs/Table.cy.tsx +0 -1025
  781. package/cypress/specs/TableDragAndDrop.cy.tsx +0 -236
  782. package/cypress/specs/TableGrowing.cy.tsx +0 -336
  783. package/cypress/specs/TableLoading.cy.tsx +0 -48
  784. package/cypress/specs/TableNavigation.cy.tsx +0 -223
  785. package/cypress/specs/TableNavigationFixedHeader.cy.tsx +0 -199
  786. package/cypress/specs/TableRowActions.cy.tsx +0 -239
  787. package/cypress/specs/TableSelection.cy.tsx +0 -275
  788. package/cypress/specs/TableSelections.cy.tsx +0 -332
  789. package/cypress/specs/TableUtils.cy.tsx +0 -63
  790. package/cypress/specs/TableVirtualizer.cy.tsx +0 -243
  791. package/cypress/specs/Tag.cy.tsx +0 -120
  792. package/cypress/specs/Text.cy.tsx +0 -46
  793. package/cypress/specs/TextArea.cy.tsx +0 -735
  794. package/cypress/specs/Title.cy.tsx +0 -36
  795. package/cypress/specs/Toast.cy.tsx +0 -45
  796. package/cypress/specs/Tokenizer.cy.tsx +0 -209
  797. package/cypress/specs/Toolbar.cy.tsx +0 -194
  798. package/cypress/specs/Tree.cy.tsx +0 -72
  799. package/cypress/specs/base/AccessibilityTextsHelper.cy.tsx +0 -468
  800. package/cypress/specs/base/Events.cy.tsx +0 -301
  801. package/cypress/specs/base/IconCollection.cy.tsx +0 -58
  802. package/cypress/specs/base/IgnoreCustomElements.cy.tsx +0 -38
  803. package/cypress/specs/base/InvisibleMessage.cy.tsx +0 -31
  804. package/cypress/specs/base/Tooltips.cy.tsx +0 -64
  805. package/cypress/specs/base/css/redfish.custom.theme.css +0 -13
  806. package/cypress/support/commands/Calendar.commands.ts +0 -21
  807. package/cypress/support/commands/ColorPalette.commands.ts +0 -86
  808. package/cypress/support/commands/ColorPicker.commands.ts +0 -38
  809. package/cypress/support/commands/DatePicker.commands.ts +0 -218
  810. package/cypress/support/commands/DateTimePicker.commands.ts +0 -105
  811. package/cypress/support/commands/Dialog.commands.ts +0 -16
  812. package/cypress/support/commands/Menu.commands.ts +0 -52
  813. package/cypress/support/commands/Popover.commands.ts +0 -16
  814. package/cypress/support/commands/ResponsivePopover.commands.ts +0 -42
  815. package/cypress/support/commands/SegmentedButton.commands.ts +0 -32
  816. package/cypress/support/commands/utils/popup-open.ts +0 -35
  817. package/cypress/support/commands.ts +0 -113
  818. package/cypress/support/component-index.html +0 -12
  819. package/cypress/support/component.ts +0 -20
  820. package/cypress/tsconfig.json +0 -42
  821. package/dist/ToolbarPopoverButtonTemplate.d.ts +0 -2
  822. package/dist/ToolbarPopoverButtonTemplate.js +0 -6
  823. package/dist/ToolbarPopoverButtonTemplate.js.map +0 -1
  824. package/dist/ToolbarPopoverSelectTemplate.d.ts +0 -2
  825. package/dist/ToolbarPopoverSelectTemplate.js +0 -7
  826. package/dist/ToolbarPopoverSelectTemplate.js.map +0 -1
  827. package/dist/ToolbarPopoverSeparatorTemplate.d.ts +0 -2
  828. package/dist/ToolbarPopoverSeparatorTemplate.js +0 -5
  829. package/dist/ToolbarPopoverSeparatorTemplate.js.map +0 -1
  830. package/dist/ToolbarPopoverTemplate.d.ts +0 -2
  831. package/dist/ToolbarPopoverTemplate.js +0 -9
  832. package/dist/ToolbarPopoverTemplate.js.map +0 -1
  833. package/dist/ToolbarRegistry.d.ts +0 -5
  834. package/dist/ToolbarRegistry.js +0 -16
  835. package/dist/ToolbarRegistry.js.map +0 -1
  836. package/dist/ToolbarSpacerTemplate.d.ts +0 -2
  837. package/dist/ToolbarSpacerTemplate.js +0 -5
  838. package/dist/ToolbarSpacerTemplate.js.map +0 -1
  839. package/src/ToolbarPopoverButtonTemplate.tsx +0 -24
  840. package/src/ToolbarPopoverSelectTemplate.tsx +0 -29
  841. package/src/ToolbarPopoverSeparatorTemplate.tsx +0 -10
  842. package/src/ToolbarPopoverTemplate.tsx +0 -25
  843. package/src/ToolbarSpacerTemplate.tsx +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../src/Toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\nimport {\n\tTOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL,\n\tTOOLBAR_POPOVER_AVAILABLE_VALUES,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport ToolbarTemplate from \"./ToolbarTemplate.js\";\nimport ToolbarCss from \"./generated/themes/Toolbar.css.js\";\n\nimport ToolbarPopoverCss from \"./generated/themes/ToolbarPopover.css.js\";\n\nimport type ToolbarAlign from \"./types/ToolbarAlign.js\";\nimport type ToolbarDesign from \"./types/ToolbarDesign.js\";\nimport ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\n\nimport type ToolbarItem from \"./ToolbarItem.js\";\nimport type ToolbarSeparator from \"./ToolbarSeparator.js\";\n\nimport {\n\tgetRegisteredToolbarItem,\n\tgetRegisteredStyles,\n} from \"./ToolbarRegistry.js\";\n\nimport type Button from \"./Button.js\";\nimport type Popover from \"./Popover.js\";\n\ntype ToolbarMinWidthChangeEventDetail = {\n\tminWidth: number,\n};\n\nfunction calculateCSSREMValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"rem\", \"\")) * parseInt(getComputedStyle(document.body).getPropertyValue(\"font-size\"));\n}\n\nfunction parsePxValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"px\", \"\"));\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar` component is used to create a horizontal layout with items.\n * The items can be overflowing in a popover, when the space is not enough to show all of them.\n *\n * ### Keyboard Handling\n * The `ui5-toolbar` provides advanced keyboard handling.\n *\n * - The control is not interactive, but can contain of interactive elements\n * - [Tab] - iterates through elements\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Toolbar.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: ToolbarTemplate,\n})\n/**\n * @private\n*/\n@event(\"_min-content-width-change\", {\n\tbubbles: true,\n})\n\nclass Toolbar extends UI5Element {\n\teventDetails!: {\n\t\t\"_min-content-width-change\": ToolbarMinWidthChangeEventDetail\n\t}\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Indicated the direction in which the Toolbar items will be aligned.\n\t * @public\n\t * @default \"End\"\n\t */\n\t@property()\n\talignContent: `${ToolbarAlign}` = \"End\";\n\n\t/**\n\t * Calculated width of the whole toolbar.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ type: Number })\n\twidth?: number;\n\n\t/**\n\t * Calculated width of the toolbar content.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ type: Number })\n\tcontentWidth?: number;\n\n\t/**\n\t * Notifies the toolbar if it should show the items in a reverse way if Toolbar Popover needs to be placed on \"Top\" position.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\treverseOverflow = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the toolbar design.\n\t * @public\n\t * @default \"Solid\"\n\t * @since 2.0.0\n\t */\n\t@property()\n\tdesign: `${ToolbarDesign}` = \"Solid\"\n\n\t@property({ type: Boolean })\n\tpopoverOpen = false;\n\n\t/**\n\t * Defines the items of the component.\n *\n * **Note:** Currently only `ui5-toolbar-button`, `ui5-toolbar-select`, `ui5-toolbar-separator` and `ui5-toolbar-spacer` are allowed here.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<ToolbarItem>\n\n\t_onResize!: ResizeObserverCallback;\n\t_onCloseOverflow!: EventListener;\n\titemsToOverflow: Array<ToolbarItem> = [];\n\titemsWidth = 0;\n\tminContentWidth = 0;\n\titemsWidthMeasured = false;\n\n\tITEMS_WIDTH_MAP: Map<string, number> = new Map();\n\n\tstatic get styles() {\n\t\tconst styles = getRegisteredStyles();\n\t\treturn [\n\t\t\tToolbarCss,\n\t\t\tToolbarPopoverCss,\n\t\t\t...styles,\n\t\t];\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._onResize = this.onResize.bind(this);\n\t\tthis._onCloseOverflow = this.closeOverflow.bind(this);\n\t}\n\n\t/**\n\t * Read-only members\n\t */\n\n\tget overflowButtonSize(): number {\n\t\treturn this.overflowButtonDOM?.getBoundingClientRect().width || 0;\n\t}\n\n\tget padding(): number {\n\t\tconst toolbarComputedStyle = getComputedStyle(this.getDomRef()!);\n\t\treturn calculateCSSREMValue(toolbarComputedStyle, getScopedVarName(\"--_ui5-toolbar-padding-left\"))\n\t\t\t+ calculateCSSREMValue(toolbarComputedStyle, getScopedVarName(\"--_ui5-toolbar-padding-right\"));\n\t}\n\n\tget alwaysOverflowItems() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.overflowPriority === ToolbarItemOverflowBehavior.AlwaysOverflow);\n\t}\n\n\tget movableItems() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.overflowPriority !== ToolbarItemOverflowBehavior.AlwaysOverflow && item.overflowPriority !== ToolbarItemOverflowBehavior.NeverOverflow);\n\t}\n\n\tget overflowItems() {\n\t\t// spacers are ignored\n\t\tconst overflowItems = this.getItemsInfo(this.itemsToOverflow.filter(item => !item.ignoreSpace));\n\t\treturn this.reverseOverflow ? overflowItems.reverse() : overflowItems;\n\t}\n\n\tget standardItems() {\n\t\treturn this.getItemsInfo(this.items.filter(item => this.itemsToOverflow.indexOf(item) === -1));\n\t}\n\n\tget hideOverflowButton() {\n\t\treturn this.itemsToOverflow.filter(item => !(item.ignoreSpace || item.isSeparator)).length === 0;\n\t}\n\n\tget interactiveItemsCount() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.isInteractive).length;\n\t}\n\n\t/**\n\t * Accessibility\n\t */\n\n\tget hasAriaSemantics() {\n\t\treturn this.interactiveItemsCount > 1;\n\t}\n\n\tget accessibleRole() {\n\t\treturn this.hasAriaSemantics ? \"toolbar\" as const : undefined;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn this.hasAriaSemantics ? getEffectiveAriaLabelText(this) : undefined;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\trole: this.accessibleRole,\n\t\t\t\taccessibleName: this.ariaLabelText,\n\t\t\t},\n\t\t\toverflowButton: {\n\t\t\t\taccessibleName: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\ttooltip: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\taccessibilityAttributes: {\n\t\t\t\t\texpanded: this.popoverOpen,\n\t\t\t\t\thasPopup: \"menu\" as const,\n\t\t\t\t},\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\taccessibleName: Toolbar.i18nBundle.getText(TOOLBAR_POPOVER_AVAILABLE_VALUES),\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Toolbar Overflow Popover\n\t */\n\n\tget overflowButtonDOM(): Button | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-overflow-btn\");\n\t}\n\n\tget itemsDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-items\");\n\t}\n\n\tget hasItemWithText(): boolean {\n\t\treturn this.itemsToOverflow.some((item: ToolbarItem) => item.containsText);\n\t}\n\n\tget hasFlexibleSpacers() {\n\t\treturn this.items.some((item: ToolbarItem) => item.hasFlexibleWidth);\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResize);\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\" && changeInfo.child === this.itemsToOverflow[0]) {\n\t\t\tthis.onToolbarItemChange();\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.detachListeners();\n\t\tthis.attachListeners();\n\n\t\tthis.preprocessItems();\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\n\t\tthis.storeItemsWidth();\n\t\tthis.processOverflowLayout();\n\t}\n\n\t/**\n\t * Returns if the overflow popup is open.\n\t * @public\n\t */\n\tisOverflowOpen(): boolean {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\treturn overflowPopover.open;\n\t}\n\n\topenOverflow(): void {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover.opener = this.overflowButtonDOM!;\n\t\toverflowPopover.open = true;\n\t\tthis.reverseOverflow = overflowPopover.actualPlacement === \"Top\";\n\t}\n\n\tcloseOverflow() {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover.open = false;\n\t}\n\n\ttoggleOverflow() {\n\t\tif (this.popoverOpen) {\n\t\t\tthis.closeOverflow();\n\t\t} else {\n\t\t\tthis.openOverflow();\n\t\t}\n\t}\n\n\tgetOverflowPopover(): Popover {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-overflow-popover\")!;\n\t}\n\n\t/**\n\t * Layout management\n\t */\n\n\tprocessOverflowLayout() {\n\t\tif (this.offsetWidth === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst containerWidth = this.offsetWidth - this.padding;\n\t\tconst contentWidth = this.itemsWidth;\n\t\tlet overflowSpace = contentWidth - containerWidth + this.overflowButtonSize;\n\n\t\tif (contentWidth <= containerWidth) {\n\t\t\toverflowSpace = 0;\n\t\t}\n\n\t\t// skip calculation if the width has not been changed or if the items width has not been changed\n\t\tif (this.width === containerWidth && this.contentWidth === contentWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.distributeItems(overflowSpace);\n\t\tthis.width = containerWidth;\n\t\tthis.contentWidth = contentWidth;\n\t}\n\n\tstoreItemsWidth() {\n\t\tlet totalWidth = 0,\n\t\t\tminWidth = 0;\n\n\t\tthis.items.forEach((item: ToolbarItem) => {\n\t\t\tconst itemWidth = this.getItemWidth(item);\n\t\t\ttotalWidth += itemWidth;\n\t\t\tif (item.overflowPriority === ToolbarItemOverflowBehavior.NeverOverflow) {\n\t\t\t\tminWidth += itemWidth;\n\t\t\t}\n\t\t\tthis.ITEMS_WIDTH_MAP.set(item._id, itemWidth);\n\t\t});\n\n\t\tif (minWidth !== this.minContentWidth) {\n\t\t\tconst spaceAroundContent = this.offsetWidth - this.getDomRef()!.offsetWidth;\n\t\t\tthis.fireDecoratorEvent(\"_min-content-width-change\", {\n\t\t\t\tminWidth: minWidth + spaceAroundContent + this.overflowButtonSize,\n\t\t\t});\n\t\t}\n\n\t\tthis.itemsWidth = totalWidth;\n\t\tthis.minContentWidth = minWidth;\n\t}\n\n\tdistributeItems(overflowSpace = 0) {\n\t\tconst movableItems = this.movableItems.reverse();\n\t\tlet index = 0;\n\t\tlet currentItem = movableItems[index];\n\n\t\tthis.itemsToOverflow = [];\n\n\t\t// distribute items that always overflow\n\t\tthis.distributeItemsThatAlwaysOverflow();\n\n\t\twhile (overflowSpace > 0 && currentItem) {\n\t\t\tthis.itemsToOverflow.unshift(currentItem);\n\t\t\toverflowSpace -= this.getCachedItemWidth(currentItem?._id) || 0;\n\t\t\tindex++;\n\t\t\tcurrentItem = movableItems[index];\n\t\t}\n\n\t\t// If the last bar item is a spacer, force it to the overflow even if there is enough space for it\n\t\tif (index < movableItems.length) {\n\t\t\tlet lastItem = movableItems[index];\n\t\t\twhile (index <= movableItems.length - 1 && lastItem.isSeparator) {\n\t\t\t\tthis.itemsToOverflow.unshift(lastItem);\n\t\t\t\tindex++;\n\t\t\t\tlastItem = movableItems[index];\n\t\t\t}\n\t\t}\n\n\t\tthis.setSeperatorsVisibilityInOverflow();\n\t}\n\n\tdistributeItemsThatAlwaysOverflow() {\n\t\tthis.alwaysOverflowItems.forEach((item: ToolbarItem) => {\n\t\t\tthis.itemsToOverflow.push(item);\n\t\t});\n\t}\n\n\tsetSeperatorsVisibilityInOverflow() {\n\t\tthis.itemsToOverflow.forEach((item, idx, items) => {\n\t\t\tif (item.isSeparator) {\n\t\t\t\t(item as ToolbarSeparator).visible = this.shouldShowSeparatorInOverflow(idx, items);\n\t\t\t}\n\t\t});\n\t}\n\n\tshouldShowSeparatorInOverflow(separatorIdx: number, overflowItems: Array<ToolbarItem>) {\n\t\tlet foundPrevNonSeparatorItem = false;\n\t\tlet foundNextNonSeperatorItem = false;\n\n\t\t// search for non-separator item before and after the seperator\n\t\toverflowItems.forEach((item, idx) => {\n\t\t\tif (idx < separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundPrevNonSeparatorItem = true;\n\t\t\t}\n\t\t\tif (idx > separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundNextNonSeperatorItem = true;\n\t\t\t}\n\t\t});\n\n\t\treturn foundPrevNonSeparatorItem && foundNextNonSeperatorItem;\n\t}\n\n\t/**\n\t * Event Handlers\n\t */\n\n\tonOverflowPopoverClosed() {\n\t\tthis.popoverOpen = false;\n\t}\n\n\tonBeforeClose(e: UI5CustomEvent<Popover, \"before-close\">) {\n\t\te.preventDefault();\n\t}\n\n\tonOverflowPopoverOpened() {\n\t\tthis.popoverOpen = true;\n\t}\n\n\tonResize() {\n\t\tif (!this.itemsWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.closeOverflow();\n\t\tthis.processOverflowLayout();\n\t}\n\n\t/**\n\t * Private members\n\t */\n\n\tattachListeners() {\n\t\tthis.addEventListener(\"close-overflow\", this._onCloseOverflow);\n\t}\n\n\tdetachListeners() {\n\t\tthis.removeEventListener(\"close-overflow\", this._onCloseOverflow);\n\t}\n\n\tonToolbarItemChange() {\n\t\t// some items were updated reset the cache and trigger a re-render\n\t\tthis.itemsToOverflow = [];\n\t\tthis.contentWidth = 0; // re-render\n\t}\n\n\tgetItemsInfo(items: Array<ToolbarItem>) {\n\t\treturn items.map((item: ToolbarItem) => {\n\t\t\tconst ctor = item.constructor as typeof ToolbarItem;\n\t\t\tconst ElementClass = getRegisteredToolbarItem(ctor.getMetadata().getPureTag());\n\n\t\t\tif (!ElementClass) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst toolbarItem = {\n\t\t\t\ttoolbarTemplate: ElementClass.toolbarTemplate,\n\t\t\t\ttoolbarPopoverTemplate: ElementClass.toolbarPopoverTemplate,\n\t\t\t\tcontext: item,\n\t\t\t};\n\n\t\t\treturn toolbarItem;\n\t\t}).filter(item => !!item);\n\t}\n\n\tgetItemWidth(item: ToolbarItem): number {\n\t\t// Spacer width - always 0 for flexible spacers, so that they shrink, otherwise - measure the width normally\n\t\tif (item.ignoreSpace || item.isSeparator) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst id: string = item._id;\n\t\t// Measure rendered width for spacers with width, and for normal items\n\t\tconst renderedItem = this.getRegisteredToolbarItemByID(id);\n\n\t\tlet itemWidth = 0;\n\n\t\tif (renderedItem) {\n\t\t\tconst ItemCSSStyleSet = getComputedStyle(renderedItem);\n\t\t\titemWidth = renderedItem.offsetWidth + parsePxValue(ItemCSSStyleSet, \"margin-inline-end\")\n\t\t\t\t+ parsePxValue(ItemCSSStyleSet, \"margin-inline-start\");\n\t\t} else {\n\t\t\titemWidth = this.getCachedItemWidth(id) || 0;\n\t\t}\n\n\t\treturn Math.ceil(itemWidth);\n\t}\n\n\tgetCachedItemWidth(id: string) {\n\t\treturn this.ITEMS_WIDTH_MAP.get(id);\n\t}\n\n\tgetItemByID(id: string) {\n\t\treturn this.items.find(item => item._id === id);\n\t}\n\n\tgetRegisteredToolbarItemByID(id: string): HTMLElement | null {\n\t\treturn this.itemsDOM!.querySelector(`[data-ui5-external-action-item-id=\"${id}\"]`);\n\t}\n\n\tpreprocessItems() {\n\t\tthis.items.forEach(item => {\n\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)\n\t\t\t\t?? this.getOverflowPopover().querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n\t\t});\n\t}\n}\n\nToolbar.define();\n\nexport default Toolbar;\nexport type {\n\tToolbarMinWidthChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../src/Toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\nimport {\n\tTOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL,\n\tTOOLBAR_POPOVER_AVAILABLE_VALUES,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport ToolbarTemplate from \"./ToolbarTemplate.js\";\nimport ToolbarCss from \"./generated/themes/Toolbar.css.js\";\n\nimport ToolbarPopoverCss from \"./generated/themes/ToolbarPopover.css.js\";\n\nimport type ToolbarAlign from \"./types/ToolbarAlign.js\";\nimport type ToolbarDesign from \"./types/ToolbarDesign.js\";\nimport ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\n\nimport type ToolbarItem from \"./ToolbarItem.js\";\nimport type ToolbarSeparator from \"./ToolbarSeparator.js\";\n\nimport type Button from \"./Button.js\";\nimport type Popover from \"./Popover.js\";\n\ntype ToolbarMinWidthChangeEventDetail = {\n\tminWidth: number,\n};\n\nfunction calculateCSSREMValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"rem\", \"\")) * parseInt(getComputedStyle(document.body).getPropertyValue(\"font-size\"));\n}\n\nfunction parsePxValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"px\", \"\"));\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar` component is used to create a horizontal layout with items.\n * The items can be overflowing in a popover, when the space is not enough to show all of them.\n *\n * ### Keyboard Handling\n * The `ui5-toolbar` provides advanced keyboard handling.\n *\n * - The control is not interactive, but can contain of interactive elements\n * - [Tab] - iterates through elements\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Toolbar.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: ToolbarTemplate,\n})\n/**\n * @private\n*/\n@event(\"_min-content-width-change\", {\n\tbubbles: true,\n})\n\nclass Toolbar extends UI5Element {\n\teventDetails!: {\n\t\t\"_min-content-width-change\": ToolbarMinWidthChangeEventDetail\n\t}\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Indicated the direction in which the Toolbar items will be aligned.\n\t * @public\n\t * @default \"End\"\n\t */\n\t@property()\n\talignContent: `${ToolbarAlign}` = \"End\";\n\n\t/**\n\t * Calculated width of the whole toolbar.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ type: Number })\n\twidth?: number;\n\n\t/**\n\t * Calculated width of the toolbar content.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ type: Number })\n\tcontentWidth?: number;\n\n\t/**\n\t * Notifies the toolbar if it should show the items in a reverse way if Toolbar Popover needs to be placed on \"Top\" position.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\treverseOverflow = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the toolbar design.\n\t * @public\n\t * @default \"Solid\"\n\t * @since 2.0.0\n\t */\n\t@property()\n\tdesign: `${ToolbarDesign}` = \"Solid\"\n\n\t@property({ type: Boolean })\n\tpopoverOpen = false;\n\n\t/**\n\t * Defines the items of the component.\n *\n * **Note:** Currently only `ui5-toolbar-button`, `ui5-toolbar-select`, `ui5-toolbar-separator` and `ui5-toolbar-spacer` are allowed here.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true, type: HTMLElement, invalidateOnChildChange: true, individualSlots: true,\n\t})\n\titems!: Array<ToolbarItem>\n\n\t_onResize!: ResizeObserverCallback;\n\t_onCloseOverflow!: EventListener;\n\titemsToOverflow: Array<ToolbarItem> = [];\n\titemsWidth = 0;\n\tminContentWidth = 0;\n\n\tITEMS_WIDTH_MAP: Map<string, number> = new Map();\n\n\tstatic get styles() {\n\t\treturn [\n\t\t\tToolbarCss,\n\t\t\tToolbarPopoverCss,\n\t\t];\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._onResize = this.onResize.bind(this);\n\t\tthis._onCloseOverflow = this.closeOverflow.bind(this);\n\t}\n\n\t/**\n\t * Read-only members\n\t */\n\n\tget overflowButtonSize(): number {\n\t\treturn this.overflowButtonDOM?.getBoundingClientRect().width || 0;\n\t}\n\n\tget padding(): number {\n\t\tconst toolbarComputedStyle = getComputedStyle(this.getDomRef()!);\n\t\treturn calculateCSSREMValue(toolbarComputedStyle, getScopedVarName(\"--_ui5-toolbar-padding-left\"))\n\t\t\t+ calculateCSSREMValue(toolbarComputedStyle, getScopedVarName(\"--_ui5-toolbar-padding-right\"));\n\t}\n\n\tget alwaysOverflowItems() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.overflowPriority === ToolbarItemOverflowBehavior.AlwaysOverflow);\n\t}\n\n\tget movableItems() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.overflowPriority !== ToolbarItemOverflowBehavior.AlwaysOverflow && item.overflowPriority !== ToolbarItemOverflowBehavior.NeverOverflow);\n\t}\n\n\tget overflowItems() {\n\t\t// spacers are ignored\n\t\tconst overflowItems = this.itemsToOverflow.filter(item => !item.ignoreSpace);\n\t\treturn this.reverseOverflow ? overflowItems.reverse() : overflowItems;\n\t}\n\n\tget standardItems() {\n\t\treturn this.items.filter(item => this.itemsToOverflow.indexOf(item) === -1);\n\t}\n\n\tget hideOverflowButton() {\n\t\treturn this.itemsToOverflow.filter(item => !(item.ignoreSpace || item.isSeparator)).length === 0;\n\t}\n\n\tget interactiveItemsCount() {\n\t\treturn this.items.filter((item: ToolbarItem) => item.isInteractive).length;\n\t}\n\n\t/**\n\t * Accessibility\n\t */\n\n\tget hasAriaSemantics() {\n\t\treturn this.interactiveItemsCount > 1;\n\t}\n\n\tget accessibleRole() {\n\t\treturn this.hasAriaSemantics ? \"toolbar\" as const : undefined;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn this.hasAriaSemantics ? getEffectiveAriaLabelText(this) : undefined;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\trole: this.accessibleRole,\n\t\t\t\taccessibleName: this.ariaLabelText,\n\t\t\t},\n\t\t\toverflowButton: {\n\t\t\t\taccessibleName: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\ttooltip: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\taccessibilityAttributes: {\n\t\t\t\t\texpanded: this.popoverOpen,\n\t\t\t\t\thasPopup: \"menu\" as const,\n\t\t\t\t},\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\taccessibleName: Toolbar.i18nBundle.getText(TOOLBAR_POPOVER_AVAILABLE_VALUES),\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Toolbar Overflow Popover\n\t */\n\n\tget overflowButtonDOM(): Button | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-overflow-btn\");\n\t}\n\n\tget hasFlexibleSpacers() {\n\t\treturn this.items.some((item: ToolbarItem) => item.hasFlexibleWidth);\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResize);\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\" && changeInfo.child === this.itemsToOverflow[0]) {\n\t\t\tthis.onToolbarItemChange();\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.detachListeners();\n\t\tthis.attachListeners();\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\n\t\tthis.storeItemsWidth();\n\t\tthis.processOverflowLayout();\n\t\tthis.items.forEach(item => {\n\t\t\t item.isOverflowed = this.overflowItems.map(overflowItem => overflowItem).indexOf(item) !== -1;\n\t\t});\n\t}\n\n\t/**\n\t * Returns if the overflow popup is open.\n\t * @public\n\t */\n\tisOverflowOpen(): boolean {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\treturn overflowPopover.open;\n\t}\n\n\topenOverflow(): void {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover.opener = this.overflowButtonDOM!;\n\t\toverflowPopover.open = true;\n\t\tthis.reverseOverflow = overflowPopover.actualPlacement === \"Top\";\n\t}\n\n\tcloseOverflow() {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover.open = false;\n\t}\n\n\ttoggleOverflow() {\n\t\tif (this.popoverOpen) {\n\t\t\tthis.closeOverflow();\n\t\t} else {\n\t\t\tthis.openOverflow();\n\t\t}\n\t}\n\n\tgetOverflowPopover(): Popover {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-overflow-popover\")!;\n\t}\n\n\t/**\n\t * Layout management\n\t */\n\n\tprocessOverflowLayout() {\n\t\tif (this.offsetWidth === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst containerWidth = this.offsetWidth - this.padding;\n\t\tconst contentWidth = this.itemsWidth;\n\t\tlet overflowSpace = contentWidth - containerWidth + this.overflowButtonSize;\n\n\t\tif (contentWidth <= containerWidth) {\n\t\t\toverflowSpace = 0;\n\t\t}\n\n\t\t// skip calculation if the width has not been changed or if the items width has not been changed\n\t\tif (this.width === containerWidth && this.contentWidth === contentWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.distributeItems(overflowSpace);\n\t\tthis.width = containerWidth;\n\t\tthis.contentWidth = contentWidth;\n\t}\n\n\tstoreItemsWidth() {\n\t\tlet totalWidth = 0,\n\t\t\tminWidth = 0;\n\n\t\tthis.items.forEach((item: ToolbarItem) => {\n\t\t\tconst itemWidth = this.getItemWidth(item);\n\t\t\ttotalWidth += itemWidth;\n\t\t\tif (item.overflowPriority === ToolbarItemOverflowBehavior.NeverOverflow) {\n\t\t\t\tminWidth += itemWidth;\n\t\t\t}\n\t\t\tthis.ITEMS_WIDTH_MAP.set(item._id, itemWidth);\n\t\t});\n\n\t\tif (minWidth !== this.minContentWidth) {\n\t\t\tconst spaceAroundContent = this.offsetWidth - this.getDomRef()!.offsetWidth;\n\t\t\tthis.fireDecoratorEvent(\"_min-content-width-change\", {\n\t\t\t\tminWidth: minWidth + spaceAroundContent + this.overflowButtonSize,\n\t\t\t});\n\t\t}\n\n\t\tthis.itemsWidth = totalWidth;\n\t\tthis.minContentWidth = minWidth;\n\t}\n\n\tdistributeItems(overflowSpace = 0) {\n\t\tconst movableItems = this.movableItems.reverse();\n\t\tlet index = 0;\n\t\tlet currentItem = movableItems[index];\n\n\t\tthis.itemsToOverflow = [];\n\n\t\t// distribute items that always overflow\n\t\tthis.distributeItemsThatAlwaysOverflow();\n\n\t\twhile (overflowSpace > 0 && currentItem) {\n\t\t\tthis.itemsToOverflow.unshift(currentItem);\n\t\t\toverflowSpace -= this.getCachedItemWidth(currentItem?._id) || 0;\n\t\t\tindex++;\n\t\t\tcurrentItem = movableItems[index];\n\t\t}\n\n\t\t// If the last bar item is a spacer, force it to the overflow even if there is enough space for it\n\t\tif (index < movableItems.length) {\n\t\t\tlet lastItem = movableItems[index];\n\t\t\twhile (index <= movableItems.length - 1 && lastItem.isSeparator) {\n\t\t\t\tthis.itemsToOverflow.unshift(lastItem);\n\t\t\t\tindex++;\n\t\t\t\tlastItem = movableItems[index];\n\t\t\t}\n\t\t}\n\n\t\tthis.setSeperatorsVisibilityInOverflow();\n\t}\n\n\tdistributeItemsThatAlwaysOverflow() {\n\t\tthis.alwaysOverflowItems.forEach((item: ToolbarItem) => {\n\t\t\tthis.itemsToOverflow.push(item);\n\t\t});\n\t}\n\n\tsetSeperatorsVisibilityInOverflow() {\n\t\tthis.itemsToOverflow.forEach((item, idx, items) => {\n\t\t\tif (item.isSeparator) {\n\t\t\t\t(item as ToolbarSeparator).visible = this.shouldShowSeparatorInOverflow(idx, items);\n\t\t\t}\n\t\t});\n\t}\n\n\tshouldShowSeparatorInOverflow(separatorIdx: number, overflowItems: Array<ToolbarItem>) {\n\t\tlet foundPrevNonSeparatorItem = false;\n\t\tlet foundNextNonSeperatorItem = false;\n\n\t\t// search for non-separator item before and after the seperator\n\t\toverflowItems.forEach((item, idx) => {\n\t\t\tif (idx < separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundPrevNonSeparatorItem = true;\n\t\t\t}\n\t\t\tif (idx > separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundNextNonSeperatorItem = true;\n\t\t\t}\n\t\t});\n\n\t\treturn foundPrevNonSeparatorItem && foundNextNonSeperatorItem;\n\t}\n\n\t/**\n\t * Event Handlers\n\t */\n\n\tonOverflowPopoverClosed() {\n\t\tthis.popoverOpen = false;\n\t}\n\n\tonBeforeClose(e: UI5CustomEvent<Popover, \"before-close\">) {\n\t\te.preventDefault();\n\t}\n\n\tonOverflowPopoverOpened() {\n\t\tthis.popoverOpen = true;\n\t}\n\n\tonResize() {\n\t\tif (!this.itemsWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.closeOverflow();\n\t\tthis.processOverflowLayout();\n\t}\n\n\t/**\n\t * Private members\n\t */\n\n\tattachListeners() {\n\t\tthis.addEventListener(\"ui5-close-overflow\", this._onCloseOverflow);\n\t}\n\n\tdetachListeners() {\n\t\tthis.removeEventListener(\"ui5-close-overflow\", this._onCloseOverflow);\n\t}\n\n\tonToolbarItemChange() {\n\t\t// some items were updated reset the cache and trigger a re-render\n\t\tthis.itemsToOverflow = [];\n\t\tthis.contentWidth = 0; // re-render\n\t}\n\n\tgetItemWidth(item: ToolbarItem): number {\n\t\t// Spacer width - always 0 for flexible spacers, so that they shrink, otherwise - measure the width normally\n\t\tif (item.ignoreSpace || item.isSeparator) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst id: string = item._id;\n\t\t// Measure rendered width for spacers with width, and for normal items\n\t\tconst renderedItem = this.shadowRoot!.querySelector<HTMLElement>(`#${item.slot}`);\n\n\t\tlet itemWidth = 0;\n\n\t\tif (renderedItem && renderedItem.offsetWidth) {\n\t\t\tconst ItemCSSStyleSet = getComputedStyle(renderedItem);\n\t\t\titemWidth = renderedItem.offsetWidth + parsePxValue(ItemCSSStyleSet, \"margin-inline-end\")\n\t\t\t\t+ parsePxValue(ItemCSSStyleSet, \"margin-inline-start\");\n\t\t} else {\n\t\t\titemWidth = this.getCachedItemWidth(id) || 0;\n\t\t}\n\n\t\treturn Math.ceil(itemWidth);\n\t}\n\n\tgetCachedItemWidth(id: string) {\n\t\treturn this.ITEMS_WIDTH_MAP.get(id);\n\t}\n}\n\nToolbar.define();\n\nexport default Toolbar;\nexport type {\n\tToolbarMinWidthChangeEventDetail,\n};\n"]}
@@ -1,8 +1,6 @@
1
1
  import type { ButtonAccessibilityAttributes } from "./Button.js";
2
2
  import type ButtonDesign from "./types/ButtonDesign.js";
3
3
  import ToolbarItem from "./ToolbarItem.js";
4
- import ToolbarButtonTemplate from "./ToolbarButtonTemplate.js";
5
- import ToolbarPopoverButtonTemplate from "./ToolbarPopoverButtonTemplate.js";
6
4
  type ToolbarButtonAccessibilityAttributes = ButtonAccessibilityAttributes;
7
5
  /**
8
6
  * @class
@@ -109,20 +107,21 @@ declare class ToolbarButton extends ToolbarItem {
109
107
  * @public
110
108
  */
111
109
  width?: string;
112
- /**
113
- * Defines if the toolbar button is hidden.
114
- * @private
115
- * @default false
116
- */
117
- hidden: boolean;
118
110
  get styles(): {
119
111
  width: string | undefined;
120
112
  display: string;
121
113
  };
122
- get containsText(): boolean;
123
- static get toolbarTemplate(): typeof ToolbarButtonTemplate;
124
- static get toolbarPopoverTemplate(): typeof ToolbarPopoverButtonTemplate;
125
114
  onClick(e: Event): void;
115
+ /**
116
+ * @override
117
+ */
118
+ get classes(): {
119
+ root: {
120
+ "ui5-tb-button": boolean;
121
+ "ui5-tb-popover-item": boolean;
122
+ "ui5-tb-item": boolean;
123
+ };
124
+ };
126
125
  }
127
126
  export default ToolbarButton;
128
127
  export type { ToolbarButtonAccessibilityAttributes, };
@@ -4,14 +4,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
7
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
10
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
10
11
  import ToolbarItem from "./ToolbarItem.js";
11
12
  import ToolbarButtonTemplate from "./ToolbarButtonTemplate.js";
12
- import ToolbarPopoverButtonTemplate from "./ToolbarPopoverButtonTemplate.js";
13
- import ToolbarButtonPopoverCss from "./generated/themes/ToolbarButtonPopover.css.js";
14
- import { registerToolbarItem } from "./ToolbarRegistry.js";
15
13
  /**
16
14
  * @class
17
15
  *
@@ -62,12 +60,6 @@ let ToolbarButton = class ToolbarButton extends ToolbarItem {
62
60
  * @public
63
61
  */
64
62
  this.accessibilityAttributes = {};
65
- /**
66
- * Defines if the toolbar button is hidden.
67
- * @private
68
- * @default false
69
- */
70
- this.hidden = false;
71
63
  }
72
64
  get styles() {
73
65
  return {
@@ -75,15 +67,6 @@ let ToolbarButton = class ToolbarButton extends ToolbarItem {
75
67
  display: this.hidden ? "none" : "inline-block",
76
68
  };
77
69
  }
78
- get containsText() {
79
- return true;
80
- }
81
- static get toolbarTemplate() {
82
- return ToolbarButtonTemplate;
83
- }
84
- static get toolbarPopoverTemplate() {
85
- return ToolbarPopoverButtonTemplate;
86
- }
87
70
  onClick(e) {
88
71
  e.stopImmediatePropagation();
89
72
  const prevented = !this.fireDecoratorEvent("click", { targetRef: e.target });
@@ -91,6 +74,17 @@ let ToolbarButton = class ToolbarButton extends ToolbarItem {
91
74
  this.fireDecoratorEvent("close-overflow");
92
75
  }
93
76
  }
77
+ /**
78
+ * @override
79
+ */
80
+ get classes() {
81
+ return {
82
+ root: {
83
+ ...super.classes.root,
84
+ "ui5-tb-button": true,
85
+ },
86
+ };
87
+ }
94
88
  };
95
89
  __decorate([
96
90
  property({ type: Boolean })
@@ -122,13 +116,11 @@ __decorate([
122
116
  __decorate([
123
117
  property()
124
118
  ], ToolbarButton.prototype, "width", void 0);
125
- __decorate([
126
- property({ type: Boolean })
127
- ], ToolbarButton.prototype, "hidden", void 0);
128
119
  ToolbarButton = __decorate([
129
120
  customElement({
130
121
  tag: "ui5-toolbar-button",
131
- styles: ToolbarButtonPopoverCss,
122
+ template: ToolbarButtonTemplate,
123
+ renderer: jsxRenderer,
132
124
  })
133
125
  /**
134
126
  * Fired when the component is activated either with a
@@ -144,7 +136,6 @@ ToolbarButton = __decorate([
144
136
  cancelable: true,
145
137
  })
146
138
  ], ToolbarButton);
147
- registerToolbarItem(ToolbarButton);
148
139
  ToolbarButton.define();
149
140
  export default ToolbarButton;
150
141
  //# sourceMappingURL=ToolbarButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarButton.js","sourceRoot":"","sources":["../src/ToolbarButton.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAI5E,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,4BAA4B,MAAM,mCAAmC,CAAC;AAE7E,OAAO,uBAAuB,MAAM,gDAAgD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;;;;;;;;;;GAcG;AAkBH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,WAAW;IAAvC;;QACC;;;;;;WAMG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;WAIG;QAEH,WAAM,GAAsB,SAAS,CAAC;QAuDtC;;;;;;;;;;;;;;;;WAgBG;QAEH,4BAAuB,GAAyC,EAAE,CAAC;QAoBnE;;;;WAIM;QAEN,WAAM,GAAG,KAAK,CAAC;IA4BhB,CAAC;IA1BA,IAAI,MAAM;QACT,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;SAC9C,CAAC;IACH,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,KAAK,eAAe;QACzB,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,sBAAsB;QAChC,OAAO,4BAA4B,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,CAAQ;QACf,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;CACD,CAAA;AAvIA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACX;AAQjB;IADC,QAAQ,EAAE;6CAC2B;AAWtC;IADC,QAAQ,EAAE;2CACE;AAgBb;IADC,QAAQ,EAAE;8CACM;AAUjB;IADC,QAAQ,EAAE;8CACK;AAQhB;IADC,QAAQ,EAAE;qDACa;AAQxB;IADC,QAAQ,EAAE;wDACgB;AAoB3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DACwC;AAQnE;IADC,QAAQ,EAAE;2CACG;AAUd;IADC,QAAQ,EAAE;4CACI;AAQf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACb;AApHV,aAAa;IAjBlB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,uBAAuB;KAC/B,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;GACI,aAAa,CAgJlB;AAED,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAEnC,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ButtonAccessibilityAttributes } from \"./Button.js\";\nimport type ButtonDesign from \"./types/ButtonDesign.js\";\n\nimport ToolbarItem from \"./ToolbarItem.js\";\nimport ToolbarButtonTemplate from \"./ToolbarButtonTemplate.js\";\nimport ToolbarPopoverButtonTemplate from \"./ToolbarPopoverButtonTemplate.js\";\n\nimport ToolbarButtonPopoverCss from \"./generated/themes/ToolbarButtonPopover.css.js\";\n\nimport { registerToolbarItem } from \"./ToolbarRegistry.js\";\n\ntype ToolbarButtonAccessibilityAttributes = ButtonAccessibilityAttributes;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-button` represents an abstract action,\n * used in the `ui5-toolbar`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarButton.js\";`\n * @constructor\n * @abstract\n * @extends ToolbarItem\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-button\",\n\tstyles: ToolbarButtonPopoverCss,\n})\n\n/**\n * Fired when the component is activated either with a\n * mouse/tap or by using the Enter or Space key.\n *\n * **Note:** The event will not be fired if the `disabled`\n * property is set to `true`.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass ToolbarButton extends ToolbarItem {\n\t/**\n\t * Defines if the action is disabled.\n\t *\n\t * **Note:** a disabled action can't be pressed or focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the action design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${ButtonDesign}` = \"Default\";\n\n\t/**\n\t * Defines the `icon` source URI.\n\t *\n\t * **Note:** SAP-icons font provides numerous buil-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the button text.\n\t *\n\t * **Note:** It is highly recommended to use `endIcon` property only together with `icon` and/or `text` properties.\n\t * Usage of `endIcon` only should be avoided.\n\t *\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttooltip?: string\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t *\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * - **controls**: Identifies the element (or elements) whose contents or presence are controlled by the button element.\n\t * Accepts a lowercase string value.\n\t *\n\t * @default {}\n\t * @public\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: ToolbarButtonAccessibilityAttributes = {};\n\n\t/**\n\t * Button text\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the width of the button.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n * Defines if the toolbar button is hidden.\n * @private\n * @default false\n */\n\t@property({ type: Boolean })\n\thidden = false;\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.width,\n\t\t\tdisplay: this.hidden ? \"none\" : \"inline-block\",\n\t\t};\n\t}\n\n\tget containsText() {\n\t\treturn true;\n\t}\n\n\tstatic get toolbarTemplate() {\n\t\treturn ToolbarButtonTemplate;\n\t}\n\n\tstatic get toolbarPopoverTemplate() {\n\t\treturn ToolbarPopoverButtonTemplate;\n\t}\n\n\tonClick(e: Event) {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (!prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n}\n\nregisterToolbarItem(ToolbarButton);\n\nToolbarButton.define();\n\nexport default ToolbarButton;\n\nexport type {\n\tToolbarButtonAccessibilityAttributes,\n};\n"]}
1
+ {"version":3,"file":"ToolbarButton.js","sourceRoot":"","sources":["../src/ToolbarButton.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAI5E,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAI/D;;;;;;;;;;;;;;GAcG;AAmBH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,WAAW;IAAvC;;QACC;;;;;;WAMG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;WAIG;QAEH,WAAM,GAAsB,SAAS,CAAC;QAuDtC;;;;;;;;;;;;;;;;WAgBG;QAEH,4BAAuB,GAAyC,EAAE,CAAC;IA8CpE,CAAC;IA1BA,IAAI,MAAM;QACT,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;SAC9C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAQ;QACf,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACV,OAAO;YACN,IAAI,EAAE;gBACL,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI;gBACrB,eAAe,EAAE,IAAI;aACrB;SACD,CAAC;IACH,CAAC;CACD,CAAA;AA/HA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACX;AAQjB;IADC,QAAQ,EAAE;6CAC2B;AAWtC;IADC,QAAQ,EAAE;2CACE;AAgBb;IADC,QAAQ,EAAE;8CACM;AAUjB;IADC,QAAQ,EAAE;8CACK;AAQhB;IADC,QAAQ,EAAE;qDACa;AAQxB;IADC,QAAQ,EAAE;wDACgB;AAoB3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DACwC;AAQnE;IADC,QAAQ,EAAE;2CACG;AAUd;IADC,QAAQ,EAAE;4CACI;AA5GV,aAAa;IAlBlB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,WAAW;KACrB,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;GACI,aAAa,CAwIlB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ButtonAccessibilityAttributes } from \"./Button.js\";\nimport type ButtonDesign from \"./types/ButtonDesign.js\";\n\nimport ToolbarItem from \"./ToolbarItem.js\";\nimport ToolbarButtonTemplate from \"./ToolbarButtonTemplate.js\";\n\ntype ToolbarButtonAccessibilityAttributes = ButtonAccessibilityAttributes;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-button` represents an abstract action,\n * used in the `ui5-toolbar`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarButton.js\";`\n * @constructor\n * @abstract\n * @extends ToolbarItem\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-button\",\n\ttemplate: ToolbarButtonTemplate,\n\trenderer: jsxRenderer,\n})\n\n/**\n * Fired when the component is activated either with a\n * mouse/tap or by using the Enter or Space key.\n *\n * **Note:** The event will not be fired if the `disabled`\n * property is set to `true`.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass ToolbarButton extends ToolbarItem {\n\t/**\n\t * Defines if the action is disabled.\n\t *\n\t * **Note:** a disabled action can't be pressed or focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the action design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${ButtonDesign}` = \"Default\";\n\n\t/**\n\t * Defines the `icon` source URI.\n\t *\n\t * **Note:** SAP-icons font provides numerous buil-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the button text.\n\t *\n\t * **Note:** It is highly recommended to use `endIcon` property only together with `icon` and/or `text` properties.\n\t * Usage of `endIcon` only should be avoided.\n\t *\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttooltip?: string\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t *\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * - **controls**: Identifies the element (or elements) whose contents or presence are controlled by the button element.\n\t * Accepts a lowercase string value.\n\t *\n\t * @default {}\n\t * @public\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: ToolbarButtonAccessibilityAttributes = {};\n\n\t/**\n\t * Button text\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the width of the button.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.width,\n\t\t\tdisplay: this.hidden ? \"none\" : \"inline-block\",\n\t\t};\n\t}\n\n\tonClick(e: Event) {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (!prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t...super.classes.root,\n\t\t\t\t\"ui5-tb-button\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nToolbarButton.define();\n\nexport default ToolbarButton;\n\nexport type {\n\tToolbarButtonAccessibilityAttributes,\n};\n"]}
@@ -1,9 +1,8 @@
1
1
  import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
2
2
  import Button from "./Button.js";
3
3
  export default function ToolbarButtonTemplate() {
4
- return (_jsx(Button, { class: "ui5-tb-button ui5-tb-item", id: this.id, style: {
5
- width: this.width,
6
- display: this.hidden ? "none" : "inline-block",
4
+ return (_jsx(Button, { class: this.classes.root, id: this.id, style: {
5
+ width: this.width || "100%",
7
6
  }, icon: this.icon, endIcon: this.endIcon, tooltip: this.tooltip, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, accessibilityAttributes: this.accessibilityAttributes, design: this.design, disabled: this.disabled, hidden: this.hidden, "data-ui5-external-action-item-id": this._id, "data-ui5-stable": this.stableDomRef, onClick: (...args) => this.onClick(...args), children: this.text }));
8
7
  }
9
8
  //# sourceMappingURL=ToolbarButtonTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarButtonTemplate.js","sourceRoot":"","sources":["../src/ToolbarButtonTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,KAAC,MAAM,IACN,KAAK,EAAC,2BAA2B,EACjC,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,KAAK,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;SAC9C,EACD,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EACrD,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,sCACe,IAAI,CAAC,GAAG,qBACzB,IAAI,CAAC,YAAY,EAClC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAE1C,IAAI,CAAC,IAAI,GACF,CACT,CAAC;AACH,CAAC","sourcesContent":["import type ToolbarButton from \"./ToolbarButton.js\";\nimport Button from \"./Button.js\";\n\nexport default function ToolbarButtonTemplate(this: ToolbarButton) {\n\treturn (\n\t\t<Button\n\t\t\tclass=\"ui5-tb-button ui5-tb-item\"\n\t\t\tid={this.id}\n\t\t\tstyle={{\n\t\t\t\twidth: this.width,\n\t\t\t\tdisplay: this.hidden ? \"none\" : \"inline-block\",\n\t\t\t}}\n\t\t\ticon={this.icon}\n\t\t\tendIcon={this.endIcon}\n\t\t\ttooltip={this.tooltip}\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\taccessibilityAttributes={this.accessibilityAttributes}\n\t\t\tdesign={this.design}\n\t\t\tdisabled={this.disabled}\n\t\t\thidden={this.hidden}\n\t\t\tdata-ui5-external-action-item-id={this._id}\n\t\t\tdata-ui5-stable={this.stableDomRef}\n\t\t\tonClick={(...args) => this.onClick(...args)}\n\t\t>\n\t\t\t{this.text}\n\t\t</Button>\n\t);\n}\n"]}
1
+ {"version":3,"file":"ToolbarButtonTemplate.js","sourceRoot":"","sources":["../src/ToolbarButtonTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,KAAC,MAAM,IACN,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,KAAK,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;SAC3B,EACD,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EACrD,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,sCACe,IAAI,CAAC,GAAG,qBACzB,IAAI,CAAC,YAAY,EAClC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAE1C,IAAI,CAAC,IAAI,GACF,CACT,CAAC;AACH,CAAC","sourcesContent":["import type ToolbarButton from \"./ToolbarButton.js\";\nimport Button from \"./Button.js\";\n\nexport default function ToolbarButtonTemplate(this: ToolbarButton) {\n\treturn (\n\t\t<Button\n\t\t\tclass={this.classes.root}\n\t\t\tid={this.id}\n\t\t\tstyle={{\n\t\t\t\twidth: this.width || \"100%\",\n\t\t\t}}\n\t\t\ticon={this.icon}\n\t\t\tendIcon={this.endIcon}\n\t\t\ttooltip={this.tooltip}\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\taccessibilityAttributes={this.accessibilityAttributes}\n\t\t\tdesign={this.design}\n\t\t\tdisabled={this.disabled}\n\t\t\thidden={this.hidden}\n\t\t\tdata-ui5-external-action-item-id={this._id}\n\t\t\tdata-ui5-stable={this.stableDomRef}\n\t\t\tonClick={(...args) => this.onClick(...args)}\n\t\t>\n\t\t\t{this.text}\n\t\t</Button>\n\t);\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import type { TemplateFunction } from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
3
2
  import type ToolbarItemOverflowBehavior from "./types/ToolbarItemOverflowBehavior.js";
4
3
  type IEventOptions = {
5
4
  preventClosing: boolean;
@@ -26,17 +25,18 @@ declare class ToolbarItem extends UI5Element {
26
25
  * @public
27
26
  */
28
27
  preventOverflowClosing: boolean;
28
+ /**
29
+ * Defines if the toolbar item is overflowed.
30
+ * @default false
31
+ * @protected
32
+ * @since 2.11.0
33
+ */
34
+ isOverflowed: boolean;
29
35
  /**
30
36
  * Defines if the width of the item should be ignored in calculating the whole width of the toolbar
31
37
  * @protected
32
38
  */
33
39
  get ignoreSpace(): boolean;
34
- /**
35
- * Returns if the item contains text. Used to position the text properly inside the popover.
36
- * Aligned left if the item has text, default aligned otherwise.
37
- * @protected
38
- */
39
- get containsText(): boolean;
40
40
  /**
41
41
  * Returns if the item is flexible. An item that is returning true for this property will make
42
42
  * the toolbar expand to fill the 100% width of its container.
@@ -55,17 +55,13 @@ declare class ToolbarItem extends UI5Element {
55
55
  * @protected
56
56
  */
57
57
  get isSeparator(): boolean;
58
- /**
59
- * Returns the template for the toolbar item.
60
- * @protected
61
- */
62
- static get toolbarTemplate(): TemplateFunction;
63
- /**
64
- * Returns the template for the toolbar item popover.
65
- * @protected
66
- */
67
- static get toolbarPopoverTemplate(): TemplateFunction;
68
58
  get stableDomRef(): string;
59
+ get classes(): {
60
+ root: {
61
+ "ui5-tb-popover-item": boolean;
62
+ "ui5-tb-item": boolean;
63
+ };
64
+ };
69
65
  }
70
66
  export type { IEventOptions, ToolbarItemEventDetail, };
71
67
  export default ToolbarItem;
@@ -35,6 +35,13 @@ class ToolbarItem extends UI5Element {
35
35
  * @public
36
36
  */
37
37
  this.preventOverflowClosing = false;
38
+ /**
39
+ * Defines if the toolbar item is overflowed.
40
+ * @default false
41
+ * @protected
42
+ * @since 2.11.0
43
+ */
44
+ this.isOverflowed = false;
38
45
  }
39
46
  /**
40
47
  * Defines if the width of the item should be ignored in calculating the whole width of the toolbar
@@ -43,14 +50,6 @@ class ToolbarItem extends UI5Element {
43
50
  get ignoreSpace() {
44
51
  return false;
45
52
  }
46
- /**
47
- * Returns if the item contains text. Used to position the text properly inside the popover.
48
- * Aligned left if the item has text, default aligned otherwise.
49
- * @protected
50
- */
51
- get containsText() {
52
- return false;
53
- }
54
53
  /**
55
54
  * Returns if the item is flexible. An item that is returning true for this property will make
56
55
  * the toolbar expand to fill the 100% width of its container.
@@ -75,23 +74,17 @@ class ToolbarItem extends UI5Element {
75
74
  get isSeparator() {
76
75
  return false;
77
76
  }
78
- /**
79
- * Returns the template for the toolbar item.
80
- * @protected
81
- */
82
- static get toolbarTemplate() {
83
- throw new Error("Template must be defined");
84
- }
85
- /**
86
- * Returns the template for the toolbar item popover.
87
- * @protected
88
- */
89
- static get toolbarPopoverTemplate() {
90
- throw new Error("Popover template must be defined");
91
- }
92
77
  get stableDomRef() {
93
78
  return this.getAttribute("stable-dom-ref") || `${this._id}-stable-dom-ref`;
94
79
  }
80
+ get classes() {
81
+ return {
82
+ root: {
83
+ "ui5-tb-popover-item": this.isOverflowed,
84
+ "ui5-tb-item": true,
85
+ },
86
+ };
87
+ }
95
88
  };
96
89
  __decorate([
97
90
  property()
@@ -99,6 +92,9 @@ __decorate([
99
92
  __decorate([
100
93
  property({ type: Boolean })
101
94
  ], ToolbarItem.prototype, "preventOverflowClosing", void 0);
95
+ __decorate([
96
+ property({ type: Boolean })
97
+ ], ToolbarItem.prototype, "isOverflowed", void 0);
102
98
  ToolbarItem = __decorate([
103
99
  event("close-overflow", {
104
100
  bubbles: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../src/ToolbarItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AA0B5E,IAAM,WAAW;AAVjB;;;;;;;;;GASG;AACH,MAAM,WAAY,SAAQ,UAAU;IAApC;;QAMC;;;;;WAKG;QAEH,qBAAgB,GAAqC,SAAS,CAAC;QAE/D;;;;;WAKG;QAEH,2BAAsB,GAAG,KAAK,CAAC;IAiEhC,CAAC;IA/DA;;;MAGE;IACF,IAAI,WAAW;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,IAAI,YAAY;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,IAAI,gBAAgB;QACnB,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,KAAK,eAAe;QACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,KAAK,sBAAsB;QAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;CACD,CAAA;AA1EA;IADC,QAAQ,EAAE;qDACoD;AAS/D;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACG;AAtB1B,WAAW;IAdhB,KAAK,CAAC,gBAAgB,EAAE;QACxB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;;;OASG;GACG,WAAW,CAuFhB;AAMD,eAAe,WAAW,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { TemplateFunction } from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\n\nimport type ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\n\ntype IEventOptions = {\n\tpreventClosing: boolean;\n}\n\ntype ToolbarItemEventDetail = {\n\ttargetRef: HTMLElement;\n}\n\n@event(\"close-overflow\", {\n\tbubbles: true,\n})\n\n/**\n * @class\n *\n * Represents an abstract class for items, used in the `ui5-toolbar`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @since 1.17.0\n */\nclass ToolbarItem extends UI5Element {\n\t// strictEvents: needed for parent class\n\teventDetails!: {\n\t\tclick: ToolbarItemEventDetail,\n\t\t\"close-overflow\": void;\n\t}\n\t/**\n\t * Property used to define the access of the item to the overflow Popover. If \"NeverOverflow\" option is set,\n\t * the item never goes in the Popover, if \"AlwaysOverflow\" - it never comes out of it.\n\t * @public\n\t * @default \"Default\"\n\t */\n\t@property()\n\toverflowPriority: `${ToolbarItemOverflowBehavior}` = \"Default\";\n\n\t/**\n\t * Defines if the toolbar overflow popup should close upon intereaction with the item.\n\t * It will close by default.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpreventOverflowClosing = false;\n\n\t/**\n\t* Defines if the width of the item should be ignored in calculating the whole width of the toolbar\n\t* @protected\n\t*/\n\tget ignoreSpace(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item contains text. Used to position the text properly inside the popover.\n\t * Aligned left if the item has text, default aligned otherwise.\n\t * @protected\n\t */\n\tget containsText(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item is flexible. An item that is returning true for this property will make\n\t * the toolbar expand to fill the 100% width of its container.\n\t * @protected\n\t */\n\tget hasFlexibleWidth(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item is interactive.\n\t * This value is used to determinate if the toolbar should have its accessibility role and attributes set.\n\t * At least two interactive items are needed for the toolbar to have the role=\"toolbar\" attribute set.\n\t * @protected\n\t */\n\tget isInteractive(): boolean {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns if the item is separator.\n\t * @protected\n\t */\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the template for the toolbar item.\n\t * @protected\n\t */\n\tstatic get toolbarTemplate(): TemplateFunction {\n\t\tthrow new Error(\"Template must be defined\");\n\t}\n\n\t/**\n\t * Returns the template for the toolbar item popover.\n\t * @protected\n\t */\n\tstatic get toolbarPopoverTemplate(): TemplateFunction {\n\t\tthrow new Error(\"Popover template must be defined\");\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n}\n\nexport type {\n\tIEventOptions,\n\tToolbarItemEventDetail,\n};\nexport default ToolbarItem;\n"]}
1
+ {"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../src/ToolbarItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AA0B5E,IAAM,WAAW;AAVjB;;;;;;;;;GASG;AACH,MAAM,WAAY,SAAQ,UAAU;IAApC;;QAMC;;;;;WAKG;QAEH,qBAAgB,GAAqC,SAAS,CAAC;QAE/D;;;;;WAKG;QAEH,2BAAsB,GAAG,KAAK,CAAC;QAE/B;;;;;WAKG;QAGH,iBAAY,GAAY,KAAK,CAAC;IAiD/B,CAAC;IA/CA;;;MAGE;IACF,IAAI,WAAW;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,IAAI,gBAAgB;QACnB,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,IAAI,OAAO;QACV,OAAO;YACN,IAAI,EAAE;gBACL,qBAAqB,EAAE,IAAI,CAAC,YAAY;gBACxC,aAAa,EAAE,IAAI;aACnB;SACD,CAAC;IACH,CAAC;CACD,CAAA;AApEA;IADC,QAAQ,EAAE;qDACoD;AAS/D;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACG;AAU/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACE;AAhCzB,WAAW;IAdhB,KAAK,CAAC,gBAAgB,EAAE;QACxB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;;;OASG;GACG,WAAW,CAiFhB;AAMD,eAAe,WAAW,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\n\nimport type ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\n\ntype IEventOptions = {\n\tpreventClosing: boolean;\n}\n\ntype ToolbarItemEventDetail = {\n\ttargetRef: HTMLElement;\n}\n\n@event(\"close-overflow\", {\n\tbubbles: true,\n})\n\n/**\n * @class\n *\n * Represents an abstract class for items, used in the `ui5-toolbar`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @since 1.17.0\n */\nclass ToolbarItem extends UI5Element {\n\t// strictEvents: needed for parent class\n\teventDetails!: {\n\t\tclick: ToolbarItemEventDetail,\n\t\t\"close-overflow\": void;\n\t}\n\t/**\n\t * Property used to define the access of the item to the overflow Popover. If \"NeverOverflow\" option is set,\n\t * the item never goes in the Popover, if \"AlwaysOverflow\" - it never comes out of it.\n\t * @public\n\t * @default \"Default\"\n\t */\n\t@property()\n\toverflowPriority: `${ToolbarItemOverflowBehavior}` = \"Default\";\n\n\t/**\n\t * Defines if the toolbar overflow popup should close upon intereaction with the item.\n\t * It will close by default.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpreventOverflowClosing = false;\n\n\t/**\n\t * Defines if the toolbar item is overflowed.\n\t * @default false\n\t * @protected\n\t * @since 2.11.0\n\t */\n\n\t@property({ type: Boolean })\n\tisOverflowed: boolean = false;\n\n\t/**\n\t* Defines if the width of the item should be ignored in calculating the whole width of the toolbar\n\t* @protected\n\t*/\n\tget ignoreSpace(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item is flexible. An item that is returning true for this property will make\n\t * the toolbar expand to fill the 100% width of its container.\n\t * @protected\n\t */\n\tget hasFlexibleWidth(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item is interactive.\n\t * This value is used to determinate if the toolbar should have its accessibility role and attributes set.\n\t * At least two interactive items are needed for the toolbar to have the role=\"toolbar\" attribute set.\n\t * @protected\n\t */\n\tget isInteractive(): boolean {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns if the item is separator.\n\t * @protected\n\t */\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-tb-popover-item\": this.isOverflowed,\n\t\t\t\t\"ui5-tb-item\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport type {\n\tIEventOptions,\n\tToolbarItemEventDetail,\n};\nexport default ToolbarItem;\n"]}
@@ -1,6 +1,4 @@
1
1
  import type ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
2
- import ToolbarSelectTemplate from "./ToolbarSelectTemplate.js";
3
- import ToolbarPopoverSelectTemplate from "./ToolbarPopoverSelectTemplate.js";
4
2
  import ToolbarItem from "./ToolbarItem.js";
5
3
  import type { ToolbarItemEventDetail } from "./ToolbarItem.js";
6
4
  import type ToolbarSelectOption from "./ToolbarSelectOption.js";
@@ -73,8 +71,6 @@ declare class ToolbarSelect extends ToolbarItem {
73
71
  * @public
74
72
  */
75
73
  accessibleNameRef?: string;
76
- static get toolbarTemplate(): typeof ToolbarSelectTemplate;
77
- static get toolbarPopoverTemplate(): typeof ToolbarPopoverSelectTemplate;
78
74
  onClick(e: Event): void;
79
75
  onOpen(e: Event): void;
80
76
  onClose(e: Event): void;
@@ -4,14 +4,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
7
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
10
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
10
11
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
11
- import { registerToolbarItem } from "./ToolbarRegistry.js";
12
+ import ToolbarSelectCss from "./generated/themes/ToolbarSelect.css.js";
12
13
  // Templates
13
14
  import ToolbarSelectTemplate from "./ToolbarSelectTemplate.js";
14
- import ToolbarPopoverSelectTemplate from "./ToolbarPopoverSelectTemplate.js";
15
15
  import ToolbarItem from "./ToolbarItem.js";
16
16
  /**
17
17
  * @class
@@ -48,12 +48,6 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItem {
48
48
  */
49
49
  this.disabled = false;
50
50
  }
51
- static get toolbarTemplate() {
52
- return ToolbarSelectTemplate;
53
- }
54
- static get toolbarPopoverTemplate() {
55
- return ToolbarPopoverSelectTemplate;
56
- }
57
51
  onClick(e) {
58
52
  e.stopImmediatePropagation();
59
53
  const prevented = !this.fireDecoratorEvent("click", { targetRef: e.target });
@@ -121,6 +115,9 @@ __decorate([
121
115
  ToolbarSelect = __decorate([
122
116
  customElement({
123
117
  tag: "ui5-toolbar-select",
118
+ template: ToolbarSelectTemplate,
119
+ renderer: jsxRenderer,
120
+ styles: ToolbarSelectCss,
124
121
  })
125
122
  /**
126
123
  * Fired when the selected option changes.
@@ -147,7 +144,6 @@ ToolbarSelect = __decorate([
147
144
  ,
148
145
  event("close")
149
146
  ], ToolbarSelect);
150
- registerToolbarItem(ToolbarSelect);
151
147
  ToolbarSelect.define();
152
148
  export default ToolbarSelect;
153
149
  //# sourceMappingURL=ToolbarSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelect.js","sourceRoot":"","sources":["../src/ToolbarSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\n\nimport { registerToolbarItem } from \"./ToolbarRegistry.js\";\n\n// Templates\n\nimport ToolbarSelectTemplate from \"./ToolbarSelectTemplate.js\";\nimport ToolbarPopoverSelectTemplate from \"./ToolbarPopoverSelectTemplate.js\";\nimport ToolbarItem from \"./ToolbarItem.js\";\nimport type { ToolbarItemEventDetail } from \"./ToolbarItem.js\";\nimport type ToolbarSelectOption from \"./ToolbarSelectOption.js\";\nimport type { SelectChangeEventDetail } from \"./Select.js\";\n\ntype ToolbarSelectChangeEventDetail = ToolbarItemEventDetail & SelectChangeEventDetail;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-select` component is used to create a toolbar drop-down list.\n * The items inside the `ui5-toolbar-select` define the available options by using the `ui5-toolbar-select-option` component.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarSelect.js\";`\n *\n * `import \"@ui5/webcomponents/dist/ToolbarSelectOption.js\";` (comes with `ui5-toolbar-select`)\n * @constructor\n * @abstract\n * @extends ToolbarItem\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-select\",\n})\n\n/**\n * Fired when the selected option changes.\n * @param {HTMLElement} selectedOption the selected option.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass ToolbarSelect extends ToolbarItem {\n\teventDetails!: ToolbarItem[\"eventDetails\"] & {\n\t\tchange: ToolbarSelectChangeEventDetail;\n\t\topen: ToolbarItemEventDetail;\n\t\tclose: ToolbarItemEventDetail;\n\t}\n\t/**\n\t * Defines the width of the select.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-toolbar-select-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array<ToolbarSelectOption>;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\tstatic get toolbarTemplate() {\n\t\treturn ToolbarSelectTemplate;\n\t}\n\n\tstatic get toolbarPopoverTemplate() {\n\t\treturn ToolbarPopoverSelectTemplate;\n\t}\n\n\tonClick(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonOpen(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"open\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonClose(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"close\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonChange(e: CustomEvent<SelectChangeEventDetail>): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"change\", { ...e.detail, targetRef: e.target as HTMLElement });\n\t\tif (!prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\n\t\tthis._syncOptions(e.detail.selectedOption);\n\t}\n\n\t_syncOptions(selectedOption: HTMLElement): void {\n\t\tconst selectedOptionIndex = Number(selectedOption?.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis.options.forEach((option: ToolbarSelectOption, index: number) => {\n\t\t\tif (index === selectedOptionIndex) {\n\t\t\t\toption.setAttribute(\"selected\", \"\");\n\t\t\t} else {\n\t\t\t\toption.removeAttribute(\"selected\");\n\t\t\t}\n\t\t});\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.width,\n\t\t};\n\t}\n}\n\nregisterToolbarItem(ToolbarSelect);\n\nToolbarSelect.define();\n\nexport default ToolbarSelect;\n\nexport type {\n\tToolbarSelectChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"ToolbarSelect.js","sourceRoot":"","sources":["../src/ToolbarSelect.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAE5E,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAEvE,YAAY;AACZ,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAO3C;;;;;;;;;;;;;;;;GAgBG;AA+BH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,WAAW;IAAvC;;QA4BC;;;;WAIG;QAEH,eAAU,GAAoB,MAAM,CAAC;QAErC;;;;;;WAMG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAoElB,CAAC;IAlDA,OAAO,CAAC,CAAQ;QACf,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC5F,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/C,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,MAAM,CAAC,CAAQ;QACd,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC3F,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,OAAO,CAAC,CAAQ;QACf,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC5F,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,CAAuC;QAC/C,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY,CAAC,cAA2B;QACvC,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAA2B,EAAE,KAAa,EAAE,EAAE;YACnE,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBACnC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACT,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACH,CAAC;CACD,CAAA;AAlGA;IADC,QAAQ,EAAE;4CACI;AAYf;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;8CACvC;AAQrC;IADC,QAAQ,EAAE;iDAC0B;AAUrC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACX;AAQjB;IADC,QAAQ,EAAE;qDACY;AAQvB;IADC,QAAQ,EAAE;wDACgB;AA5DtB,aAAa;IA9BlB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,gBAAgB;KACxB,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,OAAO,CAAC;GACT,aAAa,CAgHlB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ToolbarSelectCss from \"./generated/themes/ToolbarSelect.css.js\";\n\n// Templates\nimport ToolbarSelectTemplate from \"./ToolbarSelectTemplate.js\";\nimport ToolbarItem from \"./ToolbarItem.js\";\nimport type { ToolbarItemEventDetail } from \"./ToolbarItem.js\";\nimport type ToolbarSelectOption from \"./ToolbarSelectOption.js\";\nimport type { SelectChangeEventDetail } from \"./Select.js\";\n\ntype ToolbarSelectChangeEventDetail = ToolbarItemEventDetail & SelectChangeEventDetail;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-select` component is used to create a toolbar drop-down list.\n * The items inside the `ui5-toolbar-select` define the available options by using the `ui5-toolbar-select-option` component.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarSelect.js\";`\n *\n * `import \"@ui5/webcomponents/dist/ToolbarSelectOption.js\";` (comes with `ui5-toolbar-select`)\n * @constructor\n * @abstract\n * @extends ToolbarItem\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-select\",\n\ttemplate: ToolbarSelectTemplate,\n\trenderer: jsxRenderer,\n\tstyles: ToolbarSelectCss,\n})\n\n/**\n * Fired when the selected option changes.\n * @param {HTMLElement} selectedOption the selected option.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass ToolbarSelect extends ToolbarItem {\n\teventDetails!: ToolbarItem[\"eventDetails\"] & {\n\t\tchange: ToolbarSelectChangeEventDetail;\n\t\topen: ToolbarItemEventDetail;\n\t\tclose: ToolbarItemEventDetail;\n\t}\n\t/**\n\t * Defines the width of the select.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-toolbar-select-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array<ToolbarSelectOption>;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\tonClick(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonOpen(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"open\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonClose(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"close\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonChange(e: CustomEvent<SelectChangeEventDetail>): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"change\", { ...e.detail, targetRef: e.target as HTMLElement });\n\t\tif (!prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\n\t\tthis._syncOptions(e.detail.selectedOption);\n\t}\n\n\t_syncOptions(selectedOption: HTMLElement): void {\n\t\tconst selectedOptionIndex = Number(selectedOption?.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis.options.forEach((option: ToolbarSelectOption, index: number) => {\n\t\t\tif (index === selectedOptionIndex) {\n\t\t\t\toption.setAttribute(\"selected\", \"\");\n\t\t\t} else {\n\t\t\t\toption.removeAttribute(\"selected\");\n\t\t\t}\n\t\t});\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.width,\n\t\t};\n\t}\n}\n\nToolbarSelect.define();\n\nexport default ToolbarSelect;\n\nexport type {\n\tToolbarSelectChangeEventDetail,\n};\n"]}
@@ -2,6 +2,6 @@ import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
2
2
  import Select from "./Select.js";
3
3
  import Option from "./Option.js";
4
4
  export default function ToolbarSelectTemplate() {
5
- return (_jsx(Select, { class: "ui5-tb-item", style: this.styles, "data-ui5-external-action-item-id": this._id, valueState: this.valueState, disabled: this.disabled, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, onClick: (...args) => this.onClick(...args), onClose: (...args) => this.onClose(...args), onOpen: (...args) => this.onOpen(...args), onChange: (...args) => this.onChange(...args), children: this.options.map((option, index) => (_jsx(Option, { selected: option.selected, "data-ui5-external-action-item-index": index, children: option.textContent }))) }));
5
+ return (_jsx(Select, { class: this.classes.root, style: this.styles, "data-ui5-external-action-item-id": this._id, valueState: this.valueState, disabled: this.disabled, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, onClick: (...args) => this.onClick(...args), onClose: (...args) => this.onClose(...args), onOpen: (...args) => this.onOpen(...args), onChange: (...args) => this.onChange(...args), children: this.options.map((option, index) => (_jsx(Option, { selected: option.selected, "data-ui5-external-action-item-index": index, children: option.textContent }))) }));
6
6
  }
7
7
  //# sourceMappingURL=ToolbarSelectTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelectTemplate.js","sourceRoot":"","sources":["../src/ToolbarSelectTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,KAAC,MAAM,IACN,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,IAAI,CAAC,MAAM,sCACgB,IAAI,CAAC,GAAG,EAC1C,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EACzC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAE5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,KAAC,MAAM,IACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,yCACY,KAAK,YAEzC,MAAM,CAAC,WAAW,GACX,CACT,CAAC,GACM,CACT,CAAC;AACH,CAAC","sourcesContent":["import type ToolbarSelect from \"./ToolbarSelect.js\";\nimport Select from \"./Select.js\";\nimport Option from \"./Option.js\";\n\nexport default function ToolbarSelectTemplate(this: ToolbarSelect) {\n\treturn (\n\t\t<Select\n\t\t\tclass=\"ui5-tb-item\"\n\t\t\tstyle={this.styles}\n\t\t\tdata-ui5-external-action-item-id={this._id}\n\t\t\tvalueState={this.valueState}\n\t\t\tdisabled={this.disabled}\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\tonClick={(...args) => this.onClick(...args)}\n\t\t\tonClose={(...args) => this.onClose(...args)}\n\t\t\tonOpen={(...args) => this.onOpen(...args)}\n\t\t\tonChange={(...args) => this.onChange(...args)}\n\t\t>\n\t\t\t{this.options.map((option, index) => (\n\t\t\t\t<Option\n\t\t\t\t\tselected={option.selected}\n\t\t\t\t\tdata-ui5-external-action-item-index={index}\n\t\t\t\t>\n\t\t\t\t\t{option.textContent}\n\t\t\t\t</Option>\n\t\t\t))}\n\t\t</Select>\n\t);\n}\n"]}
1
+ {"version":3,"file":"ToolbarSelectTemplate.js","sourceRoot":"","sources":["../src/ToolbarSelectTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,KAAC,MAAM,IACN,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,sCACgB,IAAI,CAAC,GAAG,EAC1C,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EACzC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAE5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,KAAC,MAAM,IACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,yCACY,KAAK,YAEzC,MAAM,CAAC,WAAW,GACX,CACT,CAAC,GACM,CACT,CAAC;AACH,CAAC","sourcesContent":["import type ToolbarSelect from \"./ToolbarSelect.js\";\nimport Select from \"./Select.js\";\nimport Option from \"./Option.js\";\n\nexport default function ToolbarSelectTemplate(this: ToolbarSelect) {\n\treturn (\n\t\t<Select\n\t\t\tclass={this.classes.root}\n\t\t\tstyle={this.styles}\n\t\t\tdata-ui5-external-action-item-id={this._id}\n\t\t\tvalueState={this.valueState}\n\t\t\tdisabled={this.disabled}\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\tonClick={(...args) => this.onClick(...args)}\n\t\t\tonClose={(...args) => this.onClose(...args)}\n\t\t\tonOpen={(...args) => this.onOpen(...args)}\n\t\t\tonChange={(...args) => this.onChange(...args)}\n\t\t>\n\t\t\t{this.options.map((option, index) => (\n\t\t\t\t<Option\n\t\t\t\t\tselected={option.selected}\n\t\t\t\t\tdata-ui5-external-action-item-index={index}\n\t\t\t\t>\n\t\t\t\t\t{option.textContent}\n\t\t\t\t</Option>\n\t\t\t))}\n\t\t</Select>\n\t);\n}\n"]}
@@ -1,5 +1,3 @@
1
- import ToolbarSeparatorTemplate from "./ToolbarSeparatorTemplate.js";
2
- import ToolbarPopoverSeparatorTemplate from "./ToolbarPopoverSeparatorTemplate.js";
3
1
  import ToolbarItem from "./ToolbarItem.js";
4
2
  /**
5
3
  * @class
@@ -15,8 +13,6 @@ import ToolbarItem from "./ToolbarItem.js";
15
13
  */
16
14
  declare class ToolbarSeparator extends ToolbarItem {
17
15
  visible: boolean;
18
- static get toolbarTemplate(): typeof ToolbarSeparatorTemplate;
19
- static get toolbarPopoverTemplate(): typeof ToolbarPopoverSeparatorTemplate;
20
16
  get isSeparator(): boolean;
21
17
  get isInteractive(): boolean;
22
18
  }