@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
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicDateRange.js","sourceRoot":"","sources":["../src/DynamicDateRange.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base\";\nimport { isF4, isShow } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport DynamicDateRangeTemplate from \"./DynamicDateRangeTemplate.js\";\nimport IconMode from \"./types/IconMode.js\";\nimport type Input from \"./Input.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_SELECTED_TEXT,\n\tDYNAMIC_DATE_RANGE_EMPTY_SELECTED_TEXT,\n\tDYNAMIC_DATE_RANGE_NAVIGATION_ICON_TOOLTIP,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Styles\nimport dynamicDateRangeCss from \"./generated/themes/DynamicDateRange.css.js\";\nimport dynamicDateRangePopoverCss from \"./generated/themes/DynamicDateRangePopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport type List from \"./List.js\";\nimport type ListItem from \"./ListItem.js\";\n\ntype DynamicDateRangeValue = {\n\t/**\n\t * The key of the option.\n\t * @default \"\"\n\t * @public\n\t */\n\toperator: string;\n\n\t/**\n\t * Values of the dynamic date range.\n\t * @default []\n\t * @public\n\t */\n\tvalues?: Date[] | number[];\n}\n\n/**\n * Represents a dynamic date range option used by the `ui5-dynamic-date-range` component.\n *\n * Represents a dynamic date range option used for handling dynamic date ranges.\n * This interface defines the structure and behavior required for implementing\n * dynamic date range options, including formatting, parsing, validation, and\n * conversion of date range values.\n *\n * * Properties:\n * - `icon`: The icon associated with the dynamic date range option, typically used for UI representation.\n * - `operator`: A unique operator identifying the dynamic date range option.\n * - `text`: The display text for the dynamic date range option.\n * - `template` (optional): A JSX template for rendering the dynamic date range option.\n *\n * Methods:\n * - `format(value: DynamicDateRangeValue): string`: Formats the given dynamic date range value into a string representation.\n * - `parse(value: string): DynamicDateRangeValue | undefined`: Parses a string into a dynamic date range value.\n * - `toDates(value: DynamicDateRangeValue): Date[]`: Converts a dynamic date range value into an array of `Date` objects.\n * - `handleSelectionChange?(event: CustomEvent): DynamicDateRangeValue | undefined`: (Optional) Handles selection changes in the UI of the dynamic date range option.\n * - `isValidString(value: string): boolean`: Validates whether a given string is a valid representation of the dynamic date range value.\n *\n * @public\n * @since 2.11.0\n */\ninterface IDynamicDateRangeOption {\n\ticon: string;\n\toperator: string;\n\ttext: string;\n\tformat: (value: DynamicDateRangeValue) => string;\n\tparse: (value: string) => DynamicDateRangeValue | undefined;\n\ttoDates: (value: DynamicDateRangeValue) => Date[];\n\thandleSelectionChange?: (event: CustomEvent) => DynamicDateRangeValue | undefined;\n\ttemplate?: JsxTemplate;\n\tisValidString: (value: string) => boolean;\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-dynamic-date-range` component provides a flexible interface to define date ranges using a combination of absolute dates, relative intervals, and preset ranges (e.g., \"Today\", \"Yesterday\", etc.).\n * It allows users to select a date range from a predefined set of options or enter custom dates.\n *\n * ### Usage\n *\n * The component is typically used in scenarios where users need to filter data based on date ranges, such as in reports, dashboards, or data analysis tools.\n * It can be used with the predefined options or extended with custom options to suit specific requirements. You can create your own options by extending the `IDynamicDateRangeOption` interface.\n * Every option should be registered using the `DynamicDateRange.register` method.\n *\n * If needed, you can also create a range of dates based on specific option using the `toDates` method.\n *\n * ### Standard Options\n *\n * The component comes with a set of standard options, including:\n * - \"TODAY\" - Represents the current date. An example value is `{ operator: \"TODAY\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Today.js\";`\n * - \"YESTERDAY\" - Represents the previous date. An example value is `{ operator: \"YESTERDAY\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Yesterday.js\";`\n * - \"TOMORROW\" - Represents the next date. An example value is `{ operator: \"TOMORROW\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Tomorrow.js\";`\n * - \"DATE\" - Represents a single date. An example value is `{ operator: \"DATE\", values: [new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/SingleDate.js\";`\n * - \"DATERANGE\" - Represents a range of dates. An example value is `{ operator: \"DATERANGE\", values: [new Date(), new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/DateRange.js\";`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/DynamicDateRange.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.11.0\n */\n@customElement({\n\ttag: \"ui5-dynamic-date-range\",\n\tlanguageAware: true,\n\ttemplate: DynamicDateRangeTemplate,\n\trenderer: jsxRenderer,\n\tstyles: [\n\t\tdynamicDateRangeCss,\n\t\tResponsivePopoverCommonCss,\n\t\tdynamicDateRangePopoverCss,\n\t],\n})\n\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout or a value is selected in the popover.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass DynamicDateRange extends UI5Element {\n\teventDetails!: {\n\t\tchange: void,\n\t}\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines the value object.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ noAttribute: true })\n\tvalue?: DynamicDateRangeValue;\n\n\t/**\n\t * Defines the options listed as a string, separated by commas and using capital case.\n\t * Example: \"TODAY, YESTERDAY, DATERANGE\"\n\t * @public\n\t * @default \"\"\n\t */\n\t@property({ type: String })\n\toptions = \"\";\n\n\t/**\n\t * Defines the open or closed state of the popover.\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t@property({ type: Object })\n\t_currentOption?: IDynamicDateRangeOption;\n\n\t@property({ type: Object })\n\tcurrentValue?: DynamicDateRangeValue;\n\n\toptionsObjects: IDynamicDateRangeOption[] = [];\n\n\tstatic optionsClasses: Map<string, new () => IDynamicDateRangeOption> = new Map();\n\n\t@query(\"[ui5-input]\")\n\t_input?: Input;\n\n\t@query(\"[ui5-list]\")\n\t_list?: List;\n\n\tonBeforeRendering() {\n\t\tconst optionKeys = this.options.split(\",\").map(option => option.trim());\n\n\t\tthis.optionsObjects = optionKeys.map(option => {\n\t\t\tconst OptionClass = DynamicDateRange.getOptionClass(option);\n\t\t\tlet optionObject;\n\n\t\t\tif (OptionClass) {\n\t\t\t\toptionObject = new OptionClass();\n\t\t\t}\n\n\t\t\treturn optionObject;\n\t\t}).filter(optionObject => optionObject !== undefined);\n\n\t\tif (this.value) {\n\t\t\tconst selectedItem = this._list?.items.find(item => {\n\t\t\t\tconst option = this.optionsObjects.find(x => x.operator === this.value?.operator);\n\t\t\t\treturn option && item.textContent === option.text;\n\t\t\t}) as ListItem;\n\n\t\t\tthis._list?.focusItem(selectedItem);\n\t\t}\n\t}\n\n\tget _optionsTitles(): Array<string> {\n\t\treturn this.optionsObjects.map(option => option.text);\n\t}\n\n\t/**\n\t * Defines whether the value help icon is hidden\n\t * @private\n\t */\n\tget _iconMode() {\n\t\treturn isDesktop() ? IconMode.Decorative : IconMode.Interactive;\n\t}\n\n\tget tooltipNavigationIcon() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_NAVIGATION_ICON_TOOLTIP);\n\t}\n\n\t_togglePicker(): void {\n\t\tif (this.open) {\n\t\t\tthis.open = false;\n\t\t} else {\n\t\t\tthis.open = true;\n\t\t}\n\t}\n\n\t_selectOption(e: CustomEvent): void {\n\t\tthis._currentOption = this.optionsObjects.find(option => option.text === e.detail.item.textContent);\n\t\tif (!this._currentOption?.template) {\n\t\t\tthis.currentValue = this._currentOption?.parse(this._currentOption.text);\n\t\t\tthis._submitValue();\n\t\t}\n\n\t\tif (this._currentOption?.operator === this.value?.operator) {\n\t\t\tthis.currentValue = this.value;\n\t\t}\n\t}\n\n\tgetOption(operator: string) {\n\t\tconst resultOption = this.optionsObjects.find(option => option.operator === operator);\n\n\t\tif (!resultOption) {\n\t\t\tconst OptionClass = DynamicDateRange.getOptionClass(operator);\n\n\t\t\tif (OptionClass) {\n\t\t\t\tconst optionObject = new OptionClass();\n\t\t\t\tthis.optionsObjects.push(optionObject);\n\n\t\t\t\treturn optionObject;\n\t\t\t}\n\t\t}\n\n\t\treturn resultOption;\n\t}\n\n\tonInputChange(e: Event): void {\n\t\tconst value = (e.target as Input)?.value;\n\n\t\tif (!value) {\n\t\t\tthis.value = undefined;\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentOption = this.optionsObjects.find(option => option.isValidString(value));\n\n\t\tthis.value = currentOption ? this.getOption(currentOption.operator)?.parse(value) : undefined;\n\n\t\tif (this.value) {\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\t}\n\n\tonButtonBackClick() {\n\t\tthis._currentOption = undefined;\n\t}\n\n\t/**\n\t * Converts a `value` into concrete `startDate` and `endDate` JavaScript `Date` objects.\n\t *\n\t * @public\n\t * @param value The option to convert into an array of date ranges\n\t * @returns An array of two `Date` objects representing the start and end dates.\n\t */\n\ttoDates(value: DynamicDateRangeValue): Date[] {\n\t\treturn this.getOption(value.operator)?.toDates(value) as Date[];\n\t}\n\n\tget _hasCurrentOptionTemplate(): boolean {\n\t\treturn !!this._currentOption?.template;\n\t}\n\n\t_submitValue() {\n\t\tconst stringValue = this._currentOption?.format(this.currentValue!) as string;\n\n\t\tif (this._input) {\n\t\t\tthis._input.value = stringValue;\n\t\t}\n\n\t\tif (this._currentOption?.isValidString(stringValue)) {\n\t\t\tthis.value = this.currentValue as DynamicDateRangeValue;\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t} else {\n\t\t\tthis.value = undefined;\n\t\t}\n\n\t\tthis._currentOption = undefined;\n\t\tthis.open = false;\n\t}\n\n\t_close() {\n\t\tthis._currentOption = undefined;\n\t\tthis.open = false;\n\t}\n\n\tonPopoverOpen() {\n\t\tif (this.currentValue !== this.value) {\n\t\t\tthis.currentValue = this.value;\n\t\t}\n\t}\n\n\tonPopoverClose() {\n\t\tthis._close();\n\t}\n\n\tget currentValueText() {\n\t\tif (this.currentValue && this.currentValue.operator === this._currentOption?.operator) {\n\t\t\treturn `${DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_SELECTED_TEXT)}: ${this._currentOption?.format(this.currentValue)}`;\n\t\t}\n\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_EMPTY_SELECTED_TEXT);\n\t}\n\n\thandleSelectionChange(e: CustomEvent) {\n\t\tthis.currentValue = this._currentOption?.handleSelectionChange && this._currentOption?.handleSelectionChange(e) as DynamicDateRangeValue;\n\t}\n\n\tonInputKeyDown(e: KeyboardEvent) {\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tif (this.open) {\n\t\t\t\tif (!isF4(e)) {\n\t\t\t\t\tthis._toggleAndFocusInput();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._toggleAndFocusInput();\n\t\t\t}\n\t\t}\n\t}\n\n\t_toggleAndFocusInput() {\n\t\tthis._togglePicker();\n\t\tif (this.open) {\n\t\t\tthis._input?.focus();\n\t\t}\n\t}\n\n\tonKeyDownPopover(e: KeyboardEvent) {\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault(); // Prevent scroll on Alt/Option + Arrow Up/Down\n\t\t\tthis._toggleAndFocusInput();\n\t\t}\n\t}\n\n\t/**\n\t * Registers a new dynamic date range option with a unique key.\n\t *\n\t * Example:\n\t * DynamicDateRange.register(\"LASTWEEK\", LastWeek);\n\t */\n\tstatic register(operator: string, option: new () => IDynamicDateRangeOption): void {\n\t\toperator = operator.toUpperCase();\n\n\t\tif (!this.optionsClasses.has(operator)) {\n\t\t\tthis.optionsClasses.set(operator, option);\n\t\t}\n\t}\n\n\tstatic getOptionClass(operator: string): (new () => IDynamicDateRangeOption) | undefined {\n\t\treturn this.optionsClasses.get(operator);\n\t}\n}\n\nDynamicDateRange.define();\n\nexport default DynamicDateRange;\n\nexport type {\n\tDynamicDateRangeValue,\n\tIDynamicDateRangeOption,\n};\n"]}
1
+ {"version":3,"file":"DynamicDateRange.js","sourceRoot":"","sources":["../src/DynamicDateRange.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AACrE,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAI3C,OAAO,EACN,gCAAgC,EAChC,sCAAsC,EACtC,0CAA0C,GAC1C,MAAM,mCAAmC,CAAC;AAE3C,gCAAgC;AAChC,OAAO,qEAAqE,CAAC;AAE7E,SAAS;AACT,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,0BAA0B,MAAM,mDAAmD,CAAC;AAC3F,OAAO,0BAA0B,MAAM,mDAAmD,CAAC;AAsD3F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAqBH,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAAzC;;QAgBC;;;;;WAKG;QAEH,YAAO,GAAG,EAAE,CAAC;QAEb;;;;WAIG;QAEH,SAAI,GAAG,KAAK,CAAC;QAQb,mBAAc,GAAmC,EAAE,CAAC;IA8QrD,CAAC;IApQA,iBAAiB;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,wBAAwB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,kCAAkC;YACpE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,cAAc,GAAmC,EAAE,CAAC;YAC1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA4E,CAAC;YAE7G,iCAAiC;YACjC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,WAAW,GAAG,kBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC5D,IAAI,WAAW,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBAC1D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACvB,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAC9C,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE;gBACnD,cAAc,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,OAAe;QAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,IAAiB,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QACtF,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,QAAoB,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACZ,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IACjE,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,kBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACxF,CAAC;IAED,aAAa;QACZ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;IACF,CAAC;IAED,aAAa,CAAC,CAAc;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEpG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9F,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,CAAC;IACF,CAAC;IAED,SAAS,CAAC,QAAiB;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,cAAc,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAEtF,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,kBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAE9D,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;gBAE9F,IAAI,cAAc,EAAE,CAAC;oBACpB,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACnC,OAAO,cAAc,CAAC;gBACvB,CAAC;gBAED,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;gBACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEvC,OAAO,YAAY,CAAC;YACrB,CAAC;QACF,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,CAAQ;QACrB,MAAM,KAAK,GAAI,CAAC,CAAC,MAAgB,EAAE,KAAK,CAAC;QAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAElC,OAAO;QACR,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9F,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAA4B;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAgB,CAAC;IACtE,CAAC;IAED,IAAI,yBAAyB;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IACxC,CAAC;IAED,YAAY;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACzG,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAEvE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;YAC3B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,aAAa;QACZ,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,CAAC;IACF,CAAC;IAED,cAAc;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,IAAI,gBAAgB;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvD,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvD,OAAO,GAAG,kBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,KAAK,WAAW,EAAE,CAAC;YACnG,CAAC;QACF,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,OAAO,GAAG,kBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,KAAK,WAAW,EAAE,CAAC;YACnG,CAAC;QACF,CAAC;QAED,OAAO,kBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACpF,CAAC;IAED,qBAAqB,CAAC,CAAc;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,qBAAqB,IAAI,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAA0B,CAAC;QAEzI,gDAAgD;QAChD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;YACvF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;IAED,cAAc,CAAC,CAAgB;QAC9B,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACd,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC7B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7B,CAAC;QACF,CAAC;IACF,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACtB,CAAC;IACF,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAChC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,+CAA+C;YACnE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAgB,EAAE,MAAyC;QAC1E,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,QAAgB;QACrC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;;AA3QM,+BAAc,GAA4E,IAAI,GAAG,EAAE,AAArF,CAAsF;AA3B3G;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CACF;AAS9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACd;AAQb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACf;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACc;AAGzC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACU;AAOrC;IADC,KAAK,CAAC,aAAa,CAAC;gDACN;AAGf;IADC,KAAK,CAAC,YAAY,CAAC;+CACP;AAzCN;IADN,IAAI,CAAC,oBAAoB,CAAC;0CACG;AANzB,gBAAgB;IApBrB,aAAa,CAAC;QACd,GAAG,EAAE,wBAAwB;QAC7B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,wBAAwB;QAClC,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE;YACP,mBAAmB;YACnB,0BAA0B;YAC1B,0BAA0B;SAC1B;KACD,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;GACI,gBAAgB,CAqTrB;AAED,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAE1B,eAAe,gBAAgB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base\";\nimport { isF4, isShow } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport DynamicDateRangeTemplate from \"./DynamicDateRangeTemplate.js\";\nimport IconMode from \"./types/IconMode.js\";\nimport type Input from \"./Input.js\";\nimport type List from \"./List.js\";\nimport type ListItem from \"./ListItem.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_SELECTED_TEXT,\n\tDYNAMIC_DATE_RANGE_EMPTY_SELECTED_TEXT,\n\tDYNAMIC_DATE_RANGE_NAVIGATION_ICON_TOOLTIP,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Styles\nimport dynamicDateRangeCss from \"./generated/themes/DynamicDateRange.css.js\";\nimport dynamicDateRangePopoverCss from \"./generated/themes/DynamicDateRangePopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\ntype DynamicDateRangeValue = {\n\t/**\n\t * The key of the option.\n\t * @default \"\"\n\t * @public\n\t */\n\toperator: string;\n\n\t/**\n\t * Values of the dynamic date range.\n\t * @default []\n\t * @public\n\t */\n\tvalues?: Array<Date> | Array<number>;\n}\n\n/**\n * Represents a dynamic date range option used by the `ui5-dynamic-date-range` component.\n *\n * Represents a dynamic date range option used for handling dynamic date ranges.\n * This interface defines the structure and behavior required for implementing\n * dynamic date range options, including formatting, parsing, validation, and\n * conversion of date range values.\n *\n * * Properties:\n * - `icon`: The icon associated with the dynamic date range option, typically used for UI representation.\n * - `operator`: A unique operator identifying the dynamic date range option.\n * - `text`: The display text for the dynamic date range option.\n * - `template` (optional): A JSX template for rendering the dynamic date range option.\n *\n * Methods:\n * - `format(value: DynamicDateRangeValue): string`: Formats the given dynamic date range value into a string representation.\n * - `parse(value: string): DynamicDateRangeValue | undefined`: Parses a string into a dynamic date range value.\n * - `toDates(value: DynamicDateRangeValue): Array<Date>`: Converts a dynamic date range value into an array of `Date` objects.\n * - `handleSelectionChange?(event: CustomEvent): DynamicDateRangeValue | undefined`: (Optional) Handles selection changes in the UI of the dynamic date range option.\n * - `isValidString(value: string): boolean`: Validates whether a given string is a valid representation of the dynamic date range value.\n *\n * @public\n * @since 2.11.0\n */\ninterface IDynamicDateRangeOption {\n\ticon: string;\n\toperator: string;\n\ttext: string;\n\tformat: (value: DynamicDateRangeValue) => string;\n\tparse: (value: string) => DynamicDateRangeValue | undefined;\n\ttoDates: (value: DynamicDateRangeValue) => Array<Date>;\n\thandleSelectionChange?: (event: CustomEvent) => DynamicDateRangeValue | undefined;\n\ttemplate?: JsxTemplate;\n\tisValidString: (value: string) => boolean;\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-dynamic-date-range` component provides a flexible interface to define date ranges using a combination of absolute dates, relative intervals, and preset ranges (e.g., \"Today\", \"Yesterday\", etc.).\n * It allows users to select a date range from a predefined set of options or enter custom dates.\n *\n * ### Usage\n *\n * The component is typically used in scenarios where users need to filter data based on date ranges, such as in reports, dashboards, or data analysis tools.\n * It can be used with the predefined options or extended with custom options to suit specific requirements. You can create your own options by extending the `IDynamicDateRangeOption` interface.\n * Every option should be registered using the `DynamicDateRange.register` method.\n *\n * If needed, you can also create a range of dates based on specific option using the `toDates` method.\n *\n * ### Standard Options\n *\n * The component comes with a set of standard options, including:\n * - \"TODAY\" - Represents the current date. An example value is `{ operator: \"TODAY\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Today.js\";`\n * - \"YESTERDAY\" - Represents the previous date. An example value is `{ operator: \"YESTERDAY\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Yesterday.js\";`\n * - \"TOMORROW\" - Represents the next date. An example value is `{ operator: \"TOMORROW\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Tomorrow.js\";`\n * - \"DATE\" - Represents a single date. An example value is `{ operator: \"DATE\", values: [new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/SingleDate.js\";`\n * - \"DATERANGE\" - Represents a range of dates. An example value is `{ operator: \"DATERANGE\", values: [new Date(), new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/DateRange.js\";`\n * - \"LASTDAYS\" - Represents Last X Days from today. An example value is `{ operator: \"LASTDAYS\", values: [2]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n * - \"LASTWEEKS\" - Represents Last X Weeks from today. An example value is `{ operator: \"LASTWEEKS\", values: [3]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n * - \"LASTMONTHS\" - Represents Last X Months from today. An example value is `{ operator: \"LASTMONTHS\", values: [6]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n * - \"LASTQUARTERS\" - Represents Last X Quarters from today. An example value is `{ operator: \"LASTQUARTERS\", values: [2]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n * - \"LASTYEARS\" - Represents Last X Years from today. An example value is `{ operator: \"LASTYEARS\", values: [1]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n * - \"NEXTDAYS\" - Represents Next X Days from today. An example value is `{ operator: \"NEXTDAYS\", values: [2]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n * - \"NEXTWEEKS\" - Represents Next X Weeks from today. An example value is `{ operator: \"NEXTWEEKS\", values: [3]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n * - \"NEXTMONTHS\" - Represents Next X Months from today. An example value is `{ operator: \"NEXTMONTHS\", values: [6]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n * - \"NEXTQUARTERS\" - Represents Next X Quarters from today. An example value is `{ operator: \"NEXTQUARTERS\", values: [2]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n * - \"NEXTYEARS\" - Represents Next X Years from today. An example value is `{ operator: \"NEXTYEARS\", values: [1]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/DynamicDateRange.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.11.0\n */\n@customElement({\n\ttag: \"ui5-dynamic-date-range\",\n\tlanguageAware: true,\n\ttemplate: DynamicDateRangeTemplate,\n\trenderer: jsxRenderer,\n\tstyles: [\n\t\tdynamicDateRangeCss,\n\t\tResponsivePopoverCommonCss,\n\t\tdynamicDateRangePopoverCss,\n\t],\n})\n\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout or a value is selected in the popover.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass DynamicDateRange extends UI5Element {\n\teventDetails!: {\n\t\tchange: void,\n\t}\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines the value object.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ noAttribute: true })\n\tvalue?: DynamicDateRangeValue;\n\n\t/**\n\t * Defines the options listed as a string, separated by commas and using capital case.\n\t * Example: \"TODAY, YESTERDAY, DATERANGE\"\n\t * @public\n\t * @default \"\"\n\t */\n\t@property({ type: String })\n\toptions = \"\";\n\n\t/**\n\t * Defines the open or closed state of the popover.\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t@property({ type: Object })\n\t_currentOption?: IDynamicDateRangeOption;\n\n\t@property({ type: Object })\n\tcurrentValue?: DynamicDateRangeValue;\n\n\toptionsObjects: Array<IDynamicDateRangeOption> = [];\n\n\tstatic optionsClasses: Map<string, new (operators?: Array<string>) => IDynamicDateRangeOption> = new Map();\n\n\t@query(\"[ui5-input]\")\n\t_input?: Input;\n\n\t@query(\"[ui5-list]\")\n\t_list?: List;\n\n\tonBeforeRendering() {\n\t\tthis.optionsObjects = this._createNormalizedOptions();\n\t\tthis._focusSelectedItem();\n\t}\n\n\t/**\n\t * Creates and normalizes options from the options string\n\t */\n\t_createNormalizedOptions(): Array<IDynamicDateRangeOption> {\n\t\tif (!this.optionsObjects.length) { // initialize options on first use\n\t\t\tconst optionKeys = this.splitOptions(this.options).filter(Boolean);\n\t\t\tconst createdOptions: Array<IDynamicDateRangeOption> = [];\n\t\t\tconst classToOperators = new Map<new(operators?: Array<string>) => IDynamicDateRangeOption, Array<string>>();\n\n\t\t\t// Group operators by their class\n\t\t\toptionKeys.forEach(option => {\n\t\t\t\tconst OptionClass = DynamicDateRange.getOptionClass(option);\n\t\t\t\tif (OptionClass) {\n\t\t\t\t\tconst operators = classToOperators.get(OptionClass) || [];\n\t\t\t\t\toperators.push(option);\n\t\t\t\t\tclassToOperators.set(OptionClass, operators);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tclassToOperators.forEach((operators, OptionClass) => {\n\t\t\t\tcreatedOptions.push(new OptionClass(operators));\n\t\t\t});\n\n\t\t\treturn createdOptions;\n\t\t}\n\t\treturn this.optionsObjects;\n\t}\n\n\tsplitOptions(options: string): Array<string> {\n\t\treturn options.split(\",\").map(s => s.trim());\n\t}\n\n\t_focusSelectedItem() {\n\t\tif (!this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst listItem = this._list?.items.find(item => (item as ListItem).selected === true);\n\t\tif (listItem) {\n\t\t\tthis._list?.focusItem(listItem as ListItem);\n\t\t}\n\t}\n\n\t/**\n\t * Defines whether the value help icon is hidden\n\t * @private\n\t */\n\tget _iconMode() {\n\t\treturn isDesktop() ? IconMode.Decorative : IconMode.Interactive;\n\t}\n\n\tget tooltipNavigationIcon() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_NAVIGATION_ICON_TOOLTIP);\n\t}\n\n\t_togglePicker(): void {\n\t\tif (this.open) {\n\t\t\tthis.open = false;\n\t\t} else {\n\t\t\tthis.open = true;\n\t\t}\n\t}\n\n\t_selectOption(e: CustomEvent): void {\n\t\tthis._currentOption = this.optionsObjects.find(option => option.text === e.detail.item.textContent);\n\n\t\tif (!this._currentOption?.template) {\n\t\t\tthis.currentValue = this._currentOption?.parse(this._currentOption.text);\n\t\t\tthis._submitValue();\n\t\t} else if (!this.currentValue || this.currentValue.operator !== this._currentOption.operator) {\n\t\t\tthis.currentValue = undefined;\n\t\t}\n\n\t\tif (this._currentOption?.operator === this.value?.operator) {\n\t\t\tthis.currentValue = this.value;\n\t\t}\n\t}\n\n\tgetOption(operator?: string) {\n\t\tif (!operator) {\n\t\t\treturn this._currentOption;\n\t\t}\n\n\t\tconst resultOption = this.optionsObjects.find(option => option.operator === operator);\n\n\t\tif (!resultOption) {\n\t\t\tconst OptionClass = DynamicDateRange.getOptionClass(operator);\n\n\t\t\tif (OptionClass) {\n\t\t\t\tconst existingOption = this.optionsObjects.find(option => option.constructor === OptionClass);\n\n\t\t\t\tif (existingOption) {\n\t\t\t\t\texistingOption.operator = operator;\n\t\t\t\t\treturn existingOption;\n\t\t\t\t}\n\n\t\t\t\tconst optionObject = new OptionClass();\n\t\t\t\tthis.optionsObjects.push(optionObject);\n\n\t\t\t\treturn optionObject;\n\t\t\t}\n\t\t}\n\n\t\treturn resultOption;\n\t}\n\n\tonInputChange(e: Event): void {\n\t\tconst value = (e.target as Input)?.value;\n\n\t\tif (!value) {\n\t\t\tthis.value = undefined;\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentOption = this.optionsObjects.find(option => option.isValidString(value));\n\n\t\tthis.value = currentOption ? this.getOption(currentOption.operator)?.parse(value) : undefined;\n\n\t\tif (this.value) {\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\t}\n\n\tonButtonBackClick() {\n\t\tthis._currentOption = undefined;\n\t}\n\n\t/**\n\t * Converts a `value` into concrete `startDate` and `endDate` JavaScript `Date` objects.\n\t *\n\t * @public\n\t * @param value The option to convert into an array of date ranges\n\t * @returns An array of two `Date` objects representing the start and end dates.\n\t */\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn this.getOption(value.operator)?.toDates(value) as Array<Date>;\n\t}\n\n\tget _hasCurrentOptionTemplate(): boolean {\n\t\treturn !!this._currentOption?.template;\n\t}\n\n\t_submitValue() {\n\t\tconst valueToSubmit = this.currentValue || { operator: this._currentOption?.operator || \"\", values: [] };\n\t\tconst displayString = this._currentOption?.format(valueToSubmit) || \"\";\n\n\t\tif (this._input) {\n\t\t\tthis._input.value = displayString;\n\t\t}\n\n\t\tif (!this._currentOption || !valueToSubmit.operator) {\n\t\t\tthis.value = undefined;\n\t\t} else if (this._currentOption.isValidString(displayString)) {\n\t\t\tthis.value = valueToSubmit;\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t} else {\n\t\t\tthis.value = undefined;\n\t\t}\n\n\t\tthis._currentOption = undefined;\n\t\tthis.open = false;\n\t}\n\n\t_close() {\n\t\tthis._currentOption = undefined;\n\t\tthis.open = false;\n\t}\n\n\tonPopoverOpen() {\n\t\tif (this.currentValue !== this.value) {\n\t\t\tthis.currentValue = this.value;\n\t\t}\n\t}\n\n\tonPopoverClose() {\n\t\tthis._close();\n\t}\n\n\tget currentValueText() {\n\t\tif (this.currentValue) {\n\t\t\tconst correctOption = this.getOption(this.currentValue.operator);\n\t\t\tif (correctOption) {\n\t\t\t\tconst dates = correctOption.toDates(this.currentValue);\n\t\t\t\tconst displayValue = { ...this.currentValue, values: dates };\n\t\t\t\tconst displayText = correctOption.format(displayValue);\n\t\t\t\treturn `${DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_SELECTED_TEXT)}: ${displayText}`;\n\t\t\t}\n\t\t}\n\n\t\tif (this._currentOption) {\n\t\t\tconst emptyValue = { operator: this._currentOption.operator, values: [] };\n\t\t\tconst displayText = this._currentOption.format(emptyValue);\n\t\t\tif (displayText && displayText.trim()) {\n\t\t\t\treturn `${DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_SELECTED_TEXT)}: ${displayText}`;\n\t\t\t}\n\t\t}\n\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_EMPTY_SELECTED_TEXT);\n\t}\n\n\thandleSelectionChange(e: CustomEvent) {\n\t\tthis.currentValue = this._currentOption?.handleSelectionChange && this._currentOption?.handleSelectionChange(e) as DynamicDateRangeValue;\n\n\t\t// Update _currentOption if the operator changed\n\t\tif (this.currentValue && this.currentValue.operator !== this._currentOption?.operator) {\n\t\t\tthis._currentOption = this.getOption(this.currentValue.operator);\n\t\t}\n\t}\n\n\tonInputKeyDown(e: KeyboardEvent) {\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tif (this.open) {\n\t\t\t\tif (!isF4(e)) {\n\t\t\t\t\tthis._toggleAndFocusInput();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._toggleAndFocusInput();\n\t\t\t}\n\t\t}\n\t}\n\n\t_toggleAndFocusInput() {\n\t\tthis._togglePicker();\n\t\tif (this.open) {\n\t\t\tthis._input?.focus();\n\t\t}\n\t}\n\n\tonKeyDownPopover(e: KeyboardEvent) {\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault(); // Prevent scroll on Alt/Option + Arrow Up/Down\n\t\t\tthis._toggleAndFocusInput();\n\t\t}\n\t}\n\n\t/**\n\t * Registers a new dynamic date range option with a unique key.\n\t *\n\t * Example:\n\t * DynamicDateRange.register(\"LASTWEEK\", LastWeek);\n\t */\n\tstatic register(operator: string, option: new () => IDynamicDateRangeOption): void {\n\t\toperator = operator.toUpperCase();\n\n\t\tif (!this.optionsClasses.has(operator)) {\n\t\t\tthis.optionsClasses.set(operator, option);\n\t\t}\n\t}\n\n\tstatic getOptionClass(operator: string): (new () => IDynamicDateRangeOption) | undefined {\n\t\treturn this.optionsClasses.get(operator);\n\t}\n}\n\nDynamicDateRange.define();\n\nexport default DynamicDateRange;\n\nexport type {\n\tDynamicDateRangeValue,\n\tIDynamicDateRangeOption,\n};\n"]}
@@ -3,9 +3,7 @@ import Icon from "./Icon.js";
3
3
  import Input from "./Input.js";
