@ui5/webcomponents 1.13.1 → 1.14.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/dist/Avatar.d.ts +3 -3
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +2 -3
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +2 -2
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BusyIndicator.d.ts +1 -1
- package/dist/BusyIndicator.js.map +1 -1
- package/dist/Button.d.ts +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Calendar.d.ts +1 -1
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarHeader.d.ts +2 -2
- package/dist/CalendarHeader.js.map +1 -1
- package/dist/Carousel.d.ts +2 -2
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.d.ts +2 -2
- package/dist/CheckBox.js.map +1 -1
- package/dist/ComboBox.d.ts +4 -4
- package/dist/ComboBox.js.map +1 -1
- package/dist/DateComponentBase.d.ts +4 -4
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DatePicker.d.ts +1 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateRangePicker.d.ts +1 -1
- package/dist/DayPicker.d.ts +1 -1
- package/dist/DayPicker.js.map +1 -1
- package/dist/Dialog.d.ts +1 -1
- package/dist/Dialog.js.map +1 -1
- package/dist/FileUploader.d.ts +1 -1
- package/dist/FileUploader.js.map +1 -1
- package/dist/Icon.d.ts +1 -1
- package/dist/Icon.js.map +1 -1
- package/dist/Input.d.ts +2 -2
- package/dist/Input.js.map +1 -1
- package/dist/Label.d.ts +1 -7
- package/dist/Label.js +0 -9
- package/dist/Label.js.map +1 -1
- package/dist/Link.d.ts +2 -2
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +3 -3
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +4 -4
- package/dist/ListItem.js.map +1 -1
- package/dist/MessageStrip.d.ts +3 -3
- package/dist/MessageStrip.js +8 -8
- package/dist/MessageStrip.js.map +1 -1
- package/dist/MultiComboBox.d.ts +4 -4
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/Panel.d.ts +2 -2
- package/dist/Panel.js.map +1 -1
- package/dist/Popover.d.ts +8 -8
- package/dist/Popover.js +2 -2
- package/dist/Popover.js.map +1 -1
- package/dist/Popup.d.ts +1 -1
- package/dist/Popup.js.map +1 -1
- package/dist/ProgressIndicator.d.ts +1 -1
- package/dist/ProgressIndicator.js.map +1 -1
- package/dist/RadioButton.d.ts +2 -2
- package/dist/RadioButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +1 -1
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.d.ts +1 -1
- package/dist/Select.js.map +1 -1
- package/dist/SplitButton.d.ts +1 -1
- package/dist/SplitButton.js.map +1 -1
- package/dist/StandardListItem.d.ts +2 -2
- package/dist/StandardListItem.js.map +1 -1
- package/dist/StepInput.d.ts +2 -2
- package/dist/StepInput.js.map +1 -1
- package/dist/SuggestionItem.d.ts +2 -2
- package/dist/SuggestionItem.js.map +1 -1
- package/dist/Switch.d.ts +1 -1
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +1 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.d.ts +6 -6
- package/dist/TabContainer.js.map +1 -1
- package/dist/Table.d.ts +4 -4
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.d.ts +14 -0
- package/dist/TableCell.js +19 -2
- package/dist/TableCell.js.map +1 -1
- package/dist/TableColumn.d.ts +1 -1
- package/dist/TableColumn.js.map +1 -1
- package/dist/TableGroupRow.d.ts +1 -1
- package/dist/TableGroupRow.js.map +1 -1
- package/dist/TableRow.d.ts +2 -2
- package/dist/TableRow.js +1 -1
- package/dist/TableRow.js.map +1 -1
- package/dist/TextArea.d.ts +1 -1
- package/dist/TextArea.js.map +1 -1
- package/dist/TimePicker.d.ts +1 -1
- package/dist/TimePickerBase.d.ts +2 -2
- package/dist/TimePickerBase.js.map +1 -1
- package/dist/TimeSelection.d.ts +1 -1
- package/dist/Title.d.ts +2 -2
- package/dist/Title.js.map +1 -1
- package/dist/Toast.d.ts +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Tokenizer.d.ts +1 -1
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Tree.d.ts +1 -1
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItem.d.ts +1 -1
- package/dist/TreeItem.js.map +1 -1
- package/dist/TreeItemBase.d.ts +3 -3
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/api.json +1 -1
- package/dist/assets/IgnoreCustomElements.2238457d.css +1 -0
- package/dist/assets/Label.95b96777.css +1 -0
- package/dist/assets/ar.1041ec31.js +1 -0
- package/dist/assets/ar_EG.e95bec64.js +1 -0
- package/dist/assets/ar_SA.f148c268.js +1 -0
- package/dist/assets/bg.a5220db4.js +1 -0
- package/dist/assets/ca.e2d8c74a.js +1 -0
- package/dist/assets/cs.1329f2cd.js +1 -0
- package/dist/assets/da.8e8b0c3c.js +1 -0
- package/dist/assets/de.5189d32b.js +1 -0
- package/dist/assets/de_AT.3e48bebb.js +1 -0
- package/dist/assets/de_CH.92c64343.js +1 -0
- package/dist/assets/el.28eaca55.js +1 -0
- package/dist/assets/el_CY.32dcd4ff.js +1 -0
- package/dist/assets/en.45b4416a.js +1 -0
- package/dist/assets/en_AU.883bab70.js +1 -0
- package/dist/assets/en_GB.471ed2a3.js +1 -0
- package/dist/assets/en_HK.ec8572d7.js +1 -0
- package/dist/assets/en_IE.f777b349.js +1 -0
- package/dist/assets/en_IN.5a48cecf.js +1 -0
- package/dist/assets/en_NZ.6ccb69b4.js +1 -0
- package/dist/assets/en_PG.c1608957.js +1 -0
- package/dist/assets/en_SG.b63cc070.js +1 -0
- package/dist/assets/en_ZA.cd22b16a.js +1 -0
- package/dist/assets/es.d3f150cc.js +1 -0
- package/dist/assets/es_AR.927ccd27.js +1 -0
- package/dist/assets/es_BO.04001b79.js +1 -0
- package/dist/assets/es_CL.edc9b0de.js +1 -0
- package/dist/assets/es_CO.6281f9a6.js +1 -0
- package/dist/assets/es_MX.6f93b801.js +1 -0
- package/dist/assets/es_PE.888ff0f7.js +1 -0
- package/dist/assets/es_UY.ac61590e.js +1 -0
- package/dist/assets/es_VE.d5608918.js +1 -0
- package/dist/assets/et.ef445219.js +1 -0
- package/dist/assets/fa.9a9a21d7.js +1 -0
- package/dist/assets/fi.dc730063.js +1 -0
- package/dist/assets/fr.011a0e66.js +1 -0
- package/dist/assets/fr_BE.4136204b.js +1 -0
- package/dist/assets/fr_CA.58f92f20.js +1 -0
- package/dist/assets/{fr_BE.48f96803.js → fr_CH.b7d6ec2c.js} +1 -1
- package/dist/assets/fr_LU.39b07855.js +1 -0
- package/dist/assets/he.9b41d56e.js +1 -0
- package/dist/assets/hi.7cb5ad1d.js +1 -0
- package/dist/assets/hr.2b28d0ba.js +1 -0
- package/dist/assets/hu.c3ac3f70.js +1 -0
- package/dist/assets/id.426b2421.js +1 -0
- package/dist/assets/it.ae39da3a.js +1 -0
- package/dist/assets/it_CH.a563377d.js +1 -0
- package/dist/assets/ja.be911ee9.js +1 -0
- package/dist/assets/kk.90f2ba89.js +1 -0
- package/dist/assets/ko.565a3e63.js +1 -0
- package/dist/assets/lt.a282adbc.js +1 -0
- package/dist/assets/lv.0e9df9cb.js +1 -0
- package/dist/assets/messagebundle_en_US_sappsd.aec484c1.js +1 -0
- package/dist/assets/{messagebundle_en_US_saprigi.8f67a54b.js → messagebundle_en_US_saprigi.f321a5ab.js} +1 -1
- package/dist/assets/messagebundle_en_US_saptrc.94f1e535.js +1 -0
- package/dist/assets/ms.e914c13a.js +1 -0
- package/dist/assets/nb.1d73a460.js +1 -0
- package/dist/assets/nl.a680abff.js +1 -0
- package/dist/assets/nl_BE.a4dc5781.js +1 -0
- package/dist/assets/{parameters-bundle.css.64a1fcb3.js → parameters-bundle.css.026dc74e.js} +1 -1
- package/dist/assets/{parameters-bundle.css.2480d334.js → parameters-bundle.css.0c41d58c.js} +1 -1
- package/dist/assets/{parameters-bundle.css.b06aacf3.js → parameters-bundle.css.14a79875.js} +1 -1
- package/dist/assets/{parameters-bundle.css.4cf7b367.js → parameters-bundle.css.23269e5b.js} +1 -1
- package/dist/assets/{parameters-bundle.css.0910d303.js → parameters-bundle.css.51692b82.js} +1 -1
- package/dist/assets/{parameters-bundle.css.e59780e1.js → parameters-bundle.css.5ab8f243.js} +1 -1
- package/dist/assets/{parameters-bundle.css.0c80e05a.js → parameters-bundle.css.64406af3.js} +1 -1
- package/dist/assets/{parameters-bundle.css.a0b1bee1.js → parameters-bundle.css.7c9daf4d.js} +1 -1
- package/dist/assets/{parameters-bundle.css.691f8760.js → parameters-bundle.css.8289b958.js} +1 -1
- package/dist/assets/{parameters-bundle.css.8a87377e.js → parameters-bundle.css.ba16125d.js} +1 -1
- package/dist/assets/{parameters-bundle.css.b8d253d9.js → parameters-bundle.css.db425c28.js} +1 -1
- package/dist/assets/{parameters-bundle.css.731f329b.js → parameters-bundle.css.eef2edf1.js} +1 -1
- package/dist/assets/pl.c0276728.js +1 -0
- package/dist/assets/pt.9536023e.js +1 -0
- package/dist/assets/pt_PT.2736c73a.js +1 -0
- package/dist/assets/ro.ffce20e9.js +1 -0
- package/dist/assets/ru.34fce129.js +1 -0
- package/dist/assets/ru_UA.7b719d26.js +1 -0
- package/dist/assets/sk.738988a3.js +1 -0
- package/dist/assets/sl.82708a3f.js +1 -0
- package/dist/assets/sr.a69c8ac7.js +1 -0
- package/dist/assets/sr_Latn.ce4d0563.js +1 -0
- package/dist/assets/sv.86262274.js +1 -0
- package/dist/assets/test/pages/{ComboBox.html.2025a0ee.js → ComboBox.html.95e153b8.js} +1 -1
- package/dist/assets/test/pages/{Icon.html.9bcff6a6.js → Icon.html.251f84e4.js} +1 -1
- package/dist/assets/test/pages/{Label.html.6f194c4a.js → Label.html.df067063.js} +1 -1
- package/dist/assets/test/pages/{Popups.html.8dea1e31.js → Popups.html.67ffb6cc.js} +1 -1
- package/dist/assets/th.8ecb41b0.js +1 -0
- package/dist/assets/tr.72b9d85d.js +1 -0
- package/dist/assets/uk.ed9211ae.js +1 -0
- package/dist/assets/vi.9d0fe81c.js +1 -0
- package/dist/assets/zh_CN.cad8f95e.js +1 -0
- package/dist/assets/zh_HK.6f4cdfe2.js +1 -0
- package/dist/assets/zh_SG.4924225d.js +1 -0
- package/dist/assets/zh_TW.f3327c83.js +1 -0
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/Label.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements.json +1 -1
- package/dist/features/InputSuggestions.d.ts +2 -2
- package/dist/features/InputSuggestions.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/LabelTemplate.lit.js +2 -2
- package/dist/generated/templates/LabelTemplate.lit.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/Label.css.js +1 -1
- package/dist/generated/themes/Label.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/i18n/messagebundle.properties +3 -0
- package/dist/i18n/messagebundle_en_US_sappsd.properties +2 -0
- package/dist/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/dist/i18n/messagebundle_en_US_saptrc.properties +2 -0
- package/dist/test/pages/72override.html +1 -1
- package/dist/test/pages/AnimanitionOff.html +1 -1
- package/dist/test/pages/Avatar.html +1 -1
- package/dist/test/pages/AvatarGroup.html +1 -1
- package/dist/test/pages/Badge.html +1 -1
- package/dist/test/pages/Breadcrumbs.html +1 -1
- package/dist/test/pages/BusyIndicator.html +1 -1
- package/dist/test/pages/Button.html +1 -1
- package/dist/test/pages/Calendar.html +1 -1
- package/dist/test/pages/Card.html +1 -1
- package/dist/test/pages/Carousel.html +1 -1
- package/dist/test/pages/CheckBox.html +1 -1
- package/dist/test/pages/ColorPalette.html +1 -1
- package/dist/test/pages/ColorPalettePopover.html +1 -1
- package/dist/test/pages/ColorPicker.html +1 -1
- package/dist/test/pages/ComboBox.html +2 -2
- package/dist/test/pages/Components.html +1 -1
- package/dist/test/pages/CoreControls.html +1 -1
- package/dist/test/pages/CoreControls_exp.html +1 -1
- package/dist/test/pages/CustomCSS.html +1 -1
- package/dist/test/pages/DatePicker.html +1 -1
- package/dist/test/pages/DatePicker_test_page.html +1 -1
- package/dist/test/pages/DateRangePicker.html +1 -1
- package/dist/test/pages/DateTimePicker.html +1 -1
- package/dist/test/pages/DateTimePicker_Timezone.html +1 -1
- package/dist/test/pages/DayPicker.html +1 -1
- package/dist/test/pages/Dialog.html +1 -1
- package/dist/test/pages/DialogLifecycle.html +1 -1
- package/dist/test/pages/DialogSemantic.html +1 -1
- package/dist/test/pages/Eventing.html +1 -1
- package/dist/test/pages/F6Test1.html +1 -1
- package/dist/test/pages/F6Test2.html +1 -1
- package/dist/test/pages/F6Test3.html +1 -1
- package/dist/test/pages/F6Test4.html +1 -1
- package/dist/test/pages/F6Test5.html +1 -1
- package/dist/test/pages/F6Test6.html +1 -1
- package/dist/test/pages/F6Test7.html +1 -1
- package/dist/test/pages/FileUploader.html +1 -1
- package/dist/test/pages/FormComponents.html +1 -1
- package/dist/test/pages/FormSupport.html +1 -1
- package/dist/test/pages/HCB.html +1 -1
- package/dist/test/pages/Icon.html +2 -2
- package/dist/test/pages/Icon_and_theming.html +1 -1
- package/dist/test/pages/Icon_custom.html +1 -1
- package/dist/test/pages/Input.html +1 -1
- package/dist/test/pages/InputFieldLabels.html +1 -1
- package/dist/test/pages/InputFieldMinWidth.html +1 -1
- package/dist/test/pages/InputIcons.html +1 -1
- package/dist/test/pages/Input_quickview.html +1 -1
- package/dist/test/pages/InputsAlignment.html +1 -1
- package/dist/test/pages/InputsLazyLoading.html +1 -1
- package/dist/test/pages/ItemNavigation.html +1 -1
- package/dist/test/pages/Kitchen.html +1 -1
- package/dist/test/pages/Kitchen.openui5.html +1 -1
- package/dist/test/pages/Label.html +45 -42
- package/dist/test/pages/Link.html +1 -1
- package/dist/test/pages/List.html +1 -1
- package/dist/test/pages/ListGrowing_Button.html +1 -1
- package/dist/test/pages/ListGrowing_Scroll.html +1 -1
- package/dist/test/pages/List_keyboard_support.html +1 -1
- package/dist/test/pages/List_test_page.html +1 -1
- package/dist/test/pages/LitKeyFunction.html +1 -1
- package/dist/test/pages/MemoryLeak.html +1 -1
- package/dist/test/pages/Menu.html +1 -1
- package/dist/test/pages/MessagePage.html +1 -1
- package/dist/test/pages/MessageStrip.html +1 -1
- package/dist/test/pages/MultiComboBox.html +1 -1
- package/dist/test/pages/MultiInput.html +1 -1
- package/dist/test/pages/MultiInput_Suggestions.html +1 -1
- package/dist/test/pages/OpenUI5-second.html +1 -1
- package/dist/test/pages/OpenUI5.html +1 -1
- package/dist/test/pages/Panel.html +1 -1
- package/dist/test/pages/Popover.html +1 -1
- package/dist/test/pages/PopoverArrowBounds.html +1 -1
- package/dist/test/pages/Popups.html +2 -2
- package/dist/test/pages/ProgressIndicator.html +1 -1
- package/dist/test/pages/RTL.html +1 -1
- package/dist/test/pages/RadioButton.html +1 -1
- package/dist/test/pages/RangeSlider.html +1 -1
- package/dist/test/pages/RatingIndicator.html +1 -1
- package/dist/test/pages/ResizeHandler.html +1 -1
- package/dist/test/pages/ResponsivePopover.html +1 -1
- package/dist/test/pages/SegmentedButton.html +1 -1
- package/dist/test/pages/Select.html +1 -1
- package/dist/test/pages/Simple.html +1 -1
- package/dist/test/pages/Slider.html +1 -1
- package/dist/test/pages/SplitButton.html +1 -1
- package/dist/test/pages/StepInput.html +1 -1
- package/dist/test/pages/Switch.html +1 -1
- package/dist/test/pages/TabContainer.html +1 -1
- package/dist/test/pages/Table-perf-pure.html +1 -1
- package/dist/test/pages/Table-perf.html +1 -1
- package/dist/test/pages/Table.html +3 -3
- package/dist/test/pages/Table2.html +1 -1
- package/dist/test/pages/TableAllPopin.html +1 -1
- package/dist/test/pages/TableCustomStyling.html +1 -1
- package/dist/test/pages/TableGrouping.html +1 -1
- package/dist/test/pages/TableGrowingWithButton.html +1 -1
- package/dist/test/pages/TableGrowingWithScroll.html +1 -1
- package/dist/test/pages/TableSelection.html +1 -1
- package/dist/test/pages/TextArea.html +1 -1
- package/dist/test/pages/TimePicker.html +1 -1
- package/dist/test/pages/TimeSelection.html +1 -1
- package/dist/test/pages/Title.html +1 -1
- package/dist/test/pages/Toast.html +1 -1
- package/dist/test/pages/ToggleButton.html +1 -1
- package/dist/test/pages/Tree.html +1 -1
- package/dist/test/pages/WheelSlider_Test_Page.html +1 -1
- package/dist/test/pages/base/AriaLabelHelper.html +1 -1
- package/dist/test/pages/base/DOMObserver.html +1 -1
- package/dist/test/pages/base/IconCollection.html +1 -1
- package/dist/test/pages/base/IconCollectionInCustomTheme.html +1 -1
- package/dist/test/pages/base/IgnoreCustomElements.html +26 -0
- package/dist/test/pages/base/InvisibleMessage.html +1 -1
- package/dist/test/pages/form.html +1 -1
- package/dist/test/pages/i18n-defaultLang.html +1 -1
- package/dist/test/pages/i18n-demo.html +1 -1
- package/package.json +7 -7
- package/src/Label.hbs +4 -6
- package/src/i18n/messagebundle.properties +3 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
- package/src/themes/Input.css +2 -0
- package/src/themes/Label.css +11 -28
- package/src/themes/TextArea.css +16 -7
- package/src/themes/base/TextArea-parameters.css +0 -1
- package/src/themes/sap_horizon/TextArea-parameters.css +0 -5
- package/src/themes/sap_horizon_dark/TextArea-parameters.css +0 -5
- package/tsconfig.json +1 -2
- package/dist/assets/Label.b48eb771.css +0 -1
- package/dist/assets/ar.c5a97d0e.js +0 -1
- package/dist/assets/ar_EG.22757369.js +0 -1
- package/dist/assets/ar_SA.a5bad2ef.js +0 -1
- package/dist/assets/bg.6674f7a6.js +0 -1
- package/dist/assets/ca.fa49d13f.js +0 -1
- package/dist/assets/cs.dae0cd3e.js +0 -1
- package/dist/assets/da.93db3bc1.js +0 -1
- package/dist/assets/de.bfbf7863.js +0 -1
- package/dist/assets/de_AT.68a4341b.js +0 -1
- package/dist/assets/de_CH.1c13a1fb.js +0 -1
- package/dist/assets/el.71adc6a2.js +0 -1
- package/dist/assets/el_CY.f22e504b.js +0 -1
- package/dist/assets/en.ae8d35dc.js +0 -1
- package/dist/assets/en_AU.7d45451d.js +0 -1
- package/dist/assets/en_GB.80c7d6ef.js +0 -1
- package/dist/assets/en_HK.a2b0b861.js +0 -1
- package/dist/assets/en_IE.8703f70f.js +0 -1
- package/dist/assets/en_IN.bf506371.js +0 -1
- package/dist/assets/en_NZ.5dc61e5b.js +0 -1
- package/dist/assets/en_PG.1c3b0df6.js +0 -1
- package/dist/assets/en_SG.fddd87fc.js +0 -1
- package/dist/assets/en_ZA.867da820.js +0 -1
- package/dist/assets/es.d7387d86.js +0 -1
- package/dist/assets/es_AR.fe05631f.js +0 -1
- package/dist/assets/es_BO.89f1b5a6.js +0 -1
- package/dist/assets/es_CL.c81c60d6.js +0 -1
- package/dist/assets/es_CO.aa2b0b98.js +0 -1
- package/dist/assets/es_MX.8686d64e.js +0 -1
- package/dist/assets/es_PE.1e0803a8.js +0 -1
- package/dist/assets/es_UY.185ab638.js +0 -1
- package/dist/assets/es_VE.1f2f1b17.js +0 -1
- package/dist/assets/et.d0afa780.js +0 -1
- package/dist/assets/fa.47441e31.js +0 -1
- package/dist/assets/fi.54632154.js +0 -1
- package/dist/assets/fr.6a5154ec.js +0 -1
- package/dist/assets/fr_CA.508f04f9.js +0 -1
- package/dist/assets/fr_CH.69090fd9.js +0 -1
- package/dist/assets/fr_LU.51b82c64.js +0 -1
- package/dist/assets/he.869f8a6e.js +0 -1
- package/dist/assets/hi.bf17975b.js +0 -1
- package/dist/assets/hr.1a1fb4b8.js +0 -1
- package/dist/assets/hu.f772de7d.js +0 -1
- package/dist/assets/id.11cfa605.js +0 -1
- package/dist/assets/it.168286c6.js +0 -1
- package/dist/assets/it_CH.5a6d6c80.js +0 -1
- package/dist/assets/ja.0f0830ce.js +0 -1
- package/dist/assets/kk.d7fb968d.js +0 -1
- package/dist/assets/ko.7d771b7b.js +0 -1
- package/dist/assets/lt.d15d5108.js +0 -1
- package/dist/assets/lv.c268b3f1.js +0 -1
- package/dist/assets/messagebundle_en_US_sappsd.4b5e22df.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc.1c1645fc.js +0 -1
- package/dist/assets/ms.d05d1ec5.js +0 -1
- package/dist/assets/nb.c7bc3999.js +0 -1
- package/dist/assets/nl.751f2a34.js +0 -1
- package/dist/assets/nl_BE.9d0b23f0.js +0 -1
- package/dist/assets/pl.fa84ec2d.js +0 -1
- package/dist/assets/pt.fce1c065.js +0 -1
- package/dist/assets/pt_PT.734de519.js +0 -1
- package/dist/assets/ro.de6645af.js +0 -1
- package/dist/assets/ru.adfeebb7.js +0 -1
- package/dist/assets/ru_UA.63942d87.js +0 -1
- package/dist/assets/sk.ec8e6d6d.js +0 -1
- package/dist/assets/sl.8dc5c821.js +0 -1
- package/dist/assets/sr.15324e24.js +0 -1
- package/dist/assets/sr_Latn.5e843394.js +0 -1
- package/dist/assets/sv.2e166b94.js +0 -1
- package/dist/assets/th.c070be25.js +0 -1
- package/dist/assets/tr.ff1ccc4a.js +0 -1
- package/dist/assets/uk.17363643.js +0 -1
- package/dist/assets/vi.2b5b186b.js +0 -1
- package/dist/assets/zh_CN.1c2009c0.js +0 -1
- package/dist/assets/zh_HK.c4687dc5.js +0 -1
- package/dist/assets/zh_SG.7fe88248.js +0 -1
- package/dist/assets/zh_TW.5e1d38dc.js +0 -1
package/dist/CheckBox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../src/CheckBox.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/accept.js\";\nimport Icon from \"./Icon.js\";\nimport Label from \"./Label.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport checkboxCss from \"./generated/themes/CheckBox.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\n\n// Template\nimport CheckBoxTemplate from \"./generated/templates/CheckBoxTemplate.lit.js\";\n\nlet isGlobalHandlerAttached = false;\nlet activeCb: CheckBox;\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * Allows the user to set a binary value, such as true/false or yes/no for an item.\n * <br><br>\n * The <code>ui5-checkbox</code> component consists of a box and a label that describes its purpose.\n * If it's checked, an indicator is displayed inside the box.\n * To check/uncheck the <code>ui5-checkbox</code>, the user has to click or tap the square\n * box or its label.\n * <br><br>\n * The <code>ui5-checkbox</code> component only has 2 states - checked and unchecked.\n * Clicking or tapping toggles the <code>ui5-checkbox</code> between checked and unchecked state.\n *\n * <h3>Usage</h3>\n *\n * You can define the checkbox text with via the <code>text</code> property. If the text exceeds the available width, it is truncated by default.\n * In case you prefer text to wrap, set the <code>wrappingType</code> property to \"Normal\".\n * The touchable area for toggling the <code>ui5-checkbox</code> ends where the text ends.\n * <br><br>\n * You can disable the <code>ui5-checkbox</code> by setting the <code>disabled</code> property to\n * <code>true</code>,\n * or use the <code>ui5-checkbox</code> in read-only mode by setting the <code>readonly</code>\n * property to <code>true</code>.\n *\n * <br><br>\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-checkbox</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>root - Used to style the outermost wrapper of the <code>ui5-checkbox</code></li>\n * </ul>\n *\n * <br><br>\n * <h3>Keyboard Handling</h3>\n *\n * The user can use the following keyboard shortcuts to toggle the checked state of the <code>ui5-checkbox</code>.\n * <ul>\n * <li>[SPACE, ENTER] - Toggles between different states: checked, not checked.</li>\n * </ul>\n * <br><br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/CheckBox\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.CheckBox\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-checkbox\n * @public\n */\n@customElement({\n\ttag: \"ui5-checkbox\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: CheckBoxTemplate,\n\tstyles: checkboxCss,\n\tdependencies: [\n\t\tLabel,\n\t\tIcon,\n\t],\n})\n/**\n * Fired when the component checked state changes.\n *\n * @public\n * @event sap.ui.webc.main.CheckBox#change\n */\n@event(\"change\")\n\nclass CheckBox extends UI5Element implements IFormElement {\n\t/**\n\t * Receives id(or many ids) of the elements that label the component\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @name sap.ui.webc.main.CheckBox.prototype.accessibleNameRef\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @type {string}\n\t * @public\n\t * @name sap.ui.webc.main.CheckBox.prototype.accessibleName\n\t * @defaultvalue \"\"\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * <br><br>\n\t * <b>Note:</b> A disabled component is completely noninteractive.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.CheckBox.prototype.disabled\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t * <br><br>\n\t * <b>Note:</b> A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.CheckBox.prototype.readonly\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.CheckBox.prototype.required\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t* Defines whether the component is displayed as partially checked.\n\t* <br><br>\n\t* <b>Note:</b> The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction and the resulting visual state depends on the values of the <code>indeterminate</code>\n\t* and <code>checked</code> properties:\n\t* <ul>\n\t* <li> If the component is checked and indeterminate, it will be displayed as partially checked\n\t* <li> If the component is checked and it is not indeterminate, it will be displayed as checked\n\t* <li> If the component is not checked, it will be displayed as not checked regardless value of the indeterminate attribute\n\t* </ul>\n\t*\n\t* @type {boolean}\n\t* @name sap.ui.webc.main.CheckBox.prototype.indeterminate\n\t* @defaultvalue false\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property({ type: Boolean })\n\tindeterminate!: boolean;\n\n\t/**\n\t * Defines if the component is checked.\n\t * <br><br>\n\t * <b>Note:</b> The property can be changed with user interaction,\n\t * either by cliking/tapping on the component, or by\n\t * pressing the Enter or Space key.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.CheckBox.prototype.checked\n\t * @defaultvalue false\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tchecked!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.CheckBox.prototype.text\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t *\n\t * <br><br>\n\t * <b>Note:</b>\n\t *\n\t * <ul>\n\t * <li><code>Warning</code></li>\n\t * <li><code>Error</code></li>\n\t * <li><code>None</code>(default)</li>\n\t * <li><code>Success</code></li>\n\t * <li><code>Information</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.base.types.ValueState}\n\t * @name sap.ui.webc.main.CheckBox.prototype.valueState\n\t * @defaultvalue \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: ValueState;\n\n\t/**\n\t * Defines whether the component text wraps when there is not enough space.\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>None</code> - The text will be truncated with an ellipsis.</li>\n\t * <li><code>Normal</code> - The text will wrap. The words will not be broken based on hyphenation.</li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.main.types.WrappingType}\n\t * @name sap.ui.webc.main.CheckBox.prototype.wrappingType\n\t * @defaultvalue \"None\"\n\t * @public\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: WrappingType;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t *\n\t * <br><br>\n\t * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:\n\t * <code>import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";</code>\n\t *\n\t * <br><br>\n\t * <b>Note:</b> When set, a native <code>input</code> HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.CheckBox.prototype.name\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive!: boolean;\n\n\t/**\n\t * The slot is used to render native <code>input</code> HTML element within Light DOM to enable form submit,\n\t * when <code>name</code> property is set.\n\t * @type {HTMLElement[]}\n\t * @slot\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array<HTMLElement>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_deactivate: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeCb) {\n\t\t\t\tactiveCb.active = false;\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._enableFormSupport();\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature<typeof FormSupport>(\"FormSupport\");\n\t\tif (formSupport) {\n\t\t\tformSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: HTMLInputElement) => {\n\t\t\t\tnativeInput.disabled = element.disabled || !element.checked;\n\t\t\t\tnativeInput.value = element.checked ? \"on\" : \"\";\n\t\t\t});\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.toggle();\n\t}\n\n\t_onmousedown() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = true;\n\t\tactiveCb = this; // eslint-disable-line\n\t}\n\n\t_onmouseup() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.active = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.toggle();\n\t\t\tthis.active = true;\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = false;\n\t}\n\n\ttoggle() {\n\t\tif (this.canToggle()) {\n\t\t\tconst lastState = {\n\t\t\t\tchecked: this.checked,\n\t\t\t\tindeterminate: this.indeterminate,\n\t\t\t};\n\t\t\tif (this.indeterminate) {\n\t\t\t\tthis.indeterminate = false;\n\t\t\t\tthis.checked = true;\n\t\t\t} else {\n\t\t\t\tthis.checked = !this.checked;\n\t\t\t}\n\n\t\t\tconst changePrevented = !this.fireEvent(\"change\", null, true);\n\t\t\t// Angular two way data binding\n\t\t\tconst valueChagnePrevented = !this.fireEvent(\"value-changed\", null, true);\n\n\t\t\tif (changePrevented || valueChagnePrevented) {\n\t\t\t\tthis.checked = lastState.checked;\n\t\t\t\tthis.indeterminate = lastState.indeterminate;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tcanToggle() {\n\t\treturn !(this.disabled || this.readonly);\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Error\": CheckBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Warning\": CheckBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t\"Success\": CheckBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaReadonly() {\n\t\treturn this.readonly ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaDisabled() {\n\t\treturn this.disabled ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaChecked() {\n\t\treturn this.indeterminate && this.checked ? \"mixed\" : this.checked;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (!this.ariaLabelText) {\n\t\t\treturn this.text ? `${this._id}-label` : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-descr` : undefined;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateText() {\n\t\tif (this.valueState !== ValueState.None && this.valueState !== ValueState.Information) {\n\t\t\treturn this.valueStateTextMappings()[this.valueState];\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\t\treturn this.disabled ? undefined : tabindex || \"0\";\n\t}\n\n\tget isCompletelyChecked() {\n\t\treturn this.checked && !this.indeterminate;\n\t}\n\n\tstatic async onDefine() {\n\t\tCheckBox.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nCheckBox.define();\n\nexport default CheckBox;\n"]}
|
|
1
|
+
{"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../src/CheckBox.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/accept.js\";\nimport Icon from \"./Icon.js\";\nimport Label from \"./Label.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport checkboxCss from \"./generated/themes/CheckBox.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\n\n// Template\nimport CheckBoxTemplate from \"./generated/templates/CheckBoxTemplate.lit.js\";\n\nlet isGlobalHandlerAttached = false;\nlet activeCb: CheckBox;\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * Allows the user to set a binary value, such as true/false or yes/no for an item.\n * <br><br>\n * The <code>ui5-checkbox</code> component consists of a box and a label that describes its purpose.\n * If it's checked, an indicator is displayed inside the box.\n * To check/uncheck the <code>ui5-checkbox</code>, the user has to click or tap the square\n * box or its label.\n * <br><br>\n * The <code>ui5-checkbox</code> component only has 2 states - checked and unchecked.\n * Clicking or tapping toggles the <code>ui5-checkbox</code> between checked and unchecked state.\n *\n * <h3>Usage</h3>\n *\n * You can define the checkbox text with via the <code>text</code> property. If the text exceeds the available width, it is truncated by default.\n * In case you prefer text to wrap, set the <code>wrappingType</code> property to \"Normal\".\n * The touchable area for toggling the <code>ui5-checkbox</code> ends where the text ends.\n * <br><br>\n * You can disable the <code>ui5-checkbox</code> by setting the <code>disabled</code> property to\n * <code>true</code>,\n * or use the <code>ui5-checkbox</code> in read-only mode by setting the <code>readonly</code>\n * property to <code>true</code>.\n *\n * <br><br>\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-checkbox</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>root - Used to style the outermost wrapper of the <code>ui5-checkbox</code></li>\n * </ul>\n *\n * <br><br>\n * <h3>Keyboard Handling</h3>\n *\n * The user can use the following keyboard shortcuts to toggle the checked state of the <code>ui5-checkbox</code>.\n * <ul>\n * <li>[SPACE, ENTER] - Toggles between different states: checked, not checked.</li>\n * </ul>\n * <br><br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/CheckBox\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.CheckBox\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-checkbox\n * @public\n */\n@customElement({\n\ttag: \"ui5-checkbox\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: CheckBoxTemplate,\n\tstyles: checkboxCss,\n\tdependencies: [\n\t\tLabel,\n\t\tIcon,\n\t],\n})\n/**\n * Fired when the component checked state changes.\n *\n * @public\n * @event sap.ui.webc.main.CheckBox#change\n */\n@event(\"change\")\n\nclass CheckBox extends UI5Element implements IFormElement {\n\t/**\n\t * Receives id(or many ids) of the elements that label the component\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @name sap.ui.webc.main.CheckBox.prototype.accessibleNameRef\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @type {string}\n\t * @public\n\t * @name sap.ui.webc.main.CheckBox.prototype.accessibleName\n\t * @defaultvalue \"\"\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * <br><br>\n\t * <b>Note:</b> A disabled component is completely noninteractive.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.CheckBox.prototype.disabled\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t * <br><br>\n\t * <b>Note:</b> A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.CheckBox.prototype.readonly\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.CheckBox.prototype.required\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t* Defines whether the component is displayed as partially checked.\n\t* <br><br>\n\t* <b>Note:</b> The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction and the resulting visual state depends on the values of the <code>indeterminate</code>\n\t* and <code>checked</code> properties:\n\t* <ul>\n\t* <li> If the component is checked and indeterminate, it will be displayed as partially checked\n\t* <li> If the component is checked and it is not indeterminate, it will be displayed as checked\n\t* <li> If the component is not checked, it will be displayed as not checked regardless value of the indeterminate attribute\n\t* </ul>\n\t*\n\t* @type {boolean}\n\t* @name sap.ui.webc.main.CheckBox.prototype.indeterminate\n\t* @defaultvalue false\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property({ type: Boolean })\n\tindeterminate!: boolean;\n\n\t/**\n\t * Defines if the component is checked.\n\t * <br><br>\n\t * <b>Note:</b> The property can be changed with user interaction,\n\t * either by cliking/tapping on the component, or by\n\t * pressing the Enter or Space key.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.CheckBox.prototype.checked\n\t * @defaultvalue false\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tchecked!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.CheckBox.prototype.text\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t *\n\t * <br><br>\n\t * <b>Note:</b>\n\t *\n\t * <ul>\n\t * <li><code>Warning</code></li>\n\t * <li><code>Error</code></li>\n\t * <li><code>None</code>(default)</li>\n\t * <li><code>Success</code></li>\n\t * <li><code>Information</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.base.types.ValueState}\n\t * @name sap.ui.webc.main.CheckBox.prototype.valueState\n\t * @defaultvalue \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component text wraps when there is not enough space.\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>None</code> - The text will be truncated with an ellipsis.</li>\n\t * <li><code>Normal</code> - The text will wrap. The words will not be broken based on hyphenation.</li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.main.types.WrappingType}\n\t * @name sap.ui.webc.main.CheckBox.prototype.wrappingType\n\t * @defaultvalue \"None\"\n\t * @public\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t *\n\t * <br><br>\n\t * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:\n\t * <code>import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";</code>\n\t *\n\t * <br><br>\n\t * <b>Note:</b> When set, a native <code>input</code> HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.CheckBox.prototype.name\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive!: boolean;\n\n\t/**\n\t * The slot is used to render native <code>input</code> HTML element within Light DOM to enable form submit,\n\t * when <code>name</code> property is set.\n\t * @type {HTMLElement[]}\n\t * @slot\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array<HTMLElement>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_deactivate: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeCb) {\n\t\t\t\tactiveCb.active = false;\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._enableFormSupport();\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature<typeof FormSupport>(\"FormSupport\");\n\t\tif (formSupport) {\n\t\t\tformSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: HTMLInputElement) => {\n\t\t\t\tnativeInput.disabled = element.disabled || !element.checked;\n\t\t\t\tnativeInput.value = element.checked ? \"on\" : \"\";\n\t\t\t});\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.toggle();\n\t}\n\n\t_onmousedown() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = true;\n\t\tactiveCb = this; // eslint-disable-line\n\t}\n\n\t_onmouseup() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.active = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.toggle();\n\t\t\tthis.active = true;\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = false;\n\t}\n\n\ttoggle() {\n\t\tif (this.canToggle()) {\n\t\t\tconst lastState = {\n\t\t\t\tchecked: this.checked,\n\t\t\t\tindeterminate: this.indeterminate,\n\t\t\t};\n\t\t\tif (this.indeterminate) {\n\t\t\t\tthis.indeterminate = false;\n\t\t\t\tthis.checked = true;\n\t\t\t} else {\n\t\t\t\tthis.checked = !this.checked;\n\t\t\t}\n\n\t\t\tconst changePrevented = !this.fireEvent(\"change\", null, true);\n\t\t\t// Angular two way data binding\n\t\t\tconst valueChagnePrevented = !this.fireEvent(\"value-changed\", null, true);\n\n\t\t\tif (changePrevented || valueChagnePrevented) {\n\t\t\t\tthis.checked = lastState.checked;\n\t\t\t\tthis.indeterminate = lastState.indeterminate;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tcanToggle() {\n\t\treturn !(this.disabled || this.readonly);\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Error\": CheckBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Warning\": CheckBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t\"Success\": CheckBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaReadonly() {\n\t\treturn this.readonly ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaDisabled() {\n\t\treturn this.disabled ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaChecked() {\n\t\treturn this.indeterminate && this.checked ? \"mixed\" : this.checked;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (!this.ariaLabelText) {\n\t\t\treturn this.text ? `${this._id}-label` : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-descr` : undefined;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateText() {\n\t\tif (this.valueState !== ValueState.None && this.valueState !== ValueState.Information) {\n\t\t\treturn this.valueStateTextMappings()[this.valueState];\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\t\treturn this.disabled ? undefined : tabindex || \"0\";\n\t}\n\n\tget isCompletelyChecked() {\n\t\treturn this.checked && !this.indeterminate;\n\t}\n\n\tstatic async onDefine() {\n\t\tCheckBox.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nCheckBox.define();\n\nexport default CheckBox;\n"]}
|
package/dist/ComboBox.d.ts
CHANGED
|
@@ -140,7 +140,7 @@ declare class ComboBox extends UI5Element {
|
|
|
140
140
|
* @defaultvalue "None"
|
|
141
141
|
* @public
|
|
142
142
|
*/
|
|
143
|
-
valueState: ValueState
|
|
143
|
+
valueState: `${ValueState}`;
|
|
144
144
|
/**
|
|
145
145
|
* Defines whether the component is read-only.
|
|
146
146
|
* <br><br>
|
|
@@ -175,12 +175,12 @@ declare class ComboBox extends UI5Element {
|
|
|
175
175
|
* Defines the filter type of the component.
|
|
176
176
|
* Available options are: <code>StartsWithPerTerm</code>, <code>StartsWith</code>, <code>Contains</code> and <code>None</code>.
|
|
177
177
|
*
|
|
178
|
-
* @type {
|
|
178
|
+
* @type {sap.ui.webc.main.types.ComboBoxFilter}
|
|
179
179
|
* @name sap.ui.webc.main.ComboBox.prototype.filter
|
|
180
180
|
* @defaultvalue "StartsWithPerTerm"
|
|
181
181
|
* @public
|
|
182
182
|
*/
|
|
183
|
-
filter: ComboBoxFilter
|
|
183
|
+
filter: `${ComboBoxFilter}`;
|
|
184
184
|
/**
|
|
185
185
|
* Indicates whether the input is focssed
|
|
186
186
|
* @private
|
|
@@ -321,7 +321,7 @@ declare class ComboBox extends UI5Element {
|
|
|
321
321
|
get valueStateTypeMappings(): ValueStateTypeAnnouncement;
|
|
322
322
|
get shouldOpenValueStateMessagePopover(): boolean;
|
|
323
323
|
get shouldDisplayDefaultValueStateMessage(): boolean;
|
|
324
|
-
get _valueStatePopoverHorizontalAlign(): PopoverHorizontalAlign
|
|
324
|
+
get _valueStatePopoverHorizontalAlign(): `${PopoverHorizontalAlign}`;
|
|
325
325
|
/**
|
|
326
326
|
* This method is relevant for sap_horizon theme only
|
|
327
327
|
*/
|
package/dist/ComboBox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { isPhone, isAndroid, isSafari } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/not-editable.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport {\n\tisBackSpace,\n\tisDelete,\n\tisShow,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisTabNext,\n\tisTabPrevious,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport * as Filters from \"./Filters.js\";\n\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tSELECT_OPTIONS,\n\tLIST_ITEM_POSITION,\n\tLIST_ITEM_GROUP_HEADER,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport ComboBoxTemplate from \"./generated/templates/ComboBoxTemplate.lit.js\";\nimport ComboBoxPopoverTemplate from \"./generated/templates/ComboBoxPopoverTemplate.lit.js\";\n\n// Styles\nimport ComboBoxCss from \"./generated/themes/ComboBox.css.js\";\nimport ComboBoxPopoverCss from \"./generated/themes/ComboBoxPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\n\nimport ComboBoxItem from \"./ComboBoxItem.js\";\nimport Icon from \"./Icon.js\";\nimport Popover from \"./Popover.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport type { ClickEventDetail } from \"./List.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport Button from \"./Button.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport ComboBoxGroupItem from \"./ComboBoxGroupItem.js\";\nimport GroupHeaderListItem from \"./GroupHeaderListItem.js\";\nimport ComboBoxFilter from \"./types/ComboBoxFilter.js\";\nimport type FormSupportT from \"./features/InputElementsFormSupport.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\n\nconst SKIP_ITEMS_SIZE = 10;\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\ntype ValueStateTypeAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype ComboBoxListItem = StandardListItem & {\n\tmappedItem: ComboBoxItem\n};\n\nenum ValueStateIconMapping {\n\tError = \"error\",\n\tWarning = \"alert\",\n\tSuccess = \"sys-enter-2\",\n\tInformation = \"information\",\n}\n\ntype ComboBoxSelectionChangeEventDetail = {\n\titem: ComboBoxItem,\n};\n\ninterface IComboBoxItem extends UI5Element {\n\ttext: string,\n\tfocused: boolean,\n\tisGroupItem: boolean,\n\tselected?: boolean,\n\tadditionalText?: string,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-combobox</code> component represents a drop-down menu with a list of the available options and a text input field to narrow down the options.\n *\n * It is commonly used to enable users to select an option from a predefined list.\n *\n * <h3>Structure</h3>\n * The <code>ui5-combobox</code> consists of the following elements:\n *\n * <ul>\n * <li> Input field - displays the selected option or a custom user entry. Users can type to narrow down the list or enter their own value.</li>\n * <li> Drop-down arrow - expands\\collapses the option list.</li>\n * <li> Option list - the list of available options.</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n *\n * The <code>ui5-combobox</code> provides advanced keyboard handling.\n * <br>\n *\n * <ul>\n * <li>[F4], [ALT]+[UP], or [ALT]+[DOWN] - Toggles the picker.</li>\n * <li>[ESC] - Closes the picker, if open. If closed, cancels changes and reverts the typed in value.</li>\n * <li>[ENTER] or [RETURN] - If picker is open, takes over the currently selected item and closes it.</li>\n * <li>[DOWN] - Selects the next matching item in the picker.</li>\n * <li>[UP] - Selects the previous matching item in the picker.</li>\n * <li>[PAGEDOWN] - Moves selection down by page size (10 items by default).</li>\n * <li>[PAGEUP] - Moves selection up by page size (10 items by default). </li>\n * <li>[HOME] - If focus is in the ComboBox, moves cursor at the beginning of text. If focus is in the picker, selects the first item.</li>\n * <li>[END] - If focus is in the ComboBox, moves cursor at the end of text. If focus is in the picker, selects the last item.</li>\n * </ul>\n *\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/ComboBox\";</code>\n *\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.ComboBox\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-combobox\n * @appenddocs sap.ui.webc.main.ComboBoxItem sap.ui.webc.main.ComboBoxGroupItem\n * @public\n * @since 1.0.0-rc.6\n */\n@customElement({\n\ttag: \"ui5-combobox\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: ComboBoxCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tComboBoxPopoverCss,\n\t\tSuggestionsCss,\n\t],\n\ttemplate: ComboBoxTemplate,\n\tstaticAreaTemplate: ComboBoxPopoverTemplate,\n\tdependencies: [\n\t\tComboBoxItem,\n\t\tIcon,\n\t\tResponsivePopover,\n\t\tList,\n\t\tBusyIndicator,\n\t\tButton,\n\t\tStandardListItem,\n\t\tGroupHeaderListItem,\n\t\tPopover,\n\t\tComboBoxGroupItem,\n\t],\n})\n/**\n * Fired when the input operation has finished by pressing Enter, focusout or an item is selected.\n *\n * @event sap.ui.webc.main.ComboBox#change\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when typing in input.\n * <br><br>\n * <b>Note:</b> filterValue property is updated, input is changed.\n * @event sap.ui.webc.main.ComboBox#input\n * @public\n */\n@event(\"input\")\n/**\n * Fired when selection is changed by user interaction\n *\n * @event sap.ui.webc.main.ComboBox#selection-change\n * @param {sap.ui.webc.main.IComboBoxItem} item item to be selected.\n * @public\n */\n@event(\"selection-change\", {\n\tdetail: {\n\t\titem: { type: HTMLElement },\n\t},\n})\n\nclass ComboBox extends UI5Element {\n\t/**\n\t * Defines the value of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.value\n\t * @defaultvalue \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the \"live\" value of the component.\n\t * <br><br>\n\t * <b>Note:</b> If we have an item e.g. \"Bulgaria\", \"B\" is typed, \"ulgaria\" is typed ahead, value will be \"Bulgaria\", filterValue will be \"B\".\n\t *\n\t * <br><br>\n\t * <b>Note:</b> Initially the filter value is synced with value.\n\t *\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @private\n\t */\n\t@property()\n\tfilterValue!: string;\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 * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.placeholder\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tplaceholder!: string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t * <br><br>\n\t * <b>Note:</b> A disabled component is completely noninteractive.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.ComboBox.prototype.disabled\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the value state of the component.\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>None</code></li>\n\t * <li><code>Error</code></li>\n\t * <li><code>Warning</code></li>\n\t * <li><code>Success</code></li>\n\t * <li><code>Information</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.base.types.ValueState}\n\t * @name sap.ui.webc.main.ComboBox.prototype.valueState\n\t * @defaultvalue \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: ValueState;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t * <br><br>\n\t * <b>Note:</b> A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.ComboBox.prototype.readonly\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.ComboBox.prototype.required\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Indicates whether a loading indicator should be shown in the picker.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.ComboBox.prototype.loading\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\n\n\t/**\n\t * Defines the filter type of the component.\n\t * Available options are: <code>StartsWithPerTerm</code>, <code>StartsWith</code>, <code>Contains</code> and <code>None</code>.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.filter\n\t * @defaultvalue \"StartsWithPerTerm\"\n\t * @public\n\t */\n\t@property({ type: ComboBoxFilter, defaultValue: ComboBoxFilter.StartsWithPerTerm })\n\tfilter!: ComboBoxFilter;\n\n\t/**\n\t * Indicates whether the input is focssed\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Indicates whether the visual focus is on the value state header\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isValueStateFocused!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.accessibleName\n\t * @defaultvalue: \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\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 * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.accessibleNameRef\n\t * @defaultvalue \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t@property({ type: Object, noAttribute: true, multiple: true })\n\t_filteredItems!: Array<IComboBoxItem>;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_listWidth!: number;\n\n\t/**\n\t * Defines the component items.\n\t *\n\t * @type {sap.ui.webc.main.IComboBoxItem[]}\n\t * @name sap.ui.webc.main.ComboBox.prototype.default\n\t * @slot items\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array<IComboBoxItem>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.\n\t * <br>\n\t * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,\n\t * when the <code>ui5-combobox</code> is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.ComboBox.prototype.valueStateMessage\n\t * @since 1.0.0-rc.9\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the icon to be displayed in the input field.\n\t *\n\t * @type {sap.ui.webc.main.IIcon[]}\n\t * @name sap.ui.webc.main.ComboBox.prototype.icon\n\t * @slot\n\t * @public\n\t * @since 1.0.0-rc.9\n\t */\n\t@slot()\n\ticon!: Array<Icon>;\n\n\t_initialRendering: boolean;\n\t_itemFocused: boolean;\n\t// used only for Safari fix (check onAfterRendering)\n\t_autocomplete: boolean;\n\t_isKeyNavigation: boolean;\n\t_selectionPerformed: boolean;\n\t_lastValue: string;\n\t_selectedItemText: string;\n\t_userTypedValue: string;\n\tresponsivePopover?: ResponsivePopover;\n\tvalueStatePopover?: Popover;\n\tFormSupport?: typeof FormSupportT;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._filteredItems = [];\n\t\tthis._initialRendering = true;\n\t\tthis._itemFocused = false;\n\t\tthis._autocomplete = false;\n\t\tthis._isKeyNavigation = false;\n\t\tthis._lastValue = \"\";\n\t\tthis._selectionPerformed = false;\n\t\tthis._selectedItemText = \"\";\n\t\tthis._userTypedValue = \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tconst popover: Popover | undefined = this.valueStatePopover;\n\n\t\tthis.FormSupport = getFeature<typeof FormSupportT>(\"FormSupport\");\n\n\t\tif (this._initialRendering || this.filter === \"None\") {\n\t\t\tthis._filteredItems = this.items;\n\t\t}\n\n\t\tif (!this._initialRendering && document.activeElement === this && !this._filteredItems.length) {\n\t\t\tpopover?.close();\n\t\t}\n\n\t\tthis._selectMatchingItem();\n\t\tthis._initialRendering = false;\n\n\t\tconst slottedIconsCount = this.icon.length || 0;\n\t\tconst arrowDownIconsCount = this.readonly ? 0 : 1;\n\t\tthis.style.setProperty(\"--_ui5-input-icons-count\", `${slottedIconsCount + arrowDownIconsCount}`);\n\t}\n\n\tasync onAfterRendering() {\n\t\tconst picker: ResponsivePopover = await this._getPicker();\n\n\t\tif (isPhone() && picker.opened) {\n\t\t\t// Set initial focus to the native input\n\t\t\tthis.inner.focus();\n\t\t}\n\n\t\tif ((await this.shouldClosePopover()) && !isPhone()) {\n\t\t\tpicker.close(false, false, true);\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t}\n\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\t\tthis.storeResponsivePopoverWidth();\n\n\t\t// Safari is quite slow and does not preserve text highlighting on control rerendering.\n\t\t// That's why we need to restore it \"manually\".\n\t\tif (isSafari() && this._autocomplete && this.filterValue !== this.value) {\n\t\t\tthis.inner.setSelectionRange(\n\t\t\t\t(this._isKeyNavigation ? 0 : this.filterValue.length),\n\t\t\t\tthis.value.length,\n\t\t\t);\n\t\t}\n\t}\n\n\tasync shouldClosePopover(): Promise<boolean> {\n\t\tconst popover: ResponsivePopover = await this._getPicker();\n\n\t\treturn popover.opened && !this.focused && !this._itemFocused && !this._isValueStateFocused;\n\t}\n\n\t_focusin(e: FocusEvent) {\n\t\tthis.focused = true;\n\t\tthis._lastValue = this.value;\n\t\tthis._autocomplete = false;\n\n\t\t!isPhone() && (e.target as HTMLInputElement).setSelectionRange(0, this.value.length);\n\t}\n\n\t_focusout(e: FocusEvent) {\n\t\tconst toBeFocused = e.relatedTarget as HTMLElement;\n\t\tconst focusedOutToValueStateMessage = toBeFocused?.shadowRoot?.querySelector(\".ui5-valuestatemessage-root\");\n\n\t\tthis._fireChangeEvent();\n\n\t\tif (focusedOutToValueStateMessage) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!(this.shadowRoot!.contains(toBeFocused)) && (this.staticAreaItem !== e.relatedTarget)) {\n\t\t\tthis.focused = false;\n\t\t\t!isPhone() && this._closeRespPopover(e);\n\t\t}\n\t}\n\n\t_afterOpenPopover() {\n\t\tthis._iconPressed = true;\n\t}\n\n\t_afterClosePopover() {\n\t\tthis._iconPressed = false;\n\t\tthis._filteredItems = this.items;\n\n\t\t// close device's keyboard and prevent further typing\n\t\tif (isPhone()) {\n\t\t\tthis.blur();\n\t\t}\n\n\t\tif (this._selectionPerformed) {\n\t\t\tthis._lastValue = this.value;\n\t\t\tthis._selectionPerformed = false;\n\t\t}\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tconst picker: ResponsivePopover = await this._getPicker();\n\n\t\tif (picker.opened) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\tasync storeResponsivePopoverWidth() {\n\t\tif (this.open && !this._listWidth) {\n\t\t\tthis._listWidth = (await this._getPicker()).offsetWidth;\n\t\t}\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\t(await this._getValueStatePopover())?.showAt(this);\n\t}\n\n\tasync closeValueStatePopover() {\n\t\t(await this._getValueStatePopover())?.close();\n\t}\n\n\tasync _getValueStatePopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tconst popover: Popover = staticAreaItem!.querySelector<Popover>(\".ui5-valuestatemessage-popover\")!;\n\n\t\t// backward compatibility\n\t\t// rework all methods to work with async getters\n\t\tthis.valueStatePopover = popover;\n\n\t\treturn popover;\n\t}\n\n\t_resetFilter() {\n\t\tthis._userTypedValue = \"\";\n\t\tthis.inner.setSelectionRange(0, this.value.length);\n\t\tthis._filteredItems = this._filterItems(\"\");\n\t\tthis._selectMatchingItem();\n\t}\n\n\t_arrowClick() {\n\t\tthis.inner.focus();\n\t\tthis._resetFilter();\n\n\t\tif (isPhone() && this.value && !this._lastValue) {\n\t\t\tthis._lastValue = this.value;\n\t\t}\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_input(e: InputEvent) {\n\t\tconst { value } = e.target as HTMLInputElement;\n\t\tconst shouldAutocomplete = this.shouldAutocomplete(e);\n\n\t\tif (e.target === this.inner) {\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t\tthis.focused = true;\n\t\t\tthis._isValueStateFocused = false;\n\t\t}\n\n\t\tthis._filteredItems = this._filterItems(value);\n\n\t\tthis.value = value;\n\t\tthis.filterValue = value;\n\n\t\tthis._clearFocus();\n\n\t\t// autocomplete\n\t\tif (shouldAutocomplete && !isAndroid()) {\n\t\t\tconst item = this._getFirstMatchingItem(value);\n\t\t\titem && this._applyAtomicValueAndSelection(item, value, true);\n\n\t\t\tif (value !== \"\" && (item && !item.selected && !item.isGroupItem)) {\n\t\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\t\titem,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\n\n\t\tif (isPhone()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._filteredItems.length || value === \"\") {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\tshouldAutocomplete(e: InputEvent): boolean {\n\t\tconst eventType = e.inputType;\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\treturn !allowedEventTypes.includes(eventType);\n\t}\n\n\t_startsWithMatchingItems(str: string): Array<IComboBoxItem> {\n\t\treturn Filters.StartsWith(str, this._filteredItems, \"text\");\n\t}\n\n\t_clearFocus() {\n\t\tthis._filteredItems.map(item => {\n\t\t\titem.focused = false;\n\n\t\t\treturn item;\n\t\t});\n\t}\n\n\thandleNavKeyPress(e: KeyboardEvent) {\n\t\tif (this.focused && (isHome(e) || isEnd(e)) && this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isOpen = this.open;\n\t\tconst currentItem = this._filteredItems.find(item => {\n\t\t\treturn isOpen ? item.focused : item.selected;\n\t\t});\n\n\t\tconst indexOfItem = currentItem ? this._filteredItems.indexOf(currentItem) : -1;\n\n\t\te.preventDefault();\n\n\t\tif (this.focused && isOpen && (isUp(e) || isPageUp(e) || isPageDown(e))) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._filteredItems.length - 1 === indexOfItem && isDown(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isKeyNavigation = true;\n\n\t\tif (\n\t\t\te.key === \"ArrowDown\"\n\t\t\t|| e.key === \"ArrowUp\"\n\t\t\t|| e.key === \"PageUp\"\n\t\t\t|| e.key === \"PageDown\"\n\t\t\t|| e.key === \"Home\"\n\t\t\t|| e.key === \"End\"\n\t\t) {\n\t\t\tthis[`_handle${e.key}`](e, indexOfItem);\n\t\t}\n\t}\n\n\t_handleItemNavigation(e: KeyboardEvent, indexOfItem: number, isForward: boolean) {\n\t\tconst isOpen = this.open;\n\t\tconst currentItem = this._filteredItems[indexOfItem];\n\t\tconst nextItem = isForward ? this._filteredItems[indexOfItem + 1] : this._filteredItems[indexOfItem - 1];\n\t\tconst isGroupItem = currentItem && currentItem.isGroupItem;\n\n\t\tif ((!isOpen) && ((isGroupItem && !nextItem) || (!isGroupItem && !currentItem))) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._clearFocus();\n\n\t\tif (isOpen) {\n\t\t\tthis._itemFocused = true;\n\t\t\tthis.value = isGroupItem ? \"\" : currentItem.text;\n\t\t\tthis.focused = false;\n\t\t\tcurrentItem.focused = true;\n\t\t} else {\n\t\t\tthis.focused = true;\n\t\t\tthis.value = isGroupItem ? nextItem.text : currentItem.text;\n\t\t\tcurrentItem.focused = false;\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\n\t\tthis._announceSelectedItem(indexOfItem);\n\n\t\tif (isGroupItem && isOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\t// autocomplete\n\t\tconst item = this._getFirstMatchingItem(this.value);\n\t\titem && this._applyAtomicValueAndSelection(item, (this.open ? this._userTypedValue : \"\"), true);\n\n\t\tif ((item && !item.selected)) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem,\n\t\t\t});\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\n\t\tthis._fireChangeEvent();\n\t}\n\n\t_handleArrowDown(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isOpen = this.open;\n\n\t\tif (this.focused && indexOfItem === -1 && this.hasValueStateText && isOpen) {\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis.focused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tindexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\n\t\tthis._handleItemNavigation(e, ++indexOfItem, true /* isForward */);\n\t}\n\n\t_handleArrowUp(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isOpen = this.open;\n\n\t\tif (indexOfItem === 0 && !this.hasValueStateText) {\n\t\t\tthis._clearFocus();\n\t\t\tthis.focused = true;\n\t\t\tthis._itemFocused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (indexOfItem === 0 && this.hasValueStateText && isOpen) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._filteredItems[0].selected = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isValueStateFocused) {\n\t\t\tthis.focused = true;\n\t\t\tthis._isValueStateFocused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tindexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\t\tthis._handleItemNavigation(e, --indexOfItem, false /* isForward */);\n\t}\n\n\t_handlePageUp(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isProposedIndexValid = indexOfItem - SKIP_ITEMS_SIZE > -1;\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem - SKIP_ITEMS_SIZE : 0;\n\t\tconst shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;\n\n\t\tif (!isProposedIndexValid && this.hasValueStateText && this.open) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handlePageDown(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst itemsLength = this._filteredItems.length;\n\t\tconst isProposedIndexValid = indexOfItem + SKIP_ITEMS_SIZE < itemsLength;\n\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem + SKIP_ITEMS_SIZE : itemsLength - 1;\n\t\tconst shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tconst shouldMoveForward = this._filteredItems[0].isGroupItem && !this.open;\n\n\t\tif (this.hasValueStateText && this.open) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleItemNavigation(e, 0, shouldMoveForward);\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\tthis._handleItemNavigation(e, this._filteredItems.length - 1, true /* isForward */);\n\t}\n\n\t_keyup() {\n\t\tthis._userTypedValue = this.value.substring(0, this.inner.selectionStart || 0);\n\t}\n\n\t_keydown(e: KeyboardEvent) {\n\t\tconst isNavKey = isDown(e) || isUp(e) || isPageUp(e) || isPageDown(e) || isHome(e) || isEnd(e);\n\t\tconst picker = this.responsivePopover;\n\n\t\tthis._autocomplete = !(isBackSpace(e) || isDelete(e));\n\t\tthis._isKeyNavigation = false;\n\n\t\tif (isNavKey && !this.readonly && this._filteredItems.length) {\n\t\t\tthis.handleNavKeyPress(e);\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireChangeEvent();\n\n\t\t\tif (picker?.opened) {\n\t\t\t\tthis._closeRespPopover();\n\t\t\t\tthis.focused = true;\n\t\t\t} else if (this.FormSupport) {\n\t\t\t\tthis.FormSupport.triggerFormSubmit(this);\n\t\t\t}\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\tthis.focused = true;\n\t\t\tthis.value = !this.open ? this._lastValue : this.value;\n\t\t\tthis._isValueStateFocused = false;\n\t\t}\n\n\t\tif ((isTabNext(e) || isTabPrevious(e)) && this.open) {\n\t\t\tthis._closeRespPopover();\n\t\t}\n\n\t\tif (isShow(e) && !this.readonly && !this.disabled) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._resetFilter();\n\t\t\tthis._toggleRespPopover();\n\n\t\t\tconst selectedItem = this._filteredItems.find(item => {\n\t\t\t\treturn item.selected;\n\t\t\t});\n\n\t\t\tif (selectedItem && this.open) {\n\t\t\t\tthis._itemFocused = true;\n\t\t\t\tselectedItem.focused = true;\n\t\t\t\tthis.focused = false;\n\t\t\t} else if (this.open && this._filteredItems.length) {\n\t\t\t\t// If no item is selected, select the first one on \"Show\" (F4, Alt+Up/Down)\n\t\t\t\tthis._handleItemNavigation(e, 0, true /* isForward */);\n\t\t\t} else {\n\t\t\t\tthis.focused = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t_click() {\n\t\tif (isPhone() && !this.readonly) {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t_closeRespPopover(e?: Event) {\n\t\tconst picker = this.responsivePopover;\n\n\t\tif (e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\") && this._selectedItemText) {\n\t\t\tthis.value = this._selectedItemText;\n\t\t\tthis.filterValue = this._selectedItemText;\n\t\t}\n\n\t\tif (e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\")) {\n\t\t\tthis.value = this._lastValue || \"\";\n\t\t\tthis.filterValue = this._lastValue || \"\";\n\t\t}\n\n\t\tif (isPhone()) {\n\t\t\tthis._fireChangeEvent();\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\t\tthis._clearFocus();\n\n\t\tpicker?.close();\n\t}\n\n\tasync _openRespPopover() {\n\t\t(await this._getPicker()).showAt(this);\n\t}\n\n\t_filterItems(str: string) {\n\t\tconst itemsToFilter = this.items.filter(item => !item.isGroupItem);\n\t\tconst filteredItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, itemsToFilter, \"text\");\n\n\t\t// Return the filtered items and their group items\n\t\treturn this.items.filter((item, idx, allItems) => ComboBox._groupItemFilter(item, ++idx, allItems, filteredItems) || filteredItems.indexOf(item) !== -1);\n\t}\n\n\t/**\n\t * Returns true if the group header should be shown (if there is a filtered suggestion item for this group item)\n\t *\n\t * @private\n\t */\n\tstatic _groupItemFilter(item: IComboBoxItem, idx: number, allItems: Array<IComboBoxItem>, filteredItems: Array<IComboBoxItem>) {\n\t\tif (item.isGroupItem) {\n\t\t\tlet groupHasFilteredItems;\n\n\t\t\twhile (allItems[idx] && !allItems[idx].isGroupItem && !groupHasFilteredItems) {\n\t\t\t\tgroupHasFilteredItems = filteredItems.indexOf(allItems[idx]) !== -1;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\treturn groupHasFilteredItems;\n\t\t}\n\t}\n\n\t_getFirstMatchingItem(current: string): ComboBoxItem | undefined {\n\t\tconst currentlyFocusedItem = this.items.find(item => item.focused === true);\n\n\t\tif (currentlyFocusedItem?.isGroupItem) {\n\t\t\tthis.value = this.filterValue;\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchingItems: Array<ComboBoxItem> = (this._startsWithMatchingItems(current).filter(item => !item.isGroupItem) as Array<ComboBoxItem>);\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_applyAtomicValueAndSelection(item: ComboBoxItem, filterValue: string, highlightValue: boolean) {\n\t\tconst value = (item && item.text) || \"\";\n\n\t\tthis.inner.value = value;\n\t\tif (highlightValue) {\n\t\t\tthis.inner.setSelectionRange(filterValue.length, value.length);\n\t\t}\n\t\tthis.value = value;\n\t}\n\n\t_selectMatchingItem() {\n\t\tconst currentlyFocusedItem = this.items.find(item => item.focused);\n\t\tconst shouldSelectionBeCleared = currentlyFocusedItem && currentlyFocusedItem.isGroupItem;\n\n\t\tthis._filteredItems = this._filteredItems.map(item => {\n\t\t\titem.selected = !item.isGroupItem && (item.text === this.value) && !shouldSelectionBeCleared;\n\t\t\treturn item;\n\t\t});\n\t}\n\n\t_fireChangeEvent() {\n\t\tif (this.value !== this._lastValue) {\n\t\t\tthis.fireEvent(\"change\");\n\t\t\tthis._lastValue = this.value;\n\t\t}\n\t}\n\n\t_inputChange(e: Event) {\n\t\te.preventDefault();\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t_selectItem(e: CustomEvent<ClickEventDetail>) {\n\t\tconst listItem = e.detail.item as ComboBoxListItem;\n\n\t\tthis._selectedItemText = listItem.mappedItem.text;\n\t\tthis._selectionPerformed = true;\n\n\t\tconst sameItemSelected = this.value === this._selectedItemText;\n\t\tconst sameSelectionPerformed = this.value.toLowerCase() === this.filterValue.toLowerCase();\n\n\t\tif (sameItemSelected && sameSelectionPerformed) {\n\t\t\tthis._fireChangeEvent(); // Click on an already typed, but not memoized value shouold also trigger the change event\n\t\t\treturn this._closeRespPopover();\n\t\t}\n\n\t\tthis.value = this._selectedItemText;\n\n\t\tif (!listItem.mappedItem.selected) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem: listItem.mappedItem,\n\t\t\t});\n\t\t}\n\n\t\tthis._filteredItems.map(item => {\n\t\t\titem.selected = (item === listItem.mappedItem && !item.isGroupItem);\n\t\t\treturn item;\n\t\t});\n\n\t\tthis._fireChangeEvent();\n\t\tthis._closeRespPopover();\n\n\t\t// reset selection\n\t\tthis.inner.setSelectionRange(this.value.length, this.value.length);\n\t}\n\n\t_onItemFocus() {\n\t\tthis._itemFocused = true;\n\t}\n\n\t_announceSelectedItem(indexOfItem: number) {\n\t\tconst currentItem = this._filteredItems[indexOfItem];\n\t\tconst currentItemAdditionalText = currentItem.additionalText || \"\";\n\t\tconst isGroupItem = currentItem?.isGroupItem;\n\t\tconst itemPositionText = ComboBox.i18nBundle.getText(LIST_ITEM_POSITION, indexOfItem + 1, this._filteredItems.length);\n\t\tconst groupHeaderText = ComboBox.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);\n\n\t\tif (isGroupItem) {\n\t\t\tannounce(`${groupHeaderText} ${currentItem.text} ${itemPositionText}`, InvisibleMessageMode.Polite);\n\t\t} else {\n\t\t\tannounce(`${currentItemAdditionalText} ${itemPositionText}`.trim(), InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\tget _headerTitleText() {\n\t\treturn ComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _iconAccessibleNameText() {\n\t\treturn ComboBox.i18nBundle.getText(SELECT_OPTIONS);\n\t}\n\n\tget inner(): HTMLInputElement {\n\t\treturn isPhone() ? this.responsivePopover!.querySelector(\".ui5-input-inner-phone\")! : this.shadowRoot!.querySelector(\"[inner-input]\")!;\n\t}\n\n\tasync _getPicker() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tconst picker = staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\n\t\t// backward compatibility\n\t\t// rework all methods to work with async getters\n\t\tthis.responsivePopover = picker;\n\n\t\treturn picker;\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget ariaValueStateHiddenText(): string {\n\t\tif (!this.hasValueState) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tlet text = \"\";\n\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\ttext = this.valueStateTypeMappings[this.valueState];\n\t\t}\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\treturn `${text} ${this.valueStateDefaultText || \"\"}`;\n\t\t}\n\n\t\treturn `${text}`.concat(\" \", this.valueStateMessageText.map(el => el.textContent).join(\" \"));\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 valueStateMessageText(): Array<Node> {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget valueStateTextMappings(): ValueStateAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Success]: ComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Error]: ComboBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Warning]: ComboBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t[ValueState.Information]: ComboBox.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings(): ValueStateTypeAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Success]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Error]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Warning]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget shouldOpenValueStateMessagePopover(): boolean {\n\t\treturn this.focused && !this.readonly && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this.open && !this._isPhone;\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateText;\n\t}\n\n\tget _valueStatePopoverHorizontalAlign(): PopoverHorizontalAlign {\n\t\treturn this.effectiveDir !== \"rtl\" ? PopoverHorizontalAlign.Left : PopoverHorizontalAlign.Right;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageIcon(): string {\n\t\treturn this.valueState !== ValueState.None ? ValueStateIconMapping[this.valueState] : \"\";\n\t}\n\n\tget open(): boolean {\n\t\treturn this?.responsivePopover?.opened || false;\n\t}\n\n\tget _isPhone(): boolean {\n\t\treturn isPhone();\n\t}\n\n\tget itemTabIndex() {\n\t\treturn undefined;\n\t}\n\n\tget ariaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tComboBox.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget styles() {\n\t\tconst remSizeInPx = parseInt(getComputedStyle(document.documentElement).fontSize);\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tsuggestionPopoverHeader: {\n\t\t\t\t\"display\": this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._listWidth || \"\"}px`,\n\t\t\t},\n\t\t\tsuggestionsPopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth || 0}px`,\n\t\t\t\t\"max-width\": (this.offsetWidth / remSizeInPx) > 40 ? `${this.offsetWidth}px` : \"40rem\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"ui5-suggestions-popover\": !this._isPhone,\n\t\t\t\t\"ui5-suggestions-popover-with-value-state-header\": !this._isPhone && this.hasValueStateText,\n\t\t\t},\n\t\t\tpopoverValueState: {\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.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n}\n\nComboBox.define();\n\nexport default ComboBox;\n\nexport type {\n\tComboBoxSelectionChangeEventDetail,\n\tIComboBoxItem,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { isPhone, isAndroid, isSafari } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/not-editable.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport {\n\tisBackSpace,\n\tisDelete,\n\tisShow,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisTabNext,\n\tisTabPrevious,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport * as Filters from \"./Filters.js\";\n\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tSELECT_OPTIONS,\n\tLIST_ITEM_POSITION,\n\tLIST_ITEM_GROUP_HEADER,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport ComboBoxTemplate from \"./generated/templates/ComboBoxTemplate.lit.js\";\nimport ComboBoxPopoverTemplate from \"./generated/templates/ComboBoxPopoverTemplate.lit.js\";\n\n// Styles\nimport ComboBoxCss from \"./generated/themes/ComboBox.css.js\";\nimport ComboBoxPopoverCss from \"./generated/themes/ComboBoxPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\n\nimport ComboBoxItem from \"./ComboBoxItem.js\";\nimport Icon from \"./Icon.js\";\nimport Popover from \"./Popover.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport type { ClickEventDetail } from \"./List.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport Button from \"./Button.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport ComboBoxGroupItem from \"./ComboBoxGroupItem.js\";\nimport GroupHeaderListItem from \"./GroupHeaderListItem.js\";\nimport ComboBoxFilter from \"./types/ComboBoxFilter.js\";\nimport type FormSupportT from \"./features/InputElementsFormSupport.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\n\nconst SKIP_ITEMS_SIZE = 10;\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\ntype ValueStateTypeAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype ComboBoxListItem = StandardListItem & {\n\tmappedItem: ComboBoxItem\n};\n\nenum ValueStateIconMapping {\n\tError = \"error\",\n\tWarning = \"alert\",\n\tSuccess = \"sys-enter-2\",\n\tInformation = \"information\",\n}\n\ntype ComboBoxSelectionChangeEventDetail = {\n\titem: ComboBoxItem,\n};\n\ninterface IComboBoxItem extends UI5Element {\n\ttext: string,\n\tfocused: boolean,\n\tisGroupItem: boolean,\n\tselected?: boolean,\n\tadditionalText?: string,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-combobox</code> component represents a drop-down menu with a list of the available options and a text input field to narrow down the options.\n *\n * It is commonly used to enable users to select an option from a predefined list.\n *\n * <h3>Structure</h3>\n * The <code>ui5-combobox</code> consists of the following elements:\n *\n * <ul>\n * <li> Input field - displays the selected option or a custom user entry. Users can type to narrow down the list or enter their own value.</li>\n * <li> Drop-down arrow - expands\\collapses the option list.</li>\n * <li> Option list - the list of available options.</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n *\n * The <code>ui5-combobox</code> provides advanced keyboard handling.\n * <br>\n *\n * <ul>\n * <li>[F4], [ALT]+[UP], or [ALT]+[DOWN] - Toggles the picker.</li>\n * <li>[ESC] - Closes the picker, if open. If closed, cancels changes and reverts the typed in value.</li>\n * <li>[ENTER] or [RETURN] - If picker is open, takes over the currently selected item and closes it.</li>\n * <li>[DOWN] - Selects the next matching item in the picker.</li>\n * <li>[UP] - Selects the previous matching item in the picker.</li>\n * <li>[PAGEDOWN] - Moves selection down by page size (10 items by default).</li>\n * <li>[PAGEUP] - Moves selection up by page size (10 items by default). </li>\n * <li>[HOME] - If focus is in the ComboBox, moves cursor at the beginning of text. If focus is in the picker, selects the first item.</li>\n * <li>[END] - If focus is in the ComboBox, moves cursor at the end of text. If focus is in the picker, selects the last item.</li>\n * </ul>\n *\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/ComboBox\";</code>\n *\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.ComboBox\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-combobox\n * @appenddocs sap.ui.webc.main.ComboBoxItem sap.ui.webc.main.ComboBoxGroupItem\n * @public\n * @since 1.0.0-rc.6\n */\n@customElement({\n\ttag: \"ui5-combobox\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: ComboBoxCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tComboBoxPopoverCss,\n\t\tSuggestionsCss,\n\t],\n\ttemplate: ComboBoxTemplate,\n\tstaticAreaTemplate: ComboBoxPopoverTemplate,\n\tdependencies: [\n\t\tComboBoxItem,\n\t\tIcon,\n\t\tResponsivePopover,\n\t\tList,\n\t\tBusyIndicator,\n\t\tButton,\n\t\tStandardListItem,\n\t\tGroupHeaderListItem,\n\t\tPopover,\n\t\tComboBoxGroupItem,\n\t],\n})\n/**\n * Fired when the input operation has finished by pressing Enter, focusout or an item is selected.\n *\n * @event sap.ui.webc.main.ComboBox#change\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when typing in input.\n * <br><br>\n * <b>Note:</b> filterValue property is updated, input is changed.\n * @event sap.ui.webc.main.ComboBox#input\n * @public\n */\n@event(\"input\")\n/**\n * Fired when selection is changed by user interaction\n *\n * @event sap.ui.webc.main.ComboBox#selection-change\n * @param {sap.ui.webc.main.IComboBoxItem} item item to be selected.\n * @public\n */\n@event(\"selection-change\", {\n\tdetail: {\n\t\titem: { type: HTMLElement },\n\t},\n})\n\nclass ComboBox extends UI5Element {\n\t/**\n\t * Defines the value of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.value\n\t * @defaultvalue \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the \"live\" value of the component.\n\t * <br><br>\n\t * <b>Note:</b> If we have an item e.g. \"Bulgaria\", \"B\" is typed, \"ulgaria\" is typed ahead, value will be \"Bulgaria\", filterValue will be \"B\".\n\t *\n\t * <br><br>\n\t * <b>Note:</b> Initially the filter value is synced with value.\n\t *\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @private\n\t */\n\t@property()\n\tfilterValue!: string;\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 * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.placeholder\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tplaceholder!: string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t * <br><br>\n\t * <b>Note:</b> A disabled component is completely noninteractive.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.ComboBox.prototype.disabled\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the value state of the component.\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>None</code></li>\n\t * <li><code>Error</code></li>\n\t * <li><code>Warning</code></li>\n\t * <li><code>Success</code></li>\n\t * <li><code>Information</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.base.types.ValueState}\n\t * @name sap.ui.webc.main.ComboBox.prototype.valueState\n\t * @defaultvalue \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t * <br><br>\n\t * <b>Note:</b> A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.ComboBox.prototype.readonly\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.ComboBox.prototype.required\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Indicates whether a loading indicator should be shown in the picker.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.ComboBox.prototype.loading\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\n\n\t/**\n\t * Defines the filter type of the component.\n\t * Available options are: <code>StartsWithPerTerm</code>, <code>StartsWith</code>, <code>Contains</code> and <code>None</code>.\n\t *\n\t * @type {sap.ui.webc.main.types.ComboBoxFilter}\n\t * @name sap.ui.webc.main.ComboBox.prototype.filter\n\t * @defaultvalue \"StartsWithPerTerm\"\n\t * @public\n\t */\n\t@property({ type: ComboBoxFilter, defaultValue: ComboBoxFilter.StartsWithPerTerm })\n\tfilter!: `${ComboBoxFilter}`;\n\n\t/**\n\t * Indicates whether the input is focssed\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Indicates whether the visual focus is on the value state header\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isValueStateFocused!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.accessibleName\n\t * @defaultvalue: \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\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 * @type {string}\n\t * @name sap.ui.webc.main.ComboBox.prototype.accessibleNameRef\n\t * @defaultvalue \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t@property({ type: Object, noAttribute: true, multiple: true })\n\t_filteredItems!: Array<IComboBoxItem>;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_listWidth!: number;\n\n\t/**\n\t * Defines the component items.\n\t *\n\t * @type {sap.ui.webc.main.IComboBoxItem[]}\n\t * @name sap.ui.webc.main.ComboBox.prototype.default\n\t * @slot items\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array<IComboBoxItem>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.\n\t * <br>\n\t * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,\n\t * when the <code>ui5-combobox</code> is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.ComboBox.prototype.valueStateMessage\n\t * @since 1.0.0-rc.9\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the icon to be displayed in the input field.\n\t *\n\t * @type {sap.ui.webc.main.IIcon[]}\n\t * @name sap.ui.webc.main.ComboBox.prototype.icon\n\t * @slot\n\t * @public\n\t * @since 1.0.0-rc.9\n\t */\n\t@slot()\n\ticon!: Array<Icon>;\n\n\t_initialRendering: boolean;\n\t_itemFocused: boolean;\n\t// used only for Safari fix (check onAfterRendering)\n\t_autocomplete: boolean;\n\t_isKeyNavigation: boolean;\n\t_selectionPerformed: boolean;\n\t_lastValue: string;\n\t_selectedItemText: string;\n\t_userTypedValue: string;\n\tresponsivePopover?: ResponsivePopover;\n\tvalueStatePopover?: Popover;\n\tFormSupport?: typeof FormSupportT;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._filteredItems = [];\n\t\tthis._initialRendering = true;\n\t\tthis._itemFocused = false;\n\t\tthis._autocomplete = false;\n\t\tthis._isKeyNavigation = false;\n\t\tthis._lastValue = \"\";\n\t\tthis._selectionPerformed = false;\n\t\tthis._selectedItemText = \"\";\n\t\tthis._userTypedValue = \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tconst popover: Popover | undefined = this.valueStatePopover;\n\n\t\tthis.FormSupport = getFeature<typeof FormSupportT>(\"FormSupport\");\n\n\t\tif (this._initialRendering || this.filter === \"None\") {\n\t\t\tthis._filteredItems = this.items;\n\t\t}\n\n\t\tif (!this._initialRendering && document.activeElement === this && !this._filteredItems.length) {\n\t\t\tpopover?.close();\n\t\t}\n\n\t\tthis._selectMatchingItem();\n\t\tthis._initialRendering = false;\n\n\t\tconst slottedIconsCount = this.icon.length || 0;\n\t\tconst arrowDownIconsCount = this.readonly ? 0 : 1;\n\t\tthis.style.setProperty(\"--_ui5-input-icons-count\", `${slottedIconsCount + arrowDownIconsCount}`);\n\t}\n\n\tasync onAfterRendering() {\n\t\tconst picker: ResponsivePopover = await this._getPicker();\n\n\t\tif (isPhone() && picker.opened) {\n\t\t\t// Set initial focus to the native input\n\t\t\tthis.inner.focus();\n\t\t}\n\n\t\tif ((await this.shouldClosePopover()) && !isPhone()) {\n\t\t\tpicker.close(false, false, true);\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t}\n\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\t\tthis.storeResponsivePopoverWidth();\n\n\t\t// Safari is quite slow and does not preserve text highlighting on control rerendering.\n\t\t// That's why we need to restore it \"manually\".\n\t\tif (isSafari() && this._autocomplete && this.filterValue !== this.value) {\n\t\t\tthis.inner.setSelectionRange(\n\t\t\t\t(this._isKeyNavigation ? 0 : this.filterValue.length),\n\t\t\t\tthis.value.length,\n\t\t\t);\n\t\t}\n\t}\n\n\tasync shouldClosePopover(): Promise<boolean> {\n\t\tconst popover: ResponsivePopover = await this._getPicker();\n\n\t\treturn popover.opened && !this.focused && !this._itemFocused && !this._isValueStateFocused;\n\t}\n\n\t_focusin(e: FocusEvent) {\n\t\tthis.focused = true;\n\t\tthis._lastValue = this.value;\n\t\tthis._autocomplete = false;\n\n\t\t!isPhone() && (e.target as HTMLInputElement).setSelectionRange(0, this.value.length);\n\t}\n\n\t_focusout(e: FocusEvent) {\n\t\tconst toBeFocused = e.relatedTarget as HTMLElement;\n\t\tconst focusedOutToValueStateMessage = toBeFocused?.shadowRoot?.querySelector(\".ui5-valuestatemessage-root\");\n\n\t\tthis._fireChangeEvent();\n\n\t\tif (focusedOutToValueStateMessage) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!(this.shadowRoot!.contains(toBeFocused)) && (this.staticAreaItem !== e.relatedTarget)) {\n\t\t\tthis.focused = false;\n\t\t\t!isPhone() && this._closeRespPopover(e);\n\t\t}\n\t}\n\n\t_afterOpenPopover() {\n\t\tthis._iconPressed = true;\n\t}\n\n\t_afterClosePopover() {\n\t\tthis._iconPressed = false;\n\t\tthis._filteredItems = this.items;\n\n\t\t// close device's keyboard and prevent further typing\n\t\tif (isPhone()) {\n\t\t\tthis.blur();\n\t\t}\n\n\t\tif (this._selectionPerformed) {\n\t\t\tthis._lastValue = this.value;\n\t\t\tthis._selectionPerformed = false;\n\t\t}\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tconst picker: ResponsivePopover = await this._getPicker();\n\n\t\tif (picker.opened) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\tasync storeResponsivePopoverWidth() {\n\t\tif (this.open && !this._listWidth) {\n\t\t\tthis._listWidth = (await this._getPicker()).offsetWidth;\n\t\t}\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\t(await this._getValueStatePopover())?.showAt(this);\n\t}\n\n\tasync closeValueStatePopover() {\n\t\t(await this._getValueStatePopover())?.close();\n\t}\n\n\tasync _getValueStatePopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tconst popover: Popover = staticAreaItem!.querySelector<Popover>(\".ui5-valuestatemessage-popover\")!;\n\n\t\t// backward compatibility\n\t\t// rework all methods to work with async getters\n\t\tthis.valueStatePopover = popover;\n\n\t\treturn popover;\n\t}\n\n\t_resetFilter() {\n\t\tthis._userTypedValue = \"\";\n\t\tthis.inner.setSelectionRange(0, this.value.length);\n\t\tthis._filteredItems = this._filterItems(\"\");\n\t\tthis._selectMatchingItem();\n\t}\n\n\t_arrowClick() {\n\t\tthis.inner.focus();\n\t\tthis._resetFilter();\n\n\t\tif (isPhone() && this.value && !this._lastValue) {\n\t\t\tthis._lastValue = this.value;\n\t\t}\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_input(e: InputEvent) {\n\t\tconst { value } = e.target as HTMLInputElement;\n\t\tconst shouldAutocomplete = this.shouldAutocomplete(e);\n\n\t\tif (e.target === this.inner) {\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t\tthis.focused = true;\n\t\t\tthis._isValueStateFocused = false;\n\t\t}\n\n\t\tthis._filteredItems = this._filterItems(value);\n\n\t\tthis.value = value;\n\t\tthis.filterValue = value;\n\n\t\tthis._clearFocus();\n\n\t\t// autocomplete\n\t\tif (shouldAutocomplete && !isAndroid()) {\n\t\t\tconst item = this._getFirstMatchingItem(value);\n\t\t\titem && this._applyAtomicValueAndSelection(item, value, true);\n\n\t\t\tif (value !== \"\" && (item && !item.selected && !item.isGroupItem)) {\n\t\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\t\titem,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\n\n\t\tif (isPhone()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._filteredItems.length || value === \"\") {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\tshouldAutocomplete(e: InputEvent): boolean {\n\t\tconst eventType = e.inputType;\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\treturn !allowedEventTypes.includes(eventType);\n\t}\n\n\t_startsWithMatchingItems(str: string): Array<IComboBoxItem> {\n\t\treturn Filters.StartsWith(str, this._filteredItems, \"text\");\n\t}\n\n\t_clearFocus() {\n\t\tthis._filteredItems.map(item => {\n\t\t\titem.focused = false;\n\n\t\t\treturn item;\n\t\t});\n\t}\n\n\thandleNavKeyPress(e: KeyboardEvent) {\n\t\tif (this.focused && (isHome(e) || isEnd(e)) && this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isOpen = this.open;\n\t\tconst currentItem = this._filteredItems.find(item => {\n\t\t\treturn isOpen ? item.focused : item.selected;\n\t\t});\n\n\t\tconst indexOfItem = currentItem ? this._filteredItems.indexOf(currentItem) : -1;\n\n\t\te.preventDefault();\n\n\t\tif (this.focused && isOpen && (isUp(e) || isPageUp(e) || isPageDown(e))) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._filteredItems.length - 1 === indexOfItem && isDown(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isKeyNavigation = true;\n\n\t\tif (\n\t\t\te.key === \"ArrowDown\"\n\t\t\t|| e.key === \"ArrowUp\"\n\t\t\t|| e.key === \"PageUp\"\n\t\t\t|| e.key === \"PageDown\"\n\t\t\t|| e.key === \"Home\"\n\t\t\t|| e.key === \"End\"\n\t\t) {\n\t\t\tthis[`_handle${e.key}`](e, indexOfItem);\n\t\t}\n\t}\n\n\t_handleItemNavigation(e: KeyboardEvent, indexOfItem: number, isForward: boolean) {\n\t\tconst isOpen = this.open;\n\t\tconst currentItem = this._filteredItems[indexOfItem];\n\t\tconst nextItem = isForward ? this._filteredItems[indexOfItem + 1] : this._filteredItems[indexOfItem - 1];\n\t\tconst isGroupItem = currentItem && currentItem.isGroupItem;\n\n\t\tif ((!isOpen) && ((isGroupItem && !nextItem) || (!isGroupItem && !currentItem))) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._clearFocus();\n\n\t\tif (isOpen) {\n\t\t\tthis._itemFocused = true;\n\t\t\tthis.value = isGroupItem ? \"\" : currentItem.text;\n\t\t\tthis.focused = false;\n\t\t\tcurrentItem.focused = true;\n\t\t} else {\n\t\t\tthis.focused = true;\n\t\t\tthis.value = isGroupItem ? nextItem.text : currentItem.text;\n\t\t\tcurrentItem.focused = false;\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\n\t\tthis._announceSelectedItem(indexOfItem);\n\n\t\tif (isGroupItem && isOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\t// autocomplete\n\t\tconst item = this._getFirstMatchingItem(this.value);\n\t\titem && this._applyAtomicValueAndSelection(item, (this.open ? this._userTypedValue : \"\"), true);\n\n\t\tif ((item && !item.selected)) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem,\n\t\t\t});\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\n\t\tthis._fireChangeEvent();\n\t}\n\n\t_handleArrowDown(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isOpen = this.open;\n\n\t\tif (this.focused && indexOfItem === -1 && this.hasValueStateText && isOpen) {\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis.focused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tindexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\n\t\tthis._handleItemNavigation(e, ++indexOfItem, true /* isForward */);\n\t}\n\n\t_handleArrowUp(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isOpen = this.open;\n\n\t\tif (indexOfItem === 0 && !this.hasValueStateText) {\n\t\t\tthis._clearFocus();\n\t\t\tthis.focused = true;\n\t\t\tthis._itemFocused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (indexOfItem === 0 && this.hasValueStateText && isOpen) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._filteredItems[0].selected = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isValueStateFocused) {\n\t\t\tthis.focused = true;\n\t\t\tthis._isValueStateFocused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tindexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\t\tthis._handleItemNavigation(e, --indexOfItem, false /* isForward */);\n\t}\n\n\t_handlePageUp(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isProposedIndexValid = indexOfItem - SKIP_ITEMS_SIZE > -1;\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem - SKIP_ITEMS_SIZE : 0;\n\t\tconst shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;\n\n\t\tif (!isProposedIndexValid && this.hasValueStateText && this.open) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handlePageDown(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst itemsLength = this._filteredItems.length;\n\t\tconst isProposedIndexValid = indexOfItem + SKIP_ITEMS_SIZE < itemsLength;\n\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem + SKIP_ITEMS_SIZE : itemsLength - 1;\n\t\tconst shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tconst shouldMoveForward = this._filteredItems[0].isGroupItem && !this.open;\n\n\t\tif (this.hasValueStateText && this.open) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleItemNavigation(e, 0, shouldMoveForward);\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\tthis._handleItemNavigation(e, this._filteredItems.length - 1, true /* isForward */);\n\t}\n\n\t_keyup() {\n\t\tthis._userTypedValue = this.value.substring(0, this.inner.selectionStart || 0);\n\t}\n\n\t_keydown(e: KeyboardEvent) {\n\t\tconst isNavKey = isDown(e) || isUp(e) || isPageUp(e) || isPageDown(e) || isHome(e) || isEnd(e);\n\t\tconst picker = this.responsivePopover;\n\n\t\tthis._autocomplete = !(isBackSpace(e) || isDelete(e));\n\t\tthis._isKeyNavigation = false;\n\n\t\tif (isNavKey && !this.readonly && this._filteredItems.length) {\n\t\t\tthis.handleNavKeyPress(e);\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireChangeEvent();\n\n\t\t\tif (picker?.opened) {\n\t\t\t\tthis._closeRespPopover();\n\t\t\t\tthis.focused = true;\n\t\t\t} else if (this.FormSupport) {\n\t\t\t\tthis.FormSupport.triggerFormSubmit(this);\n\t\t\t}\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\tthis.focused = true;\n\t\t\tthis.value = !this.open ? this._lastValue : this.value;\n\t\t\tthis._isValueStateFocused = false;\n\t\t}\n\n\t\tif ((isTabNext(e) || isTabPrevious(e)) && this.open) {\n\t\t\tthis._closeRespPopover();\n\t\t}\n\n\t\tif (isShow(e) && !this.readonly && !this.disabled) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._resetFilter();\n\t\t\tthis._toggleRespPopover();\n\n\t\t\tconst selectedItem = this._filteredItems.find(item => {\n\t\t\t\treturn item.selected;\n\t\t\t});\n\n\t\t\tif (selectedItem && this.open) {\n\t\t\t\tthis._itemFocused = true;\n\t\t\t\tselectedItem.focused = true;\n\t\t\t\tthis.focused = false;\n\t\t\t} else if (this.open && this._filteredItems.length) {\n\t\t\t\t// If no item is selected, select the first one on \"Show\" (F4, Alt+Up/Down)\n\t\t\t\tthis._handleItemNavigation(e, 0, true /* isForward */);\n\t\t\t} else {\n\t\t\t\tthis.focused = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t_click() {\n\t\tif (isPhone() && !this.readonly) {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t_closeRespPopover(e?: Event) {\n\t\tconst picker = this.responsivePopover;\n\n\t\tif (e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\") && this._selectedItemText) {\n\t\t\tthis.value = this._selectedItemText;\n\t\t\tthis.filterValue = this._selectedItemText;\n\t\t}\n\n\t\tif (e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\")) {\n\t\t\tthis.value = this._lastValue || \"\";\n\t\t\tthis.filterValue = this._lastValue || \"\";\n\t\t}\n\n\t\tif (isPhone()) {\n\t\t\tthis._fireChangeEvent();\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\t\tthis._clearFocus();\n\n\t\tpicker?.close();\n\t}\n\n\tasync _openRespPopover() {\n\t\t(await this._getPicker()).showAt(this);\n\t}\n\n\t_filterItems(str: string) {\n\t\tconst itemsToFilter = this.items.filter(item => !item.isGroupItem);\n\t\tconst filteredItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, itemsToFilter, \"text\");\n\n\t\t// Return the filtered items and their group items\n\t\treturn this.items.filter((item, idx, allItems) => ComboBox._groupItemFilter(item, ++idx, allItems, filteredItems) || filteredItems.indexOf(item) !== -1);\n\t}\n\n\t/**\n\t * Returns true if the group header should be shown (if there is a filtered suggestion item for this group item)\n\t *\n\t * @private\n\t */\n\tstatic _groupItemFilter(item: IComboBoxItem, idx: number, allItems: Array<IComboBoxItem>, filteredItems: Array<IComboBoxItem>) {\n\t\tif (item.isGroupItem) {\n\t\t\tlet groupHasFilteredItems;\n\n\t\t\twhile (allItems[idx] && !allItems[idx].isGroupItem && !groupHasFilteredItems) {\n\t\t\t\tgroupHasFilteredItems = filteredItems.indexOf(allItems[idx]) !== -1;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\treturn groupHasFilteredItems;\n\t\t}\n\t}\n\n\t_getFirstMatchingItem(current: string): ComboBoxItem | undefined {\n\t\tconst currentlyFocusedItem = this.items.find(item => item.focused === true);\n\n\t\tif (currentlyFocusedItem?.isGroupItem) {\n\t\t\tthis.value = this.filterValue;\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchingItems: Array<ComboBoxItem> = (this._startsWithMatchingItems(current).filter(item => !item.isGroupItem) as Array<ComboBoxItem>);\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_applyAtomicValueAndSelection(item: ComboBoxItem, filterValue: string, highlightValue: boolean) {\n\t\tconst value = (item && item.text) || \"\";\n\n\t\tthis.inner.value = value;\n\t\tif (highlightValue) {\n\t\t\tthis.inner.setSelectionRange(filterValue.length, value.length);\n\t\t}\n\t\tthis.value = value;\n\t}\n\n\t_selectMatchingItem() {\n\t\tconst currentlyFocusedItem = this.items.find(item => item.focused);\n\t\tconst shouldSelectionBeCleared = currentlyFocusedItem && currentlyFocusedItem.isGroupItem;\n\n\t\tthis._filteredItems = this._filteredItems.map(item => {\n\t\t\titem.selected = !item.isGroupItem && (item.text === this.value) && !shouldSelectionBeCleared;\n\t\t\treturn item;\n\t\t});\n\t}\n\n\t_fireChangeEvent() {\n\t\tif (this.value !== this._lastValue) {\n\t\t\tthis.fireEvent(\"change\");\n\t\t\tthis._lastValue = this.value;\n\t\t}\n\t}\n\n\t_inputChange(e: Event) {\n\t\te.preventDefault();\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t_selectItem(e: CustomEvent<ClickEventDetail>) {\n\t\tconst listItem = e.detail.item as ComboBoxListItem;\n\n\t\tthis._selectedItemText = listItem.mappedItem.text;\n\t\tthis._selectionPerformed = true;\n\n\t\tconst sameItemSelected = this.value === this._selectedItemText;\n\t\tconst sameSelectionPerformed = this.value.toLowerCase() === this.filterValue.toLowerCase();\n\n\t\tif (sameItemSelected && sameSelectionPerformed) {\n\t\t\tthis._fireChangeEvent(); // Click on an already typed, but not memoized value shouold also trigger the change event\n\t\t\treturn this._closeRespPopover();\n\t\t}\n\n\t\tthis.value = this._selectedItemText;\n\n\t\tif (!listItem.mappedItem.selected) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem: listItem.mappedItem,\n\t\t\t});\n\t\t}\n\n\t\tthis._filteredItems.map(item => {\n\t\t\titem.selected = (item === listItem.mappedItem && !item.isGroupItem);\n\t\t\treturn item;\n\t\t});\n\n\t\tthis._fireChangeEvent();\n\t\tthis._closeRespPopover();\n\n\t\t// reset selection\n\t\tthis.inner.setSelectionRange(this.value.length, this.value.length);\n\t}\n\n\t_onItemFocus() {\n\t\tthis._itemFocused = true;\n\t}\n\n\t_announceSelectedItem(indexOfItem: number) {\n\t\tconst currentItem = this._filteredItems[indexOfItem];\n\t\tconst currentItemAdditionalText = currentItem.additionalText || \"\";\n\t\tconst isGroupItem = currentItem?.isGroupItem;\n\t\tconst itemPositionText = ComboBox.i18nBundle.getText(LIST_ITEM_POSITION, indexOfItem + 1, this._filteredItems.length);\n\t\tconst groupHeaderText = ComboBox.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);\n\n\t\tif (isGroupItem) {\n\t\t\tannounce(`${groupHeaderText} ${currentItem.text} ${itemPositionText}`, InvisibleMessageMode.Polite);\n\t\t} else {\n\t\t\tannounce(`${currentItemAdditionalText} ${itemPositionText}`.trim(), InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\tget _headerTitleText() {\n\t\treturn ComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _iconAccessibleNameText() {\n\t\treturn ComboBox.i18nBundle.getText(SELECT_OPTIONS);\n\t}\n\n\tget inner(): HTMLInputElement {\n\t\treturn isPhone() ? this.responsivePopover!.querySelector(\".ui5-input-inner-phone\")! : this.shadowRoot!.querySelector(\"[inner-input]\")!;\n\t}\n\n\tasync _getPicker() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tconst picker = staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\n\t\t// backward compatibility\n\t\t// rework all methods to work with async getters\n\t\tthis.responsivePopover = picker;\n\n\t\treturn picker;\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget ariaValueStateHiddenText(): string {\n\t\tif (!this.hasValueState) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tlet text = \"\";\n\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\ttext = this.valueStateTypeMappings[this.valueState];\n\t\t}\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\treturn `${text} ${this.valueStateDefaultText || \"\"}`;\n\t\t}\n\n\t\treturn `${text}`.concat(\" \", this.valueStateMessageText.map(el => el.textContent).join(\" \"));\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 valueStateMessageText(): Array<Node> {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget valueStateTextMappings(): ValueStateAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Success]: ComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Error]: ComboBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Warning]: ComboBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t[ValueState.Information]: ComboBox.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings(): ValueStateTypeAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Success]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Error]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Warning]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget shouldOpenValueStateMessagePopover(): boolean {\n\t\treturn this.focused && !this.readonly && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this.open && !this._isPhone;\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateText;\n\t}\n\n\tget _valueStatePopoverHorizontalAlign(): `${PopoverHorizontalAlign}` {\n\t\treturn this.effectiveDir !== \"rtl\" ? PopoverHorizontalAlign.Left : PopoverHorizontalAlign.Right;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageIcon(): string {\n\t\treturn this.valueState !== ValueState.None ? ValueStateIconMapping[this.valueState] : \"\";\n\t}\n\n\tget open(): boolean {\n\t\treturn this?.responsivePopover?.opened || false;\n\t}\n\n\tget _isPhone(): boolean {\n\t\treturn isPhone();\n\t}\n\n\tget itemTabIndex() {\n\t\treturn undefined;\n\t}\n\n\tget ariaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tComboBox.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget styles() {\n\t\tconst remSizeInPx = parseInt(getComputedStyle(document.documentElement).fontSize);\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tsuggestionPopoverHeader: {\n\t\t\t\t\"display\": this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._listWidth || \"\"}px`,\n\t\t\t},\n\t\t\tsuggestionsPopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth || 0}px`,\n\t\t\t\t\"max-width\": (this.offsetWidth / remSizeInPx) > 40 ? `${this.offsetWidth}px` : \"40rem\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"ui5-suggestions-popover\": !this._isPhone,\n\t\t\t\t\"ui5-suggestions-popover-with-value-state-header\": !this._isPhone && this.hasValueStateText,\n\t\t\t},\n\t\t\tpopoverValueState: {\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.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n}\n\nComboBox.define();\n\nexport default ComboBox;\n\nexport type {\n\tComboBoxSelectionChangeEventDetail,\n\tIComboBoxItem,\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/// <reference types="openui5"
|
|
1
|
+
/// <reference types="openui5" />
|
|
2
2
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
3
3
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
4
|
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
@@ -27,7 +27,7 @@ declare class DateComponentBase extends UI5Element {
|
|
|
27
27
|
* @name sap.ui.webc.main.DateComponentBase.prototype.primaryCalendarType
|
|
28
28
|
* @public
|
|
29
29
|
*/
|
|
30
|
-
primaryCalendarType?: CalendarType
|
|
30
|
+
primaryCalendarType?: `${CalendarType}`;
|
|
31
31
|
/**
|
|
32
32
|
* Defines the secondary calendar type.
|
|
33
33
|
* If not set, the calendar will only show the primary calendar type.
|
|
@@ -37,7 +37,7 @@ declare class DateComponentBase extends UI5Element {
|
|
|
37
37
|
* @defaultvalue undefined
|
|
38
38
|
* @public
|
|
39
39
|
*/
|
|
40
|
-
secondaryCalendarType?: CalendarType
|
|
40
|
+
secondaryCalendarType?: `${CalendarType}`;
|
|
41
41
|
/**
|
|
42
42
|
* Determines the format, displayed in the input field.
|
|
43
43
|
*
|
|
@@ -81,7 +81,7 @@ declare class DateComponentBase extends UI5Element {
|
|
|
81
81
|
*/
|
|
82
82
|
_isoFormatInstance?: DateFormat;
|
|
83
83
|
constructor();
|
|
84
|
-
get _primaryCalendarType(): CalendarType;
|
|
84
|
+
get _primaryCalendarType(): CalendarType | "Gregorian" | "Islamic" | "Japanese" | "Buddhist" | "Persian";
|
|
85
85
|
get _minDate(): CalendarDate;
|
|
86
86
|
get _maxDate(): CalendarDate;
|
|
87
87
|
get _formatPattern(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateComponentBase.js","sourceRoot":"","sources":["../src/DateComponentBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getCalendarType } from \"@ui5/webcomponents-base/dist/config/CalendarType.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { getMaxCalendarDate, getMinCalendarDate } from \"@ui5/webcomponents-localization/dist/dates/ExtremeDates.js\";\n\n/**\n * @class\n *\n * Abstract class that provides common functionality for date-related components (day picker, month picker, year picker, calendar, date picker, date range picker, date time picker)\n * This includes:\n * - \"languageAware: true\" metadata setting, CLDR fetch and i18n initialization\n * - common properties (primaryCalendar, minDate, maxDate and formatPattern) declaration and methods that operate on them\n * - additional common methods\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.DateComponentBase\n * @extends sap.ui.webc.base.UI5Element\n * @public\n */\n@customElement({\n\tlanguageAware: true,\n\trenderer: litRender,\n})\nclass DateComponentBase extends UI5Element {\n\t/**\n\t * Sets a calendar type used for display.\n\t * If not set, the calendar type of the global configuration is used.\n\t * @type {sap.ui.webc.base.types.CalendarType}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.primaryCalendarType\n\t * @public\n\t */\n\t@property({ type: CalendarType })\n\tprimaryCalendarType?: CalendarType;\n\n\t/**\n\t * Defines the secondary calendar type.\n\t * If not set, the calendar will only show the primary calendar type.\n\t * @type {sap.ui.webc.base.types.CalendarType}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.secondaryCalendarType\n\t * @since 1.0.0-rc.16\n\t * @defaultvalue undefined\n\t * @public\n\t */\n\t@property({ type: CalendarType })\n\tsecondaryCalendarType?: CalendarType;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.formatPattern\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t/**\n\t * Determines the minimum date available for selection.\n\t *\n\t * <b>Note:</b> If the formatPattern property is not set, the minDate value must be provided in the ISO date format (YYYY-MM-dd).\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.minDate\n\t * @defaultvalue \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tminDate!: string;\n\n\t/**\n\t * Determines the maximum date available for selection.\n\t *\n\t * <b>Note:</b> If the formatPattern property is not set, the maxDate value must be provided in the ISO date format (YYYY-MM-dd).\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.maxDate\n\t * @defaultvalue \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tmaxDate!: string;\n\n\tstatic i18nBundle?: I18nBundle;\n\n\t/**\n\t * Cached instance of DateFormat with a format pattern of \"YYYY-MM-dd\".\n\t * Used by the getISOFormat method to avoid creating a new DateFormat instance on each call.\n\t *\n\t * @type {DateFormat}\n\t * @private\n\t */\n\t_isoFormatInstance?: DateFormat;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget _primaryCalendarType() {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn this.primaryCalendarType || getCalendarType() || localeData.getPreferredCalendarType();\n\t}\n\n\tget _minDate() {\n\t\tlet minDate;\n\n\t\tif (this.minDate) {\n\t\t\tminDate = this._getMinMaxCalendarDateFromString(this.minDate);\n\t\t}\n\n\t\treturn minDate || getMinCalendarDate(this._primaryCalendarType);\n\t}\n\n\tget _maxDate() {\n\t\tlet maxDate;\n\n\t\tif (this.maxDate) {\n\t\t\tmaxDate = this._getMinMaxCalendarDateFromString(this.maxDate)!;\n\t\t}\n\n\t\treturn maxDate || getMaxCalendarDate(this._primaryCalendarType);\n\t}\n\n\tget _formatPattern() {\n\t\treturn this.formatPattern || \"medium\"; // get from config\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\t_getMinMaxCalendarDateFromString(date: string) {\n\t\tif (this.getFormat().parse(date)) {\n\t\t\treturn this._getCalendarDateFromString(date);\n\t\t}\n\n\t\tconst jsDate = this.getISOFormat().parse(date) as Date;\n\t\tif (jsDate) {\n\t\t\treturn CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType);\n\t\t}\n\t}\n\n\t_getCalendarDateFromString(value: string) {\n\t\tconst jsDate = this.getFormat().parse(value) as Date;\n\t\tif (jsDate) {\n\t\t\treturn CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType);\n\t\t}\n\t}\n\n\t_getTimeStampFromString(value: string) {\n\t\tconst calDate = this._getCalendarDateFromString(value);\n\t\tif (calDate) {\n\t\t\treturn calDate.toUTCJSDate().valueOf();\n\t\t}\n\t}\n\n\t_getStringFromTimestamp(timestamp: number) {\n\t\tconst localDate = new Date(timestamp);\n\t\treturn this.getFormat().format(localDate, true);\n\t}\n\n\tgetFormat() {\n\t\treturn this._isPattern\n\t\t\t? DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: \"YYYY-MM-dd\",\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\tstatic async onDefine() {\n\t\t[DateComponentBase.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n}\n\nexport default DateComponentBase;\n"]}
|
|
1
|
+
{"version":3,"file":"DateComponentBase.js","sourceRoot":"","sources":["../src/DateComponentBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getCalendarType } from \"@ui5/webcomponents-base/dist/config/CalendarType.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { getMaxCalendarDate, getMinCalendarDate } from \"@ui5/webcomponents-localization/dist/dates/ExtremeDates.js\";\n\n/**\n * @class\n *\n * Abstract class that provides common functionality for date-related components (day picker, month picker, year picker, calendar, date picker, date range picker, date time picker)\n * This includes:\n * - \"languageAware: true\" metadata setting, CLDR fetch and i18n initialization\n * - common properties (primaryCalendar, minDate, maxDate and formatPattern) declaration and methods that operate on them\n * - additional common methods\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.DateComponentBase\n * @extends sap.ui.webc.base.UI5Element\n * @public\n */\n@customElement({\n\tlanguageAware: true,\n\trenderer: litRender,\n})\nclass DateComponentBase extends UI5Element {\n\t/**\n\t * Sets a calendar type used for display.\n\t * If not set, the calendar type of the global configuration is used.\n\t * @type {sap.ui.webc.base.types.CalendarType}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.primaryCalendarType\n\t * @public\n\t */\n\t@property({ type: CalendarType })\n\tprimaryCalendarType?: `${CalendarType}`;\n\n\t/**\n\t * Defines the secondary calendar type.\n\t * If not set, the calendar will only show the primary calendar type.\n\t * @type {sap.ui.webc.base.types.CalendarType}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.secondaryCalendarType\n\t * @since 1.0.0-rc.16\n\t * @defaultvalue undefined\n\t * @public\n\t */\n\t@property({ type: CalendarType })\n\tsecondaryCalendarType?: `${CalendarType}`;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.formatPattern\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t/**\n\t * Determines the minimum date available for selection.\n\t *\n\t * <b>Note:</b> If the formatPattern property is not set, the minDate value must be provided in the ISO date format (YYYY-MM-dd).\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.minDate\n\t * @defaultvalue \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tminDate!: string;\n\n\t/**\n\t * Determines the maximum date available for selection.\n\t *\n\t * <b>Note:</b> If the formatPattern property is not set, the maxDate value must be provided in the ISO date format (YYYY-MM-dd).\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.DateComponentBase.prototype.maxDate\n\t * @defaultvalue \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tmaxDate!: string;\n\n\tstatic i18nBundle?: I18nBundle;\n\n\t/**\n\t * Cached instance of DateFormat with a format pattern of \"YYYY-MM-dd\".\n\t * Used by the getISOFormat method to avoid creating a new DateFormat instance on each call.\n\t *\n\t * @type {DateFormat}\n\t * @private\n\t */\n\t_isoFormatInstance?: DateFormat;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget _primaryCalendarType() {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn this.primaryCalendarType || getCalendarType() || localeData.getPreferredCalendarType();\n\t}\n\n\tget _minDate() {\n\t\tlet minDate;\n\n\t\tif (this.minDate) {\n\t\t\tminDate = this._getMinMaxCalendarDateFromString(this.minDate);\n\t\t}\n\n\t\treturn minDate || getMinCalendarDate(this._primaryCalendarType);\n\t}\n\n\tget _maxDate() {\n\t\tlet maxDate;\n\n\t\tif (this.maxDate) {\n\t\t\tmaxDate = this._getMinMaxCalendarDateFromString(this.maxDate)!;\n\t\t}\n\n\t\treturn maxDate || getMaxCalendarDate(this._primaryCalendarType);\n\t}\n\n\tget _formatPattern() {\n\t\treturn this.formatPattern || \"medium\"; // get from config\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\t_getMinMaxCalendarDateFromString(date: string) {\n\t\tif (this.getFormat().parse(date)) {\n\t\t\treturn this._getCalendarDateFromString(date);\n\t\t}\n\n\t\tconst jsDate = this.getISOFormat().parse(date) as Date;\n\t\tif (jsDate) {\n\t\t\treturn CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType);\n\t\t}\n\t}\n\n\t_getCalendarDateFromString(value: string) {\n\t\tconst jsDate = this.getFormat().parse(value) as Date;\n\t\tif (jsDate) {\n\t\t\treturn CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType);\n\t\t}\n\t}\n\n\t_getTimeStampFromString(value: string) {\n\t\tconst calDate = this._getCalendarDateFromString(value);\n\t\tif (calDate) {\n\t\t\treturn calDate.toUTCJSDate().valueOf();\n\t\t}\n\t}\n\n\t_getStringFromTimestamp(timestamp: number) {\n\t\tconst localDate = new Date(timestamp);\n\t\treturn this.getFormat().format(localDate, true);\n\t}\n\n\tgetFormat() {\n\t\treturn this._isPattern\n\t\t\t? DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: \"YYYY-MM-dd\",\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\tstatic async onDefine() {\n\t\t[DateComponentBase.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n}\n\nexport default DateComponentBase;\n"]}
|
package/dist/DatePicker.d.ts
CHANGED