@ui5/webcomponents 2.13.2 → 2.14.0-rc.1

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 (542) hide show
  1. package/CHANGELOG.md +24 -4
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Button.js +2 -1
  4. package/dist/Button.js.map +1 -1
  5. package/dist/DateComponentBase.d.ts +24 -0
  6. package/dist/DateComponentBase.js +80 -1
  7. package/dist/DateComponentBase.js.map +1 -1
  8. package/dist/DatePicker.d.ts +32 -1
  9. package/dist/DatePicker.js +94 -10
  10. package/dist/DatePicker.js.map +1 -1
  11. package/dist/DatePickerInputTemplate.js +1 -1
  12. package/dist/DatePickerInputTemplate.js.map +1 -1
  13. package/dist/DateRangePicker.d.ts +35 -0
  14. package/dist/DateRangePicker.js +119 -9
  15. package/dist/DateRangePicker.js.map +1 -1
  16. package/dist/DateTimePicker.d.ts +10 -0
  17. package/dist/DateTimePicker.js +54 -4
  18. package/dist/DateTimePicker.js.map +1 -1
  19. package/dist/DynamicDateRange.d.ts +24 -9
  20. package/dist/DynamicDateRange.js +83 -22
  21. package/dist/DynamicDateRange.js.map +1 -1
  22. package/dist/DynamicDateRangeInputTemplate.js +1 -3
  23. package/dist/DynamicDateRangeInputTemplate.js.map +1 -1
  24. package/dist/DynamicDateRangePopoverTemplate.js +1 -3
  25. package/dist/DynamicDateRangePopoverTemplate.js.map +1 -1
  26. package/dist/List.d.ts +2 -0
  27. package/dist/List.js +13 -26
  28. package/dist/List.js.map +1 -1
  29. package/dist/ListItemGroup.d.ts +4 -0
  30. package/dist/ListItemGroup.js +20 -53
  31. package/dist/ListItemGroup.js.map +1 -1
  32. package/dist/Select.d.ts +1 -0
  33. package/dist/Select.js +3 -0
  34. package/dist/Select.js.map +1 -1
  35. package/dist/SelectPopoverTemplate.js +1 -1
  36. package/dist/SelectPopoverTemplate.js.map +1 -1
  37. package/dist/SelectTemplate.js +2 -2
  38. package/dist/SelectTemplate.js.map +1 -1
  39. package/dist/Tree.d.ts +7 -0
  40. package/dist/Tree.js +37 -38
  41. package/dist/Tree.js.map +1 -1
  42. package/dist/bundle.esm.js +2 -0
  43. package/dist/bundle.esm.js.map +1 -1
  44. package/dist/css/themes/Avatar.css +1 -1
  45. package/dist/css/themes/AvatarGroup.css +1 -1
  46. package/dist/css/themes/Bar.css +1 -1
  47. package/dist/css/themes/Breadcrumbs.css +1 -1
  48. package/dist/css/themes/BusyIndicator.css +1 -1
  49. package/dist/css/themes/Button.css +1 -1
  50. package/dist/css/themes/ButtonBadge.css +1 -1
  51. package/dist/css/themes/Calendar.css +1 -1
  52. package/dist/css/themes/CalendarHeader.css +1 -1
  53. package/dist/css/themes/CalendarLegend.css +1 -1
  54. package/dist/css/themes/CalendarLegendItem.css +1 -1
  55. package/dist/css/themes/Card.css +1 -1
  56. package/dist/css/themes/CardHeader.css +1 -1
  57. package/dist/css/themes/Carousel.css +1 -1
  58. package/dist/css/themes/CheckBox.css +1 -1
  59. package/dist/css/themes/ColorPalette.css +1 -1
  60. package/dist/css/themes/ColorPaletteItem.css +1 -1
  61. package/dist/css/themes/ColorPalettePopover.css +1 -1
  62. package/dist/css/themes/ColorPicker.css +1 -1
  63. package/dist/css/themes/ComboBox.css +1 -1
  64. package/dist/css/themes/ComboBoxItem.css +1 -1
  65. package/dist/css/themes/DatePicker.css +1 -1
  66. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  67. package/dist/css/themes/DayPicker.css +1 -1
  68. package/dist/css/themes/Dialog.css +1 -1
  69. package/dist/css/themes/DynamicDateRange.css +1 -1
  70. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  71. package/dist/css/themes/FileUploader.css +1 -1
  72. package/dist/css/themes/Form.css +1 -1
  73. package/dist/css/themes/FormItem.css +1 -1
  74. package/dist/css/themes/FormItemSpan.css +1 -1
  75. package/dist/css/themes/GrowingButton.css +1 -1
  76. package/dist/css/themes/Icon.css +1 -1
  77. package/dist/css/themes/Input.css +1 -1
  78. package/dist/css/themes/InputIcon.css +1 -1
  79. package/dist/css/themes/InputSharedStyles.css +1 -1
  80. package/dist/css/themes/Link.css +1 -1
  81. package/dist/css/themes/List.css +1 -1
  82. package/dist/css/themes/ListItem.css +1 -1
  83. package/dist/css/themes/ListItemBase.css +1 -1
  84. package/dist/css/themes/ListItemCustom.css +1 -1
  85. package/dist/css/themes/ListItemGroup.css +1 -1
  86. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  87. package/dist/css/themes/ListItemIcon.css +1 -1
  88. package/dist/css/themes/Menu.css +1 -1
  89. package/dist/css/themes/MenuItem.css +1 -1
  90. package/dist/css/themes/MessageStrip.css +1 -1
  91. package/dist/css/themes/MonthPicker.css +1 -1
  92. package/dist/css/themes/MultiComboBox.css +1 -1
  93. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  94. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  95. package/dist/css/themes/MultiInput.css +1 -1
  96. package/dist/css/themes/OptionBase.css +1 -1
  97. package/dist/css/themes/Panel.css +1 -1
  98. package/dist/css/themes/Popover.css +1 -1
  99. package/dist/css/themes/PopupsCommon.css +1 -1
  100. package/dist/css/themes/ProgressIndicator.css +1 -1
  101. package/dist/css/themes/RadioButton.css +1 -1
  102. package/dist/css/themes/RangeSlider.css +1 -1
  103. package/dist/css/themes/RatingIndicator.css +1 -1
  104. package/dist/css/themes/ResponsivePopover.css +1 -1
  105. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  106. package/dist/css/themes/SegmentedButton.css +1 -1
  107. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  108. package/dist/css/themes/Select.css +1 -1
  109. package/dist/css/themes/SliderBase.css +1 -1
  110. package/dist/css/themes/SplitButton.css +1 -1
  111. package/dist/css/themes/StepInput.css +1 -1
  112. package/dist/css/themes/SuggestionItem.css +1 -1
  113. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  114. package/dist/css/themes/Switch.css +1 -1
  115. package/dist/css/themes/TabContainer.css +1 -1
  116. package/dist/css/themes/TabInOverflow.css +1 -1
  117. package/dist/css/themes/TabInStrip.css +1 -1
  118. package/dist/css/themes/TabSemanticIcon.css +1 -1
  119. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  120. package/dist/css/themes/TableCellBase.css +1 -1
  121. package/dist/css/themes/TableHeaderRow.css +1 -1
  122. package/dist/css/themes/TableRow.css +1 -1
  123. package/dist/css/themes/TableRowActionBase.css +1 -1
  124. package/dist/css/themes/TableRowBase.css +1 -1
  125. package/dist/css/themes/Tag.css +1 -1
  126. package/dist/css/themes/Text.css +1 -1
  127. package/dist/css/themes/TextArea.css +1 -1
  128. package/dist/css/themes/TimePicker.css +1 -1
  129. package/dist/css/themes/Toast.css +1 -1
  130. package/dist/css/themes/ToggleButton.css +1 -1
  131. package/dist/css/themes/Token.css +1 -1
  132. package/dist/css/themes/Tokenizer.css +1 -1
  133. package/dist/css/themes/TokenizerPopover.css +1 -1
  134. package/dist/css/themes/Toolbar.css +1 -1
  135. package/dist/css/themes/ToolbarButton.css +1 -1
  136. package/dist/css/themes/ToolbarPopover.css +1 -1
  137. package/dist/css/themes/ToolbarSeparator.css +1 -1
  138. package/dist/css/themes/TreeItem.css +1 -1
  139. package/dist/css/themes/ValueStateMessage.css +1 -1
  140. package/dist/css/themes/ValueStateVariables.css +1 -1
  141. package/dist/css/themes/YearPicker.css +1 -1
  142. package/dist/css/themes/YearRangePicker.css +1 -1
  143. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  144. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  145. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  146. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  147. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  148. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  149. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  150. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  151. package/dist/custom-elements-internal.json +558 -9
  152. package/dist/custom-elements.json +527 -8
  153. package/dist/delegate/DragAndDropHandler.d.ts +33 -0
  154. package/dist/delegate/DragAndDropHandler.js +96 -0
  155. package/dist/delegate/DragAndDropHandler.js.map +1 -0
  156. package/dist/dynamic-date-range-options/DateRange.d.ts +3 -3
  157. package/dist/dynamic-date-range-options/DateRange.js +18 -8
  158. package/dist/dynamic-date-range-options/DateRange.js.map +1 -1
  159. package/dist/dynamic-date-range-options/DateRangeTemplate.d.ts +1 -1
  160. package/dist/dynamic-date-range-options/DateRangeTemplate.js +1 -1
  161. package/dist/dynamic-date-range-options/DateRangeTemplate.js.map +1 -1
  162. package/dist/dynamic-date-range-options/LastNextTemplate.d.ts +2 -0
  163. package/dist/dynamic-date-range-options/LastNextTemplate.js +32 -0
  164. package/dist/dynamic-date-range-options/LastNextTemplate.js.map +1 -0
  165. package/dist/dynamic-date-range-options/LastNextUtils.d.ts +65 -0
  166. package/dist/dynamic-date-range-options/LastNextUtils.js +123 -0
  167. package/dist/dynamic-date-range-options/LastNextUtils.js.map +1 -0
  168. package/dist/dynamic-date-range-options/LastOptions.d.ts +32 -0
  169. package/dist/dynamic-date-range-options/LastOptions.js +107 -0
  170. package/dist/dynamic-date-range-options/LastOptions.js.map +1 -0
  171. package/dist/dynamic-date-range-options/NextOptions.d.ts +32 -0
  172. package/dist/dynamic-date-range-options/NextOptions.js +107 -0
  173. package/dist/dynamic-date-range-options/NextOptions.js.map +1 -0
  174. package/dist/dynamic-date-range-options/SingleDate.d.ts +1 -1
  175. package/dist/dynamic-date-range-options/SingleDate.js +1 -1
  176. package/dist/dynamic-date-range-options/SingleDate.js.map +1 -1
  177. package/dist/dynamic-date-range-options/Today.d.ts +1 -1
  178. package/dist/dynamic-date-range-options/Today.js.map +1 -1
  179. package/dist/dynamic-date-range-options/Tomorrow.d.ts +1 -1
  180. package/dist/dynamic-date-range-options/Tomorrow.js.map +1 -1
  181. package/dist/dynamic-date-range-options/Yesterday.d.ts +1 -1
  182. package/dist/dynamic-date-range-options/Yesterday.js.map +1 -1
  183. package/dist/dynamic-date-range-options/toDates.d.ts +13 -7
  184. package/dist/dynamic-date-range-options/toDates.js +137 -20
  185. package/dist/dynamic-date-range-options/toDates.js.map +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  187. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  188. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  189. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  190. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  191. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  192. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  193. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  194. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  195. package/dist/generated/i18n/i18n-defaults.d.ts +21 -1
  196. package/dist/generated/i18n/i18n-defaults.js +21 -1
  197. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  198. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  199. package/dist/generated/themes/Avatar.css.js +1 -1
  200. package/dist/generated/themes/Avatar.css.js.map +1 -1
  201. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  202. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  203. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  204. package/dist/generated/themes/Bar.css.d.ts +1 -1
  205. package/dist/generated/themes/Bar.css.js +1 -1
  206. package/dist/generated/themes/Bar.css.js.map +1 -1
  207. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  208. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  209. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  210. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  211. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  212. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  213. package/dist/generated/themes/Button.css.d.ts +1 -1
  214. package/dist/generated/themes/Button.css.js +1 -1
  215. package/dist/generated/themes/Button.css.js.map +1 -1
  216. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  217. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  218. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  219. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  220. package/dist/generated/themes/Calendar.css.js +1 -1
  221. package/dist/generated/themes/Calendar.css.js.map +1 -1
  222. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  223. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  224. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  225. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  226. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  227. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  228. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  229. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  230. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  231. package/dist/generated/themes/Card.css.d.ts +1 -1
  232. package/dist/generated/themes/Card.css.js +1 -1
  233. package/dist/generated/themes/Card.css.js.map +1 -1
  234. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  235. package/dist/generated/themes/CardHeader.css.js +1 -1
  236. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  237. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  238. package/dist/generated/themes/Carousel.css.js +1 -1
  239. package/dist/generated/themes/Carousel.css.js.map +1 -1
  240. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  241. package/dist/generated/themes/CheckBox.css.js +1 -1
  242. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  243. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  244. package/dist/generated/themes/ColorPalette.css.js +1 -1
  245. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  246. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  247. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  248. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  249. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  250. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  251. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  252. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  253. package/dist/generated/themes/ColorPicker.css.js +1 -1
  254. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  255. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  256. package/dist/generated/themes/ComboBox.css.js +1 -1
  257. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  258. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  259. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  260. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  261. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  262. package/dist/generated/themes/DatePicker.css.js +1 -1
  263. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  264. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  265. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  266. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  267. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  268. package/dist/generated/themes/DayPicker.css.js +1 -1
  269. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  270. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  271. package/dist/generated/themes/Dialog.css.js +1 -1
  272. package/dist/generated/themes/Dialog.css.js.map +1 -1
  273. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  274. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  275. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  276. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  277. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  278. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  279. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  280. package/dist/generated/themes/FileUploader.css.js +1 -1
  281. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  282. package/dist/generated/themes/Form.css.d.ts +1 -1
  283. package/dist/generated/themes/Form.css.js +1 -1
  284. package/dist/generated/themes/Form.css.js.map +1 -1
  285. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  286. package/dist/generated/themes/FormItem.css.js +1 -1
  287. package/dist/generated/themes/FormItem.css.js.map +1 -1
  288. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  289. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  290. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  291. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  292. package/dist/generated/themes/GrowingButton.css.js +1 -1
  293. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  294. package/dist/generated/themes/Icon.css.d.ts +1 -1
  295. package/dist/generated/themes/Icon.css.js +1 -1
  296. package/dist/generated/themes/Icon.css.js.map +1 -1
  297. package/dist/generated/themes/Input.css.d.ts +1 -1
  298. package/dist/generated/themes/Input.css.js +1 -1
  299. package/dist/generated/themes/Input.css.js.map +1 -1
  300. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  301. package/dist/generated/themes/InputIcon.css.js +1 -1
  302. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  303. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  304. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  305. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  306. package/dist/generated/themes/Link.css.d.ts +1 -1
  307. package/dist/generated/themes/Link.css.js +1 -1
  308. package/dist/generated/themes/Link.css.js.map +1 -1
  309. package/dist/generated/themes/List.css.d.ts +1 -1
  310. package/dist/generated/themes/List.css.js +1 -1
  311. package/dist/generated/themes/List.css.js.map +1 -1
  312. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  313. package/dist/generated/themes/ListItem.css.js +1 -1
  314. package/dist/generated/themes/ListItem.css.js.map +1 -1
  315. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  316. package/dist/generated/themes/ListItemBase.css.js +1 -1
  317. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  318. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  319. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  320. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  321. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  322. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  323. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  324. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  325. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  326. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  327. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  328. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  329. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  330. package/dist/generated/themes/Menu.css.d.ts +1 -1
  331. package/dist/generated/themes/Menu.css.js +1 -1
  332. package/dist/generated/themes/Menu.css.js.map +1 -1
  333. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  334. package/dist/generated/themes/MenuItem.css.js +1 -1
  335. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  336. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  337. package/dist/generated/themes/MessageStrip.css.js +1 -1
  338. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  339. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  340. package/dist/generated/themes/MonthPicker.css.js +1 -1
  341. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  342. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  343. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  344. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  345. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  346. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  347. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  348. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  349. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  350. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  351. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  352. package/dist/generated/themes/MultiInput.css.js +1 -1
  353. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  354. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  355. package/dist/generated/themes/OptionBase.css.js +1 -1
  356. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  357. package/dist/generated/themes/Panel.css.d.ts +1 -1
  358. package/dist/generated/themes/Panel.css.js +1 -1
  359. package/dist/generated/themes/Panel.css.js.map +1 -1
  360. package/dist/generated/themes/Popover.css.d.ts +1 -1
  361. package/dist/generated/themes/Popover.css.js +1 -1
  362. package/dist/generated/themes/Popover.css.js.map +1 -1
  363. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  364. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  365. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  366. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  367. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  368. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  369. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  370. package/dist/generated/themes/RadioButton.css.js +1 -1
  371. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  372. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  373. package/dist/generated/themes/RangeSlider.css.js +1 -1
  374. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  375. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  376. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  377. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  378. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  379. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  380. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  381. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  382. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  383. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  384. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  385. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  386. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  387. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  388. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  389. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  390. package/dist/generated/themes/Select.css.d.ts +1 -1
  391. package/dist/generated/themes/Select.css.js +1 -1
  392. package/dist/generated/themes/Select.css.js.map +1 -1
  393. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  394. package/dist/generated/themes/SliderBase.css.js +1 -1
  395. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  396. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  397. package/dist/generated/themes/SplitButton.css.js +1 -1
  398. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  399. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  400. package/dist/generated/themes/StepInput.css.js +1 -1
  401. package/dist/generated/themes/StepInput.css.js.map +1 -1
  402. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  403. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  404. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  405. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  406. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  407. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  408. package/dist/generated/themes/Switch.css.d.ts +1 -1
  409. package/dist/generated/themes/Switch.css.js +1 -1
  410. package/dist/generated/themes/Switch.css.js.map +1 -1
  411. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  412. package/dist/generated/themes/TabContainer.css.js +1 -1
  413. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  414. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  415. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  416. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  417. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  418. package/dist/generated/themes/TabInStrip.css.js +1 -1
  419. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  420. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  421. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  422. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  423. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  424. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  425. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  426. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  427. package/dist/generated/themes/TableCellBase.css.js +1 -1
  428. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  429. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  430. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  431. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  432. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  433. package/dist/generated/themes/TableRow.css.js +1 -1
  434. package/dist/generated/themes/TableRow.css.js.map +1 -1
  435. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  436. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  437. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  438. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  439. package/dist/generated/themes/TableRowBase.css.js +1 -1
  440. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  441. package/dist/generated/themes/Tag.css.d.ts +1 -1
  442. package/dist/generated/themes/Tag.css.js +1 -1
  443. package/dist/generated/themes/Tag.css.js.map +1 -1
  444. package/dist/generated/themes/Text.css.d.ts +1 -1
  445. package/dist/generated/themes/Text.css.js +1 -1
  446. package/dist/generated/themes/Text.css.js.map +1 -1
  447. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  448. package/dist/generated/themes/TextArea.css.js +1 -1
  449. package/dist/generated/themes/TextArea.css.js.map +1 -1
  450. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  451. package/dist/generated/themes/TimePicker.css.js +1 -1
  452. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  453. package/dist/generated/themes/Toast.css.d.ts +1 -1
  454. package/dist/generated/themes/Toast.css.js +1 -1
  455. package/dist/generated/themes/Toast.css.js.map +1 -1
  456. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  457. package/dist/generated/themes/ToggleButton.css.js +1 -1
  458. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  459. package/dist/generated/themes/Token.css.d.ts +1 -1
  460. package/dist/generated/themes/Token.css.js +1 -1
  461. package/dist/generated/themes/Token.css.js.map +1 -1
  462. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  463. package/dist/generated/themes/Tokenizer.css.js +1 -1
  464. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  465. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  466. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  467. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  468. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  469. package/dist/generated/themes/Toolbar.css.js +1 -1
  470. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  471. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  472. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  473. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  474. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  475. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  476. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  477. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  478. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  479. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  480. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  481. package/dist/generated/themes/TreeItem.css.js +1 -1
  482. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  483. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  484. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  485. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  486. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  487. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  488. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  489. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  490. package/dist/generated/themes/YearPicker.css.js +1 -1
  491. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  492. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  493. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  494. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  495. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  496. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  497. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  498. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  499. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  500. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  501. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  502. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  503. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  504. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  505. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  506. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  507. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  508. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  509. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  510. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  511. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  512. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  513. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  514. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  515. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  516. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  517. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  518. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  519. package/dist/types/AvatarColorScheme.d.ts +5 -1
  520. package/dist/types/AvatarColorScheme.js +4 -0
  521. package/dist/types/AvatarColorScheme.js.map +1 -1
  522. package/dist/vscode.html-custom-data.json +70 -9
  523. package/dist/web-types.json +95 -15
  524. package/package.json +9 -9
  525. package/src/DatePickerInputTemplate.tsx +1 -1
  526. package/src/DynamicDateRangeInputTemplate.tsx +1 -6
  527. package/src/DynamicDateRangePopoverTemplate.tsx +7 -5
  528. package/src/SelectPopoverTemplate.tsx +1 -0
  529. package/src/SelectTemplate.tsx +7 -5
  530. package/src/dynamic-date-range-options/DateRangeTemplate.tsx +1 -1
  531. package/src/dynamic-date-range-options/LastNextTemplate.tsx +71 -0
  532. package/src/i18n/messagebundle.properties +60 -0
  533. package/src/i18n/messagebundle_en_US_sappsd.properties +7 -0
  534. package/src/themes/Avatar.css +6 -0
  535. package/src/themes/DayPicker.css +6 -1
  536. package/src/themes/DynamicDateRange.css +4 -0
  537. package/src/themes/DynamicDateRangePopover.css +85 -38
  538. package/src/themes/ListItem.css +1 -2
  539. package/src/themes/MonthPicker.css +1 -1
  540. package/src/themes/YearPicker.css +1 -1
  541. package/src/themes/YearRangePicker.css +1 -1
  542. package/src/themes/base/sizes-parameters.css +6 -0
