@ui5/webcomponents 2.22.0-rc.3 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/AvatarBadge.d.ts +3 -3
  4. package/dist/AvatarBadge.js +10 -10
  5. package/dist/AvatarBadge.js.map +1 -1
  6. package/dist/AvatarBadgeTemplate.js +1 -1
  7. package/dist/AvatarBadgeTemplate.js.map +1 -1
  8. package/dist/Calendar.d.ts +7 -1
  9. package/dist/Calendar.js +40 -3
  10. package/dist/Calendar.js.map +1 -1
  11. package/dist/CalendarHeaderTemplate.js +2 -2
  12. package/dist/CalendarHeaderTemplate.js.map +1 -1
  13. package/dist/ColorPaletteItem.d.ts +0 -1
  14. package/dist/ColorPaletteItem.js +0 -2
  15. package/dist/ColorPaletteItem.js.map +1 -1
  16. package/dist/MenuItemTemplate.d.ts +5 -1
  17. package/dist/MenuItemTemplate.js +8 -3
  18. package/dist/MenuItemTemplate.js.map +1 -1
  19. package/dist/RangeSlider.d.ts +19 -1
  20. package/dist/RangeSlider.js +112 -29
  21. package/dist/RangeSlider.js.map +1 -1
  22. package/dist/RangeSliderTemplate.d.ts +0 -3
  23. package/dist/RangeSliderTemplate.js +22 -17
  24. package/dist/RangeSliderTemplate.js.map +1 -1
  25. package/dist/SegmentedButtonItem.d.ts +0 -1
  26. package/dist/SegmentedButtonItem.js +0 -2
  27. package/dist/SegmentedButtonItem.js.map +1 -1
  28. package/dist/Slider.d.ts +1 -2
  29. package/dist/Slider.js +12 -7
  30. package/dist/Slider.js.map +1 -1
  31. package/dist/SliderBase.d.ts +0 -1
  32. package/dist/SliderBase.js +18 -15
  33. package/dist/SliderBase.js.map +1 -1
  34. package/dist/SliderHandle.d.ts +42 -9
  35. package/dist/SliderHandle.js +49 -9
  36. package/dist/SliderHandle.js.map +1 -1
  37. package/dist/SliderHandleTemplate.js +7 -1
  38. package/dist/SliderHandleTemplate.js.map +1 -1
  39. package/dist/SliderScale.d.ts +53 -0
  40. package/dist/SliderScale.js +67 -0
  41. package/dist/SliderScale.js.map +1 -1
  42. package/dist/SliderScaleTemplate.js +5 -1
  43. package/dist/SliderScaleTemplate.js.map +1 -1
  44. package/dist/SliderTemplate.js +1 -1
  45. package/dist/SliderTemplate.js.map +1 -1
  46. package/dist/Table.d.ts +1 -0
  47. package/dist/Table.js +16 -3
  48. package/dist/Table.js.map +1 -1
  49. package/dist/TableCell.d.ts +2 -2
  50. package/dist/TableCell.js +2 -2
  51. package/dist/TableCell.js.map +1 -1
  52. package/dist/TableHeaderRowTemplate.js +5 -2
  53. package/dist/TableHeaderRowTemplate.js.map +1 -1
  54. package/dist/TableNavigation.js +3 -0
  55. package/dist/TableNavigation.js.map +1 -1
  56. package/dist/TableRow.d.ts +0 -2
  57. package/dist/TableRow.js +0 -9
  58. package/dist/TableRow.js.map +1 -1
  59. package/dist/TableRowBase.d.ts +6 -1
  60. package/dist/TableRowBase.js +37 -2
  61. package/dist/TableRowBase.js.map +1 -1
  62. package/dist/TableRowTemplate.js +4 -2
  63. package/dist/TableRowTemplate.js.map +1 -1
  64. package/dist/Toolbar.d.ts +9 -0
  65. package/dist/Toolbar.js +4 -1
  66. package/dist/Toolbar.js.map +1 -1
  67. package/dist/css/themes/RangeSlider.css +1 -1
  68. package/dist/css/themes/Slider.css +1 -1
  69. package/dist/css/themes/SliderBase.css +1 -1
  70. package/dist/css/themes/SliderHandle.css +1 -1
  71. package/dist/css/themes/SliderScale.css +1 -1
  72. package/dist/css/themes/SliderTooltip.css +1 -1
  73. package/dist/css/themes/TableRow.css +1 -1
  74. package/dist/css/themes/TableRowBase.css +1 -1
  75. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  76. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  77. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  78. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  79. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  80. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +36 -93
  81. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  82. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +37 -94
  83. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  84. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  85. package/dist/custom-elements-internal.json +43 -137
  86. package/dist/custom-elements.json +40 -101
  87. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  88. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  89. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  90. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  91. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  92. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  93. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  94. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  95. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  96. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  97. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  98. package/dist/generated/themes/RangeSlider.css.js +1 -1
  99. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  100. package/dist/generated/themes/Slider.css.d.ts +1 -1
  101. package/dist/generated/themes/Slider.css.js +1 -1
  102. package/dist/generated/themes/Slider.css.js.map +1 -1
  103. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  104. package/dist/generated/themes/SliderBase.css.js +1 -1
  105. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  106. package/dist/generated/themes/SliderHandle.css.d.ts +1 -1
  107. package/dist/generated/themes/SliderHandle.css.js +1 -1
  108. package/dist/generated/themes/SliderHandle.css.js.map +1 -1
  109. package/dist/generated/themes/SliderScale.css.d.ts +1 -1
  110. package/dist/generated/themes/SliderScale.css.js +1 -1
  111. package/dist/generated/themes/SliderScale.css.js.map +1 -1
  112. package/dist/generated/themes/SliderTooltip.css.d.ts +1 -1
  113. package/dist/generated/themes/SliderTooltip.css.js +1 -1
  114. package/dist/generated/themes/SliderTooltip.css.js.map +1 -1
  115. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  116. package/dist/generated/themes/TableRow.css.js +1 -1
  117. package/dist/generated/themes/TableRow.css.js.map +1 -1
  118. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  119. package/dist/generated/themes/TableRowBase.css.js +1 -1
  120. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  121. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  122. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  123. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  124. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  125. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  126. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  127. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  128. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  129. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  130. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  131. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  132. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  133. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  134. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  135. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  136. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  137. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +36 -93
  138. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  139. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  140. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  141. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  142. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  143. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +37 -94
  144. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  145. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  146. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  147. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  148. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  149. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  150. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  151. package/dist/vscode.html-custom-data.json +12 -28
  152. package/dist/web-types.json +25 -60
  153. package/package.json +9 -9
  154. package/src/AvatarBadgeTemplate.tsx +1 -2
  155. package/src/CalendarHeaderTemplate.tsx +4 -0
  156. package/src/MenuItemTemplate.tsx +21 -10
  157. package/src/RangeSliderTemplate.tsx +146 -113
  158. package/src/SliderHandleTemplate.tsx +7 -1
  159. package/src/SliderScaleTemplate.tsx +26 -1
  160. package/src/SliderTemplate.tsx +0 -1
  161. package/src/TableHeaderRowTemplate.tsx +23 -1
  162. package/src/TableRowTemplate.tsx +13 -1
  163. package/src/i18n/messagebundle.properties +2 -2
  164. package/src/themes/RangeSlider.css +20 -68
  165. package/src/themes/Slider.css +3 -6
  166. package/src/themes/SliderBase.css +1 -269
  167. package/src/themes/SliderHandle.css +4 -3
  168. package/src/themes/SliderScale.css +45 -6
  169. package/src/themes/SliderTooltip.css +2 -2
  170. package/src/themes/TableRow.css +28 -39
  171. package/src/themes/TableRowBase.css +79 -20
  172. package/src/themes/base/SliderBase-parameters.css +1 -101
  173. package/src/themes/base/SliderHandle-parameters.css +22 -1
  174. package/src/themes/base/SliderScale-parameters.css +23 -3
  175. package/src/themes/base/SliderTooltip-parameters.css +3 -0
  176. package/src/themes/sap_fiori_3/Slider-parameters.css +4 -4
  177. package/src/themes/sap_fiori_3/SliderBase-parameters.css +0 -30
  178. package/src/themes/sap_fiori_3/SliderHandle-parameters.css +18 -1
  179. package/src/themes/sap_fiori_3/SliderScale-parameters.css +2 -8
  180. package/src/themes/sap_fiori_3/SliderTooltip-parameters.css +5 -0
  181. package/src/themes/sap_fiori_3_dark/Slider-parameters.css +4 -4
  182. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +1 -26
  183. package/src/themes/sap_fiori_3_dark/SliderHandle-parameters.css +1 -5
  184. package/src/themes/sap_fiori_3_dark/SliderScale-parameters.css +1 -13
  185. package/src/themes/sap_fiori_3_dark/SliderTooltip-parameters.css +5 -0
  186. package/src/themes/sap_fiori_3_hcb/Slider-parameters.css +4 -4
  187. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +1 -39
  188. package/src/themes/sap_fiori_3_hcb/SliderHandle-parameters.css +1 -5
  189. package/src/themes/sap_fiori_3_hcb/SliderScale-parameters.css +4 -6
  190. package/src/themes/sap_fiori_3_hcb/SliderTooltip-parameters.css +5 -0
  191. package/src/themes/sap_fiori_3_hcw/Slider-parameters.css +4 -4
  192. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +1 -37
  193. package/src/themes/sap_fiori_3_hcw/SliderHandle-parameters.css +1 -5
  194. package/src/themes/sap_fiori_3_hcw/SliderScale-parameters.css +1 -14
  195. package/src/themes/sap_fiori_3_hcw/SliderTooltip-parameters.css +5 -0
  196. package/src/themes/sap_horizon/Slider-parameters.css +4 -4
  197. package/src/themes/sap_horizon/SliderBase-parameters.css +0 -49
  198. package/src/themes/sap_horizon/SliderHandle-parameters.css +2 -1
  199. package/src/themes/sap_horizon/SliderScale-parameters.css +4 -5
  200. package/src/themes/sap_horizon_dark/Slider-parameters.css +4 -4
  201. package/src/themes/sap_horizon_dark/SliderBase-parameters.css +1 -50
  202. package/src/themes/sap_horizon_dark/SliderHandle-parameters.css +1 -5
  203. package/src/themes/sap_horizon_dark/SliderScale-parameters.css +1 -10
  204. package/src/themes/sap_horizon_dark/SliderTooltip-parameters.css +1 -0
  205. package/src/themes/sap_horizon_hcb/Slider-parameters.css +4 -4
  206. package/src/themes/sap_horizon_hcb/SliderBase-parameters.css +1 -71
  207. package/src/themes/sap_horizon_hcb/SliderHandle-parameters.css +4 -3
  208. package/src/themes/sap_horizon_hcb/SliderScale-parameters.css +3 -2
  209. package/src/themes/sap_horizon_hcb/SliderTooltip-parameters.css +1 -0
  210. package/src/themes/sap_horizon_hcw/Slider-parameters.css +4 -4
  211. package/src/themes/sap_horizon_hcw/SliderBase-parameters.css +1 -72
  212. package/src/themes/sap_horizon_hcw/SliderHandle-parameters.css +1 -5
  213. package/src/themes/sap_horizon_hcw/SliderScale-parameters.css +1 -10
  214. package/src/themes/sap_horizon_hcw/SliderTooltip-parameters.css +1 -0
  215. package/dist/SliderBaseTemplate.d.ts +0 -10
  216. package/dist/SliderBaseTemplate.js +0 -19
  217. package/dist/SliderBaseTemplate.js.map +0 -1
  218. package/src/SliderBaseTemplate.tsx +0 -65
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHeaderTemplate.js","sourceRoot":"","sources":["../src/CalendarHeaderTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type Calendar from \"./Calendar.js\";\nimport Icon from \"./Icon.js\";\n\nimport slimArowLeft from \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport slimArowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\n\ninterface CalendarHeaderOptions {\n\theaderText?: {\n\t\tmonthText: string;\n\t\tyearText: string;\n\t\tsecondMonthText?: string;\n\t\tsecondYearText?: string;\n\t};\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tisMultiple?: boolean;\n}\n\nexport default function CalendarHeaderTemplate(this: Calendar, options?: CalendarHeaderOptions) {\n\tconst headerText = options?.headerText;\n\tconst isFirst = options?.isFirst ?? true;\n\tconst isLast = options?.isLast ?? true;\n\tconst isMultiple = options?.isMultiple ?? false;\n\n\tconst monthText = headerText?.monthText ?? this._headerMonthButtonText;\n\tconst yearText = headerText?.yearText ?? this._headerYearButtonText;\n\tconst secondMonthText = headerText?.secondMonthText ?? this.secondMonthButtonText;\n\tconst secondYearText = headerText?.secondYearText ?? this._headerYearButtonTextSecType;\n\n\treturn (\n\t\t<div class={isMultiple ? \"ui5-calheader ui5-calheader-multiple\" : \"ui5-calheader-root\"}>\n\t\t\t{renderPrevButton.call(this, isFirst, isMultiple)}\n\t\t\t{renderMiddleButtons.call(this, {\n\t\t\t\tmonthText: monthText || \"\",\n\t\t\t\tyearText: yearText || \"\",\n\t\t\t\tsecondMonthText: secondMonthText || \"\",\n\t\t\t\tsecondYearText: secondYearText || \"\",\n\t\t\t})}\n\t\t\t{renderNextButton.call(this, isFirst, isLast, isMultiple)}\n\t\t</div>\n\t);\n}\n\nfunction renderPrevButton(this: Calendar, isFirst: boolean, isMultiple: boolean) {\n\tif (!isFirst && isMultiple) {\n\t\treturn <div class=\"ui5-calheader-spacer\"></div>;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-ui5-cal-header-btn-prev\n\t\t\tclass={{\n\t\t\t\t\"ui5-calheader-arrowbtn\": true,\n\t\t\t\t\"ui5-calheader-arrowbtn-disabled\": this._previousButtonDisabled,\n\t\t\t}}\n\t\t\tpart=\"calendar-header-arrow-button\"\n\t\t\trole=\"button\"\n\t\t\tonMouseDown={this.onPrevButtonClick}\n\t\t\ttabindex={this._previousButtonDisabled ? -1 : 0}\n\t\t\ttitle={this.accInfo.tooltipPrevButton}\n\t\t\taria-label={this.accInfo.ariaLabelPrevButton}\n\t\t\taria-description={this.accInfo.ariaLabelPrevButton}\n\t\t\taria-keyshortcuts={this.accInfo.keyShortcutPrevButton}\n\t\t>\n\t\t\t<Icon class=\"ui5-calheader-arrowicon\" name={slimArowLeft}/>\n\t\t</div>\n\t);\n}\n\nfunction renderMiddleButtons(\n\tthis: Calendar,\n\theaderText: {\n\t\tmonthText: string;\n\t\tyearText: string;\n\t\tsecondMonthText?: string;\n\t\tsecondYearText?: string;\n\t}\n) {\n\treturn (\n\t\t<div class=\"ui5-calheader-midcontainer\">\n\t\t\t<div\n\t\t\t\tdata-ui5-cal-header-btn-month\n\t\t\t\tclass=\"ui5-calheader-arrowbtn ui5-calheader-middlebtn\"\n\t\t\t\tpart=\"calendar-header-middle-button\"\n\t\t\t\thidden={this._isHeaderMonthButtonHidden}\n\t\t\t\ttabindex={0}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={this.accInfo.ariaLabelMonthButton}\n\t\t\t\taria-description={this.accInfo.ariaLabelMonthButton}\n\t\t\t\ttitle={this.accInfo.tooltipMonthButton}\n\t\t\t\taria-keyshortcuts={this.accInfo.keyShortcutMonthButton}\n\t\t\t\tonClick={this.onHeaderMonthButtonPress}\n\t\t\t\tonKeyDown={this.onMonthButtonKeyDown}\n\t\t\t\tonKeyUp={this.onMonthButtonKeyUp}\n\t\t\t>\n\t\t\t\t<span>{headerText.monthText}</span>\n\t\t\t\t{this.hasSecondaryCalendarType && headerText.secondMonthText &&\n\t\t\t\t\t<span class=\"ui5-calheader-btn-sectext\">{headerText.secondMonthText}</span>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tdata-ui5-cal-header-btn-year\n\t\t\t\tclass=\"ui5-calheader-arrowbtn ui5-calheader-middlebtn\"\n\t\t\t\tpart=\"calendar-header-middle-button\"\n\t\t\t\thidden={this._isHeaderYearButtonHidden}\n\t\t\t\ttabindex={0}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={this.accInfo.ariaLabelYearButton}\n\t\t\t\taria-description={this.accInfo.ariaLabelYearButton}\n\t\t\t\tonClick={this.onHeaderYearButtonPress}\n\t\t\t\tonKeyDown={this.onYearButtonKeyDown}\n\t\t\t\tonKeyUp={this.onYearButtonKeyUp}\n\t\t\t\ttitle={this.accInfo.tooltipYearButton}\n\t\t\t\taria-keyshortcuts={this.accInfo.keyShortcutYearButton}\n\t\t\t>\n\t\t\t\t<span>{headerText.yearText}</span>\n\t\t\t\t{this.hasSecondaryCalendarType && headerText.secondYearText &&\n\t\t\t\t\t<span class=\"ui5-calheader-btn-sectext\">{headerText.secondYearText}</span>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tdata-ui5-cal-header-btn-year-range\n\t\t\t\tclass=\"ui5-calheader-arrowbtn ui5-calheader-middlebtn\"\n\t\t\t\tpart=\"calendar-header-middle-button\"\n\t\t\t\thidden={this._isHeaderYearRangeButtonHidden}\n\t\t\t\ttabindex={0}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={this.accInfo.ariaLabelYearRangeButton}\n\t\t\t\taria-description={this.accInfo.ariaLabelYearRangeButton}\n\t\t\t\ttitle={this.accInfo.tooltipYearRangeButton}\n\t\t\t\taria-keyshortcuts={this.accInfo.keyShortcutYearRangeButton}\n\t\t\t\tonClick={this.onHeaderYearRangeButtonPress}\n\t\t\t\tonKeyDown={this.onYearRangeButtonKeyDown}\n\t\t\t\tonKeyUp={this.onYearRangeButtonKeyUp}\n\t\t\t>\n\t\t\t\t<span>{this._headerYearRangeButtonText}</span>\n\t\t\t\t{this.hasSecondaryCalendarType &&\n\t\t\t\t\t<span class=\"ui5-calheader-btn-sectext\">{this._headerYearRangeButtonTextSecType}</span>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction renderNextButton(this: Calendar, isFirst: boolean, isLast: boolean, isMultiple: boolean) {\n\t// In portrait or compact mode, show next button only on first calendar\n\t// In landscape mode, show next button only on last calendar\n\tconst isVertical = this._portraitView || this._isCompactMode;\n\tconst shouldShowNextButton = !isMultiple || (isVertical ? isFirst : isLast);\n\tconst shouldShowSpacer = isMultiple && (isVertical ? isLast : !isLast);\n\n\tif (shouldShowNextButton) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-ui5-cal-header-btn-next\n\t\t\t\tclass={{\n\t\t\t\t\t\"ui5-calheader-arrowbtn\": true,\n\t\t\t\t\t\"ui5-calheader-arrowbtn-disabled\": this._nextButtonDisabled,\n\t\t\t\t}}\n\t\t\t\tpart=\"calendar-header-arrow-button\"\n\t\t\t\trole=\"button\"\n\t\t\t\tonMouseDown={this.onNextButtonClick}\n\t\t\t\ttabindex={this._nextButtonDisabled ? -1 : 0}\n\t\t\t\ttitle={this.accInfo.tooltipNextButton}\n\t\t\t\taria-label={this.accInfo.ariaLabelNextButton}\n\t\t\t\taria-description={this.accInfo.ariaLabelNextButton}\n\t\t\t\taria-keyshortcuts={this.accInfo.keyShortcutNextButton}\n\t\t\t>\n\t\t\t\t<Icon class=\"ui5-calheader-arrowicon\" name={slimArowRight}/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (shouldShowSpacer) {\n\t\treturn <div class=\"ui5-calheader-spacer\"></div>;\n\t}\n\n\treturn null;\n}\n"]}
1
+ {"version":3,"file":"CalendarHeaderTemplate.js","sourceRoot":"","sources":["../src/CalendarHeaderTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type Calendar from \"./Calendar.js\";\nimport Icon from \"./Icon.js\";\n\nimport slimArowLeft from \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport slimArowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\n\ninterface CalendarHeaderOptions {\n\theaderText?: {\n\t\tmonthText: string;\n\t\tyearText: string;\n\t\tsecondMonthText?: string;\n\t\tsecondYearText?: string;\n\t};\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tisMultiple?: boolean;\n}\n\nexport default function CalendarHeaderTemplate(this: Calendar, options?: CalendarHeaderOptions) {\n\tconst headerText = options?.headerText;\n\tconst isFirst = options?.isFirst ?? true;\n\tconst isLast = options?.isLast ?? true;\n\tconst isMultiple = options?.isMultiple ?? false;\n\n\tconst monthText = headerText?.monthText ?? this._headerMonthButtonText;\n\tconst yearText = headerText?.yearText ?? this._headerYearButtonText;\n\tconst secondMonthText = headerText?.secondMonthText ?? this.secondMonthButtonText;\n\tconst secondYearText = headerText?.secondYearText ?? this._headerYearButtonTextSecType;\n\n\treturn (\n\t\t<div class={isMultiple ? \"ui5-calheader ui5-calheader-multiple\" : \"ui5-calheader-root\"}>\n\t\t\t{renderPrevButton.call(this, isFirst, isMultiple)}\n\t\t\t{renderMiddleButtons.call(this, {\n\t\t\t\tmonthText: monthText || \"\",\n\t\t\t\tyearText: yearText || \"\",\n\t\t\t\tsecondMonthText: secondMonthText || \"\",\n\t\t\t\tsecondYearText: secondYearText || \"\",\n\t\t\t})}\n\t\t\t{renderNextButton.call(this, isFirst, isLast, isMultiple)}\n\t\t</div>\n\t);\n}\n\nfunction renderPrevButton(this: Calendar, isFirst: boolean, isMultiple: boolean) {\n\tif (!isFirst && isMultiple) {\n\t\treturn <div class=\"ui5-calheader-spacer\"></div>;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-ui5-cal-header-btn-prev\n\t\t\tclass={{\n\t\t\t\t\"ui5-calheader-arrowbtn\": true,\n\t\t\t\t\"ui5-calheader-arrowbtn-disabled\": this._previousButtonDisabled,\n\t\t\t}}\n\t\t\tpart=\"calendar-header-arrow-button\"\n\t\t\trole=\"button\"\n\t\t\tonMouseDown={this.onPrevButtonClick}\n\t\t\tonKeyDown={this.onPrevButtonKeyDown}\n\t\t\tonKeyUp={this.onPrevButtonKeyUp}\n\t\t\ttabindex={this._previousButtonDisabled ? -1 : 0}\n\t\t\ttitle={this.accInfo.tooltipPrevButton}\n\t\t\taria-label={this.accInfo.ariaLabelPrevButton}\n\t\t\taria-description={this.accInfo.ariaLabelPrevButton}\n\t\t\taria-keyshortcuts={this.accInfo.keyShortcutPrevButton}\n\t\t>\n\t\t\t<Icon class=\"ui5-calheader-arrowicon\" name={slimArowLeft}/>\n\t\t</div>\n\t);\n}\n\nfunction renderMiddleButtons(\n\tthis: Calendar,\n\theaderText: {\n\t\tmonthText: string;\n\t\tyearText: string;\n\t\tsecondMonthText?: string;\n\t\tsecondYearText?: string;\n\t}\n) {\n\treturn (\n\t\t<div class=\"ui5-calheader-midcontainer\">\n\t\t\t<div\n\t\t\t\tdata-ui5-cal-header-btn-month\n\t\t\t\tclass=\"ui5-calheader-arrowbtn ui5-calheader-middlebtn\"\n\t\t\t\tpart=\"calendar-header-middle-button\"\n\t\t\t\thidden={this._isHeaderMonthButtonHidden}\n\t\t\t\ttabindex={0}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={this.accInfo.ariaLabelMonthButton}\n\t\t\t\taria-description={this.accInfo.ariaLabelMonthButton}\n\t\t\t\ttitle={this.accInfo.tooltipMonthButton}\n\t\t\t\taria-keyshortcuts={this.accInfo.keyShortcutMonthButton}\n\t\t\t\tonClick={this.onHeaderMonthButtonPress}\n\t\t\t\tonKeyDown={this.onMonthButtonKeyDown}\n\t\t\t\tonKeyUp={this.onMonthButtonKeyUp}\n\t\t\t>\n\t\t\t\t<span>{headerText.monthText}</span>\n\t\t\t\t{this.hasSecondaryCalendarType && headerText.secondMonthText &&\n\t\t\t\t\t<span class=\"ui5-calheader-btn-sectext\">{headerText.secondMonthText}</span>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tdata-ui5-cal-header-btn-year\n\t\t\t\tclass=\"ui5-calheader-arrowbtn ui5-calheader-middlebtn\"\n\t\t\t\tpart=\"calendar-header-middle-button\"\n\t\t\t\thidden={this._isHeaderYearButtonHidden}\n\t\t\t\ttabindex={0}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={this.accInfo.ariaLabelYearButton}\n\t\t\t\taria-description={this.accInfo.ariaLabelYearButton}\n\t\t\t\tonClick={this.onHeaderYearButtonPress}\n\t\t\t\tonKeyDown={this.onYearButtonKeyDown}\n\t\t\t\tonKeyUp={this.onYearButtonKeyUp}\n\t\t\t\ttitle={this.accInfo.tooltipYearButton}\n\t\t\t\taria-keyshortcuts={this.accInfo.keyShortcutYearButton}\n\t\t\t>\n\t\t\t\t<span>{headerText.yearText}</span>\n\t\t\t\t{this.hasSecondaryCalendarType && headerText.secondYearText &&\n\t\t\t\t\t<span class=\"ui5-calheader-btn-sectext\">{headerText.secondYearText}</span>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tdata-ui5-cal-header-btn-year-range\n\t\t\t\tclass=\"ui5-calheader-arrowbtn ui5-calheader-middlebtn\"\n\t\t\t\tpart=\"calendar-header-middle-button\"\n\t\t\t\thidden={this._isHeaderYearRangeButtonHidden}\n\t\t\t\ttabindex={0}\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={this.accInfo.ariaLabelYearRangeButton}\n\t\t\t\taria-description={this.accInfo.ariaLabelYearRangeButton}\n\t\t\t\ttitle={this.accInfo.tooltipYearRangeButton}\n\t\t\t\taria-keyshortcuts={this.accInfo.keyShortcutYearRangeButton}\n\t\t\t\tonClick={this.onHeaderYearRangeButtonPress}\n\t\t\t\tonKeyDown={this.onYearRangeButtonKeyDown}\n\t\t\t\tonKeyUp={this.onYearRangeButtonKeyUp}\n\t\t\t>\n\t\t\t\t<span>{this._headerYearRangeButtonText}</span>\n\t\t\t\t{this.hasSecondaryCalendarType &&\n\t\t\t\t\t<span class=\"ui5-calheader-btn-sectext\">{this._headerYearRangeButtonTextSecType}</span>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction renderNextButton(this: Calendar, isFirst: boolean, isLast: boolean, isMultiple: boolean) {\n\t// In portrait or compact mode, show next button only on first calendar\n\t// In landscape mode, show next button only on last calendar\n\tconst isVertical = this._portraitView || this._isCompactMode;\n\tconst shouldShowNextButton = !isMultiple || (isVertical ? isFirst : isLast);\n\tconst shouldShowSpacer = isMultiple && (isVertical ? isLast : !isLast);\n\n\tif (shouldShowNextButton) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-ui5-cal-header-btn-next\n\t\t\t\tclass={{\n\t\t\t\t\t\"ui5-calheader-arrowbtn\": true,\n\t\t\t\t\t\"ui5-calheader-arrowbtn-disabled\": this._nextButtonDisabled,\n\t\t\t\t}}\n\t\t\t\tpart=\"calendar-header-arrow-button\"\n\t\t\t\trole=\"button\"\n\t\t\t\tonMouseDown={this.onNextButtonClick}\n\t\t\t\tonKeyDown={this.onNextButtonKeyDown}\n\t\t\t\tonKeyUp={this.onNextButtonKeyUp}\n\t\t\t\ttabindex={this._nextButtonDisabled ? -1 : 0}\n\t\t\t\ttitle={this.accInfo.tooltipNextButton}\n\t\t\t\taria-label={this.accInfo.ariaLabelNextButton}\n\t\t\t\taria-description={this.accInfo.ariaLabelNextButton}\n\t\t\t\taria-keyshortcuts={this.accInfo.keyShortcutNextButton}\n\t\t\t>\n\t\t\t\t<Icon class=\"ui5-calheader-arrowicon\" name={slimArowRight}/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (shouldShowSpacer) {\n\t\treturn <div class=\"ui5-calheader-spacer\"></div>;\n\t}\n\n\treturn null;\n}\n"]}
@@ -2,7 +2,6 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
3
  import type { IColorPaletteItem } from "./ColorPalette.js";
