@ui5/webcomponents 2.27.0-rc.1 → 2.27.0-rc.2

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 (199) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/AvatarBadge.d.ts +16 -0
  4. package/dist/AvatarBadge.js +6 -0
  5. package/dist/AvatarBadge.js.map +1 -1
  6. package/dist/CardHeaderTemplate.js +6 -5
  7. package/dist/CardHeaderTemplate.js.map +1 -1
  8. package/dist/DateTimeInput.d.ts +6 -0
  9. package/dist/DateTimeInput.js +11 -0
  10. package/dist/DateTimeInput.js.map +1 -1
  11. package/dist/Filters.js +1 -1
  12. package/dist/Filters.js.map +1 -1
  13. package/dist/List.js +4 -1
  14. package/dist/List.js.map +1 -1
  15. package/dist/ListItem.d.ts +4 -4
  16. package/dist/ListItem.js +6 -6
  17. package/dist/ListItem.js.map +1 -1
  18. package/dist/NumberInput.d.ts +1 -1
  19. package/dist/NumberInput.js +1 -1
  20. package/dist/NumberInput.js.map +1 -1
  21. package/dist/TableHeaderCell.d.ts +3 -0
  22. package/dist/TableHeaderCell.js +16 -0
  23. package/dist/TableHeaderCell.js.map +1 -1
  24. package/dist/TableHeaderCellTemplate.js +3 -15
  25. package/dist/TableHeaderCellTemplate.js.map +1 -1
  26. package/dist/TableHeaderRow.d.ts +2 -0
  27. package/dist/TableHeaderRow.js +6 -0
  28. package/dist/TableHeaderRow.js.map +1 -1
  29. package/dist/TableHeaderRowTemplate.js +6 -7
  30. package/dist/TableHeaderRowTemplate.js.map +1 -1
  31. package/dist/TableRow.d.ts +2 -0
  32. package/dist/TableRow.js +6 -0
  33. package/dist/TableRow.js.map +1 -1
  34. package/dist/TableRowActionBase.d.ts +3 -1
  35. package/dist/TableRowActionBase.js +8 -0
  36. package/dist/TableRowActionBase.js.map +1 -1
  37. package/dist/TableRowBase.d.ts +1 -0
  38. package/dist/TableRowBase.js +3 -0
  39. package/dist/TableRowBase.js.map +1 -1
  40. package/dist/TableRowTemplate.js +6 -11
  41. package/dist/TableRowTemplate.js.map +1 -1
  42. package/dist/TableSelection.d.ts +5 -0
  43. package/dist/TableSelection.js +11 -0
  44. package/dist/TableSelection.js.map +1 -1
  45. package/dist/TableSelectionBase.d.ts +13 -0
  46. package/dist/TableSelectionBase.js +18 -0
  47. package/dist/TableSelectionBase.js.map +1 -1
  48. package/dist/TableSelectionMulti.d.ts +5 -0
  49. package/dist/TableSelectionMulti.js +12 -0
  50. package/dist/TableSelectionMulti.js.map +1 -1
  51. package/dist/TableSelectionSingle.d.ts +2 -0
  52. package/dist/TableSelectionSingle.js +4 -0
  53. package/dist/TableSelectionSingle.js.map +1 -1
  54. package/dist/TimePicker.d.ts +10 -0
  55. package/dist/TimePicker.js +51 -11
  56. package/dist/TimePicker.js.map +1 -1
  57. package/dist/TimePickerPopoverTemplate.js +1 -1
  58. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  59. package/dist/TimePickerTemplate.js +1 -1
  60. package/dist/TimePickerTemplate.js.map +1 -1
  61. package/dist/Tokenizer.d.ts +6 -0
  62. package/dist/Tokenizer.js +27 -10
  63. package/dist/Tokenizer.js.map +1 -1
  64. package/dist/Toolbar.d.ts +27 -0
  65. package/dist/Toolbar.js +102 -20
  66. package/dist/Toolbar.js.map +1 -1
  67. package/dist/ToolbarItemBase.d.ts +51 -0
  68. package/dist/ToolbarItemBase.js +89 -0
  69. package/dist/ToolbarItemBase.js.map +1 -1
  70. package/dist/css/themes/AvatarBadge.css +1 -1
  71. package/dist/css/themes/CardHeader.css +1 -1
  72. package/dist/custom-elements-internal.json +161 -21
  73. package/dist/custom-elements.json +152 -19
  74. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  75. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  76. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  77. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  78. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  79. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  80. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  81. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  82. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  83. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  84. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  85. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  86. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  87. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  91. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  97. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  110. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  111. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  112. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  113. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  115. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  119. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  123. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  125. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  126. package/dist/generated/i18n/i18n-defaults.js +6 -4
  127. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  128. package/dist/generated/themes/AvatarBadge.css.d.ts +1 -1
  129. package/dist/generated/themes/AvatarBadge.css.js +1 -1
  130. package/dist/generated/themes/AvatarBadge.css.js.map +1 -1
  131. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  132. package/dist/generated/themes/CardHeader.css.js +1 -1
  133. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  134. package/dist/types/ListItemType.d.ts +2 -1
  135. package/dist/types/ListItemType.js +2 -1
  136. package/dist/types/ListItemType.js.map +1 -1
  137. package/dist/vscode.html-custom-data.json +38 -8
  138. package/dist/web-types.json +76 -16
  139. package/package.json +9 -9
  140. package/src/CardHeaderTemplate.tsx +19 -20
  141. package/src/TableHeaderCellTemplate.tsx +4 -16
  142. package/src/TableHeaderRowTemplate.tsx +15 -15
  143. package/src/TableRowTemplate.tsx +10 -20
  144. package/src/TimePickerPopoverTemplate.tsx +1 -0
  145. package/src/TimePickerTemplate.tsx +1 -0
  146. package/src/i18n/messagebundle.properties +6 -0
  147. package/src/i18n/messagebundle_ar.properties +13 -6
  148. package/src/i18n/messagebundle_bg.properties +13 -6
  149. package/src/i18n/messagebundle_ca.properties +13 -6
  150. package/src/i18n/messagebundle_cnr.properties +13 -6
  151. package/src/i18n/messagebundle_cs.properties +13 -6
  152. package/src/i18n/messagebundle_cy.properties +13 -6
  153. package/src/i18n/messagebundle_da.properties +13 -6
  154. package/src/i18n/messagebundle_de.properties +13 -6
  155. package/src/i18n/messagebundle_el.properties +13 -6
  156. package/src/i18n/messagebundle_en.properties +11 -6
  157. package/src/i18n/messagebundle_en_GB.properties +13 -6
  158. package/src/i18n/messagebundle_en_US_sappsd.properties +13 -6
  159. package/src/i18n/messagebundle_en_US_saprigi.properties +6 -0
  160. package/src/i18n/messagebundle_en_US_saptrc.properties +13 -6
  161. package/src/i18n/messagebundle_es.properties +13 -6
  162. package/src/i18n/messagebundle_es_MX.properties +13 -6
  163. package/src/i18n/messagebundle_et.properties +13 -6
  164. package/src/i18n/messagebundle_fi.properties +13 -6
  165. package/src/i18n/messagebundle_fr.properties +13 -6
  166. package/src/i18n/messagebundle_fr_CA.properties +13 -6
  167. package/src/i18n/messagebundle_hi.properties +13 -6
  168. package/src/i18n/messagebundle_hr.properties +13 -6
  169. package/src/i18n/messagebundle_hu.properties +13 -6
  170. package/src/i18n/messagebundle_id.properties +13 -6
  171. package/src/i18n/messagebundle_it.properties +13 -6
  172. package/src/i18n/messagebundle_iw.properties +13 -6
  173. package/src/i18n/messagebundle_ja.properties +13 -6
  174. package/src/i18n/messagebundle_kk.properties +13 -6
  175. package/src/i18n/messagebundle_ko.properties +13 -6
  176. package/src/i18n/messagebundle_lt.properties +13 -6
  177. package/src/i18n/messagebundle_lv.properties +13 -6
  178. package/src/i18n/messagebundle_mk.properties +13 -6
  179. package/src/i18n/messagebundle_ms.properties +13 -6
  180. package/src/i18n/messagebundle_nl.properties +13 -6
  181. package/src/i18n/messagebundle_no.properties +13 -6
  182. package/src/i18n/messagebundle_pl.properties +13 -6
  183. package/src/i18n/messagebundle_pt.properties +13 -6
  184. package/src/i18n/messagebundle_pt_PT.properties +13 -6
  185. package/src/i18n/messagebundle_ro.properties +13 -6
  186. package/src/i18n/messagebundle_ru.properties +13 -6
  187. package/src/i18n/messagebundle_sh.properties +13 -6
  188. package/src/i18n/messagebundle_sk.properties +13 -6
  189. package/src/i18n/messagebundle_sl.properties +13 -6
  190. package/src/i18n/messagebundle_sr.properties +13 -6
  191. package/src/i18n/messagebundle_sv.properties +13 -6
  192. package/src/i18n/messagebundle_th.properties +13 -6
  193. package/src/i18n/messagebundle_tr.properties +13 -6
  194. package/src/i18n/messagebundle_uk.properties +13 -6
  195. package/src/i18n/messagebundle_vi.properties +13 -6
  196. package/src/i18n/messagebundle_zh_CN.properties +13 -6
  197. package/src/i18n/messagebundle_zh_TW.properties +13 -6
  198. package/src/themes/AvatarBadge.css +12 -0
  199. package/src/themes/CardHeader.css +12 -14
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../src/TimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop, isPhone, isTablet } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } 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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetAllAccessibleNameRefTexts,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport IconMode from \"./types/IconMode.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport {\n\tisShow,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisTabNext,\n\tisTabPrevious,\n\tisF6Next,\n\tisF6Previous,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type Popover from \"./Popover.js\";\nimport TimePickerTemplate from \"./TimePickerTemplate.js\";\nimport type DateTimeInput from \"./DateTimeInput.js\";\nimport type { InputAccInfo } from \"./Input.js\";\nimport type TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport type TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport type { TimeSelectionChangeEventDetail } from \"./TimePickerInternals.js\";\n\nimport {\n\tTIMEPICKER_SUBMIT_BUTTON,\n\tTIMEPICKER_CANCEL_BUTTON,\n\tTIMEPICKER_INPUT_DESCRIPTION,\n\tTIMEPICKER_POPOVER_ACCESSIBLE_NAME,\n\tDATETIME_COMPONENTS_PLACEHOLDER_PREFIX,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_WARNING,\n\tTIMEPICKER_VALUE_MISSING,\n\tTIMEPICKER_PATTERN_MISSMATCH,\n\tTIMEPICKER_OPEN_ICON_TITLE_OPENED,\n\tTIMEPICKER_OPEN_ICON_TITLE,\n\tINPUT_SUGGESTIONS_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport TimePickerCss from \"./generated/themes/TimePicker.css.js\";\nimport TimePickerPopoverCss from \"./generated/themes/TimePickerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype TimePickerChangeInputEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\ntype TimePickerChangeEventDetail = TimePickerChangeInputEventDetail;\ntype TimePickerInputEventDetail = TimePickerChangeInputEventDetail;\n\nconst DEFAULT_ISO_FORMAT = \"HH:mm:ss\";\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-time-picker` component provides an input field with assigned clocks which are opened on user action.\n * The `ui5-time-picker` allows users to select a localized time using touch, mouse, or keyboard input.\n * It consists of two parts: the time input field and the clocks.\n *\n * ### Usage\n * The user can enter a time by:\n *\n * - Using the clocks that are displayed in a popup\n * - Typing it in directly in the input field\n *\n * When the user makes an entry and chooses the enter key, the clocks show the corresponding time (hours, minutes and seconds separately).\n * When the user directly triggers the clocks display, the actual time is displayed.\n * For the `ui5-time-picker`\n *\n * ### Formatting\n *\n * If a time is entered by typing it into\n * the input field, it must fit to the used time format.\n *\n * Supported format options are pattern-based on Unicode LDML Date Format notation.\n * For more information, see [UTS #35: Unicode Locale Data Markup Language](https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n *\n * For example, if the valueFormat is \"HH:mm:ss\", the displayFormat is \"hh:mm: ss a\", and the used locale is English, a valid value string is \"11:42:35\", which leads to an output of \"11:42:35 AM\".\n * If no placeholder is set to the TimePicker, the used displayFormat is displayed as a placeholder. If another placeholder is needed, it must be set.\n *\n * ### Keyboard handling\n * [F4], [Alt]+[Up], [Alt]+[Down] Open/Close picker dialog and move focus to it.\n *\n * When closed:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * -\n *\n * When opened:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * - [A] or [P] - Selects AM or PM respectively.\n * - [0]-[9] - Allows direct time selecting (hours/minutes/seconds).\n * - [:] - Allows switching between hours/minutes/seconds clocks. If the last clock is displayed and [:] is pressed, the first clock is beind displayed.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePicker.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n * @csspart input - Used to style the input element. This part is forwarded to the underlying ui5-input element.\n */\n@customElement({\n\ttag: \"ui5-time-picker\",\n\tlanguageAware: true,\n\tcldr: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: TimePickerTemplate,\n\tstyles: [\n\t\tTimePickerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tTimePickerPopoverCss,\n\t\tValueStateMessageCss,\n\t],\n})\n/**\n * Fired when the input operation has finished by clicking the \"OK\" button or\n * when the text in the input field has changed and the focus leaves the input field.\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the value of the `ui5-time-picker` is changed at each key stroke.\n * @public\n * @param {string} value The current value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event(\"input\", {\n\tbubbles: true,\n})\n/**\n * Fired after the value-help dialog of the component is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n/**\n * Fired after the value-help dialog of the component is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass TimePicker extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: TimePickerChangeEventDetail;\n\t\t\"value-changed\": TimePickerChangeEventDetail;\n\t\tinput: TimePickerInputEventDetail;\n\t\topen: void;\n\t\tclose: void;\n\t}\n\t/**\n\t * Defines a formatted time value.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines the disabled state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the readonly state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t * @default undefined\n\t * @since 2.21.0\n\t * @public\n\t */\n\t@property()\n\tdisplayFormat?: string;\n\n\t/**\n\t * Determines the format, used for the value attribute.\n\t * @default undefined\n\t * @since 2.21.0\n\t * @public\n\t */\n\t@property()\n\tvalueFormat?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * Example:\n\t * HH:mm:ss -> 11:42:35\n\t * hh:mm:ss a -> 2:23:15 PM\n\t * mm:ss -> 12:04 (only minutes and seconds)\n\t * @default undefined\n\t * @deprecated Use displayFormat and valueFormat instead\n\t * @public\n\t */\n\t@property()\n\tformatPattern?: string;\n\n\t/**\n\t * Defines the open or closed state of the popover.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 2.1.0\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines the aria-label attribute for the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.1.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id (or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.14.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the input.\n\t * @default undefined\n\t * @public\n\t * @since 2.14.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isInputsPopoverOpen = false;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the `ui5-time-picker`.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the `ui5-time-picker` is in `Information`, `Critical` or `Negative` value state.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Slot<HTMLElement>;\n\n\t@query(\"[ui5-time-selection-clocks]\")\n\t_timeSelectionClocks?: TimeSelectionClocks;\n\n\t@query(\"[ui5-popover]\")\n\t_inputsPopover!: Popover;\n\n\t@query(\"[ui5-datetime-input]\")\n\t_dateTimeInput!: DateTimeInput;\n\n\ttempValue?: string;\n\n\t/**\n\t * Cached instance of DateFormat with a format pattern of \"HH:mm:ss\".\n\t * Used by the getISOFormat method to avoid creating a new DateFormat instance on each call.\n\t * @private\n\t */\n\t_isoFormatInstance?: DateFormat;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget formValidityMessage() {\n\t\tconst validity = this.formValidity;\n\n\t\tif (validity.valueMissing) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_VALUE_MISSING, this.getValueFormat().oFormatOptions.pattern as string);\n\t\t}\n\t\tif (validity.patternMismatch) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_PATTERN_MISSMATCH, this.getValueFormat().oFormatOptions.pattern as string);\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn {\n\t\t\tvalueMissing: this.required && !this.value,\n\t\t\tpatternMismatch: !this.isValidValue(this.value),\n\t\t};\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn (await this.getFocusDomRefAsync() as UI5Element)?.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value || \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.value) {\n\t\t\tthis.value = this.normalizeValue(this.value) || this.value;\n\t\t}\n\n\t\tthis.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());\n\t}\n\n\tget roleDescription() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_INPUT_DESCRIPTION);\n\t}\n\n\tget pickerAccessibleName() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_POPOVER_ACCESSIBLE_NAME, this.ariaLabelText);\n\t}\n\n\tget accInfo(): InputAccInfo {\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this.roleDescription,\n\t\t\t\"ariaHasPopup\": \"grid\",\n\t\t\t\"ariaRequired\": this.required,\n\t\t\t\"ariaLabel\": this.ariaLabelText || undefined,\n\t\t\t\"ariaDescription\": getAllAccessibleDescriptionRefTexts(this) || getEffectiveAriaDescriptionText(this) || undefined,\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getAllAccessibleNameRefTexts(this) || getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || \"\";\n\t}\n\n\t/**\n\t * Currently selected time represented as JavaScript Date instance\n\t * @public\n\t * @default null\n\t */\n\tget dateValue(): Date | null {\n\t\treturn this.getValueFormat().parse(this._effectiveValue) as Date;\n\t}\n\n\tget _lastAvailableTime() {\n\t\tconst date = UI5Date.getInstance();\n\t\tdate.setHours(23, 59, 59, 999);\n\t\treturn this.getValueFormat().format(date);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.placeholder) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\t// translatable placeholder – for example \"e.g. 23:59:59\"\n\t\treturn `${TimePicker.i18nBundle.getText(DATETIME_COMPONENTS_PLACEHOLDER_PREFIX)} ${this._lastAvailableTime}`;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _formatPattern() {\n\t\tconst hasHours = !!this.formatPattern?.match(/H/i);\n\t\tconst fallback = !this.formatPattern || !hasHours;\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn fallback ? localeData.getTimePattern(\"medium\") : this.formatPattern;\n\t}\n\n\tget _displayFormat() {\n\t\tif (this.displayFormat) {\n\t\t\treturn this.displayFormat;\n\t\t}\n\n\t\tif (this._formatPattern) {\n\t\t\treturn this._formatPattern;\n\t\t}\n\t}\n\n\tget _valueFormat() {\n\t\tif (this.valueFormat) {\n\t\t\treturn this.valueFormat;\n\t\t}\n\n\t\tif (this.formatPattern) {\n\t\t\treturn this._formatPattern;\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget _effectiveValue() {\n\t\treturn this.value;\n\t}\n\n\tget _timeSelectionValue() {\n\t\treturn this.tempValue;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _isMobileDevice() {\n\t\treturn !isDesktop() && (isPhone() || isTablet());\n\t}\n\n\tget shouldDisplayValueStateMessageInResponsivePopover() {\n\t\treturn this.hasValueStateText && !this._inputsPopover?.open;\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\tonTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>) {\n\t\tthis.tempValue = e.detail.value; // every time the user changes the time selection -> update tempValue\n\t}\n\n\tget openIconTitle() {\n\t\tif (this.open) {\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_OPEN_ICON_TITLE_OPENED);\n\t\t}\n\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_OPEN_ICON_TITLE);\n\t}\n\n\t_togglePicker() {\n\t\tthis.open = !this.open;\n\t\tif (this._isMobileDevice) {\n\t\t\tthis._inputsPopover.open = false;\n\t\t}\n\t}\n\n\tsubmitPickers() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis._togglePicker();\n\t}\n\n\tonResponsivePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tonResponsivePopoverBeforeOpen() {\n\t\tconst clocks = this._timeSelectionClocks;\n\t\tif (clocks) {\n\t\t\tclocks._activeIndex = 0;\n\t\t\tclocks._skipAnimation = true;\n\t\t}\n\t}\n\n\tonResponsivePopoverAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t/**\n\t * Opens the Inputs popover.\n\t * @private\n\t * @returns Resolves when the Inputs popover is open\n\t */\n\topenInputsPopover() {\n\t\tthis.tempValue = this.value && this.isValidValue(this.value) ? this.value : this.getValueFormat().format(UI5Date.getInstance());\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.opener = this;\n\t\tpopover.open = true;\n\t\tthis._isInputsPopoverOpen = true;\n\t}\n\n\t/**\n\t * Closes the Inputs popover\n\t * @private\n\t * @returns Resolves when the Inputs popover is closed\n\t */\n\tcloseInputsPopover() {\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.open = false;\n\t}\n\n\ttoggleInputsPopover() {\n\t\tif (this.isInputsPopoverOpen()) {\n\t\t\tthis.closeInputsPopover();\n\t\t} else if (this._canOpenInputsPopover()) {\n\t\t\tthis.openInputsPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the inputs popover is open\n\t * @private\n\t */\n\tisInputsPopoverOpen(): boolean {\n\t\treturn !!this._isInputsPopoverOpen;\n\t}\n\n\tsubmitInputsPopover() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis.closeInputsPopover();\n\t}\n\n\tonInputsPopoverAfterOpen() {\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.querySelector<TimeSelectionInputs>(\"[ui5-time-selection-inputs]\")!._addNumericAttributes();\n\t}\n\n\tonInputsPopoverAfterClose() {\n\t\tthis._isInputsPopoverOpen = false;\n\t}\n\n\t_handleInputClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isMobileDevice && target && !target.hasAttribute(\"ui5-icon\")) {\n\t\t\tthis.toggleInputsPopover();\n\t\t}\n\n\t\tconst inputField = this._getInputField();\n\n\t\tif (inputField) {\n\t\t\t(inputField as HTMLInputElement).select();\n\t\t}\n\t}\n\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, eventsNames: Array<\"input\" | \"change\" | \"value-changed\">) {\n\t\tconst isInputEvent = eventsNames.includes(\"input\");\n\t\tconst valid = this.isValidValue(value);\n\n\t\tlet normalizedValue = value;\n\t\t// Only normalize if valid - if invalid, keep raw value\n\t\tif (value !== undefined && valid && normalizeValue && !isInputEvent) {\n\t\t\tnormalizedValue = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n\t\t}\n\n\t\t// Store the previous value to check if it actually changed\n\t\tconst previousValue = this.value;\n\n\t\t// During input events (live typing), only update tempValue, not the public value property\n\t\tif (!isInputEvent) {\n\t\t\tthis.value = \"\"; // Do not remove! DurationPicker (an external component extending TimePicker) use case\n\t\t\tthis.value = normalizedValue;\n\t\t}\n\n\t\t// Always sync tempValue for the picker\n\t\tthis.tempValue = isInputEvent ? value : normalizedValue;\n\t\tthis._updateValueState(); // Change the value state to Error/None, but only if needed (must be called before early return)\n\n\t\tif (previousValue === this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\teventsNames.forEach(eventName => {\n\t\t\tthis.fireDecoratorEvent(eventName, { value, valid });\n\t\t});\n\t}\n\n\t_updateValueState() {\n\t\t// During live typing, validate against displayFormat (what user types), otherwise validate against valueFormat (stored value)\n\t\tconst isValid = this.isValidValue(this.value);\n\t\tif (!isValid) { // If not valid - always set Error regardless of the current value state\n\t\t\tthis.valueState = ValueState.Negative;\n\t\t} else if (isValid && this.valueState === ValueState.Negative) { // However if valid, change only Error (but not the others) to None\n\t\t\tthis.valueState = ValueState.None;\n\t\t}\n\t}\n\n\t_handleInputChange(e: CustomEvent) {\n\t\tconst target = e.target as DateTimeInput;\n\t\tthis._updateValueAndFireEvents(target.value, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t_onInputRequestSubmit() {\n\t\tif (this._internals.form) {\n\t\t\tsubmitForm(this);\n\t\t}\n\t}\n\n\t_handleInputLiveChange(e: CustomEvent) {\n\t\tif (this._isPhone) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tconst target = e.target as DateTimeInput;\n\t\tthis._updateValueAndFireEvents(target.value, false, [\"input\"]);\n\t}\n\n\t_canOpenPicker() {\n\t\treturn !this.disabled && !this.readonly;\n\t}\n\n\t_canOpenInputsPopover() {\n\t\treturn !this.disabled && this._isMobileDevice;\n\t}\n\n\t_getInputField() {\n\t\tconst input = this._dateTimeInput;\n\t\treturn input && input.getInputDOMRef();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this._isMobileDevice && !this.isInputsPopoverOpen()) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._togglePicker();\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target && this.open && this._dateTimeInput.id === target.id && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {\n\t\t\tthis._togglePicker();\n\t\t}\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPageUpShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"second\");\n\t\t} else if (isPageUpShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"minute\");\n\t\t} else if (isPageUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"hour\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"second\");\n\t\t} else if (isPageDownShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"minute\");\n\t\t} else if (isPageDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"hour\");\n\t\t}\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget _isValueFormatPattern() {\n\t\treturn this._valueFormat !== \"medium\" && this._valueFormat !== \"short\" && this._valueFormat !== \"long\";\n\t}\n\n\tget _isDisplayFormatPattern() {\n\t\treturn this._displayFormat !== \"medium\" && this._displayFormat !== \"short\" && this._displayFormat !== \"long\";\n\t}\n\n\tget displayValue() {\n\t\tif (!this.value) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (!this.getValueFormat().parse(this.value, true)) {\n\t\t\treturn this.value;\n\t\t}\n\n\t\treturn this.getDisplayFormat().format(this.getValueFormat().parse(this.value, true), true);\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat;\n\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t});\n\t\t} else {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\n\t\treturn dateFormat;\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: DEFAULT_ISO_FORMAT,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\tgetDisplayFormat() {\n\t\t// If no displayFormat is set, use the deprecated getFormat() for backward compatibility\n\t\tif (!this._displayFormat) {\n\t\t\treturn this.getFormat();\n\t\t}\n\n\t\treturn this._isDisplayFormatPattern\n\t\t\t? DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._displayFormat,\n\t\t\t})\n\t\t\t: DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._displayFormat,\n\t\t\t});\n\t}\n\n\tgetValueFormat() {\n\t\tif (!this._valueFormat) {\n\t\t\treturn this.getISOFormat();\n\t\t}\n\n\t\treturn this._isValueFormatPattern\n\t\t\t? DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._valueFormat,\n\t\t\t})\n\t\t\t: DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._valueFormat,\n\t\t\t});\n\t}\n\n\t/**\n\t * Formats a Java Script date object into a string representing a locale date and time\n\t * according to the `formatPattern` property of the TimePicker instance\n\t * @param date A Java Script date object to be formatted as string\n\t * @public\n\t * @returns formatted value\n\t */\n\tformatValue(date: Date): string {\n\t\treturn this.getValueFormat().format(date);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `formatPattern` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the current date format\n\t * @public\n\t */\n\tisValid(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn !!this.getFormat().parse(value as string, true);\n\t}\n\n\tisValidDisplayValue(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getDisplayFormat().parse(value as string, true);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `valueFormat` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the value format\n\t * @public\n\t * @since 2.21.0\n\t */\n\tisValidValue(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getValueFormat().parse(value as string, true);\n\t}\n\n\t/**\n\t * Converts a value from displayFormat to valueFormat\n\t * @param value Value in displayFormat\n\t * @returns Value in valueFormat\n\t * @private\n\t */\n\tgetValueFromDisplayValue(value: string): string {\n\t\tif (!this.getDisplayFormat().parse(value, true)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getValueFormat().format(this.getDisplayFormat().parse(value, true), true);\n\t}\n\n\t/**\n\t * Converts a value from valueFormat to displayFormat\n\t * @param value Value in valueFormat\n\t * @returns Value in displayFormat\n\t * @private\n\t */\n\tgetDisplayValueFromValue(value: string): string {\n\t\tif (!this.getValueFormat().parse(value, true)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getDisplayFormat().format(this.getValueFormat().parse(value, true), true);\n\t}\n\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst parsedFromDisplay = this.getDisplayFormat().parse(value, true);\n\t\tif (parsedFromDisplay) {\n\t\t\treturn this.getValueFormat().format(parsedFromDisplay, true);\n\t\t}\n\n\t\tconst parsedFromValue = this.getValueFormat().parse(value, true);\n\t\tif (parsedFromValue) {\n\t\t\treturn this.getValueFormat().format(parsedFromValue, true);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\t_modifyValueBy(amount: number, unit: string) {\n\t\tconst date = this.getValueFormat().parse(this._effectiveValue) as Date;\n\t\tif (!date) {\n\t\t\treturn;\n\t\t}\n\t\tif (unit === \"hour\") {\n\t\t\tdate.setHours(date.getHours() + amount);\n\t\t} else if (unit === \"minute\") {\n\t\t\tdate.setMinutes(date.getMinutes() + amount);\n\t\t} else if (unit === \"second\") {\n\t\t\tdate.setSeconds(date.getSeconds() + amount);\n\t\t}\n\n\t\tconst newValue = this.formatValue(date);\n\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * The listener for this event can't be passive as it calls preventDefault()\n\t * @param e Wheel Event\n\t * @private\n\t */\n\t_handleWheel(e: WheelEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Hides mobile device keyboard by temporary setting the input to readonly state.\n\t */\n\t_hideMobileKeyboard() {\n\t\tthis._dateTimeInput.readonly = true;\n\t\tsetTimeout(() => { this._dateTimeInput.readonly = false; }, 0);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this._isMobileDevice) {\n\t\t\tthis._hideMobileKeyboard();\n\t\t\tif (this._isInputsPopoverOpen) {\n\t\t\t\tconst popover = this._inputsPopover;\n\t\t\t\tpopover.applyFocus();\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget valueStateDefaultText(): string | undefined {\n\t\tif (this.valueState === ValueState.None) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.valueStateTextMappings[this.valueState];\n\t}\n\n\tget valueStateTextMappings(): ValueStateAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Positive]: TimePicker.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Negative]: TimePicker.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: TimePicker.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t[ValueState.Information]: TimePicker.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !willShowContent(this.valueStateMessage) && this.hasValueStateText;\n\t}\n\tget submitButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_SUBMIT_BUTTON);\n\t}\n\n\tget cancelButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_CANCEL_BUTTON);\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive;\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget shouldDisplayValueStateMessageOnDesktop() {\n\t\treturn this.valueStateMessage.length > 0 && !this.open && !this._isMobileDevice;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn this.ariaLabelText || TimePicker.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget showHeader() {\n\t\treturn isPhone();\n\t}\n\n\t/**\n\t * Defines whether the dialog on mobile should have header\n\t * @private\n\t */\n\tget _shouldHideHeader() {\n\t\treturn !this.showHeader && !this.hasValueStateText;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget openIconName() {\n\t\treturn \"time-entry-request\";\n\t}\n}\n\nTimePicker.define();\n\nexport default TimePicker;\nexport type {\n\tTimeSelectionChangeEventDetail,\n\tTimePickerChangeEventDetail,\n\tTimePickerInputEventDetail,\n};\n"]}
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../src/TimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop, isPhone, isTablet } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } 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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetAllAccessibleNameRefTexts,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport IconMode from \"./types/IconMode.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport {\n\tisShow,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisTabNext,\n\tisTabPrevious,\n\tisF6Next,\n\tisF6Previous,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type Popover from \"./Popover.js\";\nimport TimePickerTemplate from \"./TimePickerTemplate.js\";\nimport type DateTimeInput from \"./DateTimeInput.js\";\nimport type { InputAccInfo } from \"./Input.js\";\nimport type TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport type TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport type { TimeSelectionChangeEventDetail } from \"./TimePickerInternals.js\";\n\nimport {\n\tTIMEPICKER_SUBMIT_BUTTON,\n\tTIMEPICKER_CANCEL_BUTTON,\n\tTIMEPICKER_INPUT_DESCRIPTION,\n\tTIMEPICKER_POPOVER_ACCESSIBLE_NAME,\n\tDATETIME_COMPONENTS_PLACEHOLDER_PREFIX,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_WARNING,\n\tTIMEPICKER_VALUE_MISSING,\n\tTIMEPICKER_PATTERN_MISSMATCH,\n\tTIMEPICKER_OPEN_ICON_TITLE_OPENED,\n\tTIMEPICKER_OPEN_ICON_TITLE,\n\tINPUT_SUGGESTIONS_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport TimePickerCss from \"./generated/themes/TimePicker.css.js\";\nimport TimePickerPopoverCss from \"./generated/themes/TimePickerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype TimePickerChangeInputEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\ntype TimePickerChangeEventDetail = TimePickerChangeInputEventDetail;\ntype TimePickerInputEventDetail = TimePickerChangeInputEventDetail;\n\nconst DEFAULT_ISO_FORMAT = \"HH:mm:ss\";\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-time-picker` component provides an input field with assigned clocks which are opened on user action.\n * The `ui5-time-picker` allows users to select a localized time using touch, mouse, or keyboard input.\n * It consists of two parts: the time input field and the clocks.\n *\n * ### Usage\n * The user can enter a time by:\n *\n * - Using the clocks that are displayed in a popup\n * - Typing it in directly in the input field\n *\n * When the user makes an entry and chooses the enter key, the clocks show the corresponding time (hours, minutes and seconds separately).\n * When the user directly triggers the clocks display, the actual time is displayed.\n * For the `ui5-time-picker`\n *\n * ### Formatting\n *\n * If a time is entered by typing it into\n * the input field, it must fit to the used time format.\n *\n * Supported format options are pattern-based on Unicode LDML Date Format notation.\n * For more information, see [UTS #35: Unicode Locale Data Markup Language](https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n *\n * For example, if the valueFormat is \"HH:mm:ss\", the displayFormat is \"hh:mm: ss a\", and the used locale is English, a valid value string is \"11:42:35\", which leads to an output of \"11:42:35 AM\".\n * If no placeholder is set to the TimePicker, the used displayFormat is displayed as a placeholder. If another placeholder is needed, it must be set.\n *\n * ### Keyboard handling\n * [F4], [Alt]+[Up], [Alt]+[Down] Open/Close picker dialog and move focus to it.\n *\n * When closed:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * -\n *\n * When opened:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * - [A] or [P] - Selects AM or PM respectively.\n * - [0]-[9] - Allows direct time selecting (hours/minutes/seconds).\n * - [:] - Allows switching between hours/minutes/seconds clocks. If the last clock is displayed and [:] is pressed, the first clock is beind displayed.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePicker.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n * @csspart input - Used to style the input element. This part is forwarded to the underlying ui5-input element.\n */\n@customElement({\n\ttag: \"ui5-time-picker\",\n\tlanguageAware: true,\n\tcldr: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: TimePickerTemplate,\n\tstyles: [\n\t\tTimePickerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tTimePickerPopoverCss,\n\t\tValueStateMessageCss,\n\t],\n})\n/**\n * Fired when the input operation has finished by clicking the \"OK\" button or\n * when the text in the input field has changed and the focus leaves the input field.\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the value of the `ui5-time-picker` is changed at each key stroke.\n * @public\n * @param {string} value The current value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event(\"input\", {\n\tbubbles: true,\n})\n/**\n * Fired after the value-help dialog of the component is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n/**\n * Fired after the value-help dialog of the component is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass TimePicker extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: TimePickerChangeEventDetail;\n\t\t\"value-changed\": TimePickerChangeEventDetail;\n\t\tinput: TimePickerInputEventDetail;\n\t\topen: void;\n\t\tclose: void;\n\t}\n\t/**\n\t * Defines a formatted time value.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines the disabled state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the readonly state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t * @default undefined\n\t * @since 2.21.0\n\t * @public\n\t */\n\t@property()\n\tdisplayFormat?: string;\n\n\t/**\n\t * Determines the format, used for the value attribute.\n\t * @default undefined\n\t * @since 2.21.0\n\t * @public\n\t */\n\t@property()\n\tvalueFormat?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * Example:\n\t * HH:mm:ss -> 11:42:35\n\t * hh:mm:ss a -> 2:23:15 PM\n\t * mm:ss -> 12:04 (only minutes and seconds)\n\t * @default undefined\n\t * @deprecated Use displayFormat and valueFormat instead\n\t * @public\n\t */\n\t@property()\n\tformatPattern?: string;\n\n\t/**\n\t * Defines the open or closed state of the popover.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 2.1.0\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines the aria-label attribute for the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.1.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id (or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.14.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the input.\n\t * @default undefined\n\t * @public\n\t * @since 2.14.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isInputsPopoverOpen = false;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the `ui5-time-picker`.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the `ui5-time-picker` is in `Information`, `Critical` or `Negative` value state.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Slot<HTMLElement>;\n\n\t@query(\"[ui5-time-selection-clocks]\")\n\t_timeSelectionClocks?: TimeSelectionClocks;\n\n\t@query(\"[ui5-popover]\")\n\t_inputsPopover!: Popover;\n\n\t@query(\"[ui5-datetime-input]\")\n\t_dateTimeInput!: DateTimeInput;\n\n\ttempValue?: string;\n\n\t/**\n\t * Cached instance of DateFormat with a format pattern of \"HH:mm:ss\".\n\t * Used by the getISOFormat method to avoid creating a new DateFormat instance on each call.\n\t * @private\n\t */\n\t_isoFormatInstance?: DateFormat;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget formValidityMessage() {\n\t\tconst validity = this.formValidity;\n\n\t\tif (validity.valueMissing) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_VALUE_MISSING, this.getValueFormat().oFormatOptions.pattern as string);\n\t\t}\n\t\tif (validity.patternMismatch) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_PATTERN_MISSMATCH, this.getValueFormat().oFormatOptions.pattern as string);\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn {\n\t\t\tvalueMissing: this.required && !this.value,\n\t\t\tpatternMismatch: !this.isValidValue(this.value),\n\t\t};\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn (await this.getFocusDomRefAsync() as UI5Element)?.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value || \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.value) {\n\t\t\tthis.value = this.normalizeValue(this.value) || this.value;\n\t\t}\n\n\t\tthis.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());\n\t}\n\n\tget roleDescription() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_INPUT_DESCRIPTION);\n\t}\n\n\tget pickerAccessibleName() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_POPOVER_ACCESSIBLE_NAME, this.ariaLabelText);\n\t}\n\n\tget accInfo(): InputAccInfo {\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this.roleDescription,\n\t\t\t\"ariaHasPopup\": \"grid\",\n\t\t\t\"ariaRequired\": this.required,\n\t\t\t\"ariaLabel\": this.ariaLabelText || undefined,\n\t\t\t\"ariaDescription\": getAllAccessibleDescriptionRefTexts(this) || getEffectiveAriaDescriptionText(this) || undefined,\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getAllAccessibleNameRefTexts(this) || getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || \"\";\n\t}\n\n\t/**\n\t * Currently selected time represented as JavaScript Date instance\n\t * @public\n\t * @default null\n\t */\n\tget dateValue(): Date | null {\n\t\treturn this.getValueFormat().parse(this._effectiveValue) as Date;\n\t}\n\n\tget _lastAvailableTime() {\n\t\tconst date = UI5Date.getInstance();\n\t\tdate.setHours(23, 59, 59, 999);\n\t\treturn this.getValueFormat().format(date);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.placeholder) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\t// translatable placeholder – for example \"e.g. 23:59:59\"\n\t\treturn `${TimePicker.i18nBundle.getText(DATETIME_COMPONENTS_PLACEHOLDER_PREFIX)} ${this._lastAvailableTime}`;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _formatPattern() {\n\t\tconst hasHours = !!this.formatPattern?.match(/H/i);\n\t\tconst fallback = !this.formatPattern || !hasHours;\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn fallback ? localeData.getTimePattern(\"medium\") : this.formatPattern;\n\t}\n\n\tget _displayFormat() {\n\t\tif (this.displayFormat) {\n\t\t\treturn this.displayFormat;\n\t\t}\n\n\t\tif (this._formatPattern) {\n\t\t\treturn this._formatPattern;\n\t\t}\n\t}\n\n\tget _valueFormat() {\n\t\tif (this.valueFormat) {\n\t\t\treturn this.valueFormat;\n\t\t}\n\n\t\tif (this.formatPattern) {\n\t\t\treturn this._formatPattern;\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget _effectiveValue() {\n\t\treturn this.value;\n\t}\n\n\tget _timeSelectionValue() {\n\t\treturn this.tempValue;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _isMobileDevice() {\n\t\treturn !isDesktop() && (isPhone() || isTablet());\n\t}\n\n\tget shouldDisplayValueStateMessageInResponsivePopover() {\n\t\treturn this.hasValueStateText && !this._inputsPopover?.open;\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\tonTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>) {\n\t\tthis.tempValue = e.detail.value; // every time the user changes the time selection -> update tempValue\n\t}\n\n\tget openIconTitle() {\n\t\tif (this.open) {\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_OPEN_ICON_TITLE_OPENED);\n\t\t}\n\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_OPEN_ICON_TITLE);\n\t}\n\n\t_togglePicker() {\n\t\tthis.open = !this.open;\n\t\tif (this._isMobileDevice) {\n\t\t\tthis._inputsPopover.open = false;\n\t\t}\n\t}\n\n\t/**\n\t * Prevents the inner input from taking focus when the value-help icon is pressed,\n\t * so the subsequent click opens the picker on the first tap (same as MultiInput value-help).\n\t * @private\n\t */\n\t_onValueHelpIconMouseDown(e: MouseEvent) {\n\t\tif (!this._canOpenPicker()) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\t}\n\n\t_isIconClick(e: Event) {\n\t\treturn e.composedPath().some(el => el instanceof HTMLElement && el.hasAttribute(\"ui5-icon\"));\n\t}\n\n\t_isInputFieldClick(e: Event) {\n\t\tconst inputField = this._getInputField();\n\n\t\tif (!inputField) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn e.composedPath().includes(inputField);\n\t}\n\n\tsubmitPickers() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis._togglePicker();\n\t}\n\n\tonResponsivePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tif (isPhone()) {\n\t\t\tthis.blur(); // close device's keyboard and prevent further typing\n\t\t} else {\n\t\t\tthis._dateTimeInput?.focus();\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tonResponsivePopoverBeforeOpen() {\n\t\tconst clocks = this._timeSelectionClocks;\n\t\tif (clocks) {\n\t\t\tclocks._activeIndex = 0;\n\t\t\tclocks._skipAnimation = true;\n\t\t}\n\t}\n\n\tonResponsivePopoverAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t/**\n\t * Opens the Inputs popover.\n\t * @private\n\t * @returns Resolves when the Inputs popover is open\n\t */\n\topenInputsPopover() {\n\t\tthis.tempValue = this.value && this.isValidValue(this.value) ? this.value : this.getValueFormat().format(UI5Date.getInstance());\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.opener = this;\n\t\tpopover.open = true;\n\t\tthis._isInputsPopoverOpen = true;\n\t}\n\n\t/**\n\t * Closes the Inputs popover\n\t * @private\n\t * @returns Resolves when the Inputs popover is closed\n\t */\n\tcloseInputsPopover() {\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.open = false;\n\t}\n\n\ttoggleInputsPopover() {\n\t\tif (this.isInputsPopoverOpen()) {\n\t\t\tthis.closeInputsPopover();\n\t\t} else if (this._canOpenInputsPopover()) {\n\t\t\tthis.openInputsPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the inputs popover is open\n\t * @private\n\t */\n\tisInputsPopoverOpen(): boolean {\n\t\treturn !!this._isInputsPopoverOpen;\n\t}\n\n\tsubmitInputsPopover() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis.closeInputsPopover();\n\t}\n\n\tonInputsPopoverAfterOpen() {\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.querySelector<TimeSelectionInputs>(\"[ui5-time-selection-inputs]\")!._addNumericAttributes();\n\t}\n\n\tonInputsPopoverAfterClose() {\n\t\tthis._isInputsPopoverOpen = false;\n\t}\n\n\t_handleInputClick(e: MouseEvent) {\n\t\tif (this._isMobileDevice) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isIconClick(e) || this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst inputField = this._getInputField();\n\n\t\tif (inputField && this._isInputFieldClick(e)) {\n\t\t\t(inputField as HTMLInputElement).select();\n\t\t}\n\t}\n\n\t_isInputFieldFocus(e: FocusEvent) {\n\t\treturn this._isInputFieldClick(e);\n\t}\n\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, eventsNames: Array<\"input\" | \"change\" | \"value-changed\">) {\n\t\tconst isInputEvent = eventsNames.includes(\"input\");\n\t\tconst valid = this.isValidValue(value);\n\n\t\tlet normalizedValue = value;\n\t\t// Only normalize if valid - if invalid, keep raw value\n\t\tif (value !== undefined && valid && normalizeValue && !isInputEvent) {\n\t\t\tnormalizedValue = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n\t\t}\n\n\t\t// Store the previous value to check if it actually changed\n\t\tconst previousValue = this.value;\n\n\t\t// During input events (live typing), only update tempValue, not the public value property\n\t\tif (!isInputEvent) {\n\t\t\tthis.value = \"\"; // Do not remove! DurationPicker (an external component extending TimePicker) use case\n\t\t\tthis.value = normalizedValue;\n\t\t}\n\n\t\t// Always sync tempValue for the picker\n\t\tthis.tempValue = isInputEvent ? value : normalizedValue;\n\t\tthis._updateValueState(); // Change the value state to Error/None, but only if needed (must be called before early return)\n\n\t\tif (previousValue === this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\teventsNames.forEach(eventName => {\n\t\t\tthis.fireDecoratorEvent(eventName, { value, valid });\n\t\t});\n\t}\n\n\t_updateValueState() {\n\t\t// During live typing, validate against displayFormat (what user types), otherwise validate against valueFormat (stored value)\n\t\tconst isValid = this.isValidValue(this.value);\n\t\tif (!isValid) { // If not valid - always set Error regardless of the current value state\n\t\t\tthis.valueState = ValueState.Negative;\n\t\t} else if (isValid && this.valueState === ValueState.Negative) { // However if valid, change only Error (but not the others) to None\n\t\t\tthis.valueState = ValueState.None;\n\t\t}\n\t}\n\n\t_handleInputChange(e: CustomEvent) {\n\t\tconst target = e.target as DateTimeInput;\n\t\tthis._updateValueAndFireEvents(target.value, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t_onInputRequestSubmit() {\n\t\tif (this._internals.form) {\n\t\t\tsubmitForm(this);\n\t\t}\n\t}\n\n\t_handleInputLiveChange(e: CustomEvent) {\n\t\tif (this._isPhone) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tconst target = e.target as DateTimeInput;\n\t\tthis._updateValueAndFireEvents(target.value, false, [\"input\"]);\n\t}\n\n\t_canOpenPicker() {\n\t\treturn !this.disabled && !this.readonly;\n\t}\n\n\t_canOpenInputsPopover() {\n\t\treturn !this.disabled && this._isMobileDevice;\n\t}\n\n\t_getInputField() {\n\t\tconst input = this._dateTimeInput;\n\t\treturn input && input.getInputDOMRef();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this._isMobileDevice && !this.isInputsPopoverOpen()) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._togglePicker();\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target && this.open && this._dateTimeInput.id === target.id && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {\n\t\t\tthis._togglePicker();\n\t\t}\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPageUpShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"second\");\n\t\t} else if (isPageUpShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"minute\");\n\t\t} else if (isPageUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"hour\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"second\");\n\t\t} else if (isPageDownShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"minute\");\n\t\t} else if (isPageDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"hour\");\n\t\t}\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget _isValueFormatPattern() {\n\t\treturn this._valueFormat !== \"medium\" && this._valueFormat !== \"short\" && this._valueFormat !== \"long\";\n\t}\n\n\tget _isDisplayFormatPattern() {\n\t\treturn this._displayFormat !== \"medium\" && this._displayFormat !== \"short\" && this._displayFormat !== \"long\";\n\t}\n\n\tget displayValue() {\n\t\tif (!this.value) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (!this.getValueFormat().parse(this.value, true)) {\n\t\t\treturn this.value;\n\t\t}\n\n\t\treturn this.getDisplayFormat().format(this.getValueFormat().parse(this.value, true), true);\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat;\n\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t});\n\t\t} else {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\n\t\treturn dateFormat;\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: DEFAULT_ISO_FORMAT,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\tgetDisplayFormat() {\n\t\t// If no displayFormat is set, use the deprecated getFormat() for backward compatibility\n\t\tif (!this._displayFormat) {\n\t\t\treturn this.getFormat();\n\t\t}\n\n\t\treturn this._isDisplayFormatPattern\n\t\t\t? DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._displayFormat,\n\t\t\t})\n\t\t\t: DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._displayFormat,\n\t\t\t});\n\t}\n\n\tgetValueFormat() {\n\t\tif (!this._valueFormat) {\n\t\t\treturn this.getISOFormat();\n\t\t}\n\n\t\treturn this._isValueFormatPattern\n\t\t\t? DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._valueFormat,\n\t\t\t})\n\t\t\t: DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._valueFormat,\n\t\t\t});\n\t}\n\n\t/**\n\t * Formats a Java Script date object into a string representing a locale date and time\n\t * according to the `formatPattern` property of the TimePicker instance\n\t * @param date A Java Script date object to be formatted as string\n\t * @public\n\t * @returns formatted value\n\t */\n\tformatValue(date: Date): string {\n\t\treturn this.getValueFormat().format(date);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `formatPattern` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the current date format\n\t * @public\n\t */\n\tisValid(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn !!this.getFormat().parse(value as string, true);\n\t}\n\n\tisValidDisplayValue(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getDisplayFormat().parse(value as string, true);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `valueFormat` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the value format\n\t * @public\n\t * @since 2.21.0\n\t */\n\tisValidValue(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getValueFormat().parse(value as string, true);\n\t}\n\n\t/**\n\t * Converts a value from displayFormat to valueFormat\n\t * @param value Value in displayFormat\n\t * @returns Value in valueFormat\n\t * @private\n\t */\n\tgetValueFromDisplayValue(value: string): string {\n\t\tif (!this.getDisplayFormat().parse(value, true)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getValueFormat().format(this.getDisplayFormat().parse(value, true), true);\n\t}\n\n\t/**\n\t * Converts a value from valueFormat to displayFormat\n\t * @param value Value in valueFormat\n\t * @returns Value in displayFormat\n\t * @private\n\t */\n\tgetDisplayValueFromValue(value: string): string {\n\t\tif (!this.getValueFormat().parse(value, true)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getDisplayFormat().format(this.getValueFormat().parse(value, true), true);\n\t}\n\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst parsedFromDisplay = this.getDisplayFormat().parse(value, true);\n\t\tif (parsedFromDisplay) {\n\t\t\treturn this.getValueFormat().format(parsedFromDisplay, true);\n\t\t}\n\n\t\tconst parsedFromValue = this.getValueFormat().parse(value, true);\n\t\tif (parsedFromValue) {\n\t\t\treturn this.getValueFormat().format(parsedFromValue, true);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\t_modifyValueBy(amount: number, unit: string) {\n\t\tconst date = this.getValueFormat().parse(this._effectiveValue) as Date;\n\t\tif (!date) {\n\t\t\treturn;\n\t\t}\n\t\tif (unit === \"hour\") {\n\t\t\tdate.setHours(date.getHours() + amount);\n\t\t} else if (unit === \"minute\") {\n\t\t\tdate.setMinutes(date.getMinutes() + amount);\n\t\t} else if (unit === \"second\") {\n\t\t\tdate.setSeconds(date.getSeconds() + amount);\n\t\t}\n\n\t\tconst newValue = this.formatValue(date);\n\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * The listener for this event can't be passive as it calls preventDefault()\n\t * @param e Wheel Event\n\t * @private\n\t */\n\t_handleWheel(e: WheelEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Hides mobile device keyboard by temporary setting the input to readonly state.\n\t */\n\t_hideMobileKeyboard() {\n\t\tthis._dateTimeInput.readonly = true;\n\t\tsetTimeout(() => { this._dateTimeInput.readonly = false; }, 0);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (!this._isMobileDevice) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isIconClick(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hideMobileKeyboard();\n\n\t\tif (this._isInputsPopoverOpen) {\n\t\t\tthis._inputsPopover.applyFocus();\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isInputFieldFocus(e)) {\n\t\t\tthis.toggleInputsPopover();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget valueStateDefaultText(): string | undefined {\n\t\tif (this.valueState === ValueState.None) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.valueStateTextMappings[this.valueState];\n\t}\n\n\tget valueStateTextMappings(): ValueStateAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Positive]: TimePicker.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Negative]: TimePicker.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: TimePicker.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t[ValueState.Information]: TimePicker.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !willShowContent(this.valueStateMessage) && this.hasValueStateText;\n\t}\n\tget submitButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_SUBMIT_BUTTON);\n\t}\n\n\tget cancelButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_CANCEL_BUTTON);\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive;\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget shouldDisplayValueStateMessageOnDesktop() {\n\t\treturn this.valueStateMessage.length > 0 && !this.open && !this._isMobileDevice;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn this.ariaLabelText || TimePicker.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget showHeader() {\n\t\treturn isPhone();\n\t}\n\n\tget _preventPickerInitialFocus() {\n\t\treturn isPhone();\n\t}\n\n\t/**\n\t * Defines whether the dialog on mobile should have header\n\t * @private\n\t */\n\tget _shouldHideHeader() {\n\t\treturn !this.showHeader && !this.hasValueStateText;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget openIconName() {\n\t\treturn \"time-entry-request\";\n\t}\n}\n\nTimePicker.define();\n\nexport default TimePicker;\nexport type {\n\tTimeSelectionChangeEventDetail,\n\tTimePickerChangeEventDetail,\n\tTimePickerInputEventDetail,\n};\n"]}
@@ -11,7 +11,7 @@ import alert from "@ui5/webcomponents-icons/dist/alert.js";
11
11
  import sysEnter2 from "@ui5/webcomponents-icons/dist/sys-enter-2.js";