@@ -0,0 +1,107 @@
1
+ import LastNextTemplate from "./LastNextTemplate.js";
2
+ import { handleSelectionChangeLastNext, isValidStringLastNext, parseLastNext, formatLastNextValue, } from "./LastNextUtils.js";
3
+ import { toDatesLastNext } from "./toDates.js";
4
+ import DynamicDateRange from "../DynamicDateRange.js";
5
+ import { DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT, DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT, DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT, DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT, DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT, DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT, DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT, DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT, DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT, DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT, DYNAMIC_DATE_RANGE_LAST_COMBINED_TEXT, DYNAMIC_DATE_RANGE_INCLUDED_TEXT, } from "../generated/i18n/i18n-defaults.js";
6
+ /**
7
+ * @class
8
+ * @constructor
9
+ * @public
10
+ * @since 2.14.0
11
+ */
12
+ class LastOptions {
13
+ constructor(operators) {
14
+ this.template = LastNextTemplate;
15
+ this.options = [];
16
+ this.options = operators;
17
+ this._operator = this.options?.[0] || "LASTDAYS";
18
+ this.i18nKey = this._getI18nKeyForOperator(this._operator);
19
+ }
20
+ _getI18nKeyForOperator(operator) {
21
+ switch (operator) {
22
+ case "LASTDAYS":
23
+ return DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT;
24
+ case "LASTWEEKS":
25
+ return DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT;
26
+ case "LASTMONTHS":
27
+ return DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT;
28
+ case "LASTQUARTERS":
29
+ return DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT;
30
+ case "LASTYEARS":
31
+ return DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT;
32
+ default:
33
+ return DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT;
34
+ }
35
+ }
36
+ parse(value) {
37
+ const matchingOption = this.availableOptions.find(optionInfo => {
38
+ const tempOption = { operator: optionInfo.operator, text: optionInfo.text };
39
+ return isValidStringLastNext(value, tempOption);
40
+ });
41
+ if (matchingOption) {
42
+ const tempOption = { operator: matchingOption.operator, text: matchingOption.text };
43
+ return parseLastNext(value, tempOption);
44
+ }
45
+ return undefined;
46
+ }
47
+ format(value) {
48
+ return formatLastNextValue(value, this);
49
+ }
50
+ toDates(value) {
51
+ return toDatesLastNext(value, { operator: value.operator });
52
+ }
53
+ isValidString(value) {
54
+ return this.availableOptions.some(optionInfo => {
55
+ const tempOption = { operator: optionInfo.operator, text: optionInfo.text };
56
+ return isValidStringLastNext(value, tempOption);
57
+ });
58
+ }
59
+ handleSelectionChange(e) {
60
+ return handleSelectionChangeLastNext(e, this);
61
+ }
62
+ get text() {
63
+ if (this.options?.length && this.options.length > 1) {
64
+ const units = this.availableOptions
65
+ .filter(info => this.options?.includes(info.operator))
66
+ .map(info => info.unitText);
67
+ const unitsText = units.join(` / `);
68
+ return DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_LAST_COMBINED_TEXT, unitsText);
69
+ }
70
+ const baseText = DynamicDateRange.i18nBundle.getText(this.i18nKey);
71
+ const includedText = DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_INCLUDED_TEXT);
72
+ return `${baseText} ${includedText}`;
73
+ }
74
+ get icon() {
75
+ return "";
76
+ }
77
+ // Simple getter that provides all available Last options based on current component options
78
+ get availableOptions() {
79
+ const allOptions = [
80
+ { operator: "LASTDAYS", i18nKey: DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT },
81
+ { operator: "LASTWEEKS", i18nKey: DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT },
82
+ { operator: "LASTMONTHS", i18nKey: DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT },
83
+ { operator: "LASTQUARTERS", i18nKey: DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT },
84
+ { operator: "LASTYEARS", i18nKey: DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT },
85
+ ];
86
+ return allOptions.map(info => ({
87
+ operator: info.operator,
88
+ unitText: DynamicDateRange.i18nBundle.getText(info.unitI18nKey),
89
+ text: DynamicDateRange.i18nBundle.getText(info.i18nKey),
90
+ }));
91
+ }
92
+ get operator() {
93
+ return this._operator;
94
+ }
95
+ set operator(value) {
96
+ if (this.options?.includes(value)) {
97
+ this._operator = value;
98
+ }
99
+ }
100
+ }
101
+ DynamicDateRange.register("LASTDAYS", LastOptions);
102
+ DynamicDateRange.register("LASTWEEKS", LastOptions);
103
+ DynamicDateRange.register("LASTMONTHS", LastOptions);
104
+ DynamicDateRange.register("LASTQUARTERS", LastOptions);
105
+ DynamicDateRange.register("LASTYEARS", LastOptions);
106
+ export default LastOptions;
107
+ //# sourceMappingURL=LastOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LastOptions.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/LastOptions.ts"],"names":[],"mappings":"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","sourcesContent":["import LastNextTemplate from \"./LastNextTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\nimport {\n\thandleSelectionChangeLastNext, isValidStringLastNext, parseLastNext, formatLastNextValue,\n} from \"./LastNextUtils.js\";\nimport { toDatesLastNext } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_LAST_DAYS_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_YEARS_TEXT,\n\tDYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_LAST_COMBINED_TEXT,\n\tDYNAMIC_DATE_RANGE_INCLUDED_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.14.0\n */\nclass LastOptions implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate = LastNextTemplate;\n\t_operator: string;\n\ti18nKey: I18nText;\n\toptions?: Array<string> = [];\n\n\tconstructor(operators?: Array<string>) {\n\t\tthis.options = operators;\n\t\tthis._operator = this.options?.[0] || \"LASTDAYS\";\n\t\tthis.i18nKey = this._getI18nKeyForOperator(this._operator);\n\t}\n\n\t_getI18nKeyForOperator(operator: string): I18nText {\n\t\tswitch (operator) {\n\t\tcase \"LASTDAYS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT;\n\t\tcase \"LASTWEEKS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT;\n\t\tcase \"LASTMONTHS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT;\n\t\tcase \"LASTQUARTERS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT;\n\t\tcase \"LASTYEARS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT;\n\t\tdefault:\n\t\t\treturn DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT;\n\t\t}\n\t}\n\n\tparse(value: string): DynamicDateRangeValue | undefined {\n\t\tconst matchingOption = this.availableOptions.find(optionInfo => {\n\t\t\tconst tempOption = { operator: optionInfo.operator, text: optionInfo.text };\n\t\t\treturn isValidStringLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t});\n\n\t\tif (matchingOption) {\n\t\t\tconst tempOption = { operator: matchingOption.operator, text: matchingOption.text };\n\t\t\treturn parseLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\treturn formatLastNextValue(value, this);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn toDatesLastNext(value, { operator: value.operator } as IDynamicDateRangeOption);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn this.availableOptions.some(optionInfo => {\n\t\t\tconst tempOption = { operator: optionInfo.operator, text: optionInfo.text };\n\t\t\treturn isValidStringLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\treturn handleSelectionChangeLastNext(e, this);\n\t}\n\n\tget text(): string {\n\t\tif (this.options?.length && this.options.length > 1) {\n\t\t\tconst units = this.availableOptions\n\t\t\t\t.filter(info => this.options?.includes(info.operator))\n\t\t\t\t.map(info => info.unitText);\n\t\t\tconst unitsText = units.join(` / `);\n\t\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_LAST_COMBINED_TEXT, unitsText);\n\t\t}\n\n\t\tconst baseText = DynamicDateRange.i18nBundle.getText(this.i18nKey);\n\t\tconst includedText = DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_INCLUDED_TEXT);\n\t\treturn `${baseText} ${includedText}`;\n\t}\n\n\tget icon(): string {\n\t\treturn \"\";\n\t}\n\n\t// Simple getter that provides all available Last options based on current component options\n\tget availableOptions() {\n\t\tconst allOptions = [\n\t\t\t{ operator: \"LASTDAYS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_DAYS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT },\n\t\t\t{ operator: \"LASTWEEKS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_WEEKS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT },\n\t\t\t{ operator: \"LASTMONTHS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_MONTHS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT },\n\t\t\t{ operator: \"LASTQUARTERS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_QUARTERS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT },\n\t\t\t{ operator: \"LASTYEARS\", i18nKey: DYNAMIC_DATE_RANGE_LAST_YEARS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT },\n\t\t];\n\n\t\treturn allOptions.map(info => ({\n\t\t\toperator: info.operator,\n\t\t\tunitText: DynamicDateRange.i18nBundle.getText(info.unitI18nKey),\n\t\t\ttext: DynamicDateRange.i18nBundle.getText(info.i18nKey),\n\t\t}));\n\t}\n\n\tget operator(): string {\n\t\treturn this._operator;\n\t}\n\n\tset operator(value: string) {\n\t\tif (this.options?.includes(value)) {\n\t\t\tthis._operator = value;\n\t\t}\n\t}\n}\n\nDynamicDateRange.register(\"LASTDAYS\", LastOptions);\nDynamicDateRange.register(\"LASTWEEKS\", LastOptions);\nDynamicDateRange.register(\"LASTMONTHS\", LastOptions);\nDynamicDateRange.register(\"LASTQUARTERS\", LastOptions);\nDynamicDateRange.register(\"LASTYEARS\", LastOptions);\n\nexport default LastOptions;\n"]}
@@ -0,0 +1,32 @@
1
+ import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicDateRange.js";
2
+ import type { JsxTemplate } from "@ui5/webcomponents-base/dist/index.js";
3
+ import type { I18nText } from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
+ /**
5
+ * @class
6
+ * @constructor
7
+ * @public
8
+ * @since 2.14.0
9
+ */
10
+ declare class NextOptions implements IDynamicDateRangeOption {
11
+ template: JsxTemplate;
12
+ _operator: string;
13
+ i18nKey: I18nText;
14
+ options?: Array<string>;
15
+ constructor(operators?: Array<string>);
16
+ _getI18nKeyForOperator(operator: string): I18nText;
17
+ parse(value: string): DynamicDateRangeValue | undefined;
18
+ format(value: DynamicDateRangeValue): string;
19
+ toDates(value: DynamicDateRangeValue): Array<Date>;
20
+ isValidString(value: string): boolean;
21
+ handleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined;
22
+ get text(): string;
23
+ get icon(): string;
24
+ get availableOptions(): {
25
+ operator: string;
26
+ unitText: string;
27
+ text: string;
28
+ }[];
29
+ get operator(): string;
30
+ set operator(value: string);
31
+ }
32
+ export default NextOptions;
@@ -0,0 +1,107 @@
1
+ import LastNextTemplate from "./LastNextTemplate.js";
2
+ import { handleSelectionChangeLastNext, isValidStringLastNext, parseLastNext, formatLastNextValue, } from "./LastNextUtils.js";
3
+ import { toDatesLastNext } from "./toDates.js";
4
+ import DynamicDateRange from "../DynamicDateRange.js";
5
+ import { DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT, DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT, DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT, DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT, DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT, DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT, DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT, DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT, DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT, DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT, DYNAMIC_DATE_RANGE_NEXT_COMBINED_TEXT, DYNAMIC_DATE_RANGE_INCLUDED_TEXT, } from "../generated/i18n/i18n-defaults.js";
6
+ /**
7
+ * @class
8
+ * @constructor
9
+ * @public
10
+ * @since 2.14.0
11
+ */
12
+ class NextOptions {
13
+ constructor(operators) {
14
+ this.template = LastNextTemplate;
15
+ this.options = [];
16
+ this.options = operators;
17
+ this._operator = this.options?.[0] || "NEXTDAYS";
18
+ this.i18nKey = this._getI18nKeyForOperator(this._operator);
19
+ }
20
+ _getI18nKeyForOperator(operator) {
21
+ switch (operator) {
22
+ case "NEXTDAYS":
23
+ return DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT;
24
+ case "NEXTWEEKS":
25
+ return DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT;
26
+ case "NEXTMONTHS":
27
+ return DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT;
28
+ case "NEXTQUARTERS":
29
+ return DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT;
30
+ case "NEXTYEARS":
31
+ return DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT;
32
+ default:
33
+ return DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT;
34
+ }
35
+ }
36
+ parse(value) {
37
+ const matchingOption = this.availableOptions.find(optionInfo => {
38
+ const tempOption = { operator: optionInfo.operator, text: optionInfo.text };
39
+ return isValidStringLastNext(value, tempOption);
40
+ });
41
+ if (matchingOption) {
42
+ const tempOption = { operator: matchingOption.operator, text: matchingOption.text };
43
+ return parseLastNext(value, tempOption);
44
+ }
45
+ return undefined;
46
+ }
47
+ format(value) {
48
+ return formatLastNextValue(value, this);
49
+ }
50
+ toDates(value) {
51
+ return toDatesLastNext(value, { operator: value.operator });
52
+ }
53
+ isValidString(value) {
54
+ return this.availableOptions.some(optionInfo => {
55
+ const tempOption = { operator: optionInfo.operator, text: optionInfo.text };
56
+ return isValidStringLastNext(value, tempOption);
57
+ });
58
+ }
59
+ handleSelectionChange(e) {
60
+ return handleSelectionChangeLastNext(e, this);
61
+ }
62
+ get text() {
63
+ if (this.options?.length && this.options.length > 1) {
64
+ const units = this.availableOptions
65
+ .filter(info => this.options?.includes(info.operator))
66
+ .map(info => info.unitText);
67
+ const unitsText = units.join(` / `);
68
+ return DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_NEXT_COMBINED_TEXT, unitsText);
69
+ }
70
+ const baseText = DynamicDateRange.i18nBundle.getText(this.i18nKey);
71
+ const includedText = DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_INCLUDED_TEXT);
72
+ return `${baseText} ${includedText}`;
73
+ }
74
+ get icon() {
75
+ return "";
76
+ }
77
+ // Simple getter that provides all available Next options based on current component options
78
+ get availableOptions() {
79
+ const allOptions = [
80
+ { operator: "NEXTDAYS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT },
81
+ { operator: "NEXTWEEKS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT },
82
+ { operator: "NEXTMONTHS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT },
83
+ { operator: "NEXTQUARTERS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT },
84
+ { operator: "NEXTYEARS", i18nKey: DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT },
85
+ ];
86
+ return allOptions.map(info => ({
87
+ operator: info.operator,
88
+ unitText: DynamicDateRange.i18nBundle.getText(info.unitI18nKey),
89
+ text: DynamicDateRange.i18nBundle.getText(info.i18nKey),
90
+ }));
91
+ }
92
+ get operator() {
93
+ return this._operator;
94
+ }
95
+ set operator(value) {
96
+ if (this.options?.includes(value)) {
97
+ this._operator = value;
98
+ }
99
+ }
100
+ }
101
+ DynamicDateRange.register("NEXTDAYS", NextOptions);
102
+ DynamicDateRange.register("NEXTWEEKS", NextOptions);
103
+ DynamicDateRange.register("NEXTMONTHS", NextOptions);
104
+ DynamicDateRange.register("NEXTQUARTERS", NextOptions);
105
+ DynamicDateRange.register("NEXTYEARS", NextOptions);
106
+ export default NextOptions;
107
+ //# sourceMappingURL=NextOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NextOptions.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/NextOptions.ts"],"names":[],"mappings":"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","sourcesContent":["import LastNextTemplate from \"./LastNextTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\nimport {\n\thandleSelectionChangeLastNext, isValidStringLastNext, parseLastNext, formatLastNextValue,\n} from \"./LastNextUtils.js\";\nimport { toDatesLastNext } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT,\n\tDYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT,\n\tDYNAMIC_DATE_RANGE_NEXT_COMBINED_TEXT,\n\tDYNAMIC_DATE_RANGE_INCLUDED_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.14.0\n */\nclass NextOptions implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate = LastNextTemplate;\n\t_operator: string;\n\ti18nKey: I18nText;\n\toptions?: Array<string> = [];\n\n\tconstructor(operators?: Array<string>) {\n\t\tthis.options = operators;\n\t\tthis._operator = this.options?.[0] || \"NEXTDAYS\";\n\t\tthis.i18nKey = this._getI18nKeyForOperator(this._operator);\n\t}\n\n\t_getI18nKeyForOperator(operator: string): I18nText {\n\t\tswitch (operator) {\n\t\tcase \"NEXTDAYS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT;\n\t\tcase \"NEXTWEEKS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT;\n\t\tcase \"NEXTMONTHS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT;\n\t\tcase \"NEXTQUARTERS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT;\n\t\tcase \"NEXTYEARS\":\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT;\n\t\tdefault:\n\t\t\treturn DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT;\n\t\t}\n\t}\n\n\tparse(value: string): DynamicDateRangeValue | undefined {\n\t\tconst matchingOption = this.availableOptions.find(optionInfo => {\n\t\t\tconst tempOption = { operator: optionInfo.operator, text: optionInfo.text };\n\t\t\treturn isValidStringLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t});\n\n\t\tif (matchingOption) {\n\t\t\tconst tempOption = { operator: matchingOption.operator, text: matchingOption.text };\n\t\t\treturn parseLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\treturn formatLastNextValue(value, this);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn toDatesLastNext(value, { operator: value.operator } as IDynamicDateRangeOption);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn this.availableOptions.some(optionInfo => {\n\t\t\tconst tempOption = { operator: optionInfo.operator, text: optionInfo.text };\n\t\t\treturn isValidStringLastNext(value, tempOption as IDynamicDateRangeOption);\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\treturn handleSelectionChangeLastNext(e, this);\n\t}\n\n\tget text(): string {\n\t\tif (this.options?.length && this.options.length > 1) {\n\t\t\tconst units = this.availableOptions\n\t\t\t\t.filter(info => this.options?.includes(info.operator))\n\t\t\t\t.map(info => info.unitText);\n\t\t\tconst unitsText = units.join(` / `);\n\t\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_NEXT_COMBINED_TEXT, unitsText);\n\t\t}\n\n\t\tconst baseText = DynamicDateRange.i18nBundle.getText(this.i18nKey);\n\t\tconst includedText = DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_INCLUDED_TEXT);\n\t\treturn `${baseText} ${includedText}`;\n\t}\n\n\tget icon(): string {\n\t\treturn \"\";\n\t}\n\n\t// Simple getter that provides all available Next options based on current component options\n\tget availableOptions() {\n\t\tconst allOptions = [\n\t\t\t{ operator: \"NEXTDAYS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_DAYS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_DAYS_UNIT_TEXT },\n\t\t\t{ operator: \"NEXTWEEKS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_WEEKS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_WEEKS_UNIT_TEXT },\n\t\t\t{ operator: \"NEXTMONTHS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_MONTHS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_MONTHS_UNIT_TEXT },\n\t\t\t{ operator: \"NEXTQUARTERS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_QUARTERS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_QUARTERS_UNIT_TEXT },\n\t\t\t{ operator: \"NEXTYEARS\", i18nKey: DYNAMIC_DATE_RANGE_NEXT_YEARS_TEXT, unitI18nKey: DYNAMIC_DATE_RANGE_YEARS_UNIT_TEXT },\n\t\t];\n\n\t\treturn allOptions.map(info => ({\n\t\t\toperator: info.operator,\n\t\t\tunitText: DynamicDateRange.i18nBundle.getText(info.unitI18nKey),\n\t\t\ttext: DynamicDateRange.i18nBundle.getText(info.i18nKey),\n\t\t}));\n\t}\n\n\tget operator(): string {\n\t\treturn this._operator;\n\t}\n\n\tset operator(value: string) {\n\t\tif (this.options?.includes(value)) {\n\t\t\tthis._operator = value;\n\t\t}\n\t}\n}\n\nDynamicDateRange.register(\"NEXTDAYS\", NextOptions);\nDynamicDateRange.register(\"NEXTWEEKS\", NextOptions);\nDynamicDateRange.register(\"NEXTMONTHS\", NextOptions);\nDynamicDateRange.register(\"NEXTQUARTERS\", NextOptions);\nDynamicDateRange.register(\"NEXTYEARS\", NextOptions);\n\nexport default NextOptions;\n"]}
@@ -12,7 +12,7 @@ declare class SingleDate implements IDynamicDateRangeOption {
12
12
  constructor();
13
13
  parse(value: string): DynamicDateRangeValue;
14
14
  format(value: DynamicDateRangeValue): string;
15
- toDates(value: DynamicDateRangeValue): Date[];
15
+ toDates(value: DynamicDateRangeValue): Array<Date>;
16
16
  isValidString(value: string): boolean;
17
17
  get text(): string;
18
18
  get operator(): string;
@@ -22,7 +22,7 @@ class SingleDate {
22
22
  }
23
23
  format(value) {
24
24
  const valuesArray = value?.values;
25
- if (!valuesArray || valuesArray.length !== 1) {
25
+ if (!valuesArray) {
26
26
  return "";
27
27
  }
28
28
  const date = valuesArray[0];
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDate.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/SingleDate.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAG5E,OAAO,EACN,4BAA4B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,UAAU;IAGf;QACC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QACnD,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC1E,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAA4B;QAClC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAgB,CAAC;QAE5C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAA4B;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QAEnD,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,IAAI;QACP,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,qBAAqB,CAAC,CAAc;QACnC,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC3E,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC;QACzB,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,SAAS;QACR,OAAO,UAAU,CAAC,eAAe,CAAC;YACjC,aAAa,EAAE,IAAI;SACnB,CAAC,CAAC;IACJ,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE9C,eAAe,UAAU,CAAC","sourcesContent":["import SingleDateTemplate from \"./SingleDateTemplate.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_DATE_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass SingleDate implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\n\tconstructor() {\n\t\tthis.template = SingleDateTemplate;\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst date = this.getFormat().parse(value) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue) {\n\t\tconst valuesArray = value?.values as Date[];\n\n\t\tif (!valuesArray || valuesArray.length !== 1) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst date = valuesArray[0];\n\n\t\treturn this.getFormat().format(date);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Date[] {\n\t\treturn dateOptionToDates(value);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst date = this.getFormat().parse(value) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_DATE_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"DATE\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tcurrentValue.values = [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (e.detail.selectedDates[0]) {\n\t\t\tcurrentValue.values[0] = new Date(e.detail.selectedDates[0] * 1000);\n\t\t}\n\n\t\treturn currentValue;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n}\n\nDynamicDateRange.register(\"DATE\", SingleDate);\n\nexport default SingleDate;\n"]}
1
+ {"version":3,"file":"SingleDate.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/SingleDate.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAG5E,OAAO,EACN,4BAA4B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,UAAU;IAGf;QACC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QACnD,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC1E,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAA4B;QAClC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAqB,CAAC;QAEjD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAA4B;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QAEnD,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,IAAI;QACP,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,qBAAqB,CAAC,CAAc;QACnC,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC3E,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC;QACzB,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,SAAS;QACR,OAAO,UAAU,CAAC,eAAe,CAAC;YACjC,aAAa,EAAE,IAAI;SACnB,CAAC,CAAC;IACJ,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE9C,eAAe,UAAU,CAAC","sourcesContent":["import SingleDateTemplate from \"./SingleDateTemplate.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_DATE_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass SingleDate implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\n\tconstructor() {\n\t\tthis.template = SingleDateTemplate;\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst date = this.getFormat().parse(value) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue) {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst date = valuesArray[0];\n\n\t\treturn this.getFormat().format(date);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateOptionToDates(value);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst date = this.getFormat().parse(value) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_DATE_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"DATE\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tcurrentValue.values = [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (e.detail.selectedDates[0]) {\n\t\t\tcurrentValue.values[0] = new Date(e.detail.selectedDates[0] * 1000);\n\t\t}\n\n\t\treturn currentValue;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n}\n\nDynamicDateRange.register(\"DATE\", SingleDate);\n\nexport default SingleDate;\n"]}
@@ -8,7 +8,7 @@ import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicD
8
8
  declare class Today implements IDynamicDateRangeOption {
9
9
  parse(): DynamicDateRangeValue;
10
10
  format(): string;
11
- toDates(): Date[];
11
+ toDates(): Array<Date>;
12
12
  isValidString(value: string): boolean;
13
13
  get text(): string;
14
14
  get operator(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"Today.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Today.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACN,6BAA6B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,KAAK;IACV,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,OAAO;QACN,OAAO,YAAY,EAAE,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE1C,eAAe,KAAK,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { todayToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_TODAY_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\nclass Today implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Today\";\n\t}\n\n\ttoDates(): Date[] {\n\t\treturn todayToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TODAY_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TODAY\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"TODAY\", Today);\n\nexport default Today;\n"]}
1
+ {"version":3,"file":"Today.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Today.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACN,6BAA6B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,KAAK;IACV,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,OAAO;QACN,OAAO,YAAY,EAAE,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE1C,eAAe,KAAK,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { todayToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_TODAY_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\nclass Today implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Today\";\n\t}\n\n\ttoDates(): Array<Date> {\n\t\treturn todayToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TODAY_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TODAY\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"TODAY\", Today);\n\nexport default Today;\n"]}
@@ -8,7 +8,7 @@ import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicD
8
8
  declare class Tomorrow implements IDynamicDateRangeOption {
9
9
  parse(): DynamicDateRangeValue;
10
10
  format(): string;
11
- toDates(): Date[];
11
+ toDates(): Array<Date>;
12
12
  isValidString(value: string): boolean;
13
13
  get text(): string;
14
14
  get operator(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"Tomorrow.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Tomorrow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACN,gCAAgC,GAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,QAAQ;IACb,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,OAAO;QACN,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEhD,eAAe,QAAQ,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { tomorrowToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_TOMORROW_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\nclass Tomorrow implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Tomorrow\";\n\t}\n\n\ttoDates(): Date[] {\n\t\treturn tomorrowToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TOMORROW_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TOMORROW\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"TOMORROW\", Tomorrow);\n\nexport default Tomorrow;\n"]}
1
+ {"version":3,"file":"Tomorrow.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Tomorrow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACN,gCAAgC,GAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,QAAQ;IACb,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,OAAO;QACN,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEhD,eAAe,QAAQ,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { tomorrowToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_TOMORROW_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\nclass Tomorrow implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Tomorrow\";\n\t}\n\n\ttoDates() : Array<Date> {\n\t\treturn tomorrowToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TOMORROW_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TOMORROW\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"TOMORROW\", Tomorrow);\n\nexport default Tomorrow;\n"]}
@@ -8,7 +8,7 @@ import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicD
8
8
  declare class Yesterday implements IDynamicDateRangeOption {
9
9
  parse(): DynamicDateRangeValue;
10
10
  format(): string;
11
- toDates(): Date[];
11
+ toDates(): Array<Date>;
12
12
  isValidString(value: string): boolean;
13
13
  get text(): string;
14
14
  get operator(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"Yesterday.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Yesterday.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACN,iCAAiC,GACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,SAAS;IACd,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO;QACN,OAAO,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAElD,eAAe,SAAS,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { yesterdayToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_YESTERDAY_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass Yesterday implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Yesterday\";\n\t}\n\n\ttoDates(): Date[] {\n\t\treturn yesterdayToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_YESTERDAY_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"YESTERDAY\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"YESTERDAY\", Yesterday);\n\nexport default Yesterday;\n"]}
1
+ {"version":3,"file":"Yesterday.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/Yesterday.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACN,iCAAiC,GACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,SAAS;IACd,KAAK;QACJ,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAErC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM;QACL,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO;QACN,OAAO,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAElD,eAAe,SAAS,CAAC","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport { yesterdayToDates } from \"./toDates.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_YESTERDAY_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass Yesterday implements IDynamicDateRangeOption {\n\tparse(): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\" };\n\t\treturnValue.operator = this.operator;\n\n\t\treturn returnValue;\n\t}\n\n\tformat(): string {\n\t\treturn \"Yesterday\";\n\t}\n\n\ttoDates() : Array<Date> {\n\t\treturn yesterdayToDates();\n\t}\n\n\tisValidString(value: string): boolean {\n\t\treturn value === this.text;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_YESTERDAY_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"YESTERDAY\";\n\t}\n\n\tget icon() {\n\t\treturn \"\";\n\t}\n}\n\nDynamicDateRange.register(\"YESTERDAY\", Yesterday);\n\nexport default Yesterday;\n"]}
@@ -1,7 +1,13 @@
1
- import type { DynamicDateRangeValue } from "../DynamicDateRange.js";
2
- declare const dateOptionToDates: (value: DynamicDateRangeValue) => Date[];
3
- declare const dateRangeOptionToDates: (value: DynamicDateRangeValue) => Date[];
4
- declare const todayToDates: () => Date[];
5
- declare const tomorrowToDates: () => Date[];
6
- declare const yesterdayToDates: () => Date[];
7
- export { dateOptionToDates, dateRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, };
1
+ import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicDateRange.js";
2
+ declare const dateOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
3
+ declare const dateRangeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
4
+ declare const todayToDates: () => Array<Date>;
5
+ declare const yesterdayToDates: () => Array<Date>;
6
+ declare const tomorrowToDates: () => Array<Date>;
7
+ declare const lastNextToDates: (value: DynamicDateRangeValue, unit: string, direction: "last" | "next") => Array<Date>;
8
+ /**
9
+ * Converts DynamicDateRangeValue to dates for Last/Next options.
10
+ * Uses operator name to determine time unit and direction.
11
+ */
12
+ declare const toDatesLastNext: (value: DynamicDateRangeValue, option: IDynamicDateRangeOption) => Array<Date>;
13
+ export { dateOptionToDates, dateRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, };
@@ -1,41 +1,158 @@
1
+ import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
1
2
  const dateOptionToDates = (value) => {
2
- const startDate = value.values ? value.values[0] : new Date();
3
- const endDate = new Date(startDate);
3
+ const startDate = value.values ? value.values[0] : UI5Date.getInstance();
4
+ const endDate = UI5Date.getInstance(startDate.getTime());
4
5
  startDate?.setHours(0, 0, 0, 0);
5
6
  endDate?.setHours(23, 59, 59, 999);
6
7
  return [startDate, endDate];
7
8
  };
8
9
  const dateRangeOptionToDates = (value) => {
9
- const startDate = value.values ? value.values[0] : new Date();
10
- const endDate = value.values ? value.values[1] : new Date();
10
+ const startDate = value.values ? value.values[0] : UI5Date.getInstance();
11
+ const endDate = value.values ? value.values[1] : UI5Date.getInstance();
11
12
  startDate?.setHours(0, 0, 0, 0);
12
13
  endDate?.setHours(23, 59, 59, 999);
13
14
  return [startDate, endDate];
14
15
  };
15
16
  const todayToDates = () => {
16
- const startDate = new Date();
17
- const endDate = new Date();
18
- startDate?.setHours(0, 0, 0, 0);
19
- endDate?.setHours(23, 59, 59, 999);
17
+ const startDate = UI5Date.getInstance();
18
+ const endDate = UI5Date.getInstance();
19
+ startDate.setHours(0, 0, 0, 0);
20
+ endDate.setHours(23, 59, 59, 999);
21
+ return [startDate, endDate];
22
+ };
23
+ const yesterdayToDates = () => {
24
+ const startDate = UI5Date.getInstance();
25
+ const endDate = UI5Date.getInstance();
26
+ startDate.setHours(0, 0, 0, 0);
27
+ startDate.setDate(startDate.getDate() - 1);
28
+ endDate.setHours(23, 59, 59, 999);
29
+ endDate.setDate(endDate.getDate() - 1);
20
30
  return [startDate, endDate];
21
31
  };
22
32
  const tomorrowToDates = () => {
23
- const startDate = new Date();
24
- const endDate = new Date();
33
+ const startDate = UI5Date.getInstance();
34
+ const endDate = UI5Date.getInstance();
35
+ startDate.setHours(0, 0, 0, 0);
25
36
  startDate.setDate(startDate.getDate() + 1);
37
+ endDate.setHours(23, 59, 59, 999);
26
38
  endDate.setDate(endDate.getDate() + 1);
27
- startDate?.setHours(0, 0, 0, 0);
28
- endDate?.setHours(23, 59, 59, 999);
29
39
  return [startDate, endDate];
30
40
  };
31
- const yesterdayToDates = () => {
32
- const startDate = new Date();
33
- const endDate = new Date();
34
- startDate.setDate(startDate.getDate() - 1);
35
- endDate.setDate(endDate.getDate() - 1);
36
- startDate?.setHours(0, 0, 0, 0);
37
- endDate?.setHours(23, 59, 59, 999);
41
+ const lastToDates = (value, unit) => {
42
+ const today = UI5Date.getInstance();
43
+ const startDate = UI5Date.getInstance(today.getTime());
44
+ const endDate = UI5Date.getInstance(today.getTime());
45
+ const amount = value.values?.[0] || 1;
46
+ switch (unit) {
47
+ case "days":
48
+ // For "Last X Days": start X days before today (inclusive), end today
49
+ // "Last 1 Day" = today only, "Last 2 Days" = yesterday + today, etc.
50
+ startDate.setDate(today.getDate() - (amount - 1));
51
+ break;
52
+ case "weeks": {
53
+ const currentDayOfWeek = today.getDay();
54
+ const daysToStartOfWeek = currentDayOfWeek === 0 ? 6 : currentDayOfWeek - 1;
55
+ startDate.setDate(today.getDate() - daysToStartOfWeek - ((amount - 1) * 7));
56
+ break;
57
+ }
58
+ case "months":
59
+ startDate.setMonth(today.getMonth() - (amount - 1));
60
+ startDate.setDate(1); // Start of the month
61
+ break;
62
+ case "quarters": {
63
+ const currentQuarter = Math.floor(today.getMonth() / 3);
64
+ const quarterStartMonth = currentQuarter * 3 - ((amount - 1) * 3);
65
+ startDate.setMonth(quarterStartMonth);
66
+ startDate.setDate(1); // Start of the quarter
67
+ break;
68
+ }
69
+ case "years":
70
+ startDate.setFullYear(today.getFullYear() - (amount - 1));
71
+ startDate.setMonth(0); // January
72
+ startDate.setDate(1); // Start of the year
73
+ break;
74
+ }
38
75
  return [startDate, endDate];
39
76
  };
40
- export { dateOptionToDates, dateRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, };
77
+ const nextToDates = (value, unit) => {
78
+ const today = UI5Date.getInstance();
79
+ const startDate = UI5Date.getInstance(today.getTime());
80
+ const endDate = UI5Date.getInstance(today.getTime());
81
+ const amount = value.values?.[0] || 1;
82
+ switch (unit) {
83
+ case "days":
84
+ // For "Next X Days": start today, end X days from today (inclusive)
85
+ // "Next 1 Day" = today only, "Next 2 Days" = today + tomorrow, etc.
86
+ endDate.setDate(today.getDate() + (amount - 1));
87
+ break;
88
+ case "weeks": {
89
+ const currentDayOfWeek = today.getDay();
90
+ const daysToEndOfWeek = currentDayOfWeek === 0 ? 0 : 7 - currentDayOfWeek;
91
+ endDate.setDate(today.getDate() + daysToEndOfWeek + ((amount - 1) * 7));
92
+ break;
93
+ }
94
+ case "months":
95
+ endDate.setMonth(today.getMonth() + amount);
96
+ endDate.setDate(0); // Last day of the previous month (the target month)
97
+ break;
98
+ case "quarters": {
99
+ const currentQuarter = Math.floor(today.getMonth() / 3);
100
+ const quarterEndMonth = (currentQuarter + 1) * 3 - 1 + ((amount - 1) * 3);
101
+ endDate.setMonth(quarterEndMonth + 1);
102
+ endDate.setDate(0); // Last day of the quarter
103
+ break;
104
+ }
105
+ case "years":
106
+ endDate.setFullYear(today.getFullYear() + amount);
107
+ endDate.setMonth(0); // January of the next year
108
+ endDate.setDate(0); // Last day of December of the target year
109
+ break;
110
+ }
111
+ return [startDate, endDate];
112
+ };
113
+ const lastNextToDates = (value, unit, direction) => {
114
+ return direction === "last" ? lastToDates(value, unit) : nextToDates(value, unit);
115
+ };
116
+ /**
117
+ * Converts DynamicDateRangeValue to dates for Last/Next options.
118
+ * Uses operator name to determine time unit and direction.
119
+ */
120
+ const toDatesLastNext = (value, option) => {
121
+ const operator = option.operator;
122
+ // Extract direction from operator name
123
+ let direction;
124
+ if (operator.startsWith("LAST")) {
125
+ direction = "last";
126
+ }
127
+ else if (operator.startsWith("NEXT")) {
128
+ direction = "next";
129
+ }
130
+ else {
131
+ // Not a LastNext option, return today's date range
132
+ return todayToDates();
133
+ }
134
+ // Extract time unit from operator name
135
+ let unit;
136
+ if (operator.includes("DAYS")) {
137
+ unit = "days";
138
+ }
139
+ else if (operator.includes("WEEKS")) {
140
+ unit = "weeks";
141
+ }
142
+ else if (operator.includes("MONTHS")) {
143
+ unit = "months";
144
+ }
145
+ else if (operator.includes("QUARTERS")) {
146
+ unit = "quarters";
147
+ }
148
+ else if (operator.includes("YEARS")) {
149
+ unit = "years";
150
+ }
151
+ else {
152
+ // Unknown time unit, return today's date range as fallback
153
+ return todayToDates();
154
+ }
155
+ return lastNextToDates(value, unit, direction);
156
+ };
157
+ export { dateOptionToDates, dateRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, };
41
158
  //# sourceMappingURL=toDates.js.map