4
4
  type ColorPaletteItemNativeClickEventDetail = {
5
- item: ColorPaletteItem;
6
5
  originalEvent: Event;
7
6
  };
8
7
  /**
@@ -97,7 +97,6 @@ let ColorPaletteItem = ColorPaletteItem_1 = class ColorPaletteItem extends UI5El
97
97
  e.stopImmediatePropagation();
98
98
  // Fire semantic click event (CustomEvent that bubbles)
99
99
  const prevented = !this.fireDecoratorEvent("click", {
100
- item: this,
101
100
  originalEvent: e,
102
101
  });
103
102
  if (prevented) {
@@ -143,7 +142,6 @@ ColorPaletteItem = ColorPaletteItem_1 = __decorate([
143
142
  *
144
143
  * **Note:** The event will not be fired if the `disabled` property is set to `true`.
145
144
  *
146
- * @param {ColorPaletteItem} item The color palette item that was clicked.
147
145
  * @param {Event} originalEvent The original DOM event that triggered the click. Use this to access modifier keys (altKey, ctrlKey, metaKey, shiftKey) and other native event properties.
148
146
  * @since 2.22.0
149
147
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPaletteItem.js","sourceRoot":"","sources":["../src/ColorPaletteItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { IColorPaletteItem } from \"./ColorPalette.js\";\nimport ColorPaletteItemTemplate from \"./ColorPaletteItemTemplate.js\";\nimport {\n\tCOLORPALETTE_COLOR_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\n\n// Styles\nimport ColorPaletteItemCss from \"./generated/themes/ColorPaletteItem.css.js\";\n\ntype ColorPaletteItemNativeClickEventDetail = {\n\titem: ColorPaletteItem,\n\toriginalEvent: Event;\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-color-palette-item` component represents a color in the the `ui5-color-palette`.\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.12\n * @implements { IColorPaletteItem }\n * @public\n */\n@customElement({\n\ttag: \"ui5-color-palette-item\",\n\trenderer: jsxRenderer,\n\tstyles: ColorPaletteItemCss,\n\ttemplate: ColorPaletteItemTemplate,\n\tshadowRootOptions: { delegatesFocus: true },\n})\n\n/**\n * Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.\n *\n * **Note:** The event will not be fired if the `disabled` property is set to `true`.\n *\n * @param {ColorPaletteItem} item The color palette item that was clicked.\n * @param {Event} originalEvent The original DOM event that triggered the click. Use this to access modifier keys (altKey, ctrlKey, metaKey, shiftKey) and other native event properties.\n * @since 2.22.0\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass ColorPaletteItem extends UI5Element implements IColorPaletteItem {\n\teventDetails!: {\n\t\t\"click\": ColorPaletteItemNativeClickEventDetail,\n\t}\n\t/**\n\t * Defines the colour of the component.\n\t *\n\t * **Note:** The value should be a valid CSS color.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\"\n\n\t/**\n\t * Defines if the component is selected.\n\t *\n\t * **Note:** Only one item must be selected per <code>ui5-color-palette</code>.\n\t * If more than one item is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the tooltip of the component. When not set, the color value is used as the tooltip.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the tab-index of the element, helper information for the ItemNavigation.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex = \"-1\";\n\n\t/**\n\t * Defines the index of the item inside of the ColorPalette.\n\t * @private\n\t */\n\t@property({ type: Number })\n\tindex?: number;\n\n\t/**\n\t * Defines if the ColorPalette is on phone mode.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\t_disabled = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._disabled = !this.value;\n\t\tthis.onPhone = isPhone();\n\n\t\t// since height is dynamically determined by padding-block-start\n\t\tconst itemHeight = this.offsetHeight + 4; // adding 4px for the offsets on top and bottom\n\t\tthis.style.setProperty(\"--_ui5_color_palette_item_height\", `${itemHeight}px`);\n\n\t\tthis.style.setProperty(\"--_ui5-color-palette-item-background-color\", `${this.value}`);\n\t}\n\n\tget colorLabel() {\n\t\treturn ColorPaletteItem.i18nBundle.getText(COLORPALETTE_COLOR_LABEL);\n\t}\n\n\tget getLabelText(): string {\n\t\treturn `${this.colorLabel} - ${this.index}: ${this.tooltip || this.value}`;\n\t}\n\n\tget classes() {\n\t\t// Remove after deleting the hbs template, it's added in the jsx template\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-cp-item\": true,\n\t\t\t},\n\t\t};\n\t}\n\n\t_onClick(e: MouseEvent) {\n\t\tif (this._disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\te.stopImmediatePropagation();\n\n\t\t// Fire semantic click event (CustomEvent that bubbles)\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", {\n\t\t\titem: this,\n\t\t\toriginalEvent: e,\n\t\t});\n\n\t\tif (prevented) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n}\n\nColorPaletteItem.define();\n\nexport default ColorPaletteItem;\nexport type { ColorPaletteItemNativeClickEventDetail };\n"]}
1
+ {"version":3,"file":"ColorPaletteItem.js","sourceRoot":"","sources":["../src/ColorPaletteItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { IColorPaletteItem } from \"./ColorPalette.js\";\nimport ColorPaletteItemTemplate from \"./ColorPaletteItemTemplate.js\";\nimport {\n\tCOLORPALETTE_COLOR_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\n\n// Styles\nimport ColorPaletteItemCss from \"./generated/themes/ColorPaletteItem.css.js\";\n\ntype ColorPaletteItemNativeClickEventDetail = {\n\toriginalEvent: Event,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-color-palette-item` component represents a color in the the `ui5-color-palette`.\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.12\n * @implements { IColorPaletteItem }\n * @public\n */\n@customElement({\n\ttag: \"ui5-color-palette-item\",\n\trenderer: jsxRenderer,\n\tstyles: ColorPaletteItemCss,\n\ttemplate: ColorPaletteItemTemplate,\n\tshadowRootOptions: { delegatesFocus: true },\n})\n\n/**\n * Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.\n *\n * **Note:** The event will not be fired if the `disabled` property is set to `true`.\n *\n * @param {Event} originalEvent The original DOM event that triggered the click. Use this to access modifier keys (altKey, ctrlKey, metaKey, shiftKey) and other native event properties.\n * @since 2.22.0\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass ColorPaletteItem extends UI5Element implements IColorPaletteItem {\n\teventDetails!: {\n\t\t\"click\": ColorPaletteItemNativeClickEventDetail,\n\t}\n\t/**\n\t * Defines the colour of the component.\n\t *\n\t * **Note:** The value should be a valid CSS color.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\"\n\n\t/**\n\t * Defines if the component is selected.\n\t *\n\t * **Note:** Only one item must be selected per <code>ui5-color-palette</code>.\n\t * If more than one item is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the tooltip of the component. When not set, the color value is used as the tooltip.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the tab-index of the element, helper information for the ItemNavigation.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex = \"-1\";\n\n\t/**\n\t * Defines the index of the item inside of the ColorPalette.\n\t * @private\n\t */\n\t@property({ type: Number })\n\tindex?: number;\n\n\t/**\n\t * Defines if the ColorPalette is on phone mode.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\t_disabled = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._disabled = !this.value;\n\t\tthis.onPhone = isPhone();\n\n\t\t// since height is dynamically determined by padding-block-start\n\t\tconst itemHeight = this.offsetHeight + 4; // adding 4px for the offsets on top and bottom\n\t\tthis.style.setProperty(\"--_ui5_color_palette_item_height\", `${itemHeight}px`);\n\n\t\tthis.style.setProperty(\"--_ui5-color-palette-item-background-color\", `${this.value}`);\n\t}\n\n\tget colorLabel() {\n\t\treturn ColorPaletteItem.i18nBundle.getText(COLORPALETTE_COLOR_LABEL);\n\t}\n\n\tget getLabelText(): string {\n\t\treturn `${this.colorLabel} - ${this.index}: ${this.tooltip || this.value}`;\n\t}\n\n\tget classes() {\n\t\t// Remove after deleting the hbs template, it's added in the jsx template\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-cp-item\": true,\n\t\t\t},\n\t\t};\n\t}\n\n\t_onClick(e: MouseEvent) {\n\t\tif (this._disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\te.stopImmediatePropagation();\n\n\t\t// Fire semantic click event (CustomEvent that bubbles)\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", {\n\t\t\toriginalEvent: e,\n\t\t});\n\n\t\tif (prevented) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n}\n\nColorPaletteItem.define();\n\nexport default ColorPaletteItem;\nexport type { ColorPaletteItemNativeClickEventDetail };\n"]}
@@ -1,3 +1,7 @@
1
+ import type { JsxTemplate } from "@ui5/webcomponents-base/dist/index.js";
1
2
  import type MenuItem from "./MenuItem.js";
