@ui5/webcomponents 2.11.0-rc.3 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.js +2 -2
  4. package/dist/Avatar.js.map +1 -1
  5. package/dist/Calendar.d.ts +31 -8
  6. package/dist/Calendar.js +100 -26
  7. package/dist/Calendar.js.map +1 -1
  8. package/dist/CalendarHeaderTemplate.js +1 -1
  9. package/dist/CalendarHeaderTemplate.js.map +1 -1
  10. package/dist/CalendarTemplate.js +3 -1
  11. package/dist/CalendarTemplate.js.map +1 -1
  12. package/dist/ComboBox.d.ts +1 -0
  13. package/dist/ComboBox.js +4 -1
  14. package/dist/ComboBox.js.map +1 -1
  15. package/dist/ComboBoxPopoverTemplate.js +1 -1
  16. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  17. package/dist/DynamicDateRange.d.ts +133 -0
  18. package/dist/DynamicDateRange.js +291 -0
  19. package/dist/DynamicDateRange.js.map +1 -0
  20. package/dist/DynamicDateRangeInputTemplate.d.ts +2 -0
  21. package/dist/DynamicDateRangeInputTemplate.js +13 -0
  22. package/dist/DynamicDateRangeInputTemplate.js.map +1 -0
  23. package/dist/DynamicDateRangePopoverTemplate.d.ts +2 -0
  24. package/dist/DynamicDateRangePopoverTemplate.js +18 -0
  25. package/dist/DynamicDateRangePopoverTemplate.js.map +1 -0
  26. package/dist/DynamicDateRangeTemplate.d.ts +2 -0
  27. package/dist/DynamicDateRangeTemplate.js +9 -0
  28. package/dist/DynamicDateRangeTemplate.js.map +1 -0
  29. package/dist/Icon.js +2 -2
  30. package/dist/Icon.js.map +1 -1
  31. package/dist/Input.d.ts +1 -0
  32. package/dist/Input.js +4 -1
  33. package/dist/Input.js.map +1 -1
  34. package/dist/Table.d.ts +0 -6
  35. package/dist/Table.js +0 -6
  36. package/dist/Table.js.map +1 -1
  37. package/dist/TableCell.d.ts +0 -1
  38. package/dist/TableCell.js +0 -1
  39. package/dist/TableCell.js.map +1 -1
  40. package/dist/TableGrowing.d.ts +0 -1
  41. package/dist/TableGrowing.js +0 -1
  42. package/dist/TableGrowing.js.map +1 -1
  43. package/dist/TableHeaderCell.d.ts +0 -1
  44. package/dist/TableHeaderCell.js +0 -1
  45. package/dist/TableHeaderCell.js.map +1 -1
  46. package/dist/TableHeaderCellActionAI.d.ts +0 -1
  47. package/dist/TableHeaderCellActionAI.js +0 -1
  48. package/dist/TableHeaderCellActionAI.js.map +1 -1
  49. package/dist/TableHeaderRow.d.ts +0 -1
  50. package/dist/TableHeaderRow.js +0 -1
  51. package/dist/TableHeaderRow.js.map +1 -1
  52. package/dist/TableRow.d.ts +0 -1
  53. package/dist/TableRow.js +0 -1
  54. package/dist/TableRow.js.map +1 -1
  55. package/dist/TableRowAction.d.ts +0 -1
  56. package/dist/TableRowAction.js +0 -1
  57. package/dist/TableRowAction.js.map +1 -1
  58. package/dist/TableRowActionNavigation.d.ts +0 -1
  59. package/dist/TableRowActionNavigation.js +0 -1
  60. package/dist/TableRowActionNavigation.js.map +1 -1
  61. package/dist/TableSelection.d.ts +1 -1
  62. package/dist/TableSelection.js +1 -1
  63. package/dist/TableSelection.js.map +1 -1
  64. package/dist/Tokenizer.d.ts +2 -0
  65. package/dist/Tokenizer.js +7 -1
  66. package/dist/Tokenizer.js.map +1 -1
  67. package/dist/TokenizerPopoverTemplate.js +1 -1
  68. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  69. package/dist/Toolbar.d.ts +3 -22
  70. package/dist/Toolbar.js +10 -43
  71. package/dist/Toolbar.js.map +1 -1
  72. package/dist/ToolbarButton.d.ts +10 -11
  73. package/dist/ToolbarButton.js +14 -23
  74. package/dist/ToolbarButton.js.map +1 -1
  75. package/dist/ToolbarButtonTemplate.js +2 -3
  76. package/dist/ToolbarButtonTemplate.js.map +1 -1
  77. package/dist/ToolbarItem.d.ts +13 -17
  78. package/dist/ToolbarItem.js +18 -22
  79. package/dist/ToolbarItem.js.map +1 -1
  80. package/dist/ToolbarSelect.d.ts +0 -4
  81. package/dist/ToolbarSelect.js +5 -9
  82. package/dist/ToolbarSelect.js.map +1 -1
  83. package/dist/ToolbarSelectTemplate.js +1 -1
  84. package/dist/ToolbarSelectTemplate.js.map +1 -1
  85. package/dist/ToolbarSeparator.d.ts +0 -4
  86. package/dist/ToolbarSeparator.js +6 -9
  87. package/dist/ToolbarSeparator.js.map +1 -1
  88. package/dist/ToolbarSpacer.d.ts +0 -3
  89. package/dist/ToolbarSpacer.js +2 -9
  90. package/dist/ToolbarSpacer.js.map +1 -1
  91. package/dist/ToolbarTemplate.js +15 -3
  92. package/dist/ToolbarTemplate.js.map +1 -1
  93. package/dist/YearPicker.d.ts +2 -3
  94. package/dist/YearPicker.js +7 -33
  95. package/dist/YearPicker.js.map +1 -1
  96. package/dist/YearRangePicker.d.ts +144 -0
  97. package/dist/YearRangePicker.js +418 -0
  98. package/dist/YearRangePicker.js.map +1 -0
  99. package/dist/YearRangePickerTemplate.d.ts +2 -0
  100. package/dist/YearRangePickerTemplate.js +6 -0
  101. package/dist/YearRangePickerTemplate.js.map +1 -0
  102. package/dist/bundle.esm.js +6 -0
  103. package/dist/bundle.esm.js.map +1 -1
  104. package/dist/css/themes/Avatar.css +1 -1
  105. package/dist/css/themes/AvatarGroup.css +1 -1
  106. package/dist/css/themes/Bar.css +1 -1
  107. package/dist/css/themes/Breadcrumbs.css +1 -1
  108. package/dist/css/themes/BusyIndicator.css +1 -1
  109. package/dist/css/themes/Button.css +1 -1
  110. package/dist/css/themes/ButtonBadge.css +1 -1
  111. package/dist/css/themes/Calendar.css +1 -1
  112. package/dist/css/themes/CalendarHeader.css +1 -1
  113. package/dist/css/themes/CalendarLegend.css +1 -1
  114. package/dist/css/themes/CalendarLegendItem.css +1 -1
  115. package/dist/css/themes/Card.css +1 -1
  116. package/dist/css/themes/CardHeader.css +1 -1
  117. package/dist/css/themes/Carousel.css +1 -1
  118. package/dist/css/themes/CheckBox.css +1 -1
  119. package/dist/css/themes/ColorPalette.css +1 -1
  120. package/dist/css/themes/ColorPaletteItem.css +1 -1
  121. package/dist/css/themes/ColorPalettePopover.css +1 -1
  122. package/dist/css/themes/ColorPicker.css +1 -1
  123. package/dist/css/themes/ComboBox.css +1 -1
  124. package/dist/css/themes/ComboBoxItem.css +1 -1
  125. package/dist/css/themes/DatePicker.css +1 -1
  126. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  127. package/dist/css/themes/DayPicker.css +1 -1
  128. package/dist/css/themes/Dialog.css +1 -1
  129. package/dist/css/themes/DynamicDateRange.css +1 -0
  130. package/dist/css/themes/DynamicDateRangePopover.css +1 -0
  131. package/dist/css/themes/FileUploader.css +1 -1
  132. package/dist/css/themes/Form.css +1 -1
  133. package/dist/css/themes/FormItem.css +1 -1
  134. package/dist/css/themes/FormItemSpan.css +1 -1
  135. package/dist/css/themes/GrowingButton.css +1 -1
  136. package/dist/css/themes/Icon.css +1 -1
  137. package/dist/css/themes/Input.css +1 -1
  138. package/dist/css/themes/InputIcon.css +1 -1
  139. package/dist/css/themes/InputSharedStyles.css +1 -1
  140. package/dist/css/themes/Link.css +1 -1
  141. package/dist/css/themes/List.css +1 -1
  142. package/dist/css/themes/ListItem.css +1 -1
  143. package/dist/css/themes/ListItemBase.css +1 -1
  144. package/dist/css/themes/ListItemCustom.css +1 -1
  145. package/dist/css/themes/ListItemGroup.css +1 -1
  146. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  147. package/dist/css/themes/ListItemIcon.css +1 -1
  148. package/dist/css/themes/Menu.css +1 -1
  149. package/dist/css/themes/MenuItem.css +1 -1
  150. package/dist/css/themes/MessageStrip.css +1 -1
  151. package/dist/css/themes/MonthPicker.css +1 -1
  152. package/dist/css/themes/MultiComboBox.css +1 -1
  153. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  154. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  155. package/dist/css/themes/MultiInput.css +1 -1
  156. package/dist/css/themes/OptionBase.css +1 -1
  157. package/dist/css/themes/Panel.css +1 -1
  158. package/dist/css/themes/Popover.css +1 -1
  159. package/dist/css/themes/PopupsCommon.css +1 -1
  160. package/dist/css/themes/ProgressIndicator.css +1 -1
  161. package/dist/css/themes/RadioButton.css +1 -1
  162. package/dist/css/themes/RangeSlider.css +1 -1
  163. package/dist/css/themes/RatingIndicator.css +1 -1
  164. package/dist/css/themes/ResponsivePopover.css +1 -1
  165. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  166. package/dist/css/themes/SegmentedButton.css +1 -1
  167. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  168. package/dist/css/themes/Select.css +1 -1
  169. package/dist/css/themes/SliderBase.css +1 -1
  170. package/dist/css/themes/SplitButton.css +1 -1
  171. package/dist/css/themes/StepInput.css +1 -1
  172. package/dist/css/themes/SuggestionItem.css +1 -1
  173. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  174. package/dist/css/themes/Switch.css +1 -1
  175. package/dist/css/themes/TabContainer.css +1 -1
  176. package/dist/css/themes/TabInOverflow.css +1 -1
  177. package/dist/css/themes/TabInStrip.css +1 -1
  178. package/dist/css/themes/TabSemanticIcon.css +1 -1
  179. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  180. package/dist/css/themes/TableCellBase.css +1 -1
  181. package/dist/css/themes/TableHeaderRow.css +1 -1
  182. package/dist/css/themes/TableRow.css +1 -1
  183. package/dist/css/themes/TableRowActionBase.css +1 -1
  184. package/dist/css/themes/TableRowBase.css +1 -1
  185. package/dist/css/themes/Tag.css +1 -1
  186. package/dist/css/themes/Text.css +1 -1
  187. package/dist/css/themes/TextArea.css +1 -1
  188. package/dist/css/themes/TimePicker.css +1 -1
  189. package/dist/css/themes/Toast.css +1 -1
  190. package/dist/css/themes/ToggleButton.css +1 -1
  191. package/dist/css/themes/Token.css +1 -1
  192. package/dist/css/themes/Tokenizer.css +1 -1
  193. package/dist/css/themes/TokenizerPopover.css +1 -1
  194. package/dist/css/themes/Toolbar.css +1 -1
  195. package/dist/css/themes/ToolbarPopover.css +1 -1
  196. package/dist/css/themes/ToolbarSelect.css +1 -1
  197. package/dist/css/themes/ToolbarSeparator.css +1 -0
  198. package/dist/css/themes/TreeItem.css +1 -1
  199. package/dist/css/themes/ValueStateMessage.css +1 -1
  200. package/dist/css/themes/YearPicker.css +1 -1
  201. package/dist/css/themes/YearRangePicker.css +1 -0
  202. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  203. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  204. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  205. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  206. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  207. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  208. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  209. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  210. package/dist/custom-elements-internal.json +284 -16
  211. package/dist/custom-elements.json +251 -7
  212. package/dist/dynamic-date-range-options/DateRange.d.ts +23 -0
  213. package/dist/dynamic-date-range-options/DateRange.js +71 -0
  214. package/dist/dynamic-date-range-options/DateRange.js.map +1 -0
  215. package/dist/dynamic-date-range-options/DateRangeTemplate.d.ts +2 -0
  216. package/dist/dynamic-date-range-options/DateRangeTemplate.js +11 -0
  217. package/dist/dynamic-date-range-options/DateRangeTemplate.js.map +1 -0
  218. package/dist/dynamic-date-range-options/SingleDate.d.ts +23 -0
  219. package/dist/dynamic-date-range-options/SingleDate.js +67 -0
  220. package/dist/dynamic-date-range-options/SingleDate.js.map +1 -0
  221. package/dist/dynamic-date-range-options/SingleDateTemplate.d.ts +2 -0
  222. package/dist/dynamic-date-range-options/SingleDateTemplate.js +7 -0
  223. package/dist/dynamic-date-range-options/SingleDateTemplate.js.map +1 -0
  224. package/dist/dynamic-date-range-options/Today.d.ts +17 -0
  225. package/dist/dynamic-date-range-options/Today.js +37 -0
  226. package/dist/dynamic-date-range-options/Today.js.map +1 -0
  227. package/dist/dynamic-date-range-options/Tomorrow.d.ts +17 -0
  228. package/dist/dynamic-date-range-options/Tomorrow.js +37 -0
  229. package/dist/dynamic-date-range-options/Tomorrow.js.map +1 -0
  230. package/dist/dynamic-date-range-options/Yesterday.d.ts +17 -0
  231. package/dist/dynamic-date-range-options/Yesterday.js +37 -0
  232. package/dist/dynamic-date-range-options/Yesterday.js.map +1 -0
  233. package/dist/dynamic-date-range-options/toDates.d.ts +7 -0
  234. package/dist/dynamic-date-range-options/toDates.js +41 -0
  235. package/dist/dynamic-date-range-options/toDates.js.map +1 -0
  236. package/dist/features/InputSuggestionsTemplate.js +1 -1
  237. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  239. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  240. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  241. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  242. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  243. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  244. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  245. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  246. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  247. package/dist/generated/i18n/i18n-defaults.d.ts +14 -1
  248. package/dist/generated/i18n/i18n-defaults.js +14 -1
  249. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  250. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  251. package/dist/generated/themes/Avatar.css.js +1 -1
  252. package/dist/generated/themes/Avatar.css.js.map +1 -1
  253. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  254. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  255. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  256. package/dist/generated/themes/Bar.css.d.ts +1 -1
  257. package/dist/generated/themes/Bar.css.js +1 -1
  258. package/dist/generated/themes/Bar.css.js.map +1 -1
  259. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  260. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  261. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  262. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  263. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  264. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  265. package/dist/generated/themes/Button.css.d.ts +1 -1
  266. package/dist/generated/themes/Button.css.js +1 -1
  267. package/dist/generated/themes/Button.css.js.map +1 -1
  268. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  269. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  270. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  271. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  272. package/dist/generated/themes/Calendar.css.js +1 -1
  273. package/dist/generated/themes/Calendar.css.js.map +1 -1
  274. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  275. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  276. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  277. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  278. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  279. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  280. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  281. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  282. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  283. package/dist/generated/themes/Card.css.d.ts +1 -1
  284. package/dist/generated/themes/Card.css.js +1 -1
  285. package/dist/generated/themes/Card.css.js.map +1 -1
  286. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  287. package/dist/generated/themes/CardHeader.css.js +1 -1
  288. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  289. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  290. package/dist/generated/themes/Carousel.css.js +1 -1
  291. package/dist/generated/themes/Carousel.css.js.map +1 -1
  292. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  293. package/dist/generated/themes/CheckBox.css.js +1 -1
  294. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  295. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  296. package/dist/generated/themes/ColorPalette.css.js +1 -1
  297. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  298. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  299. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  300. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  301. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  302. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  303. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  304. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  305. package/dist/generated/themes/ColorPicker.css.js +1 -1
  306. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  307. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  308. package/dist/generated/themes/ComboBox.css.js +1 -1
  309. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  310. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  311. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  312. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  313. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  314. package/dist/generated/themes/DatePicker.css.js +1 -1
  315. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  316. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  317. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  318. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  319. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  320. package/dist/generated/themes/DayPicker.css.js +1 -1
  321. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  322. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  323. package/dist/generated/themes/Dialog.css.js +1 -1
  324. package/dist/generated/themes/Dialog.css.js.map +1 -1
  325. package/dist/generated/themes/DynamicDateRange.css.d.ts +2 -0
  326. package/dist/generated/themes/DynamicDateRange.css.js +8 -0
  327. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -0
  328. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +2 -0
  329. package/dist/generated/themes/DynamicDateRangePopover.css.js +8 -0
  330. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -0
  331. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  332. package/dist/generated/themes/FileUploader.css.js +1 -1
  333. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  334. package/dist/generated/themes/Form.css.d.ts +1 -1
  335. package/dist/generated/themes/Form.css.js +1 -1
  336. package/dist/generated/themes/Form.css.js.map +1 -1
  337. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  338. package/dist/generated/themes/FormItem.css.js +1 -1
  339. package/dist/generated/themes/FormItem.css.js.map +1 -1
  340. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  341. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  342. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  343. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  344. package/dist/generated/themes/GrowingButton.css.js +1 -1
  345. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  346. package/dist/generated/themes/Icon.css.d.ts +1 -1
  347. package/dist/generated/themes/Icon.css.js +1 -1
  348. package/dist/generated/themes/Icon.css.js.map +1 -1
  349. package/dist/generated/themes/Input.css.d.ts +1 -1
  350. package/dist/generated/themes/Input.css.js +1 -1
  351. package/dist/generated/themes/Input.css.js.map +1 -1
  352. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  353. package/dist/generated/themes/InputIcon.css.js +1 -1
  354. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  355. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  356. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  357. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  358. package/dist/generated/themes/Link.css.d.ts +1 -1
  359. package/dist/generated/themes/Link.css.js +1 -1
  360. package/dist/generated/themes/Link.css.js.map +1 -1
  361. package/dist/generated/themes/List.css.d.ts +1 -1
  362. package/dist/generated/themes/List.css.js +1 -1
  363. package/dist/generated/themes/List.css.js.map +1 -1
  364. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  365. package/dist/generated/themes/ListItem.css.js +1 -1
  366. package/dist/generated/themes/ListItem.css.js.map +1 -1
  367. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  368. package/dist/generated/themes/ListItemBase.css.js +1 -1
  369. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  370. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  371. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  372. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  373. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  374. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  375. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  376. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  377. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  378. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  379. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  380. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  381. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  382. package/dist/generated/themes/Menu.css.d.ts +1 -1
  383. package/dist/generated/themes/Menu.css.js +1 -1
  384. package/dist/generated/themes/Menu.css.js.map +1 -1
  385. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  386. package/dist/generated/themes/MenuItem.css.js +1 -1
  387. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  388. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  389. package/dist/generated/themes/MessageStrip.css.js +1 -1
  390. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  391. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  392. package/dist/generated/themes/MonthPicker.css.js +1 -1
  393. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  394. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  395. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  396. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  397. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  398. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  399. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  400. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  401. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  402. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  403. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  404. package/dist/generated/themes/MultiInput.css.js +1 -1
  405. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  406. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  407. package/dist/generated/themes/OptionBase.css.js +1 -1
  408. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  409. package/dist/generated/themes/Panel.css.d.ts +1 -1
  410. package/dist/generated/themes/Panel.css.js +1 -1
  411. package/dist/generated/themes/Panel.css.js.map +1 -1
  412. package/dist/generated/themes/Popover.css.d.ts +1 -1
  413. package/dist/generated/themes/Popover.css.js +1 -1
  414. package/dist/generated/themes/Popover.css.js.map +1 -1
  415. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  416. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  417. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  418. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  419. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  420. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  421. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  422. package/dist/generated/themes/RadioButton.css.js +1 -1
  423. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  424. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  425. package/dist/generated/themes/RangeSlider.css.js +1 -1
  426. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  427. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  428. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  429. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  430. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  431. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  432. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  433. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  434. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  435. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  436. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  437. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  438. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  439. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  440. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  441. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  442. package/dist/generated/themes/Select.css.d.ts +1 -1
  443. package/dist/generated/themes/Select.css.js +1 -1
  444. package/dist/generated/themes/Select.css.js.map +1 -1
  445. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  446. package/dist/generated/themes/SliderBase.css.js +1 -1
  447. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  448. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  449. package/dist/generated/themes/SplitButton.css.js +1 -1
  450. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  451. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  452. package/dist/generated/themes/StepInput.css.js +1 -1
  453. package/dist/generated/themes/StepInput.css.js.map +1 -1
  454. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  455. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  456. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  457. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  458. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  459. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  460. package/dist/generated/themes/Switch.css.d.ts +1 -1
  461. package/dist/generated/themes/Switch.css.js +1 -1
  462. package/dist/generated/themes/Switch.css.js.map +1 -1
  463. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  464. package/dist/generated/themes/TabContainer.css.js +1 -1
  465. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  466. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  467. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  468. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  469. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  470. package/dist/generated/themes/TabInStrip.css.js +1 -1
  471. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  472. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  473. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  474. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  475. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  476. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  477. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  478. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  479. package/dist/generated/themes/TableCellBase.css.js +1 -1
  480. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  481. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  482. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  483. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  484. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  485. package/dist/generated/themes/TableRow.css.js +1 -1
  486. package/dist/generated/themes/TableRow.css.js.map +1 -1
  487. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  488. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  489. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  490. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  491. package/dist/generated/themes/TableRowBase.css.js +1 -1
  492. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  493. package/dist/generated/themes/Tag.css.d.ts +1 -1
  494. package/dist/generated/themes/Tag.css.js +1 -1
  495. package/dist/generated/themes/Tag.css.js.map +1 -1
  496. package/dist/generated/themes/Text.css.d.ts +1 -1
  497. package/dist/generated/themes/Text.css.js +1 -1
  498. package/dist/generated/themes/Text.css.js.map +1 -1
  499. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  500. package/dist/generated/themes/TextArea.css.js +1 -1
  501. package/dist/generated/themes/TextArea.css.js.map +1 -1
  502. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  503. package/dist/generated/themes/TimePicker.css.js +1 -1
  504. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  505. package/dist/generated/themes/Toast.css.d.ts +1 -1
  506. package/dist/generated/themes/Toast.css.js +1 -1
  507. package/dist/generated/themes/Toast.css.js.map +1 -1
  508. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  509. package/dist/generated/themes/ToggleButton.css.js +1 -1
  510. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  511. package/dist/generated/themes/Token.css.d.ts +1 -1
  512. package/dist/generated/themes/Token.css.js +1 -1
  513. package/dist/generated/themes/Token.css.js.map +1 -1
  514. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  515. package/dist/generated/themes/Tokenizer.css.js +1 -1
  516. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  517. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  518. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  519. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  520. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  521. package/dist/generated/themes/Toolbar.css.js +1 -1
  522. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  523. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  524. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  525. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  526. package/dist/generated/themes/ToolbarSelect.css.d.ts +1 -1
  527. package/dist/generated/themes/ToolbarSelect.css.js +1 -1
  528. package/dist/generated/themes/ToolbarSelect.css.js.map +1 -1
  529. package/dist/generated/themes/ToolbarSeparator.css.d.ts +2 -0
  530. package/dist/generated/themes/ToolbarSeparator.css.js +8 -0
  531. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -0
  532. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  533. package/dist/generated/themes/TreeItem.css.js +1 -1
  534. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  535. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  536. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  537. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  538. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  539. package/dist/generated/themes/YearPicker.css.js +1 -1
  540. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  541. package/dist/generated/themes/YearRangePicker.css.d.ts +2 -0
  542. package/dist/generated/themes/YearRangePicker.css.js +8 -0
  543. package/dist/generated/themes/YearRangePicker.css.js.map +1 -0
  544. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  545. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  546. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  547. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  548. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  549. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  550. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  551. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  552. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  553. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  554. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  555. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  556. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  557. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  558. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  559. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  560. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  561. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  562. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  563. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  564. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  565. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  566. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  567. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  568. package/dist/popup-utils/PopoverRegistry.js +14 -2
  569. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  570. package/dist/vscode.html-custom-data.json +20 -3
  571. package/dist/web-types.json +87 -9
  572. package/package.json +9 -9
  573. package/src/CalendarHeaderTemplate.tsx +6 -3
  574. package/src/CalendarTemplate.tsx +21 -0
  575. package/src/ComboBoxPopoverTemplate.tsx +1 -1
  576. package/src/DynamicDateRangeInputTemplate.tsx +38 -0
  577. package/src/DynamicDateRangePopoverTemplate.tsx +75 -0
  578. package/src/DynamicDateRangeTemplate.tsx +11 -0
  579. package/src/TokenizerPopoverTemplate.tsx +2 -2
  580. package/src/ToolbarButtonTemplate.tsx +2 -3
  581. package/src/ToolbarSelectTemplate.tsx +1 -1
  582. package/src/ToolbarTemplate.tsx +43 -6
  583. package/src/YearRangePickerTemplate.tsx +42 -0
  584. package/src/dynamic-date-range-options/DateRangeTemplate.tsx +22 -0
  585. package/src/dynamic-date-range-options/SingleDateTemplate.tsx +13 -0
  586. package/src/features/InputSuggestionsTemplate.tsx +1 -1
  587. package/src/i18n/messagebundle.properties +40 -1
  588. package/src/i18n/messagebundle_it.properties +4 -4
  589. package/src/themes/AvatarGroup.css +1 -0
  590. package/src/themes/CalendarHeader.css +0 -10
  591. package/src/themes/DatePicker.css +0 -1
  592. package/src/themes/DynamicDateRange.css +7 -0
  593. package/src/themes/DynamicDateRangePopover.css +89 -0
  594. package/src/themes/Toolbar.css +0 -7
  595. package/src/themes/ToolbarPopover.css +5 -0
  596. package/src/themes/ToolbarSelect.css +3 -3
  597. package/src/themes/ToolbarSeparator.css +6 -0
  598. package/src/themes/YearRangePicker.css +118 -0
  599. package/src/themes/base/AvatarGroup-parameters.css +1 -0
  600. package/src/themes/base/DynamicDateRange-parameters.css +3 -0
  601. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  602. package/dist/ToolbarPopoverButtonTemplate.d.ts +0 -2
  603. package/dist/ToolbarPopoverButtonTemplate.js +0 -6
  604. package/dist/ToolbarPopoverButtonTemplate.js.map +0 -1
  605. package/dist/ToolbarPopoverSelectTemplate.d.ts +0 -2
  606. package/dist/ToolbarPopoverSelectTemplate.js +0 -7
  607. package/dist/ToolbarPopoverSelectTemplate.js.map +0 -1
  608. package/dist/ToolbarPopoverSeparatorTemplate.d.ts +0 -2
  609. package/dist/ToolbarPopoverSeparatorTemplate.js +0 -5
  610. package/dist/ToolbarPopoverSeparatorTemplate.js.map +0 -1
  611. package/dist/ToolbarPopoverTemplate.d.ts +0 -2
  612. package/dist/ToolbarPopoverTemplate.js +0 -9
  613. package/dist/ToolbarPopoverTemplate.js.map +0 -1
  614. package/dist/ToolbarRegistry.d.ts +0 -5
  615. package/dist/ToolbarRegistry.js +0 -16
  616. package/dist/ToolbarRegistry.js.map +0 -1
  617. package/dist/ToolbarSpacerTemplate.d.ts +0 -2
  618. package/dist/ToolbarSpacerTemplate.js +0 -5
  619. package/dist/ToolbarSpacerTemplate.js.map +0 -1
  620. package/src/ToolbarPopoverButtonTemplate.tsx +0 -24
  621. package/src/ToolbarPopoverSelectTemplate.tsx +0 -29
  622. package/src/ToolbarPopoverSeparatorTemplate.tsx +0 -10
  623. package/src/ToolbarPopoverTemplate.tsx +0 -25
  624. package/src/ToolbarSpacerTemplate.tsx +0 -12