4
4
  import appointment from "@ui5/webcomponents-icons/dist/appointment-2.js";
5
5
  export default function DynamicDateRangeInputTemplate() {
6
- return (_jsx("div", { class: "ui5-dynamic-date-range-root", style: {
7
- width: "100%",
8
- }, children: _jsx(Input, { "data-sap-focus-ref": true, id: `${this._id}-inner`, class: "ui5-dynamic-date-range-input", value: this.value && this.getOption(this.value?.operator)?.format(this.value), onChange: this.onInputChange, onKeyDown: this.onInputKeyDown, children: _jsx(Icon, { id: `${this._id}-value-help`, slot: "icon", name: appointment, tabindex: -1, mode: this._iconMode, onClick: this._togglePicker, class: {
6
+ return (_jsx("div", { class: "ui5-dynamic-date-range-root", children: _jsx(Input, { "data-sap-focus-ref": true, id: `${this._id}-inner`, class: "ui5-dynamic-date-range-input", value: this.value && this.getOption(this.value?.operator)?.format(this.value), onChange: this.onInputChange, onKeyDown: this.onInputKeyDown, children: _jsx(Icon, { id: `${this._id}-value-help`, slot: "icon", name: appointment, tabindex: -1, mode: this._iconMode, onClick: this._togglePicker, class: {
9
7
  "inputIcon": true,
10
8
  "inputIcon--pressed": this.open,
11
9
  } }) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicDateRangeInputTemplate.js","sourceRoot":"","sources":["../src/DynamicDateRangeInputTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,WAAW,MAAM,gDAAgD,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,6BAA6B;IACpD,OAAO,CACN,cACC,KAAK,EAAC,6BAA6B,EACnC,KAAK,EAAE;YACN,KAAK,EAAE,MAAM;SACb,YAED,KAAC,KAAK,gCAEL,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,EACvB,KAAK,EAAC,8BAA8B,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAC7E,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAE,IAAI,CAAC,cAAc,YAE9B,KAAC,IAAI,IACJ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,EAC5B,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAE;oBACN,WAAW,EAAE,IAAI;oBACjB,oBAAoB,EAAE,IAAI,CAAC,IAAI;iBAC/B,GACA,GAEK,GACH,CACN,CAAC;AACH,CAAC","sourcesContent":["import type DynamicDateRange from \"./DynamicDateRange.js\";\nimport Icon from \"./Icon.js\";\nimport Input from \"./Input.js\";\nimport appointment from \"@ui5/webcomponents-icons/dist/appointment-2.js\";\n\nexport default function DynamicDateRangeInputTemplate(this: DynamicDateRange) {\n\treturn (\n\t\t<div\n\t\t\tclass=\"ui5-dynamic-date-range-root\"\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t}}\n\t\t>\n\t\t\t<Input\n\t\t\t\tdata-sap-focus-ref\n\t\t\t\tid={`${this._id}-inner`}\n\t\t\t\tclass=\"ui5-dynamic-date-range-input\"\n\t\t\t\tvalue={this.value && this.getOption(this.value?.operator)?.format(this.value)}\n\t\t\t\tonChange={this.onInputChange}\n\t\t\t\tonKeyDown={this.onInputKeyDown}\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tid={`${this._id}-value-help`}\n\t\t\t\t\tslot=\"icon\"\n\t\t\t\t\tname={appointment}\n\t\t\t\t\ttabindex={-1}\n\t\t\t\t\tmode={this._iconMode}\n\t\t\t\t\tonClick={this._togglePicker}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\"inputIcon--pressed\": this.open,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\n\t\t\t</Input>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"file":"DynamicDateRangeInputTemplate.js","sourceRoot":"","sources":["../src/DynamicDateRangeInputTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,WAAW,MAAM,gDAAgD,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,6BAA6B;IACpD,OAAO,CACN,cAAK,KAAK,EAAC,6BAA6B,YACvC,KAAC,KAAK,gCAEL,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,EACvB,KAAK,EAAC,8BAA8B,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAC7E,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAE,IAAI,CAAC,cAAc,YAE9B,KAAC,IAAI,IACJ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,EAC5B,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAE;oBACN,WAAW,EAAE,IAAI;oBACjB,oBAAoB,EAAE,IAAI,CAAC,IAAI;iBAC/B,GACA,GAEK,GACH,CACN,CAAC;AACH,CAAC","sourcesContent":["import type DynamicDateRange from \"./DynamicDateRange.js\";\nimport Icon from \"./Icon.js\";\nimport Input from \"./Input.js\";\nimport appointment from \"@ui5/webcomponents-icons/dist/appointment-2.js\";\n\nexport default function DynamicDateRangeInputTemplate(this: DynamicDateRange) {\n\treturn (\n\t\t<div class=\"ui5-dynamic-date-range-root\">\n\t\t\t<Input\n\t\t\t\tdata-sap-focus-ref\n\t\t\t\tid={`${this._id}-inner`}\n\t\t\t\tclass=\"ui5-dynamic-date-range-input\"\n\t\t\t\tvalue={this.value && this.getOption(this.value?.operator)?.format(this.value)}\n\t\t\t\tonChange={this.onInputChange}\n\t\t\t\tonKeyDown={this.onInputKeyDown}\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tid={`${this._id}-value-help`}\n\t\t\t\t\tslot=\"icon\"\n\t\t\t\t\tname={appointment}\n\t\t\t\t\ttabindex={-1}\n\t\t\t\t\tmode={this._iconMode}\n\t\t\t\t\tonClick={this._togglePicker}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\"inputIcon--pressed\": this.open,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\n\t\t\t</Input>\n\t\t</div>\n\t);\n}\n"]}
@@ -8,9 +8,7 @@ import slimArrowLeft from "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
8
8
  import ListItemType from "./types/ListItemType.js";
9
9
  export default function DynamicDateRangePopoverTemplate() {
10
10
  return (_jsxs(ResponsivePopover, { id: `${this._id}-responsive-popover`, opener: this, open: this.open, allowTargetOverlap: true, placement: "Bottom", horizontalAlign: "Start", hideArrow: true, _hideHeader: true, onClose: this.onPopoverClose, onOpen: this.onPopoverOpen, onKeyDown: this.onKeyDownPopover, children: [this._hasCurrentOptionTemplate &&
11
- _jsxs("div", { slot: "header", class: "ui5-ddr-header", children: [_jsx(Button, { iconOnly: true, icon: slimArrowLeft, design: "Transparent", onClick: this.onButtonBackClick, tooltip: this.tooltipNavigationIcon }), _jsx(Title, { children: this._currentOption?.text })] }), !this._hasCurrentOptionTemplate ? _jsx("div", { class: "ui5-dynamic-date-range-options", children: _jsx(List, { class: "ui5-dynamic-date-range-options-list", separators: "None", selectionMode: "Single", onItemClick: this._selectOption, children: this.optionsObjects.map(option => {
12
- return _jsx(ListItemStandard, { selected: option.operator === this.value?.operator, iconEnd: true, icon: option.icon, type: !option.template ? ListItemType.Active : ListItemType.Navigation, children: option.text });
13
- }) }) })
11
+ _jsxs("div", { slot: "header", class: "ui5-ddr-header", children: [_jsx(Button, { iconOnly: true, icon: slimArrowLeft, design: "Transparent", onClick: this.onButtonBackClick, tooltip: this.tooltipNavigationIcon }), _jsx(Title, { children: this._currentOption?.text })] }), !this._hasCurrentOptionTemplate ? _jsx("div", { class: "ui5-dynamic-date-range-options", children: _jsx(List, { class: "ui5-dynamic-date-range-options-list", separators: "None", selectionMode: "Single", onItemClick: this._selectOption, children: this.optionsObjects.map(option => (_jsx(ListItemStandard, { selected: option.operator === this.value?.operator, iconEnd: true, icon: option.icon, wrappingType: "Normal", type: option.template ? ListItemType.Navigation : ListItemType.Active, children: option.text }))) }) })
14
12
  :
15
13
  _jsxs("div", { class: "ui5-dynamic-date-range-option-container", children: [this._currentOption?.template?.call(this), _jsx("div", { class: "ui5-ddr-current-value", children: this.currentValueText })] }), this._hasCurrentOptionTemplate &&
16
14
  _jsxs("div", { slot: "footer", children: [_jsx(Button, { design: "Emphasized", onClick: this._submitValue, children: "Submit" }), _jsx(Button, { design: "Transparent", onClick: this._close, children: "Close" })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicDateRangePopoverTemplate.js","sourceRoot":"","sources":["../src/DynamicDateRangePopoverTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,aAAa,MAAM,kDAAkD,CAAC;AAC7E,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,+BAA+B;IACtD,OAAO,CACN,MAAC,iBAAiB,IACjB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,qBAAqB,EACpC,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,kBAAkB,QAClB,SAAS,EAAC,QAAQ,EAClB,eAAe,EAAC,OAAO,EACvB,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,MAAM,EAAE,IAAI,CAAC,aAAa,EAC1B,SAAS,EAAE,IAAI,CAAC,gBAAgB,aAE/B,IAAI,CAAC,yBAAyB;gBAC9B,eAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB,aACxC,KAAC,MAAM,IACN,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,aAAa,EACnB,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,OAAO,EAAE,IAAI,CAAC,qBAAqB,GAC3B,EACT,KAAC,KAAK,cAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAS,IACrC,EAEN,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,cAAK,KAAK,EAAC,gCAAgC,YAC7E,KAAC,IAAI,IACJ,KAAK,EAAC,qCAAqC,EAC3C,UAAU,EAAC,MAAM,EACjB,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,aAAa,YAE9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBACjC,OAAO,KAAC,gBAAgB,IACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE,QAAQ,EAClD,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,YACrE,MAAM,CAAC,IAAI,GACM,CAAC;oBACrB,CAAC,CAAC,GACI,GACF;gBACL,CAAC;oBACD,eAAK,KAAK,EAAC,yCAAyC,aAClD,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAC1C,cAAK,KAAK,EAAC,uBAAuB,YAAE,IAAI,CAAC,gBAAgB,GAAO,IAC3D,EAEN,IAAI,CAAC,yBAAyB;gBAC9B,eAAK,IAAI,EAAC,QAAQ,aACjB,KAAC,MAAM,IACN,MAAM,EAAC,YAAY,EACnB,OAAO,EAAE,IAAI,CAAC,YAAY,uBACX,EAChB,KAAC,MAAM,IACN,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,MAAM,sBACN,IACV,IAEY,CACpB,CAAC;AACH,CAAC","sourcesContent":["import type DynamicDateRange from \"./DynamicDateRange.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport ListItemStandard from \"./ListItemStandard.js\";\nimport Button from \"./Button.js\";\nimport Title from \"./Title.js\";\nimport slimArrowLeft from \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport ListItemType from \"./types/ListItemType.js\";\n\nexport default function DynamicDateRangePopoverTemplate(this: DynamicDateRange) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\tid={`${this._id}-responsive-popover`}\n\t\t\topener={this}\n\t\t\topen={this.open}\n\t\t\tallowTargetOverlap\n\t\t\tplacement=\"Bottom\"\n\t\t\thorizontalAlign=\"Start\"\n\t\t\thideArrow={true}\n\t\t\t_hideHeader={true}\n\t\t\tonClose={this.onPopoverClose}\n\t\t\tonOpen={this.onPopoverOpen}\n\t\t\tonKeyDown={this.onKeyDownPopover}\n\t\t>\n\t\t\t{this._hasCurrentOptionTemplate &&\n\t\t\t\t<div slot=\"header\" class=\"ui5-ddr-header\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\ticon={slimArrowLeft}\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this.onButtonBackClick}\n\t\t\t\t\t\ttooltip={this.tooltipNavigationIcon}>\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Title>{this._currentOption?.text}</Title>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t{!this._hasCurrentOptionTemplate ? <div class=\"ui5-dynamic-date-range-options\">\n\t\t\t\t<List\n\t\t\t\t\tclass=\"ui5-dynamic-date-range-options-list\"\n\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\tselectionMode=\"Single\"\n\t\t\t\t\tonItemClick={this._selectOption}\n\t\t\t\t>\n\t\t\t\t\t{this.optionsObjects.map(option => {\n\t\t\t\t\t\treturn <ListItemStandard\n\t\t\t\t\t\t\tselected={option.operator === this.value?.operator}\n\t\t\t\t\t\t\ticonEnd={true}\n\t\t\t\t\t\t\ticon={option.icon}\n\t\t\t\t\t\t\ttype={!option.template ? ListItemType.Active : ListItemType.Navigation}>\n\t\t\t\t\t\t\t{option.text}\n\t\t\t\t\t\t</ListItemStandard>;\n\t\t\t\t\t})}\n\t\t\t\t</List>\n\t\t\t</div>\n\t\t\t\t:\n\t\t\t\t<div class=\"ui5-dynamic-date-range-option-container\">\n\t\t\t\t\t{this._currentOption?.template?.call(this)}\n\t\t\t\t\t<div class=\"ui5-ddr-current-value\">{this.currentValueText}</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t{this._hasCurrentOptionTemplate &&\n\t\t\t\t<div slot=\"footer\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdesign=\"Emphasized\"\n\t\t\t\t\t\tonClick={this._submitValue}\n\t\t\t\t\t>Submit</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this._close}\n\t\t\t\t\t>Close</Button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ResponsivePopover>\n\t);\n}\n"]}
1
+ {"version":3,"file":"DynamicDateRangePopoverTemplate.js","sourceRoot":"","sources":["../src/DynamicDateRangePopoverTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,aAAa,MAAM,kDAAkD,CAAC;AAC7E,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,+BAA+B;IACtD,OAAO,CACN,MAAC,iBAAiB,IACjB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,qBAAqB,EACpC,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,kBAAkB,QAClB,SAAS,EAAC,QAAQ,EAClB,eAAe,EAAC,OAAO,EACvB,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,MAAM,EAAE,IAAI,CAAC,aAAa,EAC1B,SAAS,EAAE,IAAI,CAAC,gBAAgB,aAE/B,IAAI,CAAC,yBAAyB;gBAC9B,eAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB,aACxC,KAAC,MAAM,IACN,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,aAAa,EACnB,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,OAAO,EAAE,IAAI,CAAC,qBAAqB,GAC3B,EACT,KAAC,KAAK,cAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAS,IACrC,EAEN,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,cAAK,KAAK,EAAC,gCAAgC,YAC7E,KAAC,IAAI,IACJ,KAAK,EAAC,qCAAqC,EAC3C,UAAU,EAAC,MAAM,EACjB,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,aAAa,YAE9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAClC,KAAC,gBAAgB,IAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE,QAAQ,EAClD,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,YAAY,EAAC,QAAQ,EACrB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,YAEpE,MAAM,CAAC,IAAI,GACM,CACnB,CAAC,GACI,GACF;gBACL,CAAC;oBACD,eAAK,KAAK,EAAC,yCAAyC,aAClD,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAC1C,cAAK,KAAK,EAAC,uBAAuB,YAAE,IAAI,CAAC,gBAAgB,GAAO,IAC3D,EAEN,IAAI,CAAC,yBAAyB;gBAC9B,eAAK,IAAI,EAAC,QAAQ,aACjB,KAAC,MAAM,IACN,MAAM,EAAC,YAAY,EACnB,OAAO,EAAE,IAAI,CAAC,YAAY,uBACX,EAChB,KAAC,MAAM,IACN,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,MAAM,sBACN,IACV,IAEY,CACpB,CAAC;AACH,CAAC","sourcesContent":["import type DynamicDateRange from \"./DynamicDateRange.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport ListItemStandard from \"./ListItemStandard.js\";\nimport Button from \"./Button.js\";\nimport Title from \"./Title.js\";\nimport slimArrowLeft from \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport ListItemType from \"./types/ListItemType.js\";\n\nexport default function DynamicDateRangePopoverTemplate(this: DynamicDateRange) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\tid={`${this._id}-responsive-popover`}\n\t\t\topener={this}\n\t\t\topen={this.open}\n\t\t\tallowTargetOverlap\n\t\t\tplacement=\"Bottom\"\n\t\t\thorizontalAlign=\"Start\"\n\t\t\thideArrow={true}\n\t\t\t_hideHeader={true}\n\t\t\tonClose={this.onPopoverClose}\n\t\t\tonOpen={this.onPopoverOpen}\n\t\t\tonKeyDown={this.onKeyDownPopover}\n\t\t>\n\t\t\t{this._hasCurrentOptionTemplate &&\n\t\t\t\t<div slot=\"header\" class=\"ui5-ddr-header\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\ticon={slimArrowLeft}\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this.onButtonBackClick}\n\t\t\t\t\t\ttooltip={this.tooltipNavigationIcon}>\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Title>{this._currentOption?.text}</Title>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t{!this._hasCurrentOptionTemplate ? <div class=\"ui5-dynamic-date-range-options\">\n\t\t\t\t<List\n\t\t\t\t\tclass=\"ui5-dynamic-date-range-options-list\"\n\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\tselectionMode=\"Single\"\n\t\t\t\t\tonItemClick={this._selectOption}\n\t\t\t\t>\n\t\t\t\t\t{this.optionsObjects.map(option => (\n\t\t\t\t\t\t<ListItemStandard\n\t\t\t\t\t\t\tselected={option.operator === this.value?.operator}\n\t\t\t\t\t\t\ticonEnd={true}\n\t\t\t\t\t\t\ticon={option.icon}\n\t\t\t\t\t\t\twrappingType=\"Normal\"\n\t\t\t\t\t\t\ttype={option.template ? ListItemType.Navigation : ListItemType.Active}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{option.text}\n\t\t\t\t\t\t</ListItemStandard>\n\t\t\t\t\t))}\n\t\t\t\t</List>\n\t\t\t</div>\n\t\t\t\t:\n\t\t\t\t<div class=\"ui5-dynamic-date-range-option-container\">\n\t\t\t\t\t{this._currentOption?.template?.call(this)}\n\t\t\t\t\t<div class=\"ui5-ddr-current-value\">{this.currentValueText}</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t{this._hasCurrentOptionTemplate &&\n\t\t\t\t<div slot=\"footer\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdesign=\"Emphasized\"\n\t\t\t\t\t\tonClick={this._submitValue}\n\t\t\t\t\t>Submit</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this._close}\n\t\t\t\t\t>Close</Button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ResponsivePopover>\n\t);\n}\n"]}
package/dist/List.d.ts CHANGED
@@ -2,6 +2,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
3
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
4
4
  import type { ClassMap } from "@ui5/webcomponents-base/dist/types.js";
5
+ import DragAndDropHandler from "./delegate/DragAndDropHandler.js";
5
6
  import type { MoveEventDetail } from "@ui5/webcomponents-base/dist/util/dragAndDrop/DragRegistry.js";
6
7
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
7
8
  import ListSelectionMode from "./types/ListSelectionMode.js";
@@ -294,6 +295,7 @@ declare class List extends UI5Element {
294
295
  onForwardAfterBound: (e: CustomEvent) => void;
295
296
  onForwardBeforeBound: (e: CustomEvent) => void;
296
297
  onItemTabIndexChangeBound: (e: CustomEvent) => void;
298
+ _dragAndDropHandler: DragAndDropHandler;
297
299
  constructor();
298
300
  /**
299
301
  * Returns an array containing the list item instances without the groups in a flat structure.
package/dist/List.js CHANGED
@@ -17,11 +17,9 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
17
17
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
18
18
  import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
19
19
  import { isTabNext, isSpace, isEnter, isTabPrevious, isCtrl, isEnd, isHome, isDown, isUp, } from "@ui5/webcomponents-base/dist/Keys.js";
20
- import handleDragOver from "@ui5/webcomponents-base/dist/util/dragAndDrop/handleDragOver.js";
21
- import handleDrop from "@ui5/webcomponents-base/dist/util/dragAndDrop/handleDrop.js";
22
- import Orientation from "@ui5/webcomponents-base/dist/types/Orientation.js";
23
20
  import DragRegistry from "@ui5/webcomponents-base/dist/util/dragAndDrop/DragRegistry.js";
24
- import { findClosestPosition, findClosestPositionsByKey } from "@ui5/webcomponents-base/dist/util/dragAndDrop/findClosestPosition.js";
21
+ import DragAndDropHandler from "./delegate/DragAndDropHandler.js";
22
+ import { findClosestPositionsByKey } from "@ui5/webcomponents-base/dist/util/dragAndDrop/findClosestPosition.js";
25
23
  import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
26
24
  import { getAllAccessibleDescriptionRefTexts, getEffectiveAriaDescriptionText, getEffectiveAriaLabelText, registerUI5Element, deregisterUI5Element, getAllAccessibleNameRefTexts, } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
27
25
  import getNormalizedTarget from "@ui5/webcomponents-base/dist/util/getNormalizedTarget.js";
@@ -206,6 +204,13 @@ let List = List_1 = class List extends UI5Element {
206
204
  this.onForwardAfterBound = this.onForwardAfter.bind(this);
207
205
  this.onForwardBeforeBound = this.onForwardBefore.bind(this);
208
206
  this.onItemTabIndexChangeBound = this.onItemTabIndexChange.bind(this);
207
+ // Initialize the DragAndDropHandler with the necessary configurations
208
+ // The handler will manage the drag and drop operations for the list items.
209
+ this._dragAndDropHandler = new DragAndDropHandler(this, {
210
+ getItems: () => this.items,
211
+ getDropIndicator: () => this.dropIndicatorDOM,
212
+ useOriginalEvent: true,
213
+ });
209
214
  }
210
215
  /**
211
216
  * Returns an array containing the list item instances without the groups in a flat structure.
@@ -718,34 +723,16 @@ let List = List_1 = class List extends UI5Element {
718
723
  this.setForwardingFocus(false);
719
724
  }
720
725
  _ondragenter(e) {
721
- e.preventDefault();
726
+ this._dragAndDropHandler.ondragenter(e);
722
727
  }
723
728
  _ondragleave(e) {
724
- if (e.relatedTarget instanceof Node && this.shadowRoot.contains(e.relatedTarget)) {
725
- return;
726
- }
727
- this.dropIndicatorDOM.targetReference = null;
729
+ this._dragAndDropHandler.ondragleave(e);
728
730
  }
729
731
  _ondragover(e) {
730
- if (!(e.target instanceof HTMLElement)) {
731
- return;
732
- }
733
- const closestPosition = findClosestPosition(this.items, e.clientY, Orientation.Vertical);
734
- if (!closestPosition) {
735
- this.dropIndicatorDOM.targetReference = null;
736
- return;
737
- }
738
- const { targetReference, placement } = handleDragOver(e, this, closestPosition, closestPosition.element, { originalEvent: true });
739
- this.dropIndicatorDOM.targetReference = targetReference;
740
- this.dropIndicatorDOM.placement = placement;
732
+ this._dragAndDropHandler.ondragover(e);
741
733
  }
742
734
  _ondrop(e) {
743
- if (!this.dropIndicatorDOM?.targetReference || !this.dropIndicatorDOM?.placement) {
744
- e.preventDefault();
745
- return;
746
- }
747
- handleDrop(e, this, this.dropIndicatorDOM.targetReference, this.dropIndicatorDOM.placement, { originalEvent: true });
748
- this.dropIndicatorDOM.targetReference = null;
735
+ this._dragAndDropHandler.ondrop(e);
749
736
  }
750
737
  isForwardElement(element) {
751
738
  const elementId = element.id;