2
3
  import type { ListItemHooks } from "./ListItemTemplate.js";
3
- export default function MenuItemTemplate(this: MenuItem, hooks?: Partial<ListItemHooks>): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
4
+ export type MenuItemHooks = ListItemHooks & {
5
+ menuItemTextContent: JsxTemplate;
6
+ };
7
+ export default function MenuItemTemplate(this: MenuItem, hooks?: Partial<MenuItemHooks>): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -10,15 +10,20 @@ import slimArrowRight from "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
10
10
  import Icon from "./Icon.js";
11
11
  import ListItemTemplate from "./ListItemTemplate.js";
12
12
  const predefinedHooks = {
13
- listItemContent,
14
13
  iconBegin,
14
+ menuItemTextContent,
15
15
  };
16
16
  export default function MenuItemTemplate(hooks) {
17
17
  const currentHooks = { ...predefinedHooks, ...hooks };
18
+ if (!hooks?.listItemContent) {
19
+ currentHooks.listItemContent = function listItemContent() {
20
+ return (_jsxs(_Fragment, { children: [currentHooks.menuItemTextContent.call(this), rightContent.call(this), checkmarkContent.call(this)] }));
21
+ };
22
+ }
18
23
  return _jsxs(_Fragment, { children: [ListItemTemplate.call(this, currentHooks), listItemPostContent.call(this)] });
19
24
  }