@@ -0,0 +1,144 @@
1
+ import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
2
+ import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
3
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
+ import CalendarPart from "./CalendarPart.js";
5
+ import type { ICalendarPicker, CalendarYearRangeT } from "./Calendar.js";
6
+ type YearRange = {
7
+ timestamp: string;
8
+ _tabIndex: number;
9
+ focusRef: boolean;
10
+ selected: boolean;
11
+ ariaSelected: boolean;
12
+ range: string;
13
+ rangeInSecType: string | undefined;
14
+ disabled: boolean;
15
+ ariaDisabled: boolean | undefined;
16
+ classes: string;
17
+ parts: string;
18
+ };
19
+ type YearRanges = Array<Array<YearRange>>;
20
+ type YearRangePickerChangeEventDetail = {
21
+ timestamp: number;
22
+ };
23
+ type YearRangePickerNavigateEventDetail = {
24
+ timestamp: number;
25
+ };
26
+ /**
27
+ * @class
28
+ *
29
+ * Displays year ranges which help navigate through years faster.
30
+ * @constructor
31
+ * @extends CalendarPart
32
+ * @private
33
+ */
34
+ declare class YearRangePicker extends CalendarPart implements ICalendarPicker {
35
+ eventDetails: CalendarPart["eventDetails"] & {
36
+ "change": YearRangePickerChangeEventDetail;
37
+ "navigate": YearRangePickerNavigateEventDetail;
38
+ };
39
+ /**
40
+ * An array of UTC timestamps representing the selected date
41
+ * or dates depending on the capabilities of the picker component.
42
+ * @default []
43
+ */
44
+ selectedDates: Array<number>;
45
+ /**
46
+ * Defines if the YearRangePicker should visualize the selected dates as a range.
47
+ * @default false
48
+ *
49
+ * @private
50
+ */
51
+ _showRangeSelection: boolean;
52
+ /**
53
+ * When _showRangeSelection is "true" and the first year in the range is selected, this is the currently hovered or focused year range.
54
+ *
55
+ * @private
56
+ */
57
+ _secondTimestamp?: number;
58
+ _yearRanges: YearRanges;
59
+ _hidden: boolean;
60
+ _currentYearRange?: CalendarYearRangeT;
61
+ _gridStartYear?: number;
62
+ static i18nBundle: I18nBundle;
63
+ get roleDescription(): string;
64
+ onBeforeRendering(): void;
65
+ _shouldShowOneColumn(): boolean;
66
+ _getPageSize(): 6 | 8;
67
+ _getRowSize(): 1 | 2;
68
+ _getInitialFocusedIndex(): number;
69
+ _getRangeSize(): 8 | 20;
70
+ _getYearRangeFormattedText(startDate: CalendarDate, endDate: CalendarDate, yearFormat: DateFormat): string;
71
+ _getGridStartYear(): number;
72
+ _getYearRanges(): YearRanges;
73
+ _getYearRange(timestamp: number, isFocused: boolean, isSelected: boolean, isSelectedBetween: boolean, yearRangeText: string, secYearRangeText: string | undefined, isDisabled: boolean): YearRange;
74
+ _isYearRangeSelected(startYear: number, endYear: number): boolean;
75
+ /**
76
+ * Returns true if the timestamp is inside the selection range.
77
+ * @private
78
+ */
79
+ _isInsideSelectionRange(timestamp: number): boolean;
80
+ onAfterRendering(): void;
81
+ _onkeydown(e: KeyboardEvent): void;
82
+ _onkeyup(e: KeyboardEvent): void;
83
+ _onHomeOrEnd(homePressed: boolean): void;
84
+ /**
85
+ * Set the hovered day as the "_secondTimestamp".
86
+ *
87
+ * @param e
88
+ * @private
89
+ */
90
+ _onmouseover(e: MouseEvent): void;
91
+ /**
92
+ * Sets the timestamp to an absolute value.
93
+ * @param value
94
+ * @private
95
+ */
96
+ _setTimestamp(value: number): void;
97
+ /**
98
+ * In range selection, the currently focused or hovered year range is considered the "second timestamp".
99
+ * @private
100
+ */
101
+ _updateSecondTimestamp(): void;
102
+ /**
103
+ * User selected range with the mouse or pressed Enter/Space.
104
+ * @param e
105
+ * @private
106
+ */
107
+ _selectYearRange(e: Event): void;
108
+ /**
109
+ * Returns the centered timestamp for the year picker.
110
+ * @private
111
+ */
112
+ _getYearPickerCenteredTimestamp(oldTimestamp: number): number;
113
+ /**
114
+ * Called by the Calendar component.
115
+ * @protected
116
+ */
117
+ _hasPreviousPage(): boolean;
118
+ /**
119
+ * Called by the Calendar component.
120
+ * @protected
121
+ */
122
+ _hasNextPage(): boolean;
123
+ /**
124
+ * Called by the Calendar component.
125
+ * **Note:** when the user presses the "<" button in the calendar header (same as "PageUp")
126
+ * @protected
127
+ */
128
+ _showPreviousPage(): void;
129
+ /**
130
+ * Called by the Calendar component.
131
+ * **Note:** when the user presses the ">" button in the calendar header (same as "PageDown")
132
+ * @protected
133
+ */
134
+ _showNextPage(): void;
135
+ /**
136
+ * Modifies timestamp by a given amount of year ranges and, if necessary, loads the prev/next page.
137
+ * @param amount
138
+ * @private
139
+ */
140
+ _modifyTimestampBy(amount: number): void;
141
+ _modifyGridStartBy(years: number): void;
142
+ }
143
+ export default YearRangePicker;
144
+ export type { YearRangePickerChangeEventDetail, YearRangePickerNavigateEventDetail, };
@@ -0,0 +1,418 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var YearRangePicker_1;
8
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
+ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
11
+ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
12
+ import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
13
+ import { isEnter, isSpace, isDown, isUp, isLeft, isRight, isHome, isEnd, isHomeCtrl, isEndCtrl, isPageUp, isPageDown, } from "@ui5/webcomponents-base/dist/Keys.js";
14
+ import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
15
+ import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
16
+ import { getMaxCalendarDate } from "@ui5/webcomponents-localization/dist/dates/ExtremeDates.js";
17
+ import CalendarPart from "./CalendarPart.js";
18
+ import { YEAR_RANGE_PICKER_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
19
+ // Template
20
+ import YearRangePickerTemplate from "./YearRangePickerTemplate.js";
21
+ // Styles
22
+ import yearRangePickerStyles from "./generated/themes/YearRangePicker.css.js";
23
+ const isBetweenInclusive = (x, num1, num2) => x >= Math.min(num1, num2) && x <= Math.max(num1, num2);
24
+ /**
25
+ * @class
26
+ *
27
+ * Displays year ranges which help navigate through years faster.
28
+ * @constructor
29
+ * @extends CalendarPart
30
+ * @private
31
+ */
32
+ let YearRangePicker = YearRangePicker_1 = class YearRangePicker extends CalendarPart {
33
+ constructor() {
34
+ super(...arguments);
35
+ /**
36
+ * An array of UTC timestamps representing the selected date
37
+ * or dates depending on the capabilities of the picker component.
38
+ * @default []
39
+ */
40
+ this.selectedDates = [];
41
+ /**
42
+ * Defines if the YearRangePicker should visualize the selected dates as a range.
43
+ * @default false
44
+ *
45
+ * @private
46
+ */
47
+ this._showRangeSelection = false;
48
+ this._yearRanges = [];
49
+ this._hidden = false;
50
+ }
51
+ get roleDescription() {
52
+ return YearRangePicker_1.i18nBundle.getText(YEAR_RANGE_PICKER_DESCRIPTION);
53
+ }
54
+ onBeforeRendering() {
55
+ if (this._hidden) {
56
+ return;
57
+ }
58
+ this._gridStartYear = this._getGridStartYear();
59
+ this._yearRanges = this._getYearRanges();
60
+ }
61
+ _shouldShowOneColumn() {
62
+ const locale = getLocale();
63
+ const language = locale.getLanguage();
64
+ const longLanguages = ["zh", "ja", "ko", "bg", "mk", "ru"];
65
+ return longLanguages.includes(language) && this.hasSecondaryCalendarType;
66
+ }
67
+ _getPageSize() {
68
+ return this._shouldShowOneColumn() ? 6 : 8;
69
+ }
70
+ _getRowSize() {
71
+ return this._shouldShowOneColumn() ? 1 : 2;
72
+ }
73
+ _getInitialFocusedIndex() {
74
+ return 2;
75
+ }
76
+ _getRangeSize() {
77
+ return this.hasSecondaryCalendarType ? 8 : 20;
78
+ }
79
+ _getYearRangeFormattedText(startDate, endDate, yearFormat) {
80
+ return `${yearFormat.format(startDate.toLocalJSDate())} - ${yearFormat.format(endDate.toLocalJSDate())}`;
81
+ }
82
+ _getGridStartYear() {
83
+ const rangeSize = this._getRangeSize();
84
+ const pageSize = this._getPageSize();
85
+ const pageSizeInYears = rangeSize * pageSize;
86
+ const yearsOffset = rangeSize * this._getInitialFocusedIndex();
87
+ const currentStartYear = this._currentYearRange?.startYear ? this._currentYearRange?.startYear : this._calendarDate.getYear();
88
+ // On first load, current range should be the 3rd item in the grid
89
+ let gridStartYear = this._gridStartYear ? this._gridStartYear : currentStartYear - yearsOffset;
90
+ // If page navigation occured, update the current range start year
91
+ gridStartYear += Math.floor((currentStartYear - gridStartYear) / pageSizeInYears) * pageSizeInYears;
92
+ // Normalize grid start year to be between the min and absolute max year
93
+ const minYear = this._minDate.getYear();
94
+ if (currentStartYear - rangeSize < minYear) {
95
+ gridStartYear = minYear;
96
+ }
97
+ const absoluteMaxYear = getMaxCalendarDate(this._primaryCalendarType).getYear();
98
+ if (currentStartYear + pageSizeInYears > absoluteMaxYear) {
99
+ gridStartYear = absoluteMaxYear - pageSizeInYears + 1;
100
+ }
101
+ return gridStartYear;
102
+ }
103
+ _getYearRanges() {
104
+ const locale = getLocale();
105
+ const yearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this._primaryCalendarType }, locale);
106
+ const yearFormatInSecType = DateFormat.getDateInstance({ format: "y", calendarType: this._secondaryCalendarType }, locale);
107
+ const pageSize = this._getPageSize();
108
+ const rowSize = this._getRowSize();
109
+ const rangeSize = this._getRangeSize();
110
+ const calendarDate = this._calendarDate;
111
+ const minYear = this._minDate.getYear();
112
+ const maxYear = this._maxDate.getYear();
113
+ const tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);
114
+ tempDate.setYear(this._gridStartYear);
115
+ const yearRanges = [];
116
+ for (let i = 0; i < pageSize; i++) {
117
+ const endDate = new CalendarDate(tempDate, this._primaryCalendarType);
118
+ endDate.setYear(endDate.getYear() + rangeSize - 1);
119
+ const timestamp = tempDate.valueOf() / 1000;
120
+ const endTimestamp = endDate.valueOf() / 1000;
121
+ const isFocused = isBetweenInclusive(calendarDate.getYear(), tempDate.getYear(), endDate.getYear());
122
+ const isSelected = this._isYearRangeSelected(timestamp, endTimestamp);
123
+ const isSelectedBetween = this._isInsideSelectionRange(timestamp);
124
+ const yearRangeText = this._getYearRangeFormattedText(tempDate, endDate, yearFormat);
125
+ const secYearRangeText = this.hasSecondaryCalendarType ? this._getYearRangeFormattedText(tempDate, endDate, yearFormatInSecType) : undefined;
126
+ const isDisabled = !(isBetweenInclusive(tempDate.getYear(), minYear, maxYear)
127
+ || isBetweenInclusive(endDate.getYear(), minYear, maxYear));
128
+ const yearRange = this._getYearRange(timestamp, isFocused, isSelected, isSelectedBetween, yearRangeText, secYearRangeText, isDisabled);
129
+ const intervalIndex = Math.floor(i / rowSize);
130
+ if (yearRanges[intervalIndex]) {
131
+ yearRanges[intervalIndex].push(yearRange);
132
+ }
133
+ else {
134
+ yearRanges[intervalIndex] = [yearRange];
135
+ }
136
+ tempDate.setYear(tempDate.getYear() + rangeSize);
137
+ }
138
+ return yearRanges;
139
+ }
140
+ _getYearRange(timestamp, isFocused, isSelected, isSelectedBetween, yearRangeText, secYearRangeText, isDisabled) {
141
+ const yearRange = {
142
+ timestamp: timestamp.toString(),
143
+ _tabIndex: isFocused ? 0 : -1,
144
+ focusRef: isFocused,
145
+ selected: isSelected || isSelectedBetween,
146
+ ariaSelected: isSelected || isSelectedBetween,
147
+ range: yearRangeText,
148
+ rangeInSecType: secYearRangeText,
149
+ disabled: isDisabled,
150
+ ariaDisabled: isDisabled,
151
+ classes: "ui5-yrp-item",
152
+ parts: "year-range-cell",
153
+ };
154
+ if (isSelected) {
155
+ yearRange.classes += " ui5-yrp-item--selected";
156
+ yearRange.parts += " year-range-cell-selected";
157
+ }
158
+ if (isSelectedBetween && !isSelected) {
159
+ yearRange.classes += " ui5-yrp-item--selected-between";
160
+ yearRange.parts += " year-range-cell-selected-between";
161
+ }
162
+ if (isDisabled) {
163
+ yearRange.classes += " ui5-yrp-item--disabled";
164
+ }
165
+ if (this.hasSecondaryCalendarType) {
166
+ yearRange.classes += " ui5-yrp-item-secondary-type";
167
+ }
168
+ if (this._shouldShowOneColumn()) {
169
+ yearRange.classes += " ui5-yrp-item-one-column-view";
170
+ }
171
+ return yearRange;
172
+ }
173
+ _isYearRangeSelected(startYear, endYear) {
174
+ return this.selectedDates.some(itemTimestamp => {
175
+ return isBetweenInclusive(itemTimestamp, startYear, endYear);
176
+ });
177
+ }
178
+ /**
179
+ * Returns true if the timestamp is inside the selection range.
180
+ * @private
181
+ */
182
+ _isInsideSelectionRange(timestamp) {
183
+ if (!this._showRangeSelection || !this.selectedDates.length) {
184
+ return false;
185
+ }
186
+ if (this.selectedDates.length === 1 && this._secondTimestamp) {
187
+ return isBetweenInclusive(timestamp, this.selectedDates[0], this._secondTimestamp);
188
+ }
189
+ return isBetweenInclusive(timestamp, this.selectedDates[0], this.selectedDates[1]);
190
+ }
191
+ onAfterRendering() {
192
+ if (!this._hidden) {
193
+ this.focus();
194
+ }
195
+ }
196
+ _onkeydown(e) {
197
+ let preventDefault = true;
198
+ const pageSize = this._getPageSize();
199
+ const rowSize = this._getRowSize();
200
+ if (isEnter(e)) {
201
+ this._selectYearRange(e);
202
+ }
203
+ else if (isSpace(e)) {
204
+ e.preventDefault();
205
+ }
206
+ else if (isLeft(e)) {
207
+ this._modifyTimestampBy(-1);
208
+ }
209
+ else if (isRight(e)) {
210
+ this._modifyTimestampBy(1);
211
+ }
212
+ else if (isUp(e)) {
213
+ this._modifyTimestampBy(-rowSize);
214
+ }
215
+ else if (isDown(e)) {
216
+ this._modifyTimestampBy(rowSize);
217
+ }
218
+ else if (isPageUp(e)) {
219
+ this._modifyTimestampBy(-pageSize);
220
+ }
221
+ else if (isPageDown(e)) {
222
+ this._modifyTimestampBy(pageSize);
223
+ }
224
+ else if (isHome(e) || isEnd(e)) {
225
+ this._onHomeOrEnd(isHome(e));
226
+ }
227
+ else if (isHomeCtrl(e)) {
228
+ this._setTimestamp(parseInt(this._yearRanges[0][0].timestamp)); // first year range of first row
229
+ }
230
+ else if (isEndCtrl(e)) {
231
+ this._setTimestamp(parseInt(this._yearRanges[pageSize / rowSize - 1][rowSize - 1].timestamp)); // last year range of last row
232
+ }
233
+ else {
234
+ preventDefault = false;
235
+ }
236
+ if (preventDefault) {
237
+ e.preventDefault();
238
+ }
239
+ }
240
+ _onkeyup(e) {
241
+ if (isSpace(e)) {
242
+ this._selectYearRange(e);
243
+ }
244
+ }
245
+ _onHomeOrEnd(homePressed) {
246
+ this._yearRanges.forEach(row => {
247
+ const indexInRow = row.findIndex(item => {
248
+ const startYear = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getYear();
249
+ const currentYear = this._calendarDate.getYear();
250
+ return isBetweenInclusive(startYear, currentYear, currentYear + this._getRangeSize() - 1);
251
+ });
252
+ if (indexInRow !== -1) { // The current year is on this row
253
+ const index = homePressed ? 0 : this._getRowSize() - 1; // select the first (if Home) or last (if End) year on the row
254
+ this._setTimestamp(parseInt(row[index].timestamp));
255
+ }
256
+ });
257
+ }
258
+ /**
259
+ * Set the hovered day as the "_secondTimestamp".
260
+ *
261
+ * @param e
262
+ * @private
263
+ */
264
+ _onmouseover(e) {
265
+ const target = e.target;
266
+ const hoveredItem = target.closest(".ui5-yrp-item");
267
+ if (hoveredItem && this._showRangeSelection && this.selectedDates.length === 1) {
268
+ this._secondTimestamp = this._getTimestampFromDom(hoveredItem);
269
+ }
270
+ }
271
+ /**
272
+ * Sets the timestamp to an absolute value.
273
+ * @param value
274
+ * @private
275
+ */
276
+ _setTimestamp(value) {
277
+ this._safelySetTimestamp(value);
278
+ this.fireDecoratorEvent("navigate", { timestamp: this.timestamp });
279
+ }
280
+ /**
281
+ * In range selection, the currently focused or hovered year range is considered the "second timestamp".
282
+ * @private
283
+ */
284
+ _updateSecondTimestamp() {
285
+ if (this._showRangeSelection && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {
286
+ this._secondTimestamp = this.timestamp;
287
+ }
288
+ }
289
+ /**
290
+ * User selected range with the mouse or pressed Enter/Space.
291
+ * @param e
292
+ * @private
293
+ */
294
+ _selectYearRange(e) {
295
+ e.preventDefault();
296
+ const target = e.target;
297
+ if (target.className.indexOf("ui5-yrp-item") === -1) {
298
+ return;
299
+ }
300
+ let timestamp = this._getTimestampFromDom(target);
301
+ timestamp = this._getYearPickerCenteredTimestamp(timestamp);
302
+ this._safelySetTimestamp(timestamp);
303
+ this.fireDecoratorEvent("change", {
304
+ timestamp: this.timestamp,
305
+ });
306
+ }
307
+ /**
308
+ * Returns the centered timestamp for the year picker.
309
+ * @private
310
+ */
311
+ _getYearPickerCenteredTimestamp(oldTimestamp) {
312
+ const yearsOffset = this.hasSecondaryCalendarType ? 2 : 9;
313
+ const selectedDate = CalendarDate.fromTimestamp(oldTimestamp * 1000, this._primaryCalendarType);
314
+ const startYear = selectedDate.getYear();
315
+ const centeredYear = startYear + yearsOffset;
316
+ selectedDate.setYear(centeredYear);
317
+ return selectedDate.valueOf() / 1000;
318
+ }
319
+ /**
320
+ * Called by the Calendar component.
321
+ * @protected
322
+ */
323
+ _hasPreviousPage() {
324
+ return this._gridStartYear > this._minDate.getYear();
325
+ }
326
+ /**
327
+ * Called by the Calendar component.
328
+ * @protected
329
+ */
330
+ _hasNextPage() {
331
+ const amountInYears = this._getPageSize() * this._getRangeSize();
332
+ return this._gridStartYear + amountInYears - 1 < this._maxDate.getYear();
333
+ }
334
+ /**
335
+ * Called by the Calendar component.
336
+ * **Note:** when the user presses the "<" button in the calendar header (same as "PageUp")
337
+ * @protected
338
+ */
339
+ _showPreviousPage() {
340
+ const pageSize = this._getPageSize();
341
+ this._modifyTimestampBy(-pageSize);
342
+ const amountInYears = pageSize * this._getRangeSize();
343
+ this._modifyGridStartBy(-amountInYears);
344
+ }
345
+ /**
346
+ * Called by the Calendar component.
347
+ * **Note:** when the user presses the ">" button in the calendar header (same as "PageDown")
348
+ * @protected
349
+ */
350
+ _showNextPage() {
351
+ const pageSize = this._getPageSize();
352
+ this._modifyTimestampBy(pageSize);
353
+ const amountInYears = pageSize * this._getRangeSize();
354
+ this._modifyGridStartBy(amountInYears);
355
+ }
356
+ /**
357
+ * Modifies timestamp by a given amount of year ranges and, if necessary, loads the prev/next page.
358
+ * @param amount
359
+ * @private
360
+ */
361
+ _modifyTimestampBy(amount) {
362
+ // Modify the current timestamp
363
+ const amountInYears = amount * this._getRangeSize();
364
+ this._safelyModifyTimestampBy(amountInYears, "year");
365
+ // Notify the calendar to update its timestamp
366
+ this.fireDecoratorEvent("navigate", { timestamp: this.timestamp });
367
+ }
368
+ _modifyGridStartBy(years) {
369
+ this._gridStartYear += years;
370
+ }
371
+ };
372
+ __decorate([
373
+ property({ type: Array })
374
+ ], YearRangePicker.prototype, "selectedDates", void 0);
375
+ __decorate([
376
+ property({ type: Boolean, noAttribute: true })
377
+ ], YearRangePicker.prototype, "_showRangeSelection", void 0);
378
+ __decorate([
379
+ property({ type: Number })
380
+ ], YearRangePicker.prototype, "_secondTimestamp", void 0);
381
+ __decorate([
382
+ property({ type: Array })
383
+ ], YearRangePicker.prototype, "_yearRanges", void 0);
384
+ __decorate([
385
+ property({ type: Boolean, noAttribute: true })
386
+ ], YearRangePicker.prototype, "_hidden", void 0);
387
+ __decorate([
388
+ property({ noAttribute: true })
389
+ ], YearRangePicker.prototype, "_currentYearRange", void 0);
390
+ __decorate([
391
+ i18n("@ui5/webcomponents")
392
+ ], YearRangePicker, "i18nBundle", void 0);
393
+ YearRangePicker = YearRangePicker_1 = __decorate([
394
+ customElement({
395
+ tag: "ui5-yearrangepicker",
396
+ styles: [
397
+ yearRangePickerStyles,
398
+ ],
399
+ template: YearRangePickerTemplate,
400
+ })
401
+ /**
402
+ * Fired when the user selects a year range via "Space", "Enter" or click.
403
+ */
404
+ ,
405
+ event("change", {
406
+ bubbles: true,
407
+ })
408
+ /**
409
+ * Fired when the timestamp changes - the user navigates with the keyboard or clicks with the mouse.
410
+ */
411
+ ,
412
+ event("navigate", {
413
+ bubbles: true,
414
+ })
415
+ ], YearRangePicker);
416
+ YearRangePicker.define();
417
+ export default YearRangePicker;
418
+ //# sourceMappingURL=YearRangePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YearRangePicker.js","sourceRoot":"","sources":["../src/YearRangePicker.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type LocaleT from \"sap/ui/core/Locale\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport {\n\tisEnter,\n\tisSpace,\n\tisDown,\n\tisUp,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisPageUp,\n\tisPageDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { getMaxCalendarDate } from \"@ui5/webcomponents-localization/dist/dates/ExtremeDates.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker, CalendarYearRangeT } from \"./Calendar.js\";\nimport { YEAR_RANGE_PICKER_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport YearRangePickerTemplate from \"./YearRangePickerTemplate.js\";\n\n// Styles\nimport yearRangePickerStyles from \"./generated/themes/YearRangePicker.css.js\";\n\nconst isBetweenInclusive = (x: number, num1: number, num2: number) => x >= Math.min(num1, num2) && x <= Math.max(num1, num2);\n\ntype YearRange = {\n\ttimestamp: string;\n\t_tabIndex: number;\n\tfocusRef: boolean;\n\tselected: boolean;\n\tariaSelected: boolean;\n\trange: string;\n\trangeInSecType: string | undefined;\n\tdisabled: boolean;\n\tariaDisabled: boolean | undefined;\n\tclasses: string;\n\tparts: string;\n}\n\ntype YearRanges = Array<Array<YearRange>>;\n\ntype YearRangePickerChangeEventDetail = {\n\ttimestamp: number,\n}\n\ntype YearRangePickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * @class\n *\n * Displays year ranges which help navigate through years faster.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-yearrangepicker\",\n\tstyles: [\n\t\tyearRangePickerStyles,\n\t],\n\ttemplate: YearRangePickerTemplate,\n})\n\n/**\n * Fired when the user selects a year range via \"Space\", \"Enter\" or click.\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n/**\n * Fired when the timestamp changes - the user navigates with the keyboard or clicks with the mouse.\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\nclass YearRangePicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\t\"change\": YearRangePickerChangeEventDetail,\n\t\t\"navigate\": YearRangePickerNavigateEventDetail,\n\t}\n\n\t/**\n\t * An array of UTC timestamps representing the selected date\n\t * or dates depending on the capabilities of the picker component.\n\t * @default []\n\t */\n\t@property({ type: Array })\n\tselectedDates: Array<number> = [];\n\n\t/**\n\t * Defines if the YearRangePicker should visualize the selected dates as a range.\n\t * @default false\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_showRangeSelection = false;\n\n\t/**\n\t * When _showRangeSelection is \"true\" and the first year in the range is selected, this is the currently hovered or focused year range.\n\t *\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_secondTimestamp?: number;\n\n\t@property({ type: Array })\n\t_yearRanges: YearRanges = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\n\n\t@property({ noAttribute: true })\n\t_currentYearRange?: CalendarYearRangeT;\n\n\t_gridStartYear?: number;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget roleDescription() {\n\t\treturn YearRangePicker.i18nBundle.getText(YEAR_RANGE_PICKER_DESCRIPTION);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._hidden) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._gridStartYear = this._getGridStartYear();\n\t\tthis._yearRanges = this._getYearRanges();\n\t}\n\n\t_shouldShowOneColumn() {\n\t\tconst locale = getLocale() as unknown as LocaleT;\n\t\tconst language = locale.getLanguage();\n\t\tconst longLanguages = [\"zh\", \"ja\", \"ko\", \"bg\", \"mk\", \"ru\"];\n\n\t\treturn longLanguages.includes(language) && this.hasSecondaryCalendarType;\n\t}\n\n\t_getPageSize() {\n\t\treturn this._shouldShowOneColumn() ? 6 : 8;\n\t}\n\n\t_getRowSize() {\n\t\treturn this._shouldShowOneColumn() ? 1 : 2;\n\t}\n\n\t_getInitialFocusedIndex() {\n\t\treturn 2;\n\t}\n\n\t_getRangeSize() {\n\t\treturn this.hasSecondaryCalendarType ? 8 : 20;\n\t}\n\n\t_getYearRangeFormattedText(startDate: CalendarDate, endDate: CalendarDate, yearFormat: DateFormat): string {\n\t\treturn `${yearFormat.format(startDate.toLocalJSDate())} - ${yearFormat.format(endDate.toLocalJSDate())}`;\n\t}\n\n\t_getGridStartYear() {\n\t\tconst rangeSize = this._getRangeSize();\n\t\tconst pageSize = this._getPageSize();\n\t\tconst pageSizeInYears = rangeSize * pageSize;\n\t\tconst yearsOffset = rangeSize * this._getInitialFocusedIndex();\n\t\tconst currentStartYear = this._currentYearRange?.startYear ? this._currentYearRange?.startYear : this._calendarDate.getYear();\n\n\t\t// On first load, current range should be the 3rd item in the grid\n\t\tlet gridStartYear = this._gridStartYear ? this._gridStartYear : currentStartYear - yearsOffset;\n\n\t\t// If page navigation occured, update the current range start year\n\t\tgridStartYear += Math.floor((currentStartYear - gridStartYear) / pageSizeInYears) * pageSizeInYears;\n\n\t\t// Normalize grid start year to be between the min and absolute max year\n\t\tconst minYear = this._minDate.getYear();\n\t\tif (currentStartYear - rangeSize < minYear) {\n\t\t\tgridStartYear = minYear;\n\t\t}\n\n\t\tconst absoluteMaxYear = getMaxCalendarDate(this._primaryCalendarType).getYear();\n\t\tif (currentStartYear + pageSizeInYears > absoluteMaxYear) {\n\t\t\tgridStartYear = absoluteMaxYear - pageSizeInYears + 1;\n\t\t}\n\n\t\treturn gridStartYear;\n\t}\n\n\t_getYearRanges() {\n\t\tconst locale = getLocale() as unknown as LocaleT;\n\t\tconst yearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._primaryCalendarType }, locale);\n\t\tconst yearFormatInSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType }, locale);\n\n\t\tconst pageSize = this._getPageSize();\n\t\tconst rowSize = this._getRowSize();\n\t\tconst rangeSize = this._getRangeSize();\n\n\t\tconst calendarDate = this._calendarDate;\n\t\tconst minYear = this._minDate.getYear();\n\t\tconst maxYear = this._maxDate.getYear();\n\n\t\tconst tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);\n\t\ttempDate.setYear(this._gridStartYear!);\n\n\t\tconst yearRanges: YearRanges = [];\n\n\t\tfor (let i = 0; i < pageSize; i++) {\n\t\t\tconst endDate = new CalendarDate(tempDate, this._primaryCalendarType);\n\t\t\tendDate.setYear(endDate.getYear() + rangeSize - 1);\n\n\t\t\tconst timestamp = tempDate.valueOf() / 1000;\n\t\t\tconst endTimestamp = endDate.valueOf() / 1000;\n\n\t\t\tconst isFocused = isBetweenInclusive(calendarDate.getYear(), tempDate.getYear(), endDate.getYear());\n\n\t\t\tconst isSelected = this._isYearRangeSelected(timestamp, endTimestamp);\n\t\t\tconst isSelectedBetween = this._isInsideSelectionRange(timestamp);\n\n\t\t\tconst yearRangeText = this._getYearRangeFormattedText(tempDate, endDate, yearFormat);\n\t\t\tconst secYearRangeText = this.hasSecondaryCalendarType ? this._getYearRangeFormattedText(tempDate, endDate, yearFormatInSecType) : undefined;\n\n\t\t\tconst isDisabled = !(isBetweenInclusive(tempDate.getYear(), minYear, maxYear)\n\t\t\t\t\t\t\t\t|| isBetweenInclusive(endDate.getYear(), minYear, maxYear));\n\n\t\t\tconst yearRange = this._getYearRange(timestamp, isFocused, isSelected, isSelectedBetween, yearRangeText, secYearRangeText, isDisabled);\n\n\t\t\tconst intervalIndex = Math.floor(i / rowSize);\n\n\t\t\tif (yearRanges[intervalIndex]) {\n\t\t\t\tyearRanges[intervalIndex].push(yearRange);\n\t\t\t} else {\n\t\t\t\tyearRanges[intervalIndex] = [yearRange];\n\t\t\t}\n\n\t\t\ttempDate.setYear(tempDate.getYear() + rangeSize);\n\t\t}\n\n\t\treturn yearRanges;\n\t}\n\n\t_getYearRange(timestamp: number, isFocused: boolean, isSelected: boolean, isSelectedBetween: boolean, yearRangeText: string, secYearRangeText: string | undefined, isDisabled: boolean) {\n\t\tconst yearRange: YearRange = {\n\t\t\ttimestamp: timestamp.toString(),\n\t\t\t_tabIndex: isFocused ? 0 : -1,\n\t\t\tfocusRef: isFocused,\n\t\t\tselected: isSelected || isSelectedBetween,\n\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\trange: yearRangeText,\n\t\t\trangeInSecType: secYearRangeText,\n\t\t\tdisabled: isDisabled,\n\t\t\tariaDisabled: isDisabled,\n\t\t\tclasses: \"ui5-yrp-item\",\n\t\t\tparts: \"year-range-cell\",\n\t\t};\n\n\t\tif (isSelected) {\n\t\t\tyearRange.classes += \" ui5-yrp-item--selected\";\n\t\t\tyearRange.parts += \" year-range-cell-selected\";\n\t\t}\n\n\t\tif (isSelectedBetween && !isSelected) {\n\t\t\tyearRange.classes += \" ui5-yrp-item--selected-between\";\n\t\t\tyearRange.parts += \" year-range-cell-selected-between\";\n\t\t}\n\n\t\tif (isDisabled) {\n\t\t\tyearRange.classes += \" ui5-yrp-item--disabled\";\n\t\t}\n\n\t\tif (this.hasSecondaryCalendarType) {\n\t\t\tyearRange.classes += \" ui5-yrp-item-secondary-type\";\n\t\t}\n\n\t\tif (this._shouldShowOneColumn()) {\n\t\t\tyearRange.classes += \" ui5-yrp-item-one-column-view\";\n\t\t}\n\n\t\treturn yearRange;\n\t}\n\n\t_isYearRangeSelected(startYear: number, endYear: number) {\n\t\treturn this.selectedDates.some(itemTimestamp => {\n\t\t\treturn isBetweenInclusive(itemTimestamp, startYear, endYear);\n\t\t});\n\t}\n\n\t/**\n\t * Returns true if the timestamp is inside the selection range.\n\t * @private\n\t */\n\t_isInsideSelectionRange(timestamp: number): boolean {\n\t\tif (!this._showRangeSelection || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetweenInclusive(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\treturn isBetweenInclusive(timestamp, this.selectedDates[0], this.selectedDates[1]);\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this._hidden) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\t\tconst pageSize = this._getPageSize();\n\t\tconst rowSize = this._getRowSize();\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectYearRange(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isLeft(e)) {\n\t\t\tthis._modifyTimestampBy(-1);\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-rowSize);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(rowSize);\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-pageSize);\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(pageSize);\n\t\t} else if (isHome(e) || isEnd(e)) {\n\t\t\tthis._onHomeOrEnd(isHome(e));\n\t\t} else if (isHomeCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._yearRanges[0][0].timestamp)); // first year range of first row\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._yearRanges[pageSize / rowSize - 1][rowSize - 1].timestamp)); // last year range of last row\n\t\t} else {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._selectYearRange(e);\n\t\t}\n\t}\n\n\t_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._yearRanges.forEach(row => {\n\t\t\tconst indexInRow = row.findIndex(item => {\n\t\t\t\tconst startYear = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getYear();\n\t\t\t\tconst currentYear = this._calendarDate.getYear();\n\t\t\t\treturn isBetweenInclusive(startYear, currentYear, currentYear + this._getRangeSize() - 1);\n\t\t\t});\n\t\t\tif (indexInRow !== -1) { // The current year is on this row\n\t\t\t\tconst index = homePressed ? 0 : this._getRowSize() - 1; // select the first (if Home) or last (if End) year on the row\n\t\t\t\tthis._setTimestamp(parseInt(row[index].timestamp));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Set the hovered day as the \"_secondTimestamp\".\n\t *\n\t * @param e\n\t * @private\n\t */\n\t_onmouseover(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst hoveredItem = target.closest(\".ui5-yrp-item\") as HTMLElement;\n\t\tif (hoveredItem && this._showRangeSelection && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * In range selection, the currently focused or hovered year range is considered the \"second timestamp\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this._showRangeSelection && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\t/**\n\t * User selected range with the mouse or pressed Enter/Space.\n\t * @param e\n\t * @private\n\t */\n\t_selectYearRange(e: Event) {\n\t\te.preventDefault();\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target.className.indexOf(\"ui5-yrp-item\") === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet timestamp = this._getTimestampFromDom(target);\n\t\ttimestamp = this._getYearPickerCenteredTimestamp(timestamp);\n\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis.fireDecoratorEvent(\"change\", {\n\t\t\ttimestamp: this.timestamp!,\n\t\t});\n\t}\n\n\t/**\n\t * Returns the centered timestamp for the year picker.\n\t * @private\n\t */\n\t_getYearPickerCenteredTimestamp(oldTimestamp: number): number {\n\t\tconst yearsOffset = this.hasSecondaryCalendarType ? 2 : 9;\n\t\tconst selectedDate = CalendarDate.fromTimestamp(oldTimestamp * 1000, this._primaryCalendarType);\n\t\tconst startYear = selectedDate.getYear();\n\t\tconst centeredYear = startYear + yearsOffset;\n\n\t\tselectedDate.setYear(centeredYear);\n\n\t\treturn selectedDate.valueOf() / 1000;\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_hasPreviousPage(): boolean {\n\t\treturn this._gridStartYear! > this._minDate.getYear();\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_hasNextPage(): boolean {\n\t\tconst amountInYears = this._getPageSize() * this._getRangeSize();\n\t\treturn this._gridStartYear! + amountInYears - 1 < this._maxDate.getYear();\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * **Note:** when the user presses the \"<\" button in the calendar header (same as \"PageUp\")\n\t * @protected\n\t */\n\t_showPreviousPage() {\n\t\tconst pageSize = this._getPageSize();\n\t\tthis._modifyTimestampBy(-pageSize);\n\n\t\tconst amountInYears = pageSize * this._getRangeSize();\n\t\tthis._modifyGridStartBy(-amountInYears);\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * **Note:** when the user presses the \">\" button in the calendar header (same as \"PageDown\")\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tconst pageSize = this._getPageSize();\n\t\tthis._modifyTimestampBy(pageSize);\n\n\t\tconst amountInYears = pageSize * this._getRangeSize();\n\t\tthis._modifyGridStartBy(amountInYears);\n\t}\n\n\t/**\n\t * Modifies timestamp by a given amount of year ranges and, if necessary, loads the prev/next page.\n\t * @param amount\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number) {\n\t\t// Modify the current timestamp\n\t\tconst amountInYears = amount * this._getRangeSize();\n\t\tthis._safelyModifyTimestampBy(amountInYears, \"year\");\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t_modifyGridStartBy(years: number) {\n\t\tthis._gridStartYear! += years;\n\t}\n}\n\nYearRangePicker.define();\n\nexport default YearRangePicker;\nexport type {\n\tYearRangePickerChangeEventDetail,\n\tYearRangePickerNavigateEventDetail,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type YearRangePicker from "./YearRangePicker.js";
2
+ export default function YearRangePickerTemplate(this: YearRangePicker): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ export default function YearRangePickerTemplate() {
3
+ return (_jsx("div", { class: "ui5-yrp-root", role: "grid", "aria-roledescription": this.roleDescription, "aria-readonly": "false", "aria-multiselectable": "false", onClick: this._selectYearRange, onMouseOver: this._onmouseover, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, children: this._yearRanges.map(rangeRow => _jsx("div", { role: "row", class: "ui5-yrp-interval-container", children: rangeRow.map(yearRange => _jsxs("div", { "data-sap-timestamp": yearRange.timestamp, tabindex: yearRange._tabIndex, "data-sap-focus-ref": yearRange.focusRef ? "true" : undefined, class: yearRange.classes, part: yearRange.parts, role: "gridcell", "aria-selected": yearRange.ariaSelected, "aria-disabled": yearRange.ariaDisabled, children: [_jsx("span", { class: "ui5-dp-yeartext", children: yearRange.range }), yearRange.rangeInSecType &&
4
+ _jsx("span", { class: "ui5-yrp-item-sec-type", children: yearRange.rangeInSecType })] })) })) }));
5
+ }
6
+ //# sourceMappingURL=YearRangePickerTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YearRangePickerTemplate.js","sourceRoot":"","sources":["../src/YearRangePickerTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,uBAAuB;IAC9C,OAAO,CACN,cACC,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,MAAM,0BACW,IAAI,CAAC,eAAe,mBAC5B,OAAO,0BACA,OAAO,EAC5B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,YAErB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAChC,cAAK,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B,YAChD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,qCACN,SAAS,CAAC,SAAS,EACvC,QAAQ,EAAE,SAAS,CAAC,SAAS,wBACT,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3D,KAAK,EAAE,SAAS,CAAC,OAAO,EACxB,IAAI,EAAE,SAAS,CAAC,KAAK,EACrB,IAAI,EAAC,UAAU,mBACA,SAAS,CAAC,YAAY,mBACtB,SAAS,CAAC,YAAY,aAErC,eAAM,KAAK,EAAC,iBAAiB,YAC3B,SAAS,CAAC,KAAK,GACV,EAEN,SAAS,CAAC,cAAc;wBACxB,eAAM,KAAK,EAAC,uBAAuB,YACjC,SAAS,CAAC,cAAc,GACnB,IAEH,CACL,GACI,CACN,GACI,CAAC,CAAC;AACV,CAAC","sourcesContent":["import type YearRangePicker from \"./YearRangePicker.js\";\n\nexport default function YearRangePickerTemplate(this: YearRangePicker) {\n\treturn (\n\t\t<div\n\t\t\tclass=\"ui5-yrp-root\"\n\t\t\trole=\"grid\"\n\t\t\taria-roledescription={this.roleDescription}\n\t\t\taria-readonly=\"false\"\n\t\t\taria-multiselectable=\"false\"\n\t\t\tonClick={this._selectYearRange}\n\t\t\tonMouseOver={this._onmouseover}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t>\n\t\t\t{this._yearRanges.map(rangeRow =>\n\t\t\t\t<div role=\"row\" class=\"ui5-yrp-interval-container\">\n\t\t\t\t\t{rangeRow.map(yearRange => <div\n\t\t\t\t\t\tdata-sap-timestamp={yearRange.timestamp}\n\t\t\t\t\t\ttabindex={yearRange._tabIndex}\n\t\t\t\t\t\tdata-sap-focus-ref={yearRange.focusRef ? \"true\" : undefined}\n\t\t\t\t\t\tclass={yearRange.classes}\n\t\t\t\t\t\tpart={yearRange.parts}\n\t\t\t\t\t\trole=\"gridcell\"\n\t\t\t\t\t\taria-selected={yearRange.ariaSelected}\n\t\t\t\t\t\taria-disabled={yearRange.ariaDisabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"ui5-dp-yeartext\">\n\t\t\t\t\t\t\t{yearRange.range}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tyearRange.rangeInSecType &&\n\t\t\t\t\t\t\t<span class=\"ui5-yrp-item-sec-type\">\n\t\t\t\t\t\t\t\t{yearRange.rangeInSecType}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>);\n}\n"]}
@@ -45,6 +45,12 @@ import DatePicker from "./DatePicker.js";
45
45
  import DateRangePicker from "./DateRangePicker.js";
46
46
  import DateTimePicker from "./DateTimePicker.js";
47
47
  import Dialog from "./Dialog.js";
48
+ import DynamicDateRange from "./DynamicDateRange.js";
49
+ import Today from "./dynamic-date-range-options/Today.js";
50
+ import Yesterday from "./dynamic-date-range-options/Yesterday.js";
51
+ import Tomorrow from "./dynamic-date-range-options/Tomorrow.js";
52
+ import SingleDate from "./dynamic-date-range-options/SingleDate.js";
53
+ import DateRange from "./dynamic-date-range-options/DateRange.js";
48
54
  import ExpandableText from "./ExpandableText.js";
49
55
  import Form from "./Form.js";
50
56
  import FormItem from "./FormItem.js";