12
12
  import information from "@ui5/webcomponents-icons/dist/information.js";
13
13
  export default function TimePickerPopoverTemplate() {
14
- return (_jsxs(_Fragment, { children: [_jsxs(ResponsivePopover, { id: `${this._id}-responsive-popover`, class: "ui5-time-picker-popover ui5-popover-with-value-state-header-phone", placement: "Bottom", horizontalAlign: "Start", opener: this, open: this.open, allowTargetOverlap: true, _hideHeader: this._shouldHideHeader, hideArrow: true, accessibleName: this.pickerAccessibleName, onClose: this.onResponsivePopoverAfterClose, onBeforeOpen: this.onResponsivePopoverBeforeOpen, onOpen: this.onResponsivePopoverAfterOpen, onWheel: this._handleWheel, onKeyDown: this._onkeydown, children: [!!this.showHeader && defaultHeader.call(this), this.shouldDisplayValueStateMessageInResponsivePopover && valueStateTextHeader.call(this), _jsx(TimeSelectionClocks, { id: `${this._id}-time-sel`, value: this._timeSelectionValue, formatPattern: this._formatPattern, onChange: this.onTimeSelectionChange, onClosePicker: this.submitPickers }), _jsxs("div", { slot: "footer", class: "ui5-time-picker-footer", children: [_jsx(Button, { id: "submit", design: "Emphasized", onClick: this.submitPickers, children: this.submitButtonLabel }), _jsx(Button, { id: "close", design: "Transparent", onClick: this._togglePicker, children: this.cancelButtonLabel })] })] }), this._isMobileDevice &&
14
+ return (_jsxs(_Fragment, { children: [_jsxs(ResponsivePopover, { id: `${this._id}-responsive-popover`, class: "ui5-time-picker-popover ui5-popover-with-value-state-header-phone", placement: "Bottom", horizontalAlign: "Start", opener: this, open: this.open, allowTargetOverlap: true, _hideHeader: this._shouldHideHeader, hideArrow: true, preventInitialFocus: this._preventPickerInitialFocus, accessibleName: this.pickerAccessibleName, onClose: this.onResponsivePopoverAfterClose, onBeforeOpen: this.onResponsivePopoverBeforeOpen, onOpen: this.onResponsivePopoverAfterOpen, onWheel: this._handleWheel, onKeyDown: this._onkeydown, children: [!!this.showHeader && defaultHeader.call(this), this.shouldDisplayValueStateMessageInResponsivePopover && valueStateTextHeader.call(this), _jsx(TimeSelectionClocks, { id: `${this._id}-time-sel`, value: this._timeSelectionValue, formatPattern: this._formatPattern, onChange: this.onTimeSelectionChange, onClosePicker: this.submitPickers }), _jsxs("div", { slot: "footer", class: "ui5-time-picker-footer", children: [_jsx(Button, { id: "submit", design: "Emphasized", onClick: this.submitPickers, children: this.submitButtonLabel }), _jsx(Button, { id: "close", design: "Transparent", onClick: this._togglePicker, children: this.cancelButtonLabel })] })] }), this._isMobileDevice &&
15
15
  _jsxs(Popover, { id: `${this._id}-popover`, class: "ui5-time-picker-inputs-popover", placement: "Bottom", horizontalAlign: "Start", "allow-target-overlap": true, "_hide-header": true, "hide-arrow": true, onOpen: this.onInputsPopoverAfterOpen, onClose: this.onInputsPopoverAfterClose, onWheel: this._handleWheel, onKeyDown: this._onkeydown, children: [this.hasValueStateText && valueStateTextHeader.call(this), _jsx("div", { class: "popover-content", children: _jsx(TimeSelectionInputs, { id: `${this._id}-time-sel-inputs`, value: this._timeSelectionValue, formatPattern: this._formatPattern, onChange: this.onTimeSelectionChange, onCloseInputs: this.submitInputsPopover }) }), _jsxs("div", { slot: "footer", class: "ui5-time-picker-footer", children: [_jsx(Button, { id: "submitInputs", design: "Emphasized", onClick: this.submitInputsPopover, children: this.submitButtonLabel }), _jsx(Button, { id: "closeInputs", design: "Transparent", onClick: this.closeInputsPopover, children: this.cancelButtonLabel })] })] })] }));
16
16
  }
17
17
  function defaultHeader() {
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerPopoverTemplate.js","sourceRoot":"","sources":["../src/TimePickerPopoverTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type TimePicker from \"./TimePicker.js\";\nimport Button from \"./Button.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport error from \"@ui5/webcomponents-icons/dist/error.js\";\nimport alert from \"@ui5/webcomponents-icons/dist/alert.js\";\nimport sysEnter2 from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport information from \"@ui5/webcomponents-icons/dist/information.js\";\n\nexport default function TimePickerPopoverTemplate(this: TimePicker) {\n\treturn (\n\t\t<>\n\t\t\t<ResponsivePopover\n\t\t\t\tid={`${this._id}-responsive-popover`}\n\t\t\t\tclass=\"ui5-time-picker-popover ui5-popover-with-value-state-header-phone\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\topener={this}\n\t\t\t\topen={this.open}\n\t\t\t\tallowTargetOverlap={true}\n\t\t\t\t_hideHeader={this._shouldHideHeader}\n\t\t\t\thideArrow={true}\n\t\t\t\taccessibleName={this.pickerAccessibleName}\n\t\t\t\tonClose={this.onResponsivePopoverAfterClose}\n\t\t\t\tonBeforeOpen={this.onResponsivePopoverBeforeOpen}\n\t\t\t\tonOpen={this.onResponsivePopoverAfterOpen}\n\t\t\t\tonWheel={this._handleWheel}\n\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t>\n\t\t\t\t{ !!this.showHeader && defaultHeader.call(this) }\n\n\t\t\t\t{ this.shouldDisplayValueStateMessageInResponsivePopover && valueStateTextHeader.call(this) }\n\n\t\t\t\t<TimeSelectionClocks\n\t\t\t\t\tid={`${this._id}-time-sel`}\n\t\t\t\t\tvalue={this._timeSelectionValue}\n\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\tonChange={this.onTimeSelectionChange}\n\t\t\t\t\tonClosePicker={this.submitPickers}\n\t\t\t\t/>\n\n\t\t\t\t<div slot=\"footer\" class=\"ui5-time-picker-footer\">\n\t\t\t\t\t<Button id=\"submit\" design=\"Emphasized\" onClick={this.submitPickers}>{this.submitButtonLabel}</Button>\n\t\t\t\t\t<Button id=\"close\" design=\"Transparent\" onClick={this._togglePicker}>{this.cancelButtonLabel}</Button>\n\t\t\t\t</div>\n\t\t\t</ResponsivePopover>\n\n\t\t\t{this._isMobileDevice &&\n\t\t\t\t<Popover\n\t\t\t\t\tid={`${this._id}-popover`}\n\t\t\t\t\tclass=\"ui5-time-picker-inputs-popover\"\n\t\t\t\t\tplacement=\"Bottom\"\n\t\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\t\tallow-target-overlap\n\t\t\t\t\t_hide-header\n\t\t\t\t\thide-arrow\n\t\t\t\t\tonOpen={this.onInputsPopoverAfterOpen}\n\t\t\t\t\tonClose={this.onInputsPopoverAfterClose}\n\t\t\t\t\tonWheel={this._handleWheel}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t>\n\t\t\t\t\t{ this.hasValueStateText && valueStateTextHeader.call(this) }\n\n\t\t\t\t\t<div class=\"popover-content\">\n\t\t\t\t\t\t<TimeSelectionInputs\n\t\t\t\t\t\t\tid={`${this._id}-time-sel-inputs`}\n\t\t\t\t\t\t\tvalue={this._timeSelectionValue}\n\t\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\t\tonChange={this.onTimeSelectionChange}\n\t\t\t\t\t\t\tonCloseInputs={this.submitInputsPopover}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div slot=\"footer\" class=\"ui5-time-picker-footer\">\n\t\t\t\t\t\t<Button id=\"submitInputs\" design=\"Emphasized\" onClick={this.submitInputsPopover}>{this.submitButtonLabel}</Button>\n\t\t\t\t\t\t<Button id=\"closeInputs\" design=\"Transparent\" onClick={this.closeInputsPopover}>{this.cancelButtonLabel}</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t}\n\t\t</>\n\t);\n}\n\nfunction defaultHeader(this: TimePicker) {\n\treturn (\n\t\t<div slot=\"header\" class=\"ui5-responsive-popover-header\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<span>{this._headerTitleText}</span>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction valueStateMessage(this: TimePicker) {\n\treturn (\n\t\tthis.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : <slot name=\"valueStateMessage\"></slot>\n\t);\n}\n\nfunction valueStateTextHeader(this: TimePicker) {\n\tif (!this.hasValueStateText) {\n\t\treturn;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tslot={!this.showHeader ? \"header\" : undefined}\n\t\t\tclass={{\n\t\t\t\t\"ui5-popover-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t}}\n\t\t>\n\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={valueStateMessageInputIcon.call(this)}/>\n\t\t\t{ valueStateMessage.call(this) }\n\t\t</div>\n\t);\n}\n\nfunction valueStateMessageInputIcon(this: TimePicker) {\n\tconst iconPerValueState = {\n\t\tNegative: error,\n\t\tCritical: alert,\n\t\tPositive: sysEnter2,\n\t\tInformation: information,\n\t};\n\n\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n}\n"]}
1
+ {"version":3,"file":"TimePickerPopoverTemplate.js","sourceRoot":"","sources":["../src/TimePickerPopoverTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type TimePicker from \"./TimePicker.js\";\nimport Button from \"./Button.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport error from \"@ui5/webcomponents-icons/dist/error.js\";\nimport alert from \"@ui5/webcomponents-icons/dist/alert.js\";\nimport sysEnter2 from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport information from \"@ui5/webcomponents-icons/dist/information.js\";\n\nexport default function TimePickerPopoverTemplate(this: TimePicker) {\n\treturn (\n\t\t<>\n\t\t\t<ResponsivePopover\n\t\t\t\tid={`${this._id}-responsive-popover`}\n\t\t\t\tclass=\"ui5-time-picker-popover ui5-popover-with-value-state-header-phone\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\topener={this}\n\t\t\t\topen={this.open}\n\t\t\t\tallowTargetOverlap={true}\n\t\t\t\t_hideHeader={this._shouldHideHeader}\n\t\t\t\thideArrow={true}\n\t\t\t\tpreventInitialFocus={this._preventPickerInitialFocus}\n\t\t\t\taccessibleName={this.pickerAccessibleName}\n\t\t\t\tonClose={this.onResponsivePopoverAfterClose}\n\t\t\t\tonBeforeOpen={this.onResponsivePopoverBeforeOpen}\n\t\t\t\tonOpen={this.onResponsivePopoverAfterOpen}\n\t\t\t\tonWheel={this._handleWheel}\n\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t>\n\t\t\t\t{ !!this.showHeader && defaultHeader.call(this) }\n\n\t\t\t\t{ this.shouldDisplayValueStateMessageInResponsivePopover && valueStateTextHeader.call(this) }\n\n\t\t\t\t<TimeSelectionClocks\n\t\t\t\t\tid={`${this._id}-time-sel`}\n\t\t\t\t\tvalue={this._timeSelectionValue}\n\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\tonChange={this.onTimeSelectionChange}\n\t\t\t\t\tonClosePicker={this.submitPickers}\n\t\t\t\t/>\n\n\t\t\t\t<div slot=\"footer\" class=\"ui5-time-picker-footer\">\n\t\t\t\t\t<Button id=\"submit\" design=\"Emphasized\" onClick={this.submitPickers}>{this.submitButtonLabel}</Button>\n\t\t\t\t\t<Button id=\"close\" design=\"Transparent\" onClick={this._togglePicker}>{this.cancelButtonLabel}</Button>\n\t\t\t\t</div>\n\t\t\t</ResponsivePopover>\n\n\t\t\t{this._isMobileDevice &&\n\t\t\t\t<Popover\n\t\t\t\t\tid={`${this._id}-popover`}\n\t\t\t\t\tclass=\"ui5-time-picker-inputs-popover\"\n\t\t\t\t\tplacement=\"Bottom\"\n\t\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\t\tallow-target-overlap\n\t\t\t\t\t_hide-header\n\t\t\t\t\thide-arrow\n\t\t\t\t\tonOpen={this.onInputsPopoverAfterOpen}\n\t\t\t\t\tonClose={this.onInputsPopoverAfterClose}\n\t\t\t\t\tonWheel={this._handleWheel}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t>\n\t\t\t\t\t{ this.hasValueStateText && valueStateTextHeader.call(this) }\n\n\t\t\t\t\t<div class=\"popover-content\">\n\t\t\t\t\t\t<TimeSelectionInputs\n\t\t\t\t\t\t\tid={`${this._id}-time-sel-inputs`}\n\t\t\t\t\t\t\tvalue={this._timeSelectionValue}\n\t\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\t\tonChange={this.onTimeSelectionChange}\n\t\t\t\t\t\t\tonCloseInputs={this.submitInputsPopover}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div slot=\"footer\" class=\"ui5-time-picker-footer\">\n\t\t\t\t\t\t<Button id=\"submitInputs\" design=\"Emphasized\" onClick={this.submitInputsPopover}>{this.submitButtonLabel}</Button>\n\t\t\t\t\t\t<Button id=\"closeInputs\" design=\"Transparent\" onClick={this.closeInputsPopover}>{this.cancelButtonLabel}</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t}\n\t\t</>\n\t);\n}\n\nfunction defaultHeader(this: TimePicker) {\n\treturn (\n\t\t<div slot=\"header\" class=\"ui5-responsive-popover-header\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<span>{this._headerTitleText}</span>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction valueStateMessage(this: TimePicker) {\n\treturn (\n\t\tthis.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : <slot name=\"valueStateMessage\"></slot>\n\t);\n}\n\nfunction valueStateTextHeader(this: TimePicker) {\n\tif (!this.hasValueStateText) {\n\t\treturn;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tslot={!this.showHeader ? \"header\" : undefined}\n\t\t\tclass={{\n\t\t\t\t\"ui5-popover-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t}}\n\t\t>\n\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={valueStateMessageInputIcon.call(this)}/>\n\t\t\t{ valueStateMessage.call(this) }\n\t\t</div>\n\t);\n}\n\nfunction valueStateMessageInputIcon(this: TimePicker) {\n\tconst iconPerValueState = {\n\t\tNegative: error,\n\t\tCritical: alert,\n\t\tPositive: sysEnter2,\n\t\tInformation: information,\n\t};\n\n\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n}\n"]}
@@ -6,7 +6,7 @@ import timeEntryRequest from "@ui5/webcomponents-icons/dist/time-entry-request.j
6
6
  export default function TimePickerTemplate() {
7
7
  return (_jsxs(_Fragment, { children: [_jsx("div", { id: this._id, class: "ui5-time-picker-root", children: _jsxs(DateTimeInput, { "data-sap-focus-ref": true, id: `${this._id}-inner`, class: "ui5-time-picker-input", part: "input", value: this.displayValue, placeholder: this._placeholder, disabled: this.disabled, readonly: this.readonly, required: this.required, valueState: this.valueState, _shouldOpenValueStatePopover: !this.open, _inputAccInfo: this.accInfo, onClick: this._handleInputClick, onChange: this._handleInputChange, onInput: this._handleInputLiveChange, "onui5-_request-submit": this._onInputRequestSubmit, onFocusIn: this._onfocusin, onKeyDown: this._onkeydown, children: [this.shouldDisplayValueStateMessageOnDesktop &&
8
8
  _jsx("slot", { name: "valueStateMessage", slot: "valueStateMessage" }), !this.readonly &&
9
- _jsx(Icon, { slot: "icon", name: timeEntryRequest, tabindex: -1, showTooltip: true, accessibleName: this.openIconTitle, mode: this._iconMode, onClick: this._togglePicker, class: {
9
+ _jsx(Icon, { slot: "icon", name: timeEntryRequest, tabindex: -1, showTooltip: true, accessibleName: this.openIconTitle, mode: this._iconMode, onMouseDown: this._onValueHelpIconMouseDown, onClick: this._togglePicker, class: {
10
10
  "ui5-time-picker-input-icon-button": true,
11
11
  "inputIcon": true,
12
12
  "inputIcon--pressed": this.open,
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerTemplate.js","sourceRoot":"","sources":["../src/TimePickerTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,gBAAgB,MAAM,qDAAqD,CAAC;AAEnF,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACzC,OAAO,CACN,8BACC,cAAK,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,sBAAsB,YAC9C,MAAC,aAAa,gCAEb,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,EACvB,KAAK,EAAC,uBAAuB,EAC7B,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,4BAA4B,EAAE,CAAC,IAAI,CAAC,IAAI,EACxC,aAAa,EAAE,IAAI,CAAC,OAAO,EAC3B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,OAAO,EAAE,IAAI,CAAC,sBAAsB,2BACb,IAAI,CAAC,qBAAqB,EACjD,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,aAEzB,IAAI,CAAC,uCAAuC;4BAC5C,eACC,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAC,mBAAmB,GACjB,EAGR,CAAC,IAAI,CAAC,QAAQ;4BACd,KAAC,IAAI,IACJ,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,CAAC,CAAC,EACZ,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,aAAa,EAClC,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAE;oCACN,mCAAmC,EAAE,IAAI;oCACzC,WAAW,EAAE,IAAI;oCACjB,oBAAoB,EAAE,IAAI,CAAC,IAAI;iCAC/B,GACA,IAEY,GACX,EAEL,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IACnC,CACH,CAAC;AACH,CAAC","sourcesContent":["import type TimePicker from \"./TimePicker.js\";\nimport Icon from \"./Icon.js\";\nimport DateTimeInput from \"./DateTimeInput.js\";\nimport TimePickerPopoverTemplate from \"./TimePickerPopoverTemplate.js\";\nimport timeEntryRequest from \"@ui5/webcomponents-icons/dist/time-entry-request.js\";\n\nexport default function TimePickerTemplate(this: TimePicker) {\n\treturn (\n\t\t<>\n\t\t\t<div id={this._id} class=\"ui5-time-picker-root\">\n\t\t\t\t<DateTimeInput\n\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\tid={`${this._id}-inner`}\n\t\t\t\t\tclass=\"ui5-time-picker-input\"\n\t\t\t\t\tpart=\"input\"\n\t\t\t\t\tvalue={this.displayValue}\n\t\t\t\t\tplaceholder={this._placeholder}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tvalueState={this.valueState}\n\t\t\t\t\t_shouldOpenValueStatePopover={!this.open}\n\t\t\t\t\t_inputAccInfo={this.accInfo}\n\t\t\t\t\tonClick={this._handleInputClick}\n\t\t\t\t\tonChange={this._handleInputChange}\n\t\t\t\t\tonInput={this._handleInputLiveChange}\n\t\t\t\t\tonui5-_request-submit={this._onInputRequestSubmit}\n\t\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t>\n\t\t\t\t\t{this.shouldDisplayValueStateMessageOnDesktop &&\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname=\"valueStateMessage\"\n\t\t\t\t\t\t\tslot=\"valueStateMessage\"\n\t\t\t\t\t\t></slot>\n\t\t\t\t\t}\n\n\t\t\t\t\t{!this.readonly &&\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tslot=\"icon\"\n\t\t\t\t\t\t\tname={timeEntryRequest}\n\t\t\t\t\t\t\ttabindex={-1}\n\t\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\t\taccessibleName={this.openIconTitle}\n\t\t\t\t\t\t\tmode={this._iconMode}\n\t\t\t\t\t\t\tonClick={this._togglePicker}\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"ui5-time-picker-input-icon-button\": true,\n\t\t\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\t\t\"inputIcon--pressed\": this.open,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t</DateTimeInput>\n\t\t\t</div>\n\n\t\t\t{TimePickerPopoverTemplate.call(this)}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"file":"TimePickerTemplate.js","sourceRoot":"","sources":["../src/TimePickerTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,gBAAgB,MAAM,qDAAqD,CAAC;AAEnF,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACzC,OAAO,CACN,8BACC,cAAK,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,sBAAsB,YAC9C,MAAC,aAAa,gCAEb,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,EACvB,KAAK,EAAC,uBAAuB,EAC7B,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,4BAA4B,EAAE,CAAC,IAAI,CAAC,IAAI,EACxC,aAAa,EAAE,IAAI,CAAC,OAAO,EAC3B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,OAAO,EAAE,IAAI,CAAC,sBAAsB,2BACb,IAAI,CAAC,qBAAqB,EACjD,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,aAEzB,IAAI,CAAC,uCAAuC;4BAC5C,eACC,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAC,mBAAmB,GACjB,EAGR,CAAC,IAAI,CAAC,QAAQ;4BACd,KAAC,IAAI,IACJ,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,CAAC,CAAC,EACZ,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,aAAa,EAClC,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAC3C,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAE;oCACN,mCAAmC,EAAE,IAAI;oCACzC,WAAW,EAAE,IAAI;oCACjB,oBAAoB,EAAE,IAAI,CAAC,IAAI;iCAC/B,GACA,IAEY,GACX,EAEL,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IACnC,CACH,CAAC;AACH,CAAC","sourcesContent":["import type TimePicker from \"./TimePicker.js\";\nimport Icon from \"./Icon.js\";\nimport DateTimeInput from \"./DateTimeInput.js\";\nimport TimePickerPopoverTemplate from \"./TimePickerPopoverTemplate.js\";\nimport timeEntryRequest from \"@ui5/webcomponents-icons/dist/time-entry-request.js\";\n\nexport default function TimePickerTemplate(this: TimePicker) {\n\treturn (\n\t\t<>\n\t\t\t<div id={this._id} class=\"ui5-time-picker-root\">\n\t\t\t\t<DateTimeInput\n\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\tid={`${this._id}-inner`}\n\t\t\t\t\tclass=\"ui5-time-picker-input\"\n\t\t\t\t\tpart=\"input\"\n\t\t\t\t\tvalue={this.displayValue}\n\t\t\t\t\tplaceholder={this._placeholder}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tvalueState={this.valueState}\n\t\t\t\t\t_shouldOpenValueStatePopover={!this.open}\n\t\t\t\t\t_inputAccInfo={this.accInfo}\n\t\t\t\t\tonClick={this._handleInputClick}\n\t\t\t\t\tonChange={this._handleInputChange}\n\t\t\t\t\tonInput={this._handleInputLiveChange}\n\t\t\t\t\tonui5-_request-submit={this._onInputRequestSubmit}\n\t\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t>\n\t\t\t\t\t{this.shouldDisplayValueStateMessageOnDesktop &&\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname=\"valueStateMessage\"\n\t\t\t\t\t\t\tslot=\"valueStateMessage\"\n\t\t\t\t\t\t></slot>\n\t\t\t\t\t}\n\n\t\t\t\t\t{!this.readonly &&\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tslot=\"icon\"\n\t\t\t\t\t\t\tname={timeEntryRequest}\n\t\t\t\t\t\t\ttabindex={-1}\n\t\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\t\taccessibleName={this.openIconTitle}\n\t\t\t\t\t\t\tmode={this._iconMode}\n\t\t\t\t\t\t\tonMouseDown={this._onValueHelpIconMouseDown}\n\t\t\t\t\t\t\tonClick={this._togglePicker}\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"ui5-time-picker-input-icon-button\": true,\n\t\t\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\t\t\"inputIcon--pressed\": this.open,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t</DateTimeInput>\n\t\t\t</div>\n\n\t\t\t{TimePickerPopoverTemplate.call(this)}\n\t\t</>\n\t);\n}\n"]}
@@ -214,6 +214,12 @@ declare class Tokenizer extends UI5Element implements IFormInputElement {
214
214
  get formFormattedValue(): FormData | null;
215
215
  constructor();
216
216
  handleClearAll(): void;
217
+ /**
218
+ * Announces the number of deleted tokens to screen readers.
219
+ * @private
220
+ * @param count The number of tokens being deleted
221
+ */
222
+ _announceTokenDeletion(count: number): void;
217
223
  onBeforeRendering(): void;
218
224
  onEnterDOM(): void;
219
225
  onExitDOM(): void;
package/dist/Tokenizer.js CHANGED
@@ -15,6 +15,8 @@ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.j
15
15
  import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
16
16
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
17
17
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
18
+ import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
19
+ import InvisibleMessageMode from "@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js";
18
20
  import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
19
21
  import { getFocusedElement } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
20
22
  import ScrollEnablement from "@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js";
@@ -24,7 +26,7 @@ import { isSpace, isSpaceCtrl, isSpaceShift, isLeftCtrl, isRightCtrl, isUpCtrl,
24
26
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
25
27
  import ListSelectionMode from "./types/ListSelectionMode.js";
26
28
  import TokenizerTemplate from "./TokenizerTemplate.js";
27
- import { MULTIINPUT_SHOW_MORE_TOKENS, TOKENIZER_ARIA_LABEL, TOKENIZER_ARIA_CONTAIN_TOKEN, TOKENIZER_ARIA_CONTAIN_ONE_TOKEN, TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, TOKENIZER_SHOW_ALL_ITEMS, TOKENIZER_CLEAR_ALL, TOKENIZER_DIALOG_OK_BUTTON, TOKENIZER_DIALOG_CANCEL_BUTTON, INPUT_SUGGESTIONS_TITLE, } from "./generated/i18n/i18n-defaults.js";
29
+ import { MULTIINPUT_SHOW_MORE_TOKENS, TOKENIZER_ARIA_LABEL, TOKENIZER_ARIA_CONTAIN_TOKEN, TOKENIZER_ARIA_CONTAIN_ONE_TOKEN, TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, TOKENIZER_SHOW_ALL_ITEMS, TOKENIZER_CLEAR_ALL, TOKENIZER_DIALOG_OK_BUTTON, TOKENIZER_DIALOG_CANCEL_BUTTON, TOKENIZER_TOKEN_DELETED_SINGULAR, TOKENIZER_TOKEN_DELETED_PLURAL, INPUT_SUGGESTIONS_TITLE, } from "./generated/i18n/i18n-defaults.js";
28
30
  // Styles
29
31
  import TokenizerCss from "./generated/themes/Tokenizer.css.js";
30
32
  import TokenizerPopoverCss from "./generated/themes/TokenizerPopover.css.js";
@@ -183,8 +185,20 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
183
185
  this._deletedDialogItems = [];
184
186
  }
185
187
  handleClearAll() {
188
+ this._announceTokenDeletion(this._tokens.length);
186
189
  this.fireDecoratorEvent("token-delete", { tokens: this._tokens });
187
190
  }
191
+ /**
192
+ * Announces the number of deleted tokens to screen readers.
193
+ * @private
194
+ * @param count The number of tokens being deleted
195
+ */
196
+ _announceTokenDeletion(count) {
197
+ const text = count === 1
198
+ ? Tokenizer_1.i18nBundle.getText(TOKENIZER_TOKEN_DELETED_SINGULAR)
199
+ : Tokenizer_1.i18nBundle.getText(TOKENIZER_TOKEN_DELETED_PLURAL, count);
200
+ announce(text, InvisibleMessageMode.Assertive);
201
+ }
188
202
  onBeforeRendering() {
189
203
  if (!this.multiLine) {
190
204
  this._scrollEnablement = new ScrollEnablement(this);
@@ -320,9 +334,11 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
320
334
  const deletedTokenIndex = token ? tokens.indexOf(token) : tokens.indexOf(target); // The index of the token that just got deleted
321
335
  const nextTokenIndex = deletedTokenIndex === tokens.length - 1 ? deletedTokenIndex - 1 : deletedTokenIndex + 1; // The index of the next token that needs to be focused next due to the deletion
322
336
  const nextToken = tokens[nextTokenIndex]; // if the last item was deleted this will be undefined
337
+ const tokensToDelete = [token];
338
+ this._announceTokenDeletion(tokensToDelete.length);
323
339
  this._handleCurrentItemAfterDeletion(nextToken);
324
340
  this._tokenDeleting = true;
325
- this.fireDecoratorEvent("token-delete", { tokens: [token] });
341
+ this.fireDecoratorEvent("token-delete", { tokens: tokensToDelete });
326
342
  }
327
343
  _handleCurrentItemAfterDeletion(nextToken) {
328
344
  if (nextToken && !isPhone()) {
@@ -365,23 +381,22 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
365
381
  else {
366
382
  nextToken = notSelectedTokens[0];
367
383
  }
384
+ const tokensToDelete = this._selectedTokens.length ? this._selectedTokens : [token];
385
+ this._announceTokenDeletion(tokensToDelete.length);
368
386
  this._handleCurrentItemAfterDeletion(nextToken);
369
387
  this._tokenDeleting = true;
370
- if (this._selectedTokens.length) {
371
- this.fireDecoratorEvent("token-delete", { tokens: this._selectedTokens });
372
- }
373
- else {
374
- this.fireDecoratorEvent("token-delete", { tokens: [token] });
375
- }
388
+ this.fireDecoratorEvent("token-delete", { tokens: tokensToDelete });
376
389
  }
377
390
  async itemDelete(e) {
378
391
  const token = this.getTokenByRefId(e.detail.item.getAttribute("data-ui5-token-ref-id"));
379
392
  const tokensArray = this._tokens;
393
+ const tokensToDelete = [token];
380
394
  // delay the token deletion in order to close the popover before removing token of the DOM
381
395
  if (tokensArray.length === 1) {
382
396
  const morePopover = this.getPopover();
383
397
  morePopover.addEventListener("ui5-close", () => {
384
- this.fireDecoratorEvent("token-delete", { tokens: [token] });
398
+ this._announceTokenDeletion(tokensToDelete.length);
399
+ this.fireDecoratorEvent("token-delete", { tokens: tokensToDelete });
385
400
  }, {
386
401
  once: true,
387
402
  });
@@ -392,7 +407,8 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
392
407
  this._deletedDialogItems.push(token);
393
408
  }
394
409
  else {
395
- this.fireDecoratorEvent("token-delete", { tokens: [token] });
410
+ this._announceTokenDeletion(tokensToDelete.length);
411
+ this.fireDecoratorEvent("token-delete", { tokens: tokensToDelete });
396
412
  }
397
413
  const currentListItem = e.detail.item;
398
414
  const nextListItem = currentListItem.nextElementSibling;
@@ -428,6 +444,7 @@ let Tokenizer = Tokenizer_1 = class Tokenizer extends UI5Element {
428
444
  const isOkButton = e.target.hasAttribute("data-ui5-tokenizer-dialog-ok-button");
429
445
  const confirm = !!isOkButton;
430
446
  if (confirm && this._deletedDialogItems.length) {
447
+ this._announceTokenDeletion(this._deletedDialogItems.length);
431
448
  this.fireDecoratorEvent("token-delete", { tokens: this._deletedDialogItems });
432
449
  }
433
450
  this.open = false;