20
- function listItemContent() {
21
- return (_jsxs(_Fragment, { children: [this.text && _jsx("div", { class: "ui5-menu-item-text", children: this.text }), rightContent.call(this), checkmarkContent.call(this)] }));
25
+ function menuItemTextContent() {
26
+ return _jsx(_Fragment, { children: this.text && _jsx("div", { class: "ui5-menu-item-text", children: this.text }) });
22
27
  }
23
28
  function checkmarkContent() {
24
29
  return !this._markChecked ? "" : (_jsx("div", { class: "ui5-menu-item-checked", children: _jsx(Icon, { name: checkIcon, class: "ui5-menu-item-icon-checked" }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemTemplate.js","sourceRoot":"","sources":["../src/MenuItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type MenuItem from \"./MenuItem.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport navBackIcon from \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport checkIcon from \"@ui5/webcomponents-icons/dist/accept.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport Icon from \"./Icon.js\";\nimport ListItemTemplate from \"./ListItemTemplate.js\";\nimport type { ListItemHooks } from \"./ListItemTemplate.js\";\n\nconst predefinedHooks: Partial<ListItemHooks> = {\n\tlistItemContent,\n\ticonBegin,\n};\n\nexport default function MenuItemTemplate(this: MenuItem, hooks?: Partial<ListItemHooks>) {\n\tconst currentHooks = { ...predefinedHooks, ...hooks };\n\n\treturn <>\n\t\t{ListItemTemplate.call(this, currentHooks)}\n\n\t\t{listItemPostContent.call(this)}\n\t</>;\n}\n\nfunction listItemContent(this: MenuItem) {\n\treturn (<>\n\t\t{this.text && <div class=\"ui5-menu-item-text\">{this.text}</div>}\n\n\t\t{rightContent.call(this)}\n\t\t{checkmarkContent.call(this)}\n\t</>);\n}\n\nfunction checkmarkContent(this: MenuItem) {\n\treturn !this._markChecked ? \"\" : (\n\t\t<div class=\"ui5-menu-item-checked\">\n\t\t\t<Icon\n\t\t\t\tname={checkIcon}\n\t\t\t\tclass=\"ui5-menu-item-icon-checked\"\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction rightContent(this: MenuItem) {\n\tswitch (true) {\n\tcase this.hasSubmenu:\n\t\treturn (\n\t\t\t<div class=\"ui5-menu-item-submenu-icon\" >\n\t\t\t\t<Icon\n\t\t\t\t\tpart=\"subicon\"\n\t\t\t\t\tname={slimArrowRight}\n\t\t\t\t\tclass=\"ui5-menu-item-icon-end\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\tcase this.hasEndContent:\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass=\"ui5-menu-item-end-content\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={this.endContentAccessibleName}\n\t\t\t>\n\t\t\t\t<slot name=\"endContent\" onKeyDown={this._endContentKeyDown}></slot>\n\t\t\t</div>\n\t\t);\n\tcase !!this.additionalText:\n\t\treturn (\n\t\t\t<span\n\t\t\t\tpart=\"additional-text\"\n\t\t\t\tclass=\"ui5-li-additional-text\"\n\t\t\t\taria-hidden={this._accInfo.ariaHidden}\n\t\t\t>\n\t\t\t\t{this.additionalText}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nfunction iconBegin(this: MenuItem) {\n\tif (this.hasIcon) {\n\t\treturn <Icon class=\"ui5-li-icon\" name={this.icon} />;\n\t}\n\n\tif (this._siblingsWithIcon) {\n\t\treturn <div class=\"ui5-menu-item-dummy-icon\"></div>;\n\t}\n}\n\nfunction listItemPostContent(this: MenuItem) {\n\treturn this.hasSubmenu && <ResponsivePopover\n\t\tid={`${this._id}-menu-rp`}\n\t\tclass=\"ui5-menu-rp ui5-menu-rp-sub-menu\"\n\t\tpreventInitialFocus={true}\n\t\tpreventFocusRestore={true}\n\t\thideArrow={true}\n\t\tallowTargetOverlap={true}\n\t\tplacement={PopoverPlacement.End}\n\t\tverticalAlign=\"Top\"\n\t\taccessibleName={this.accessibleNameText}\n\t\tonBeforeOpen={this._beforePopoverOpen}\n\t\tonOpen={this._afterPopoverOpen}\n\t\tonBeforeClose={this._beforePopoverClose}\n\t\tonClose={this._afterPopoverClose}\n\t>\n\t\t{\n\t\t\tthis.isPhone && (\n\t\t\t\t<>\n\t\t\t\t\t<div slot=\"header\" class=\"ui5-menu-dialog-header\" >\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={navBackIcon}\n\t\t\t\t\t\t\tclass=\"ui5-menu-back-button\"\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\taria-label={this.labelBack}\n\t\t\t\t\t\t\tonClick={this._close}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div class=\"ui5-menu-dialog-title\" >\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{this.text}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div >\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\n\t\t<div\n\t\t\tid={`${this._id}-menu-main`}\n\t\t\tclass={this.loading ? \"menu-busy-indicator-main\" : \"\"}\n\t\t\taria-busy={this.loading}\n\t\t>\n\t\t\t{\n\t\t\t\tthis.items.length ? (\n\t\t\t\t\t<List\n\t\t\t\t\t\tid={`${this._id}-menu-list`}\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\taccessibleRole=\"Menu\"\n\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\tloadingDelay={this.loadingDelay}\n\t\t\t\t\t\tonMouseOver={this._itemMouseOver}\n\t\t\t\t\t\tonKeyDown={this._itemKeyDown}\n\t\t\t\t\t\tonKeyUp={this._itemKeyUp}\n\t\t\t\t\t\t// handles event from slotted children\n\t\t\t\t\t\tonui5-close-menu={this._close}\n\t\t\t\t\t\tonui5-exit-end-content={this._navigateOutOfEndContent}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t\t) : this.loading && <BusyIndicator\n\t\t\t\t\tid={`${this._id}-menu-busy-indicator`}\n\t\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\t\tclass=\"ui5-menu-busy-indicator\"\n\t\t\t\t\tactive={true}\n\t\t\t\t/>\n\t\t\t}\n\t\t</div >\n\n\t\t{\n\t\t\tthis.isPhone && (\n\t\t\t\t<div slot=\"footer\" class=\"ui5-menu-dialog-footer\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this._closeAll}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.labelCancel}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t}\n\t</ResponsivePopover>;\n}\n"]}
1
+ {"version":3,"file":"MenuItemTemplate.js","sourceRoot":"","sources":["../src/MenuItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport navBackIcon from \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport checkIcon from \"@ui5/webcomponents-icons/dist/accept.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport Icon from \"./Icon.js\";\nimport ListItemTemplate from \"./ListItemTemplate.js\";\nimport type { ListItemHooks } from \"./ListItemTemplate.js\";\n\nexport type MenuItemHooks = ListItemHooks & {\n\tmenuItemTextContent: JsxTemplate;\n}\n\nconst predefinedHooks: Partial<MenuItemHooks> = {\n\ticonBegin,\n\tmenuItemTextContent,\n};\n\nexport default function MenuItemTemplate(this: MenuItem, hooks?: Partial<MenuItemHooks>) {\n\tconst currentHooks = { ...predefinedHooks, ...hooks };\n\n\tif (!hooks?.listItemContent) {\n\t\tcurrentHooks.listItemContent = function listItemContent(this: MenuItem) {\n\t\t\treturn (<>\n\t\t\t\t{currentHooks.menuItemTextContent!.call(this)}\n\n\t\t\t\t{rightContent.call(this)}\n\t\t\t\t{checkmarkContent.call(this)}\n\t\t\t</>);\n\t\t};\n\t}\n\n\treturn <>\n\t\t{ListItemTemplate.call(this, currentHooks)}\n\n\t\t{listItemPostContent.call(this)}\n\t</>;\n}\n\nfunction menuItemTextContent(this: MenuItem) {\n\treturn <>{this.text && <div class=\"ui5-menu-item-text\">{this.text}</div>}</>;\n}\n\nfunction checkmarkContent(this: MenuItem) {\n\treturn !this._markChecked ? \"\" : (\n\t\t<div class=\"ui5-menu-item-checked\">\n\t\t\t<Icon\n\t\t\t\tname={checkIcon}\n\t\t\t\tclass=\"ui5-menu-item-icon-checked\"\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction rightContent(this: MenuItem) {\n\tswitch (true) {\n\tcase this.hasSubmenu:\n\t\treturn (\n\t\t\t<div class=\"ui5-menu-item-submenu-icon\" >\n\t\t\t\t<Icon\n\t\t\t\t\tpart=\"subicon\"\n\t\t\t\t\tname={slimArrowRight}\n\t\t\t\t\tclass=\"ui5-menu-item-icon-end\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\tcase this.hasEndContent:\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass=\"ui5-menu-item-end-content\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={this.endContentAccessibleName}\n\t\t\t>\n\t\t\t\t<slot name=\"endContent\" onKeyDown={this._endContentKeyDown}></slot>\n\t\t\t</div>\n\t\t);\n\tcase !!this.additionalText:\n\t\treturn (\n\t\t\t<span\n\t\t\t\tpart=\"additional-text\"\n\t\t\t\tclass=\"ui5-li-additional-text\"\n\t\t\t\taria-hidden={this._accInfo.ariaHidden}\n\t\t\t>\n\t\t\t\t{this.additionalText}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nfunction iconBegin(this: MenuItem) {\n\tif (this.hasIcon) {\n\t\treturn <Icon class=\"ui5-li-icon\" name={this.icon} />;\n\t}\n\n\tif (this._siblingsWithIcon) {\n\t\treturn <div class=\"ui5-menu-item-dummy-icon\"></div>;\n\t}\n}\n\nfunction listItemPostContent(this: MenuItem) {\n\treturn this.hasSubmenu && <ResponsivePopover\n\t\tid={`${this._id}-menu-rp`}\n\t\tclass=\"ui5-menu-rp ui5-menu-rp-sub-menu\"\n\t\tpreventInitialFocus={true}\n\t\tpreventFocusRestore={true}\n\t\thideArrow={true}\n\t\tallowTargetOverlap={true}\n\t\tplacement={PopoverPlacement.End}\n\t\tverticalAlign=\"Top\"\n\t\taccessibleName={this.accessibleNameText}\n\t\tonBeforeOpen={this._beforePopoverOpen}\n\t\tonOpen={this._afterPopoverOpen}\n\t\tonBeforeClose={this._beforePopoverClose}\n\t\tonClose={this._afterPopoverClose}\n\t>\n\t\t{\n\t\t\tthis.isPhone && (\n\t\t\t\t<>\n\t\t\t\t\t<div slot=\"header\" class=\"ui5-menu-dialog-header\" >\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={navBackIcon}\n\t\t\t\t\t\t\tclass=\"ui5-menu-back-button\"\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\taria-label={this.labelBack}\n\t\t\t\t\t\t\tonClick={this._close}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div class=\"ui5-menu-dialog-title\" >\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{this.text}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div >\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\n\t\t<div\n\t\t\tid={`${this._id}-menu-main`}\n\t\t\tclass={this.loading ? \"menu-busy-indicator-main\" : \"\"}\n\t\t\taria-busy={this.loading}\n\t\t>\n\t\t\t{\n\t\t\t\tthis.items.length ? (\n\t\t\t\t\t<List\n\t\t\t\t\t\tid={`${this._id}-menu-list`}\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\taccessibleRole=\"Menu\"\n\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\tloadingDelay={this.loadingDelay}\n\t\t\t\t\t\tonMouseOver={this._itemMouseOver}\n\t\t\t\t\t\tonKeyDown={this._itemKeyDown}\n\t\t\t\t\t\tonKeyUp={this._itemKeyUp}\n\t\t\t\t\t\t// handles event from slotted children\n\t\t\t\t\t\tonui5-close-menu={this._close}\n\t\t\t\t\t\tonui5-exit-end-content={this._navigateOutOfEndContent}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t\t) : this.loading && <BusyIndicator\n\t\t\t\t\tid={`${this._id}-menu-busy-indicator`}\n\t\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\t\tclass=\"ui5-menu-busy-indicator\"\n\t\t\t\t\tactive={true}\n\t\t\t\t/>\n\t\t\t}\n\t\t</div >\n\n\t\t{\n\t\t\tthis.isPhone && (\n\t\t\t\t<div slot=\"footer\" class=\"ui5-menu-dialog-footer\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this._closeAll}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.labelCancel}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t}\n\t</ResponsivePopover>;\n}\n"]}
@@ -85,6 +85,7 @@ declare class RangeSlider extends SliderBase implements IFormInputElement {
85
85
  tooltipStartValueState: `${ValueState}`;
86
86
  tooltipEndValueState: `${ValueState}`;
87
87
  rangePressed: boolean;
88
+ _progressFocused: boolean;
88
89
  _isStartValueValid: boolean;
89
90
  _isEndValueValid: boolean;
90
91
  _startValue: number;
@@ -105,9 +106,17 @@ declare class RangeSlider extends SliderBase implements IFormInputElement {
105
106
  _lastValidStartValue: string;
106
107
  _lastValidEndValue: string;
107
108
  _areInputValuesSwapped: boolean;
109
+ _onDocumentClickBound: (e: MouseEvent) => void;
108
110
  static i18nBundle: I18nBundle;
109
111
  get formFormattedValue(): FormData;
110
112
  constructor();
113
+ onEnterDOM(): void;
114
+ onExitDOM(): void;
115
+ /**
116
+ * Handles document-level clicks to clear progress focus when clicking outside.
117
+ * @private
118
+ */
119
+ _onDocumentClick(e: MouseEvent): void;
111
120
  get _ariaDisabled(): true | undefined;
112
121
  get _ariaLabelledByText(): string;
113
122
  get _ariaHandlesText(): AriaHandlesText;
@@ -306,9 +315,18 @@ declare class RangeSlider extends SliderBase implements IFormInputElement {
306
315
  get tickmarksObject(): boolean[];
307
316
  get _startHandle(): HTMLElement;
308
317
  get _endHandle(): HTMLElement;
309
- get _progressBar(): HTMLElement;
318
+ get _progressBar(): HTMLElement | null;
310
319
  get _ariaLabelledByStartHandleText(): string;
311
320
  get _ariaLabelledByEndHandleText(): string;
321
+ /**
322
+ * @private
323
+ */
324
+ get _ariaLabelStartHandle(): string;
325
+ /**
326
+ * @private
327
+ */
328
+ get _ariaLabelEndHandle(): string;
329
+ _getAriaLabelHandle(handleDescription: string): string;
312
330
  get _ariaLabelledByInputText(): string;
313
331
  get _ariaDescribedByInputText(): string;
314
332
  get styles(): {
@@ -10,6 +10,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
10
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
11
11
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
12
12
  import { isEscape, isEnter, isHome, isEnd, isF2, } from "@ui5/webcomponents-base/dist/Keys.js";
13
+ import { getAssociatedLabelForTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
13
14
  import SliderBase from "./SliderBase.js";
14
15
  import RangeSliderTemplate from "./RangeSliderTemplate.js";
15
16
  // Texts
@@ -80,7 +81,7 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
80
81
  */
81
82
  set startValue(value) {
82
83
  this._startValue = value;
83
- this.tooltipStartValue = value.toString();
84
+ this.tooltipStartValue = value?.toString() ?? "";
84
85
  }
85
86
  get startValue() {
86
87
  return this._startValue;
@@ -94,7 +95,7 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
94
95
  */
95
96
  set endValue(value) {
96
97
  this._endValue = value;
97
- this.tooltipEndValue = value.toString();
98
+ this.tooltipEndValue = value?.toString() ?? "";
98
99
  }
99
100
  get endValue() {
100
101
  return this._endValue;
@@ -115,6 +116,7 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
115
116
  this.tooltipStartValueState = "None";
116
117
  this.tooltipEndValueState = "None";
117
118
  this.rangePressed = false;
119
+ this._progressFocused = false;
118
120
  this._isStartValueValid = false;
119
121
  this._isEndValueValid = false;
120
122
  this._startValue = 0;
@@ -127,6 +129,25 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
127
129
  this._stateStorage.endValue = undefined;
128
130
  this._lastValidStartValue = this.min.toString();
129
131
  this._lastValidEndValue = this.max.toString();
132
+ this._onDocumentClickBound = this._onDocumentClick.bind(this);
133
+ }
134
+ onEnterDOM() {
135
+ document.addEventListener("mousedown", this._onDocumentClickBound, true);
136
+ }
137
+ onExitDOM() {
138
+ document.removeEventListener("mousedown", this._onDocumentClickBound, true);
139
+ }
140
+ /**
141
+ * Handles document-level clicks to clear progress focus when clicking outside.
142
+ * @private
143
+ */
144
+ _onDocumentClick(e) {
145
+ const clickedInside = e.composedPath().includes(this);
146
+ if (!clickedInside) {
147
+ if (this._tooltipsOpen) {
148
+ this._tooltipsOpen = false;
149
+ }
150
+ }
130
151
  }
131
152
  get _ariaDisabled() {
132
153
  return this.disabled || undefined;
@@ -240,6 +261,7 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
240
261
  this._setAffectedValue(undefined);
241
262
  this._startValueInitial = undefined;
242
263
  this._endValueInitial = undefined;
264
+ this._progressFocused = false;
243
265
  if (this.showTooltip && !e.relatedTarget?.hasAttribute("ui5-slider-tooltip")) {
244
266
  this._tooltipsOpen = false;
245
267
  }
@@ -265,7 +287,9 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
265
287
  this._startValueAtBeginningOfAction = this.startValue;
266
288
  this._endValueAtBeginningOfAction = this.endValue;
267
289
  if (isEscape(e)) {
268
- this.update(undefined, this._startValueInitial, this._endValueInitial);
290
+ if (this._startValueInitial !== undefined && this._endValueInitial !== undefined) {
291
+ this.update(undefined, this._startValueInitial, this._endValueInitial);
292
+ }
269
293
  return;
270
294
  }
271
295
  // Set the target of the interaction based on the focused inner element
@@ -288,14 +312,15 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
288
312
  }
289
313
  // Update a single value if one of the handles is focused or the range if not already at min or max
290
314
  const ctor = this.constructor;
315
+ const stepPrecision = ctor._getDecimalPrecisionOfNumber(this._effectiveStep);
291
316
  if (affectedValue && !this._isPressInCurrentRange) {
292
317
  const propValue = this[affectedValue];
293
- const newValue = ctor.clipValue(newValueOffset + propValue, min, max);
318
+ const newValue = Number(ctor.clipValue(newValueOffset + propValue, min, max).toFixed(stepPrecision));
294
319
  this.update(affectedValue, newValue, undefined);
295
320
  }
296
321
  else if ((newValueOffset < 0 && this.startValue > min) || (newValueOffset > 0 && this.endValue < max)) {
297
- const newStartValue = ctor.clipValue(newValueOffset + this.startValue, min, max);
298
- const newEndValue = ctor.clipValue(newValueOffset + this.endValue, min, max);
322
+ const newStartValue = Number(ctor.clipValue(newValueOffset + this.startValue, min, max).toFixed(stepPrecision));
323
+ const newEndValue = Number(ctor.clipValue(newValueOffset + this.endValue, min, max).toFixed(stepPrecision));
299
324
  this.update(affectedValue, newStartValue, newEndValue);
300
325
  }
301
326
  this.tooltipStartValue = this.startValue.toString();
@@ -313,7 +338,9 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
313
338
  if (this.shadowRoot.activeElement === this._endHandle) {
314
339
  this._setAffectedValue("endValue");
315
340
  }
316
- if (this.shadowRoot.activeElement === this._progressBar) {
341
+ // Progress bar is inside SliderScale's shadow DOM, so check the nested activeElement
342
+ const sliderScale = this.shadowRoot.querySelector("[ui5-slider-scale]");
343
+ if (sliderScale?.shadowRoot?.activeElement === this._progressBar) {
317
344
  this._setAffectedValue(undefined);
318
345
  }
319
346
  this._setIsPressInCurrentRange(!this._valueAffected);
@@ -326,8 +353,9 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
326
353
  _homeEndForSelectedRange(e, affectedValue, min, max) {
327
354
  const newValueOffset = this._handleActionKeyPressBase(e, affectedValue);
328
355
  const ctor = this.constructor;
329
- const newStartValue = ctor.clipValue(newValueOffset + this.startValue, min, max);
330
- const newEndValue = ctor.clipValue(newValueOffset + this.endValue, min, max);
356
+ const stepPrecision = ctor._getDecimalPrecisionOfNumber(this._effectiveStep);
357
+ const newStartValue = Number(ctor.clipValue(newValueOffset + this.startValue, min, max).toFixed(stepPrecision));
358
+ const newEndValue = Number(ctor.clipValue(newValueOffset + this.endValue, min, max).toFixed(stepPrecision));
331
359
  this.update(undefined, newStartValue, newEndValue);
332
360
  }
333
361
  /**
@@ -370,12 +398,27 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
370
398
  if (this.disabled || this._effectiveStep === 0 || e.target.hasAttribute("ui5-slider-tooltip")) {
371
399
  return;
372
400
  }
373
- // Calculate the new value from the press position of the event
401
+ // Pre-calculate whether the press is in the current range before handleDownBase
402
+ // This is needed so focusInnerElement() knows where to focus
403
+ const ctor = this.constructor;
404
+ const pageX = ctor.getPageXValueFromEvent(e);
405
+ const tempValue = ctor.getValueFromInteraction(e, this._effectiveStep, this._effectiveMin, this._effectiveMax, this.getBoundingClientRect(), this.directionStart);
406
+ const isInRange = tempValue >= this.startValue && tempValue <= this.endValue;
407
+ const startHandle = this._startHandle;
408
+ const endHandle = this._endHandle;
409
+ const inStartHandle = startHandle && pageX >= startHandle.getBoundingClientRect().left && pageX <= startHandle.getBoundingClientRect().right;
410
+ const inEndHandle = endHandle && pageX >= endHandle.getBoundingClientRect().left && pageX <= endHandle.getBoundingClientRect().right;
374
411
  const newValue = this.handleDownBase(e);
375
- // Determine the rest of the needed details from the start of the interaction.
412
+ if (isInRange && !inStartHandle && !inEndHandle) {
413
+ this._setIsPressInCurrentRange(true);
414
+ this._progressFocused = true;
415
+ this.rangePressed = true;
416
+ }
417
+ else {
418
+ this._progressFocused = false;
419
+ this.rangePressed = false;
420
+ }
376
421
  this._saveInteractionStartData(e, newValue);
377
- this.rangePressed = this._isPressInCurrentRange;
378
- // Do not yet update the RangeSlider if press is in range or over a handle.
379
422
  if (this._isPressInCurrentRange || this._handeIsPressed) {
380
423
  this._handeIsPressed = false;
381
424
  return;
@@ -393,7 +436,7 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
393
436
  * @private
394
437
  */
395
438
  _saveInteractionStartData(e, newValue) {
396
- const progressBarDom = this.shadowRoot.querySelector(".ui5-slider-progress").getBoundingClientRect();
439
+ const progressBarDom = this._progressBar?.getBoundingClientRect();
397
440
  // Save the state of the value properties on the start of the interaction
398
441
  this._startValueAtBeginningOfAction = this.startValue;
399
442
  this._endValueAtBeginningOfAction = this.endValue;
@@ -403,7 +446,9 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
403
446
  // Which element of the Range Slider is pressed and which value property to be modified on further interaction
404
447
  this._pressTargetAndAffectedValue(this._initialPageXPosition, newValue);
405
448
  // Use the progress bar to save the initial coordinates of the start-handle when the interaction begins.
406
- this._initialStartHandlePageX = this.directionStart === "left" ? progressBarDom.left : progressBarDom.right;
449
+ if (progressBarDom) {
450
+ this._initialStartHandlePageX = this.directionStart === "left" ? progressBarDom.left : progressBarDom.right;
451
+ }
407
452
  }
408
453
  /**
409
454
  * Called when the user moves the slider
@@ -474,8 +519,8 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
474
519
  * @private
475
520
  */
476
521
  _pressTargetAndAffectedValue(clientX, value) {
477
- const startHandle = this.shadowRoot.querySelector(".ui5-slider-handle--start");
478
- const endHandle = this.shadowRoot.querySelector(".ui5-slider-handle--end");
522
+ const startHandle = this._startHandle;
523
+ const endHandle = this._endHandle;
479
524
  // Check if the press point is in the bounds of any of the Range Slider handles
480
525
  const handleStartDomRect = startHandle.getBoundingClientRect();
481
526
  const handleEndDomRect = endHandle.getBoundingClientRect();
@@ -548,14 +593,14 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
548
593
  const isReversed = this._areValuesReversed();
549
594
  const affectedValue = this._valueAffected;
550
595
  if (this._isPressInCurrentRange || !affectedValue) {
551
- this._progressBar.focus();
596
+ this._progressBar?.focus();
552
597
  }
553
598
  if ((affectedValue === "startValue" && !isReversed) || (affectedValue === "endValue" && isReversed)) {
554
- this._startHandle.focus();
599
+ this._startHandle?.focus();
555
600
  this.bringToFrontTooltip("start");
556
601
  }
557
602
  if ((affectedValue === "endValue" && !isReversed) || (affectedValue === "startValue" && isReversed)) {
558
- this._endHandle.focus();
603
+ this._endHandle?.focus();
559
604
  this.bringToFrontTooltip("end");
560
605
  }
561
606
  }
@@ -583,7 +628,10 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
583
628
  // And the opposite - if the start handle reaches the beginning of the slider keep the initially selected range.
584
629
  const ctor = this.constructor;
585
630
  startValue = ctor.clipValue(startValue, min, max - selectedRange);
586
- return [startValue, startValue + selectedRange];
631
+ const stepPrecision = ctor._getDecimalPrecisionOfNumber(this._effectiveStep);
632
+ const endValue = Number((startValue + selectedRange).toFixed(stepPrecision));
633
+ startValue = Number(startValue.toFixed(stepPrecision));
634
+ return [startValue, endValue];
587
635
  }
588
636
  /**
589
637
  * Computes the new value based on the difference of the current cursor location from the
@@ -670,6 +718,11 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
670
718
  tooltip.followRef?.focus();
671
719
  }
672
720
  _onTooltipChange(e) {
721
+ // Skip if this is a focusout change event triggered by the swap focus change
722
+ if (this._areInputValuesSwapped) {
723
+ this._areInputValuesSwapped = false;
724
+ return;
725
+ }
673
726
  const tooltip = e.target;
674
727
  const isStart = tooltip.hasAttribute("data-sap-ui-start-value");
675
728
  const inputValue = parseFloat(e.detail.value);
@@ -687,10 +740,12 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
687
740
  }
688
741
  const clampedValue = Math.min(this.max, Math.max(this.min, inputValue));
689
742
  if (isStart) {
743
+ this.tooltipStartValueState = ValueState.None;
690
744
  this.startValue = clampedValue;
691
745
  this._lastValidStartValue = clampedValue.toString();
692
746
  }
693
747
  else {
748
+ this.tooltipEndValueState = ValueState.None;
694
749
  this.endValue = clampedValue;
695
750
  this._lastValidEndValue = clampedValue.toString();
696
751
  }
@@ -729,10 +784,11 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
729
784
  }
730
785
  }
731
786
  _onTooltipOpen() {
732
- const ctor = this.constructor;
733
- const stepPrecision = ctor._getDecimalPrecisionOfNumber(this._effectiveStep);
734
- this.tooltipStartValue = this.startValue.toFixed(stepPrecision);
735
- this.tooltipEndValue = this.endValue.toFixed(stepPrecision);
787
+ if (!this.startValue || !this.endValue) {
788
+ return;
789
+ }
790
+ this.tooltipStartValue = this.startValue.toString();
791
+ this.tooltipEndValue = this.endValue.toString();
736
792
  }
737
793
  _onTooltipInput(e) {
738
794
  const tooltip = e.target;
@@ -817,13 +873,14 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
817
873
  return arr;
818
874
  }
819
875
  get _startHandle() {
820
- return this.shadowRoot.querySelector(".ui5-slider-handle--start");
876
+ return this.shadowRoot.querySelector("[ui5-slider-handle][handle-type='Start']");
821
877
  }
822
878
  get _endHandle() {
823
- return this.shadowRoot.querySelector(".ui5-slider-handle--end");
879
+ return this.shadowRoot.querySelector("[ui5-slider-handle][handle-type='End']");
824
880
  }
825
881
  get _progressBar() {
826
- return this.shadowRoot.querySelector(".ui5-slider-progress");
882
+ const sliderScale = this.shadowRoot.querySelector("[ui5-slider-scale]");
883
+ return sliderScale?.shadowRoot?.querySelector(".ui5-slider-progress") ?? null;
827
884
  }
828
885
  get _ariaLabelledByStartHandleText() {
829
886
  return this.accessibleName ? ["ui5-slider-accName", "ui5-slider-startHandleDesc"].join(" ").trim() : "ui5-slider-startHandleDesc";
@@ -831,6 +888,29 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
831
888
  get _ariaLabelledByEndHandleText() {
832
889
  return this.accessibleName ? ["ui5-slider-accName", "ui5-slider-endHandleDesc"].join(" ").trim() : "ui5-slider-endHandleDesc";
833
890
  }
891
+ /**
892
+ * @private
893
+ */
894
+ get _ariaLabelStartHandle() {
895
+ return this._getAriaLabelHandle(this._ariaHandlesText.startHandleText || "");
896
+ }
897
+ /**
898
+ * @private
899
+ */
900
+ get _ariaLabelEndHandle() {
901
+ return this._getAriaLabelHandle(this._ariaHandlesText.endHandleText || "");
902
+ }
903
+ _getAriaLabelHandle(handleDescription) {
904
+ const associatedLabelText = getAssociatedLabelForTexts(this);
905
+ const hasAccessibleName = !!this.accessibleName;
906
+ let labelText = hasAccessibleName
907
+ ? `${this.accessibleName} ${handleDescription}`
908
+ : handleDescription;
909
+ if (!hasAccessibleName && associatedLabelText) {
910
+ labelText = `${associatedLabelText} ${labelText}`;
911
+ }
912
+ return labelText;
913
+ }
834
914
  get _ariaLabelledByInputText() {
835
915
  return RangeSlider_1.i18nBundle.getText(SLIDER_TOOLTIP_INPUT_LABEL);
836
916
  }
@@ -874,6 +954,9 @@ __decorate([
874
954
  __decorate([
875
955
  property({ type: Boolean })
876
956
  ], RangeSlider.prototype, "rangePressed", void 0);
957
+ __decorate([
958
+ property({ type: Boolean })
959
+ ], RangeSlider.prototype, "_progressFocused", void 0);
877
960
  __decorate([
878
961
  property({ type: Boolean })
879
962
  ], RangeSlider.prototype, "_isStartValueValid", void 0);
@@ -889,7 +972,7 @@ RangeSlider = RangeSlider_1 = __decorate([
889
972
  languageAware: true,
890
973
  formAssociated: true,
891
974
  template: RangeSliderTemplate,
892
- styles: [SliderBase.styles, rangeSliderStyles],
975
+ styles: [rangeSliderStyles],
893
976
  })
894
977
  ], RangeSlider);
895
978
  RangeSlider.define();