@ui5/webcomponents 1.16.0 → 1.17.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/C/357/200/272WINDOWSsystem32node_moduleschromedriverlibchromedriver +0 -0
- package/dist/BusyIndicator.d.ts +0 -9
- package/dist/BusyIndicator.js.map +1 -1
- package/dist/Carousel.d.ts +2 -6
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.d.ts +1 -6
- package/dist/CheckBox.js.map +1 -1
- package/dist/ColorPicker.js +2 -1
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ComboBox.js +2 -1
- package/dist/ComboBox.js.map +1 -1
- package/dist/DatePicker.js +7 -5
- package/dist/DatePicker.js.map +1 -1
- package/dist/Input.js +2 -1
- package/dist/Input.js.map +1 -1
- package/dist/Label.d.ts +1 -5
- package/dist/Label.js.map +1 -1
- package/dist/Link.d.ts +1 -5
- package/dist/Link.js.map +1 -1
- package/dist/Menu.d.ts +10 -1
- package/dist/Menu.js +61 -14
- package/dist/Menu.js.map +1 -1
- package/dist/MultiComboBox.d.ts +3 -1
- package/dist/MultiComboBox.js +32 -9
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiInput.js +12 -1
- package/dist/MultiInput.js.map +1 -1
- package/dist/Option.d.ts +1 -0
- package/dist/Option.js +4 -10
- package/dist/Option.js.map +1 -1
- package/dist/Popover.d.ts +0 -24
- package/dist/Popover.js.map +1 -1
- package/dist/Popup.d.ts +2 -6
- package/dist/Popup.js.map +1 -1
- package/dist/RadioButton.d.ts +1 -15
- package/dist/RadioButton.js.map +1 -1
- package/dist/SegmentedButton.js +2 -1
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/Select.js +2 -1
- package/dist/Select.js.map +1 -1
- package/dist/TabContainer.d.ts +2 -23
- package/dist/TabContainer.js.map +1 -1
- package/dist/Title.d.ts +1 -5
- package/dist/Title.js.map +1 -1
- package/dist/WheelSlider.js +2 -1
- package/dist/WheelSlider.js.map +1 -1
- package/dist/api.json +1 -1
- package/dist/assets/messagebundle_ar.5776a62e.js +1 -0
- package/dist/assets/messagebundle_bg.5e0f2a79.js +1 -0
- package/dist/assets/messagebundle_ca.a20af091.js +1 -0
- package/dist/assets/messagebundle_cs.edbf5f06.js +1 -0
- package/dist/assets/{messagebundle_cy.9f3ae845.js → messagebundle_cy.fd352fd8.js} +1 -1
- package/dist/assets/messagebundle_da.5dfdc1d3.js +1 -0
- package/dist/assets/messagebundle_de.e00b1548.js +1 -0
- package/dist/assets/messagebundle_el.164e847b.js +1 -0
- package/dist/assets/messagebundle_es.013382a0.js +1 -0
- package/dist/assets/messagebundle_es_MX.4195bad0.js +1 -0
- package/dist/assets/messagebundle_et.edbeb7fd.js +1 -0
- package/dist/assets/messagebundle_fi.cfa5ef16.js +1 -0
- package/dist/assets/messagebundle_fr.50a9c210.js +1 -0
- package/dist/assets/messagebundle_fr_CA.8e6c3d53.js +1 -0
- package/dist/assets/messagebundle_hi.b8831a44.js +1 -0
- package/dist/assets/messagebundle_hr.0cd4bdab.js +1 -0
- package/dist/assets/messagebundle_hu.cbe04412.js +1 -0
- package/dist/assets/messagebundle_it.a20a5390.js +1 -0
- package/dist/assets/messagebundle_iw.7b588631.js +1 -0
- package/dist/assets/messagebundle_ja.469bce93.js +1 -0
- package/dist/assets/messagebundle_kk.c87937c2.js +1 -0
- package/dist/assets/messagebundle_ko.e43561ec.js +1 -0
- package/dist/assets/messagebundle_lt.c9d71df8.js +1 -0
- package/dist/assets/messagebundle_lv.7134c734.js +1 -0
- package/dist/assets/messagebundle_ms.5eae3a5e.js +1 -0
- package/dist/assets/messagebundle_nl.c6cefe8e.js +1 -0
- package/dist/assets/messagebundle_no.60ab9453.js +1 -0
- package/dist/assets/messagebundle_pl.71703ec1.js +1 -0
- package/dist/assets/{messagebundle_pt.1a8ac668.js → messagebundle_pt.b3a26fb9.js} +1 -1
- package/dist/assets/{messagebundle_pt_PT.58717716.js → messagebundle_pt_PT.455a32ca.js} +1 -1
- package/dist/assets/messagebundle_ro.b7dd70a4.js +1 -0
- package/dist/assets/messagebundle_ru.29504567.js +1 -0
- package/dist/assets/messagebundle_sh.8942e1b7.js +1 -0
- package/dist/assets/messagebundle_sk.6cf84c7f.js +1 -0
- package/dist/assets/messagebundle_sl.2e8e8fba.js +1 -0
- package/dist/assets/messagebundle_sv.3688b397.js +1 -0
- package/dist/assets/messagebundle_th.e0214cc0.js +1 -0
- package/dist/assets/messagebundle_tr.51efddd2.js +1 -0
- package/dist/assets/messagebundle_uk.b065845c.js +1 -0
- package/dist/assets/messagebundle_vi.24b93d46.js +1 -0
- package/dist/assets/messagebundle_zh_CN.7e354392.js +1 -0
- package/dist/assets/messagebundle_zh_TW.6fb88bfe.js +1 -0
- package/dist/assets/parameters-bundle.css.069620e6.js +1 -0
- package/dist/assets/parameters-bundle.css.15ecf0ec.js +1 -0
- package/dist/assets/parameters-bundle.css.19b5a0f2.js +1 -0
- package/dist/assets/parameters-bundle.css.21ce5147.js +1 -0
- package/dist/assets/parameters-bundle.css.233963de.js +1 -0
- package/dist/assets/parameters-bundle.css.2734d3d0.js +1 -0
- package/dist/assets/parameters-bundle.css.335c0596.js +1 -0
- package/dist/assets/parameters-bundle.css.350d32b0.js +1 -0
- package/dist/assets/parameters-bundle.css.3de65750.js +1 -0
- package/dist/assets/parameters-bundle.css.5ce9f578.js +1 -0
- package/dist/assets/parameters-bundle.css.5fb8a96a.js +1 -0
- package/dist/assets/parameters-bundle.css.63a5cf77.js +1 -0
- package/dist/assets/parameters-bundle.css.8d6e4e15.js +1 -0
- package/dist/assets/parameters-bundle.css.8e265273.js +1 -0
- package/dist/assets/parameters-bundle.css.8ea43e2c.js +1 -0
- package/dist/assets/parameters-bundle.css.915cb13c.js +1 -0
- package/dist/assets/parameters-bundle.css.a0493e65.js +1 -0
- package/dist/assets/parameters-bundle.css.a5e93f30.js +1 -0
- package/dist/assets/parameters-bundle.css.a7c38545.js +1 -0
- package/dist/assets/parameters-bundle.css.a7e44fb1.js +1 -0
- package/dist/assets/parameters-bundle.css.ba2fe713.js +1 -0
- package/dist/assets/parameters-bundle.css.c16798ec.js +1 -0
- package/dist/assets/parameters-bundle.css.cc857367.js +1 -0
- package/dist/assets/parameters-bundle.css.d095974b.js +1 -0
- package/dist/assets/parameters-bundle.css.d3c7fb31.js +1 -0
- package/dist/assets/parameters-bundle.css.d6e6befc.js +1 -0
- package/dist/assets/parameters-bundle.css.db70c01c.js +1 -0
- package/dist/assets/parameters-bundle.css.de634f0a.js +1 -0
- package/dist/assets/parameters-bundle.css.e4f2a030.js +1 -0
- package/dist/assets/parameters-bundle.css.fa89ab32.js +1 -0
- package/dist/assets/test/pages/{ComboBox.html.15d66df1.js → ComboBox.html.305d4654.js} +1 -1
- package/dist/assets/test/pages/{Icon.html.d087fb99.js → Icon.html.1457391d.js} +1 -1
- package/dist/assets/test/pages/{Label.html.1359f352.js → Label.html.d56b6a0a.js} +1 -1
- package/dist/assets/test/pages/{Popups.html.de6d06fd.js → Popups.html.3b5e892c.js} +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/CustomListItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/GroupHeaderListItem.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SelectPopover.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/Suggestions.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableColumn.css +1 -1
- package/dist/css/themes/TableGroupRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TextArea.css +2 -2
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/WheelSlider.css +1 -1
- package/dist/css/themes/YearPicker.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_dark_exp/parameters-bundle.css +1 -0
- 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_hcb_exp/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -0
- package/dist/custom-elements.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.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_dark_exp/parameters-bundle.css.json +1 -0
- 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_hcb_exp/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -0
- package/dist/generated/json-imports/Themes-static.js +8 -2
- package/dist/generated/json-imports/Themes.js +4 -1
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
- package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
- package/dist/generated/themes/BrowserScrollbar.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteStaticArea.css.js +1 -1
- package/dist/generated/themes/ColorPaletteStaticArea.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.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/ComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/CustomListItem.css.js +1 -1
- package/dist/generated/themes/CustomListItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DateRangePicker.css.js +1 -1
- package/dist/generated/themes/DateRangePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePicker.css.js +1 -1
- package/dist/generated/themes/DateTimePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/FormComponents.css.js +1 -1
- package/dist/generated/themes/FormComponents.css.js.map +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.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/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InvisibleTextStyles.css.js +1 -1
- package/dist/generated/themes/InvisibleTextStyles.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/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.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/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/Popup.css.js +1 -1
- package/dist/generated/themes/Popup.css.js.map +1 -1
- package/dist/generated/themes/PopupGlobal.css.js +1 -1
- package/dist/generated/themes/PopupGlobal.css.js.map +1 -1
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
- package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.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/SelectPopover.css.js +1 -1
- package/dist/generated/themes/SelectPopover.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/Suggestions.css.js +1 -1
- package/dist/generated/themes/Suggestions.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/Tab.css.js +1 -1
- package/dist/generated/themes/Tab.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInStrip.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInStrip.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCell.css.js +1 -1
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableColumn.css.js +1 -1
- package/dist/generated/themes/TableColumn.css.js.map +1 -1
- package/dist/generated/themes/TableGroupRow.css.js +1 -1
- package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TapHighlightColor.css.js +1 -1
- package/dist/generated/themes/TapHighlightColor.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/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/TimePickerClock.css.js +1 -1
- package/dist/generated/themes/TimePickerClock.css.js.map +1 -1
- package/dist/generated/themes/TimePickerPopover.css.js +1 -1
- package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/TimeSelection.css.js +1 -1
- package/dist/generated/themes/TimeSelection.css.js.map +1 -1
- package/dist/generated/themes/TimeSelectionClocks.css.js +1 -1
- package/dist/generated/themes/TimeSelectionClocks.css.js.map +1 -1
- package/dist/generated/themes/Title.css.js +1 -1
- package/dist/generated/themes/Title.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Tree.css.js +1 -1
- package/dist/generated/themes/Tree.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/WheelSlider.css.js +1 -1
- package/dist/generated/themes/WheelSlider.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.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_dark_exp/parameters-bundle.css.d.ts +3 -0
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +3 -0
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -0
- 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_hcb_exp/parameters-bundle.css.d.ts +3 -0
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +3 -0
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -0
- 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/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +3 -0
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +3 -0
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -0
- package/dist/i18n/messagebundle_ar.properties +1 -1
- package/dist/i18n/messagebundle_bg.properties +1 -1
- package/dist/i18n/messagebundle_ca.properties +1 -1
- package/dist/i18n/messagebundle_cs.properties +1 -1
- package/dist/i18n/messagebundle_cy.properties +1 -1
- package/dist/i18n/messagebundle_da.properties +1 -1
- package/dist/i18n/messagebundle_de.properties +1 -1
- package/dist/i18n/messagebundle_el.properties +1 -1
- package/dist/i18n/messagebundle_es.properties +1 -1
- package/dist/i18n/messagebundle_es_MX.properties +1 -1
- package/dist/i18n/messagebundle_et.properties +1 -1
- package/dist/i18n/messagebundle_fi.properties +1 -1
- package/dist/i18n/messagebundle_fr.properties +1 -1
- package/dist/i18n/messagebundle_fr_CA.properties +1 -1
- package/dist/i18n/messagebundle_hi.properties +1 -1
- package/dist/i18n/messagebundle_hr.properties +1 -1
- package/dist/i18n/messagebundle_hu.properties +1 -1
- package/dist/i18n/messagebundle_id.properties +1 -1
- package/dist/i18n/messagebundle_it.properties +1 -1
- package/dist/i18n/messagebundle_iw.properties +1 -1
- package/dist/i18n/messagebundle_ja.properties +1 -1
- package/dist/i18n/messagebundle_kk.properties +1 -1
- package/dist/i18n/messagebundle_ko.properties +1 -1
- package/dist/i18n/messagebundle_lt.properties +1 -1
- package/dist/i18n/messagebundle_lv.properties +1 -1
- package/dist/i18n/messagebundle_ms.properties +1 -1
- package/dist/i18n/messagebundle_nl.properties +1 -1
- package/dist/i18n/messagebundle_no.properties +1 -1
- package/dist/i18n/messagebundle_pl.properties +1 -1
- package/dist/i18n/messagebundle_pt.properties +1 -1
- package/dist/i18n/messagebundle_pt_PT.properties +1 -1
- package/dist/i18n/messagebundle_ro.properties +1 -1
- package/dist/i18n/messagebundle_ru.properties +2 -2
- package/dist/i18n/messagebundle_sh.properties +1 -1
- package/dist/i18n/messagebundle_sk.properties +1 -1
- package/dist/i18n/messagebundle_sl.properties +1 -1
- package/dist/i18n/messagebundle_sv.properties +1 -1
- package/dist/i18n/messagebundle_th.properties +1 -1
- package/dist/i18n/messagebundle_tr.properties +1 -1
- package/dist/i18n/messagebundle_uk.properties +1 -1
- package/dist/i18n/messagebundle_vi.properties +1 -1
- package/dist/i18n/messagebundle_zh_CN.properties +1 -1
- package/dist/i18n/messagebundle_zh_TW.properties +1 -1
- 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/ButtonDesign.html +46 -0
- 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/FontFace.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/Input_variations.html +59 -0
- 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 +2 -2
- 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 +13 -7
- 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/OpenUI5Nightly.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 +1 -1
- 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/TimePickerClock.html +1 -1
- package/dist/test/pages/TimeSelection.html +1 -1
- package/dist/test/pages/TimeSelectionClocks.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/Tokenizer.html +1 -1
- package/dist/test/pages/Tree.html +1 -1
- package/dist/test/pages/TreeDynamic.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 +1 -1
- 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/MultiComboBox.hbs +3 -1
- package/src/SelectPopover.hbs +1 -1
- package/src/i18n/messagebundle_ar.properties +1 -1
- package/src/i18n/messagebundle_bg.properties +1 -1
- package/src/i18n/messagebundle_ca.properties +1 -1
- package/src/i18n/messagebundle_cs.properties +1 -1
- package/src/i18n/messagebundle_cy.properties +1 -1
- package/src/i18n/messagebundle_da.properties +1 -1
- package/src/i18n/messagebundle_de.properties +1 -1
- package/src/i18n/messagebundle_el.properties +1 -1
- package/src/i18n/messagebundle_es.properties +1 -1
- package/src/i18n/messagebundle_es_MX.properties +1 -1
- package/src/i18n/messagebundle_et.properties +1 -1
- package/src/i18n/messagebundle_fi.properties +1 -1
- package/src/i18n/messagebundle_fr.properties +1 -1
- package/src/i18n/messagebundle_fr_CA.properties +1 -1
- package/src/i18n/messagebundle_hi.properties +1 -1
- package/src/i18n/messagebundle_hr.properties +1 -1
- package/src/i18n/messagebundle_hu.properties +1 -1
- package/src/i18n/messagebundle_id.properties +1 -1
- package/src/i18n/messagebundle_it.properties +1 -1
- package/src/i18n/messagebundle_iw.properties +1 -1
- package/src/i18n/messagebundle_ja.properties +1 -1
- package/src/i18n/messagebundle_kk.properties +1 -1
- package/src/i18n/messagebundle_ko.properties +1 -1
- package/src/i18n/messagebundle_lt.properties +1 -1
- package/src/i18n/messagebundle_lv.properties +1 -1
- package/src/i18n/messagebundle_ms.properties +1 -1
- package/src/i18n/messagebundle_nl.properties +1 -1
- package/src/i18n/messagebundle_no.properties +1 -1
- package/src/i18n/messagebundle_pl.properties +1 -1
- package/src/i18n/messagebundle_pt.properties +1 -1
- package/src/i18n/messagebundle_pt_PT.properties +1 -1
- package/src/i18n/messagebundle_ro.properties +1 -1
- package/src/i18n/messagebundle_ru.properties +2 -2
- package/src/i18n/messagebundle_sh.properties +1 -1
- package/src/i18n/messagebundle_sk.properties +1 -1
- package/src/i18n/messagebundle_sl.properties +1 -1
- package/src/i18n/messagebundle_sv.properties +1 -1
- package/src/i18n/messagebundle_th.properties +1 -1
- package/src/i18n/messagebundle_tr.properties +1 -1
- package/src/i18n/messagebundle_uk.properties +1 -1
- package/src/i18n/messagebundle_vi.properties +1 -1
- package/src/i18n/messagebundle_zh_CN.properties +1 -1
- package/src/i18n/messagebundle_zh_TW.properties +1 -1
- package/src/themes/SplitButton.css +15 -0
- package/src/themes/TextArea.css +3 -3
- package/src/themes/base/TextArea-parameters.css +2 -2
- package/src/themes/sap_belize/TextArea-parameters.css +2 -2
- package/src/themes/sap_belize_hcb/TextArea-parameters.css +1 -1
- package/src/themes/sap_belize_hcw/TextArea-parameters.css +1 -1
- package/src/themes/sap_horizon_dark_exp/Avatar-parameters.css +54 -0
- package/src/themes/sap_horizon_dark_exp/Badge-parameters.css +43 -0
- package/src/themes/sap_horizon_dark_exp/Breadcrumbs-parameters.css +3 -0
- package/src/themes/sap_horizon_dark_exp/BusyIndicator-parameters.css +7 -0
- package/src/themes/sap_horizon_dark_exp/Button-parameters.css +19 -0
- package/src/themes/sap_horizon_dark_exp/CalendarHeader-parameters.css +19 -0
- package/src/themes/sap_horizon_dark_exp/Card-parameters.css +15 -0
- package/src/themes/sap_horizon_dark_exp/CheckBox-parameters.css +44 -0
- package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +21 -0
- package/src/themes/sap_horizon_dark_exp/ColorPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_dark_exp/DatePicker-parameters.css +6 -0
- package/src/themes/sap_horizon_dark_exp/DayPicker-parameters.css +48 -0
- package/src/themes/sap_horizon_dark_exp/Dialog-parameters.css +11 -0
- package/src/themes/sap_horizon_dark_exp/FileUploader-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/GrowingButton-parameters.css +6 -0
- package/src/themes/sap_horizon_dark_exp/Icon-parameters.css +3 -0
- package/src/themes/sap_horizon_dark_exp/Input-parameters.css +32 -0
- package/src/themes/sap_horizon_dark_exp/InputIcon-parameters.css +24 -0
- package/src/themes/sap_horizon_dark_exp/Link-parameters.css +16 -0
- package/src/themes/sap_horizon_dark_exp/List-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/ListItemBase-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/Menu-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/MessageStrip-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/MonthPicker-parameters.css +16 -0
- package/src/themes/sap_horizon_dark_exp/MultiComboBox-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/Panel-parameters.css +14 -0
- package/src/themes/sap_horizon_dark_exp/PopupsCommon-parameters.css +6 -0
- package/src/themes/sap_horizon_dark_exp/RadioButton-parameters.css +19 -0
- package/src/themes/sap_horizon_dark_exp/RatingIndicator-parameters.css +17 -0
- package/src/themes/sap_horizon_dark_exp/SegmentedButtton-parameters.css +10 -0
- package/src/themes/sap_horizon_dark_exp/Select-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/SelectPopover-parameters.css +4 -0
- package/src/themes/sap_horizon_dark_exp/SliderBase-parameters.css +82 -0
- package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +17 -0
- package/src/themes/sap_horizon_dark_exp/StepInput-parameters.css +25 -0
- package/src/themes/sap_horizon_dark_exp/Switch-parameters.css +148 -0
- package/src/themes/sap_horizon_dark_exp/TabContainer-parameters.css +38 -0
- package/src/themes/sap_horizon_dark_exp/Table-parameters.css +8 -0
- package/src/themes/sap_horizon_dark_exp/TableColumn-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/TableGroupRow-parameters.css +6 -0
- package/src/themes/sap_horizon_dark_exp/TableRow-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/TextArea-parameters.css +45 -0
- package/src/themes/sap_horizon_dark_exp/TimePicker-parameters.css +6 -0
- package/src/themes/sap_horizon_dark_exp/ToggleButton-parameters.css +1 -0
- package/src/themes/sap_horizon_dark_exp/Token-parameters.css +28 -0
- package/src/themes/sap_horizon_dark_exp/Tokenizer-parameters.css +5 -0
- package/src/themes/sap_horizon_dark_exp/TreeItem-parameters.css +6 -0
- package/src/themes/sap_horizon_dark_exp/ValueStateMessage-parameters.css +12 -0
- package/src/themes/sap_horizon_dark_exp/WheelSlider-parameters.css +19 -0
- package/src/themes/sap_horizon_dark_exp/YearPicker-parameters.css +15 -0
- package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +64 -0
- package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +46 -0
- package/src/themes/sap_horizon_exp/Avatar-parameters.css +54 -0
- package/src/themes/sap_horizon_exp/AvatarGroup-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/Badge-parameters.css +32 -80
- package/src/themes/sap_horizon_exp/Breadcrumbs-parameters.css +3 -0
- package/src/themes/sap_horizon_exp/BusyIndicator-parameters.css +7 -0
- package/src/themes/sap_horizon_exp/Button-parameters.css +7 -0
- package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_horizon_exp/Card-parameters.css +15 -0
- package/src/themes/sap_horizon_exp/CheckBox-parameters.css +41 -31
- package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +21 -0
- package/src/themes/sap_horizon_exp/ColorPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_exp/DatePicker-parameters.css +4 -3
- package/src/themes/sap_horizon_exp/DayPicker-parameters.css +47 -2
- package/src/themes/sap_horizon_exp/Dialog-parameters.css +11 -0
- package/src/themes/sap_horizon_exp/FileUploader-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/GrowingButton-parameters.css +6 -0
- package/src/themes/sap_horizon_exp/Icon-parameters.css +3 -0
- package/src/themes/sap_horizon_exp/Input-parameters.css +28 -34
- package/src/themes/sap_horizon_exp/InputIcon-parameters.css +20 -9
- package/src/themes/sap_horizon_exp/Link-parameters.css +11 -2
- package/src/themes/sap_horizon_exp/List-parameters.css +1 -1
- package/src/themes/sap_horizon_exp/ListItemBase-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/Menu-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/MessageStrip-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +12 -1
- package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +0 -2
- package/src/themes/sap_horizon_exp/Panel-parameters.css +9 -0
- package/src/themes/sap_horizon_exp/PopupsCommon-parameters.css +6 -0
- package/src/themes/sap_horizon_exp/ProgressIndicator-parameters.css +38 -0
- package/src/themes/sap_horizon_exp/ProgressIndicatorLayout-parameters.css +39 -0
- package/src/themes/sap_horizon_exp/RadioButton-parameters.css +16 -26
- package/src/themes/sap_horizon_exp/RatingIndicator-parameters.css +3 -2
- package/src/themes/sap_horizon_exp/SegmentedButtton-parameters.css +10 -0
- package/src/themes/sap_horizon_exp/Select-parameters.css +1 -1
- package/src/themes/sap_horizon_exp/SelectPopover-parameters.css +4 -0
- package/src/themes/sap_horizon_exp/SliderBase-parameters.css +71 -19
- package/src/themes/sap_horizon_exp/SplitButton-parameters.css +17 -0
- package/src/themes/sap_horizon_exp/StepInput-parameters.css +25 -0
- package/src/themes/sap_horizon_exp/Switch-parameters.css +147 -43
- package/src/themes/sap_horizon_exp/TabContainer-parameters.css +28 -26
- package/src/themes/sap_horizon_exp/Table-parameters.css +8 -0
- package/src/themes/sap_horizon_exp/TableColumn-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/TableGroupRow-parameters.css +6 -0
- package/src/themes/sap_horizon_exp/TableRow-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/TextArea-parameters.css +45 -0
- package/src/themes/sap_horizon_exp/TimePicker-parameters.css +1 -0
- package/src/themes/sap_horizon_exp/ToggleButton-parameters.css +1 -0
- package/src/themes/sap_horizon_exp/Token-parameters.css +22 -1
- package/src/themes/sap_horizon_exp/Tokenizer-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/TreeItem-parameters.css +6 -0
- package/src/themes/sap_horizon_exp/ValueStateMessage-parameters.css +12 -0
- package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +7 -4
- package/src/themes/sap_horizon_exp/YearPicker-parameters.css +11 -1
- package/src/themes/sap_horizon_exp/parameters-bundle.css +35 -18
- package/src/themes/sap_horizon_exp/sizes-parameters.css +46 -0
- package/src/themes/sap_horizon_hcb_exp/Avatar-parameters.css +54 -0
- package/src/themes/sap_horizon_hcb_exp/Badge-parameters.css +43 -0
- package/src/themes/sap_horizon_hcb_exp/BusyIndicator-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb_exp/Button-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb_exp/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_horizon_hcb_exp/Card-parameters.css +11 -0
- package/src/themes/sap_horizon_hcb_exp/Carousel-parameters.css +9 -0
- package/src/themes/sap_horizon_hcb_exp/CheckBox-parameters.css +45 -0
- package/src/themes/sap_horizon_hcb_exp/ColorPicker-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb_exp/DatePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb_exp/DayPicker-parameters.css +44 -0
- package/src/themes/sap_horizon_hcb_exp/Dialog-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb_exp/FileUploader-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb_exp/GrowingButton-parameters.css +8 -0
- package/src/themes/sap_horizon_hcb_exp/Input-parameters.css +32 -0
- package/src/themes/sap_horizon_hcb_exp/InputIcon-parameters.css +11 -0
- package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +12 -0
- package/src/themes/sap_horizon_hcb_exp/ListItem-parameters.css +3 -0
- package/src/themes/sap_horizon_hcb_exp/Menu-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb_exp/MessageStrip-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb_exp/MonthPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_hcb_exp/Panel-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb_exp/PopupsCommon-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb_exp/ProgressIndicator-parameters.css +21 -0
- package/src/themes/sap_horizon_hcb_exp/RadioButton-parameters.css +17 -0
- package/src/themes/sap_horizon_hcb_exp/RatingIndicator-parameters.css +16 -0
- package/src/themes/sap_horizon_hcb_exp/SegmentedButtton-parameters.css +9 -0
- package/src/themes/sap_horizon_hcb_exp/Select-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb_exp/SliderBase-parameters.css +79 -0
- package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +12 -0
- package/src/themes/sap_horizon_hcb_exp/Switch-parameters.css +144 -0
- package/src/themes/sap_horizon_hcb_exp/TabContainer-parameters.css +49 -0
- package/src/themes/sap_horizon_hcb_exp/Table-parameters.css +9 -0
- package/src/themes/sap_horizon_hcb_exp/TableGroupRow-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb_exp/TableRow-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb_exp/TextArea-parameters.css +42 -0
- package/src/themes/sap_horizon_hcb_exp/TimePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb_exp/ToggleButton-parameters.css +1 -0
- package/src/themes/sap_horizon_hcb_exp/Token-parameters.css +17 -0
- package/src/themes/sap_horizon_hcb_exp/TreeItem-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb_exp/ValueStateMessage-parameters.css +13 -0
- package/src/themes/sap_horizon_hcb_exp/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_horizon_hcb_exp/YearPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +57 -0
- package/src/themes/sap_horizon_hcb_exp/sizes-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw_exp/Avatar-parameters.css +54 -0
- package/src/themes/sap_horizon_hcw_exp/Badge-parameters.css +43 -0
- package/src/themes/sap_horizon_hcw_exp/BusyIndicator-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw_exp/Button-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw_exp/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_horizon_hcw_exp/Card-parameters.css +11 -0
- package/src/themes/sap_horizon_hcw_exp/Carousel-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw_exp/CheckBox-parameters.css +45 -0
- package/src/themes/sap_horizon_hcw_exp/ColorPicker-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw_exp/DatePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw_exp/DayPicker-parameters.css +46 -0
- package/src/themes/sap_horizon_hcw_exp/Dialog-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw_exp/FileUploader-parameters.css +6 -0
- package/src/themes/sap_horizon_hcw_exp/GrowingButton-parameters.css +8 -0
- package/src/themes/sap_horizon_hcw_exp/Input-parameters.css +32 -0
- package/src/themes/sap_horizon_hcw_exp/InputIcon-parameters.css +11 -0
- package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +12 -0
- package/src/themes/sap_horizon_hcw_exp/ListItem-parameters.css +3 -0
- package/src/themes/sap_horizon_hcw_exp/Menu-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw_exp/MessageStrip-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw_exp/MonthPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_hcw_exp/Panel-parameters.css +11 -0
- package/src/themes/sap_horizon_hcw_exp/PopupsCommon-parameters.css +6 -0
- package/src/themes/sap_horizon_hcw_exp/RadioButton-parameters.css +21 -0
- package/src/themes/sap_horizon_hcw_exp/RatingIndicator-parameters.css +16 -0
- package/src/themes/sap_horizon_hcw_exp/SegmentedButtton-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw_exp/Select-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw_exp/SliderBase-parameters.css +80 -0
- package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +12 -0
- package/src/themes/sap_horizon_hcw_exp/Switch-parameters.css +149 -0
- package/src/themes/sap_horizon_hcw_exp/TabContainer-parameters.css +49 -0
- package/src/themes/sap_horizon_hcw_exp/Table-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw_exp/TableGroupRow-parameters.css +6 -0
- package/src/themes/sap_horizon_hcw_exp/TableRow-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw_exp/TextArea-parameters.css +42 -0
- package/src/themes/sap_horizon_hcw_exp/TimePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw_exp/ToggleButton-parameters.css +1 -0
- package/src/themes/sap_horizon_hcw_exp/Token-parameters.css +17 -0
- package/src/themes/sap_horizon_hcw_exp/TreeItem-parameters.css +6 -0
- package/src/themes/sap_horizon_hcw_exp/ValueStateMessage-parameters.css +13 -0
- package/src/themes/sap_horizon_hcw_exp/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_horizon_hcw_exp/YearPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +57 -0
- package/src/themes/sap_horizon_hcw_exp/sizes-parameters.css +9 -0
- package/dist/assets/messagebundle_ar.38fc245f.js +0 -1
- package/dist/assets/messagebundle_bg.e37d62ed.js +0 -1
- package/dist/assets/messagebundle_ca.a3087412.js +0 -1
- package/dist/assets/messagebundle_cs.8201ca03.js +0 -1
- package/dist/assets/messagebundle_da.945e42db.js +0 -1
- package/dist/assets/messagebundle_de.bb305427.js +0 -1
- package/dist/assets/messagebundle_el.a36dfdb0.js +0 -1
- package/dist/assets/messagebundle_es.e3a4852e.js +0 -1
- package/dist/assets/messagebundle_es_MX.9cca1c08.js +0 -1
- package/dist/assets/messagebundle_et.a0ba005f.js +0 -1
- package/dist/assets/messagebundle_fi.f63fc946.js +0 -1
- package/dist/assets/messagebundle_fr.8e446595.js +0 -1
- package/dist/assets/messagebundle_fr_CA.ec2d54be.js +0 -1
- package/dist/assets/messagebundle_hi.4d509425.js +0 -1
- package/dist/assets/messagebundle_hr.c54f0729.js +0 -1
- package/dist/assets/messagebundle_hu.d604f66c.js +0 -1
- package/dist/assets/messagebundle_it.8ec36217.js +0 -1
- package/dist/assets/messagebundle_iw.977d877f.js +0 -1
- package/dist/assets/messagebundle_ja.b8fb62f3.js +0 -1
- package/dist/assets/messagebundle_kk.fb530aff.js +0 -1
- package/dist/assets/messagebundle_ko.d0e0041a.js +0 -1
- package/dist/assets/messagebundle_lt.890220d5.js +0 -1
- package/dist/assets/messagebundle_lv.ee598ceb.js +0 -1
- package/dist/assets/messagebundle_ms.1287d1a7.js +0 -1
- package/dist/assets/messagebundle_nl.08d4eee5.js +0 -1
- package/dist/assets/messagebundle_no.7c8de9d3.js +0 -1
- package/dist/assets/messagebundle_pl.58636cbe.js +0 -1
- package/dist/assets/messagebundle_ro.05bb3fb8.js +0 -1
- package/dist/assets/messagebundle_ru.f0d249d9.js +0 -1
- package/dist/assets/messagebundle_sh.1e6cd04e.js +0 -1
- package/dist/assets/messagebundle_sk.a79dfced.js +0 -1
- package/dist/assets/messagebundle_sl.b30f0404.js +0 -1
- package/dist/assets/messagebundle_sv.17a648bd.js +0 -1
- package/dist/assets/messagebundle_th.ed642bdf.js +0 -1
- package/dist/assets/messagebundle_tr.313c5258.js +0 -1
- package/dist/assets/messagebundle_uk.b372813e.js +0 -1
- package/dist/assets/messagebundle_vi.9a2c9ebf.js +0 -1
- package/dist/assets/messagebundle_zh_CN.e61c89fe.js +0 -1
- package/dist/assets/messagebundle_zh_TW.f9bbb34a.js +0 -1
- package/dist/assets/parameters-bundle.css.0397bbd6.js +0 -962
- package/dist/assets/parameters-bundle.css.044e02a2.js +0 -1899
- package/dist/assets/parameters-bundle.css.145bbc1b.js +0 -958
- package/dist/assets/parameters-bundle.css.17439899.js +0 -946
- package/dist/assets/parameters-bundle.css.29a89ef5.js +0 -2183
- package/dist/assets/parameters-bundle.css.351dbe3d.js +0 -2004
- package/dist/assets/parameters-bundle.css.35812cd9.js +0 -1921
- package/dist/assets/parameters-bundle.css.43287dee.js +0 -954
- package/dist/assets/parameters-bundle.css.435d2711.js +0 -2830
- package/dist/assets/parameters-bundle.css.61b5d26e.js +0 -962
- package/dist/assets/parameters-bundle.css.6bcb45b6.js +0 -970
- package/dist/assets/parameters-bundle.css.7a1bb4dd.js +0 -962
- package/dist/assets/parameters-bundle.css.83fced7d.js +0 -970
- package/dist/assets/parameters-bundle.css.841bfc38.js +0 -2203
- package/dist/assets/parameters-bundle.css.8f59133b.js +0 -954
- package/dist/assets/parameters-bundle.css.90d73b57.js +0 -962
- package/dist/assets/parameters-bundle.css.94ca9bb3.js +0 -2834
- package/dist/assets/parameters-bundle.css.b71b5135.js +0 -946
- package/dist/assets/parameters-bundle.css.c610dedc.js +0 -954
- package/dist/assets/parameters-bundle.css.c903b684.js +0 -2645
- package/dist/assets/parameters-bundle.css.edefe6fd.js +0 -2189
- package/dist/assets/parameters-bundle.css.eeb6f2f4.js +0 -2201
- package/dist/assets/parameters-bundle.css.f08c2cbc.js +0 -2632
- package/dist/assets/parameters-bundle.css.f915a8f5.js +0 -1881
- package/src/themes/sap_horizon_exp/Popover-parameters.css +0 -4
package/dist/TabContainer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabContainer.js","sourceRoot":"","sources":["../src/TabContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport slideDown from \"@ui5/webcomponents-base/dist/animations/slideDown.js\";\nimport slideUp from \"@ui5/webcomponents-base/dist/animations/slideUp.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisRight,\n\tisLeft,\n\tisUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-up.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport {\n\tTABCONTAINER_PREVIOUS_ICON_ACC_NAME,\n\tTABCONTAINER_NEXT_ICON_ACC_NAME,\n\tTABCONTAINER_OVERFLOW_MENU_TITLE,\n\tTABCONTAINER_END_OVERFLOW,\n\tTABCONTAINER_POPOVER_CANCEL_BUTTON,\n\tTABCONTAINER_SUBTABS_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport Icon from \"./Icon.js\";\nimport List from \"./List.js\";\nimport type Tab from \"./Tab.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport type CustomListItem from \"./CustomListItem.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TabContainerTabsPlacement from \"./types/TabContainerTabsPlacement.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport TabContainerBackgroundDesign from \"./types/TabContainerBackgroundDesign.js\";\nimport TabLayout from \"./types/TabLayout.js\";\nimport TabsOverflowMode from \"./types/TabsOverflowMode.js\";\n\n// Templates\nimport TabContainerTemplate from \"./generated/templates/TabContainerTemplate.lit.js\";\nimport TabContainerPopoverTemplate from \"./generated/templates/TabContainerPopoverTemplate.lit.js\";\n\n// Styles\nimport tabContainerCss from \"./generated/themes/TabContainer.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\nconst tabStyles: Array<StyleData> = [];\nconst staticAreaTabStyles: Array<StyleData> = [];\nconst PAGE_UP_DOWN_SIZE = 5;\n\ninterface ITab extends UI5Element {\n\tisSeparator: boolean;\n\tgetTabInStripDomRef: () => ITab | null;\n\tstableDomRef: string;\n\tadditionalText?: string;\n\tdesign?: `${SemanticColor}`;\n\tdisabled?: boolean;\n\ticon?: string;\n\tisSingleClickArea?: boolean;\n\trequiresExpandButton?: boolean;\n\tselected?: boolean;\n\tsubTabs?: Array<ITab>;\n\ttabs?: Array<ITab>\n\ttext?: string;\n\t_tabIndex?: string;\n\t_hasOwnContent?: boolean;\n\t_level?: number;\n\t_selected?: boolean;\n\t_getElementInStrip?: () => ITab | null;\n\t_isInline?: boolean;\n\t_mixedMode?: boolean;\n\t_posinset?: number;\n\t_setsize?: number;\n\t_realTab?: Tab;\n\t_isTopLevelTab?: boolean;\n\t_style?: Record<string, any>;\n}\n\ntype TabContainerTabSelectEventDetail = {\n\ttab: Tab;\n\ttabIndex: number;\n}\n\ninterface TabContainerExpandButton extends Button {\n\ttab: Tab;\n}\n\ninterface TabContainerTabInOverflow extends CustomListItem {\n\t_realTab: Tab;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-tabcontainer</code> represents a collection of tabs with associated content.\n * Navigation through the tabs changes the content display of the currently active content area.\n * A tab can be labeled with text only, or icons with text.\n *\n * <h3>Structure</h3>\n *\n * The <code>ui5-tabcontainer</code> can hold two types of entities:\n * <ul>\n * <li><code>ui5-tab</code> - contains all the information on an item (text and icon)</li>\n * <li><code>ui5-tab-separator</code> - used to separate tabs with a line</li>\n * </ul>\n *\n * <h3>Hierarchies</h3>\n * Multiple sub tabs could be placed underneath one main tab. Nesting allows deeper hierarchies with indentations\n * to indicate the level of each nested tab. When a tab has both sub tabs and own content its click area is split\n * to allow the user to display the content or alternatively to expand / collapse the list of sub tabs.\n *\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-tabcontainer</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>content - Used to style the content of the component</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n * <br><br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/TabContainer\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents/dist/Tab\";</code> (for <code>ui5-tab</code>)\n * <br>\n * <code>import \"@ui5/webcomponents/dist/TabSeparator\";</code> (for <code>ui5-tab-separator</code>)\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.TabContainer\n * @extends sap.ui.webc.base.UI5Element\n * @appenddocs sap.ui.webc.main.Tab sap.ui.webc.main.TabSeparator\n * @tagname ui5-tabcontainer\n * @public\n */\n@customElement({\n\ttag: \"ui5-tabcontainer\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\tstyles: [tabStyles, tabContainerCss],\n\tstaticAreaStyles: [ResponsivePopoverCommonCss, staticAreaTabStyles],\n\trenderer: litRender,\n\ttemplate: TabContainerTemplate,\n\tstaticAreaTemplate: TabContainerPopoverTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tIcon,\n\t\tList,\n\t\tResponsivePopover,\n\t],\n})\n/**\n * Fired when a tab is selected.\n *\n * @event sap.ui.webc.main.TabContainer#tab-select\n * @param {HTMLElement} tab The selected <code>tab</code>.\n * @param {Integer} tabIndex The selected <code>tab</code> index in the flattened array of all tabs and their subTabs, provided by the <code>allItems</code> getter.\n * @public\n * @allowPreventDefault\n */\n@event(\"tab-select\", {\n\tdetail: {\n\t\ttab: { type: HTMLElement },\n\t\ttabIndex: { type: Number },\n\t},\n})\nclass TabContainer extends UI5Element {\n\t/**\n\t * Defines whether the tabs are in a fixed state that is not\n\t * expandable/collapsible by user interaction.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.TabContainer.prototype.fixed\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tfixed!: boolean;\n\n\t/**\n\t * Defines whether the tab content is collapsed.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.TabContainer.prototype.collapsed\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcollapsed!: boolean;\n\n\t/**\n\t * Defines whether the overflow select list is displayed.\n\t * <br><br>\n\t * The overflow select list represents a list, where all tabs are displayed\n\t * so that it's easier for the user to select a specific tab.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.TabContainer.prototype.showOverflow\n\t * @defaultvalue false\n\t * @public\n\t * @deprecated Since the introduction of TabsOverflowMode, overflows will always be visible if there is not enough space for all tabs,\n\t * all hidden tabs are moved to a select list in the respective overflows and are accessible via the <code>overflowButton</code> and / or <code>startOverflowButton</code> slots.\n\t */\n\t@property({ type: Boolean })\n\tshowOverflow!: boolean;\n\n\t/**\n\t * Defines the alignment of the content and the <code>additionalText</code> of a tab.\n\t *\n\t * <br><br>\n\t * <b>Note:</b>\n\t * The content and the <code>additionalText</code> would be displayed vertically by default,\n\t * but when set to <code>Inline</code>, they would be displayed horizontally.\n\t *\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>Standard</code></li>\n\t * <li><code>Inline</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.main.types.TabLayout}\n\t * @name sap.ui.webc.main.TabContainer.prototype.tabLayout\n\t * @defaultvalue \"Standard\"\n\t * @public\n\t */\n\t@property({ type: TabLayout, defaultValue: TabLayout.Standard })\n\ttabLayout!: `${TabLayout}`;\n\n\t/**\n\t * Defines the overflow mode of the header (the tab strip). If you have a large number of tabs, only the tabs that can fit on screen will be visible.\n\t * All other tabs that can 't fit on the screen are available in an overflow tab \"More\".\n\t *\n\t * <br><br>\n\t * <b>Note:</b>\n\t * Only one overflow at the end would be displayed by default,\n\t * but when set to <code>StartAndEnd</code>, there will be two overflows on both ends, and tab order will not change on tab selection.\n\t *\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>End</code></li>\n\t * <li><code>StartAndEnd</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.main.types.TabsOverflowMode}\n\t * @name sap.ui.webc.main.TabContainer.prototype.tabsOverflowMode\n\t * @defaultvalue \"End\"\n\t * @since 1.1.0\n\t * @public\n\t */\n\t@property({ type: TabsOverflowMode, defaultValue: TabsOverflowMode.End })\n\ttabsOverflowMode!: `${TabsOverflowMode}`;\n\n\t/**\n\t * Sets the background color of the Tab Container's header as <code>Solid</code>, <code>Transparent</code>, or <code>Translucent</code>.\n\t *\n\t * @type {sap.ui.webc.main.types.TabContainerBackgroundDesign}\n\t * @name sap.ui.webc.main.TabContainer.prototype.headerBackgroundDesign\n\t * @defaultvalue \"Solid\"\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@property({ type: TabContainerBackgroundDesign, defaultValue: TabContainerBackgroundDesign.Solid })\n\theaderBackgroundDesign!: `${TabContainerBackgroundDesign}`;\n\n\t/**\n\t * Sets the background color of the Tab Container's content as <code>Solid</code>, <code>Transparent</code>, or <code>Translucent</code>.\n\t *\n\t * @type {sap.ui.webc.main.types.TabContainerBackgroundDesign}\n\t * @name sap.ui.webc.main.TabContainer.prototype.contentBackgroundDesign\n\t * @defaultvalue \"Solid\"\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@property({ type: TabContainerBackgroundDesign, defaultValue: TabContainerBackgroundDesign.Solid })\n\tcontentBackgroundDesign!: `${TabContainerBackgroundDesign}`;\n\n\t/**\n\t * Defines the placement of the tab strip relative to the actual tabs' content.\n\t * <br><br>\n\t * <b>Note:</b> By default the tab strip is displayed above the tabs' content area and this is the recommended\n\t * layout for most scenarios. Set to <code>Bottom</code> only when the component is at the\n\t * bottom of the page and you want the tab strip to act as a menu.\n\t *\n\t * <br><br>\n\t * Available options are:\n\t * <ul>\n\t * <li><code>Top</code></li>\n\t * <li><code>Bottom</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.main.types.TabContainerTabsPlacement}\n\t * @name sap.ui.webc.main.TabContainer.prototype.tabsPlacement\n\t * @defaultvalue \"Top\"\n\t * @since 1.0.0-rc.7\n\t * @private\n\t */\n\t@property({ type: TabContainerTabsPlacement, defaultValue: TabContainerTabsPlacement.Top })\n\ttabsPlacement!: `${TabContainerTabsPlacement}`;\n\n\t/**\n\t * Defines the current media query size.\n\t *\n\t * @type {string}\n\t * @private\n\t */\n\t@property()\n\tmediaRange!: string;\n\n\t@property({ type: Object })\n\t_selectedTab!: Tab;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationRunning!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_contentCollapsed!: boolean;\n\n\t@property({ noAttribute: true, defaultValue: \"0\" })\n\t_startOverflowText!: string;\n\n\t@property({ noAttribute: true, defaultValue: \"More\" })\n\t_endOverflowText!: string;\n\n\t@property({ type: Object, multiple: true })\n\t_overflowItems!: Array<ITab>;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_width?: number;\n\n\t/**\n\t * Defines the tabs.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-tab</code> and <code>ui5-tab-separator</code> for the intended design.\n\t *\n\t * @type {sap.ui.webc.main.ITab[]}\n\t * @public\n\t * @slot items\n\t * @name sap.ui.webc.main.TabContainer.prototype.default\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\titems!: Array<ITab>;\n\n\t/**\n\t * Defines the button which will open the overflow menu. If nothing is provided to this slot,\n\t * the default button will be used.\n\t *\n\t * @type {sap.ui.webc.main.IButton}\n\t * @public\n\t * @slot\n\t * @since 1.0.0-rc.9\n\t * @name sap.ui.webc.main.TabContainer.prototype.overflowButton\n\t */\n\t@slot()\n\toverflowButton!: Array<Button>;\n\n\t/**\n\t * Defines the button which will open the start overflow menu if available. If nothing is provided to this slot,\n\t * the default button will be used.\n\t *\n\t * @type {sap.ui.webc.main.IButton}\n\t * @public\n\t * @slot\n\t * @since 1.1.0\n\t * @name sap.ui.webc.main.TabContainer.prototype.startOverflowButton\n\t */\n\t@slot()\n\tstartOverflowButton!: Array<Button>;\n\n\t_itemNavigation: ItemNavigation;\n\t_allItemsAndSubItems?: Array<ITab>;\n\tresponsivePopover?: ResponsivePopover;\n\t_handleResizeBound: () => void;\n\n\tstatic registerTabStyles(styles: StyleData) {\n\t\ttabStyles.push(styles);\n\t}\n\n\tstatic registerStaticAreaTabStyles(styles: StyleData) {\n\t\tstaticAreaTabStyles.push(styles);\n\t}\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\n\t\t// Init ItemNavigation\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this._getFocusableRefs(),\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE,\n\t\t});\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._allItemsAndSubItems = this._getAllSubItems(this.items);\n\t\tif (!this._allItemsAndSubItems.length) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update selected tab\n\t\tconst selectedTabs = this._allItemsAndSubItems.filter(tab => tab.selected) as Array<Tab>;\n\t\tif (selectedTabs.length) {\n\t\t\tthis._selectedTab._selected = false;\n\t\t\tthis._selectedTab = selectedTabs[0];\n\t\t} else {\n\t\t\tthis._selectedTab = this._allItemsAndSubItems[0] as Tab;\n\t\t\tthis._selectedTab._selected = true;\n\t\t}\n\n\t\tthis._setItemsPrivateProperties(this.items);\n\n\t\tif (!this._animationRunning) {\n\t\t\tthis._contentCollapsed = this.collapsed;\n\t\t}\n\n\t\tif (this.showOverflow) {\n\t\t\tconsole.warn(`The \"show-overflow\" property is deprecated and will be removed in a future release.`); // eslint-disable-line\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setItemsForStrip();\n\n\t\tif (!this.shadowRoot!.contains(document.activeElement)) {\n\t\t\tconst focusStart = this._getRootTab(this._selectedTab);\n\t\t\tthis._itemNavigation.setCurrentItem(focusStart);\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this._getHeader(), this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this._getHeader(), this._handleResizeBound);\n\t}\n\n\t_handleResize() {\n\t\tif (this.responsivePopover && this.responsivePopover.opened) {\n\t\t\tthis.responsivePopover.close();\n\t\t}\n\n\t\tthis._width = this.offsetWidth;\n\t\tthis._updateMediaRange(this._width);\n\t}\n\n\t_updateMediaRange(width: number) {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, width);\n\t}\n\n\t_setItemsPrivateProperties(items: Array<ITab>) {\n\t\t// set real dom ref to all items, then return only the tabs for further processing\n\t\tconst allTabs = items.filter(item => {\n\t\t\titem._getElementInStrip = () => this.getDomRef()!.querySelector(`#${item._id}`);\n\t\t\treturn !item.isSeparator;\n\t\t});\n\n\t\tallTabs.forEach((tab, index, arr) => {\n\t\t\ttab._isInline = this.tabLayout === TabLayout.Inline;\n\t\t\ttab._mixedMode = this.mixedMode;\n\t\t\ttab._posinset = index + 1;\n\t\t\ttab._setsize = arr.length;\n\t\t\ttab._realTab = this._selectedTab;\n\t\t\ttab._isTopLevelTab = items.some(i => i === tab);\n\t\t\twalk(items, _tab => {\n\t\t\t\t_tab._realTab = tab._realTab;\n\t\t\t});\n\t\t});\n\t}\n\n\t_onHeaderFocusin(e: FocusEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\n\t\tif (tab) {\n\t\t\tthis._itemNavigation.setCurrentItem(tab._realTab);\n\t\t}\n\t}\n\n\tasync _onTabStripClick(e: Event) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab._realTab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tif ((e.target as HTMLElement).hasAttribute(\"ui5-button\")) {\n\t\t\tthis._onTabExpandButtonClick(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!tab._realTab._hasOwnContent && tab._realTab.tabs.length) {\n\t\t\tthis._overflowItems = tab._realTab.subTabs;\n\t\t\tthis._addStyleIndent(this._overflowItems);\n\n\t\t\tthis.responsivePopover = await this._respPopover();\n\t\t\tif (this.responsivePopover.opened) {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t} else {\n\t\t\t\tthis._setPopoverInitialFocus();\n\t\t\t}\n\n\t\t\tthis.responsivePopover.showAt(tab._realTab.getTabInStripDomRef()!);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onHeaderItemSelect(tab);\n\t}\n\n\tasync _onTabExpandButtonClick(e: Event) {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tlet button = e.target as HTMLElement;\n\t\tlet tabInstance = (button as TabContainerExpandButton).tab;\n\n\t\tif (tabInstance) {\n\t\t\ttabInstance.focus();\n\t\t}\n\n\t\tif (e.type === \"keydown\" && !(e.target as Tab)._realTab.isSingleClickArea) {\n\t\t\tbutton = (e.target as Tab).querySelectorAll<HTMLElement>(\".ui5-tab-expand-button\")[0];\n\t\t\ttabInstance = (e.target as Tab)._realTab;\n\t\t}\n\n\t\t// if clicked between the expand button and the tab\n\t\tif (!tabInstance) {\n\t\t\tthis._onHeaderItemSelect(button.parentElement as HTMLElement);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._overflowItems = tabInstance.subTabs;\n\t\tthis._addStyleIndent(this._overflowItems);\n\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tif (this.responsivePopover.isOpen()) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis._setPopoverInitialFocus();\n\t\t}\n\t\tthis.responsivePopover.showAt(button);\n\t}\n\n\t_setPopoverInitialFocus() {\n\t\tconst selectedTabInOverflow = this._getSelectedTabInOverflow();\n\t\tconst tab = selectedTabInOverflow || this._getFirstFocusableItemInOverflow();\n\n\t\tthis.responsivePopover!.initialFocus = `${tab._realTab._id}-li`;\n\t}\n\n\t_getSelectedTabInOverflow() {\n\t\treturn <TabContainerTabInOverflow>(<List> this.responsivePopover!.content[0]).items.find(item => {\n\t\t\treturn (<TabContainerTabInOverflow>item)._realTab && (<TabContainerTabInOverflow>item)._realTab.selected;\n\t\t});\n\t}\n\n\t_getFirstFocusableItemInOverflow() {\n\t\treturn <TabContainerTabInOverflow>(<List> this.responsivePopover!.content[0]).items.find(item => item.classList.contains(\"ui5-tab-overflow-item\"));\n\t}\n\n\t_onTabStripKeyDown(e: KeyboardEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab._realTab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tif (tab._realTab.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t} else {\n\t\t\t\tthis._onHeaderItemSelect(tab);\n\t\t\t}\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\n\t\tif (isDown(e) || isUp(e)) {\n\t\t\tif (tab._realTab.requiresExpandButton) {\n\t\t\t\tthis._onTabExpandButtonClick(e);\n\t\t\t}\n\t\t\tif (tab._realTab.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onTabStripKeyUp(e: KeyboardEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab._realTab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tif (tab._realTab.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t} else {\n\t\t\t\tthis._onHeaderItemSelect(tab);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onHeaderItemSelect(tab: HTMLElement) {\n\t\tif (!tab.hasAttribute(\"disabled\")) {\n\t\t\tthis._onItemSelect(tab.id);\n\t\t}\n\t}\n\n\tasync _onOverflowListItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\te.preventDefault(); // cancel the item selection\n\n\t\tthis._onItemSelect(e.detail.item.id.slice(0, -3)); // strip \"-li\" from end of id\n\n\t\tthis.responsivePopover!.close();\n\t\tawait renderFinished();\n\n\t\tconst selectedTopLevel = this._getRootTab(this._selectedTab);\n\t\tselectedTopLevel.getTabInStripDomRef()!.focus();\n\t}\n\n\t/**\n\t * Returns all slotted tabs and their subTabs in a flattened array.\n\t * The order of tabs is depth-first. For example, given the following slotted elements:\n\t * <pre><code>\n\t * \t<ui5-tabcontainer>\n\t * \t\t<ui5-tab id=\"First\" text=\"First\">\n\t * \t\t\t...\n\t * \t\t\t<ui5-tab slot=\"subTabs\" id=\"Nested\" text=\"Nested\">...</ui5-tab>\n\t * \t\t</ui5-tab>\n\t * \t\t<ui5-tab id=\"Second\" text=\"Second\">...</ui5-tab>\n\t * \t\t<ui5-tab-separator id=\"sep\"></ui5-tab-separator>\n\t * \t\t<ui5-tab id=\"Third\" text=\"Third\">...</ui5-tab>\n\t * \t</ui5-tabcontainer>\n\t * </code></pre>\n\t * Calling <code>allItems</code> on this TabContainer will return the instances in the following order:\n\t * <code>[ ui5-tab#First, ui5-tab#Nested, ui5-tab#Second, ui5-tab-separator#sep, ui5-tab#Third ]</code>\n\t * @public\n\t * @readonly\n\t * @name sap.ui.webc.main.TabContainer.prototype.allItems\n\t * @returns {sap.ui.webc.main.ITab[]}\n\t */\n\tget allItems() {\n\t\treturn this._getAllSubItems(this.items);\n\t}\n\n\t_getAllSubItems(items: Array<ITab>, result: Array<ITab> = [], level = 1) {\n\t\titems.forEach(item => {\n\t\t\tif (item.hasAttribute(\"ui5-tab\") || item.hasAttribute(\"ui5-tab-separator\")) {\n\t\t\t\titem._level = level;\n\t\t\t\tresult.push(item);\n\n\t\t\t\tif (item.subTabs) {\n\t\t\t\t\tthis._getAllSubItems(item.subTabs, result, level + 1);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_onItemSelect(selectedTabId: string) {\n\t\tconst previousTab = this._selectedTab;\n\t\tconst selectedTabIndex = this._allItemsAndSubItems!.findIndex(item => item.__id === selectedTabId);\n\t\tconst selectedTab = this._allItemsAndSubItems![selectedTabIndex] as Tab;\n\n\t\tconst selectionSuccessful = this.selectTab(selectedTab, selectedTabIndex);\n\t\tif (!selectionSuccessful) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update selected property on all items\n\t\tthis._allItemsAndSubItems!.forEach((item, index) => {\n\t\t\tconst selected = selectedTabIndex === index;\n\t\t\titem.selected = selected;\n\n\t\t\tif (item._selected) {\n\t\t\t\titem._selected = false;\n\t\t\t}\n\t\t});\n\n\t\tif (this.fixed) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.shouldAnimate) {\n\t\t\tthis.toggle(selectedTab, previousTab);\n\t\t} else {\n\t\t\tthis.toggleAnimated(selectedTab, previousTab);\n\t\t}\n\t}\n\n\tasync toggleAnimated(selectedTab: Tab, previousTab: Tab) {\n\t\tconst content = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__content\")!;\n\t\tlet animationPromise = null;\n\n\t\tthis._animationRunning = true;\n\n\t\tif (selectedTab === previousTab) {\n\t\t\t// click on already selected tab - animate both directions\n\t\t\tthis.collapsed = !this.collapsed;\n\t\t\tanimationPromise = this.collapsed ? this.slideContentUp(content) : this.slideContentDown(content);\n\t\t} else {\n\t\t\t// click on new tab - animate if the content is currently collapsed\n\t\t\tanimationPromise = this.collapsed ? this.slideContentDown(content) : Promise.resolve();\n\t\t\tthis.collapsed = false;\n\t\t}\n\n\t\tawait animationPromise;\n\t\tthis._contentCollapsed = this.collapsed;\n\t\tthis._animationRunning = false;\n\t}\n\n\ttoggle(selectedTab: Tab, previousTab: Tab) {\n\t\tif (selectedTab === previousTab) {\n\t\t\tthis.collapsed = !this.collapsed;\n\t\t} else {\n\t\t\tthis.collapsed = false;\n\t\t}\n\t}\n\n\t/**\n\t * Fires the <code>tab-select</code> event and changes the internal reference for the currently selected tab.\n\t * If the event is prevented, the current tab is not changed.\n\t * @private\n\t *\n\t * @param {sap.ui.webc.main.ITab} selectedTab selected tab instance\n\t * @param {number} selectedTabIndex selected tab index for an array containing all tabs and sub tabs. <b>Note:</b> Use the method <code>allTabs</code> to get this array.\n\t * @returns {boolean} true if the tab selection is successful, false if it was prevented\n\t */\n\tselectTab(selectedTab: Tab, selectedTabIndex: number) {\n\t\tif (!this.fireEvent<TabContainerTabSelectEventDetail>(\"tab-select\", { tab: selectedTab, tabIndex: selectedTabIndex }, true)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// select the tab\n\t\tthis._selectedTab = selectedTab;\n\t\treturn true;\n\t}\n\n\tslideContentDown(element: HTMLElement) {\n\t\treturn slideDown(element).promise();\n\t}\n\n\tslideContentUp(element: HTMLElement) {\n\t\treturn slideUp(element).promise();\n\t}\n\n\tasync _onOverflowClick(e: Event) {\n\t\tif ((e.target as HTMLElement).classList.contains(\"ui5-tc__overflow\")) {\n\t\t\t// the empty area in the overflow was clicked\n\t\t\treturn;\n\t\t}\n\n\t\tconst overflow = e.currentTarget as HTMLElement;\n\t\tconst isEndOverflow = overflow.classList.contains(\"ui5-tc__overflow--end\");\n\t\tconst overflowAttr = isEndOverflow ? \"end-overflow\" : \"start-overflow\";\n\n\t\tthis._overflowItems = this.items.filter(item => {\n\t\t\tconst stripRef = item.getTabInStripDomRef();\n\n\t\t\treturn stripRef && stripRef.hasAttribute(overflowAttr);\n\t\t});\n\n\t\tthis._addStyleIndent(this._overflowItems);\n\n\t\tlet opener;\n\t\tif (isEndOverflow) {\n\t\t\topener = this.overflowButton[0] || this._getEndOverflowBtnDOM();\n\t\t} else {\n\t\t\topener = this.startOverflowButton[0] || this._getStartOverflowBtnDOM();\n\t\t}\n\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tif (this.responsivePopover.opened) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis._setPopoverInitialFocus();\n\t\t\tthis.responsivePopover.showAt(opener);\n\t\t}\n\t}\n\n\t_addStyleIndent(tabs: Array<ITab>) {\n\t\tconst extraIndent = this._getAllSubItems(tabs)\n\t\t\t.filter(tab => !tab.isSeparator)\n\t\t\t.some(tab => tab.design !== SemanticColor.Default && tab.design !== SemanticColor.Neutral);\n\n\t\twalk(tabs, tab => {\n\t\t\tlet level = tab._level! - 1;\n\n\t\t\tif (tab.isSeparator) {\n\t\t\t\tlevel += 1;\n\t\t\t}\n\n\t\t\ttab._style = {\n\t\t\t\t\"--_ui5-tab-indentation-level\": level,\n\t\t\t\t\"--_ui5-tab-extra-indent\": extraIndent ? 1 : null,\n\t\t\t};\n\t\t});\n\t}\n\n\tasync _onOverflowKeyDown(e: KeyboardEvent) {\n\t\tconst overflow = e.currentTarget as HTMLElement;\n\t\tconst isEndOverflow = overflow.classList.contains(\"ui5-tc__overflow--end\");\n\t\tconst isStartOverflow = overflow.classList.contains(\"ui5-tc__overflow--start\");\n\n\t\tif (isDown(e) || (isStartOverflow && isLeft(e)) || (isEndOverflow && isRight(e))) {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\t\t\tawait this._onOverflowClick(e);\n\t\t}\n\t}\n\n\t_setItemsForStrip() {\n\t\tconst tabStrip = this._getTabStrip();\n\t\tlet allItemsWidth = 0;\n\n\t\tif (!this._selectedTab) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst itemsDomRefs = this.items.map(item => item.getTabInStripDomRef()!);\n\n\t\t// make sure the overflows are hidden\n\t\tthis._getStartOverflow().setAttribute(\"hidden\", \"\");\n\t\tthis._getEndOverflow().setAttribute(\"hidden\", \"\");\n\n\t\t// show all tabs\n\t\tfor (let i = 0; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].removeAttribute(\"hidden\");\n\t\t\titemsDomRefs[i].removeAttribute(\"start-overflow\");\n\t\t\titemsDomRefs[i].removeAttribute(\"end-overflow\");\n\t\t}\n\n\t\titemsDomRefs.forEach(item => {\n\t\t\tallItemsWidth += this._getItemWidth(item);\n\t\t});\n\n\t\tconst hasOverflow = tabStrip.offsetWidth < allItemsWidth;\n\t\tif (!hasOverflow) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModeStartAndEnd) {\n\t\t\tthis._updateStartAndEndOverflow(itemsDomRefs);\n\t\t\tthis._updateOverflowCounters();\n\t\t} else {\n\t\t\tthis._updateEndOverflow(itemsDomRefs);\n\t\t}\n\t}\n\n\t_getRootTab(tab: Tab) {\n\t\twhile (tab.hasAttribute(\"ui5-tab\")) {\n\t\t\tif (tab.parentElement!.hasAttribute(\"ui5-tabcontainer\")) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\ttab = tab.parentElement as Tab;\n\t\t}\n\n\t\treturn tab;\n\t}\n\n\t_updateEndOverflow(itemsDomRefs: Array<ITab>) {\n\t\t// show end overflow\n\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\tconst selectedTab = this._getRootTab(this._selectedTab);\n\t\tconst selectedTabDomRef = selectedTab.getTabInStripDomRef()!;\n\t\tconst containerWidth = this._getTabStrip().offsetWidth;\n\n\t\tconst selectedItemIndexAndWidth = this._getSelectedItemIndexAndWidth(itemsDomRefs, selectedTabDomRef);\n\t\tconst lastVisibleTabIndex = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\tfor (let i = lastVisibleTabIndex + 1; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t}\n\n\t\tthis._endOverflowText = this.overflowButtonText;\n\t}\n\n\t_updateStartAndEndOverflow(itemsDomRefs: Array<ITab>) {\n\t\tlet containerWidth = this._getTabStrip().offsetWidth;\n\t\tconst selectedTab = this._getRootTab(this._selectedTab);\n\t\tconst selectedTabDomRef = selectedTab.getTabInStripDomRef()!;\n\t\tconst selectedItemIndexAndWidth = this._getSelectedItemIndexAndWidth(itemsDomRefs, selectedTabDomRef);\n\t\tconst hasStartOverflow = this._hasStartOverflow(containerWidth, itemsDomRefs, selectedItemIndexAndWidth);\n\t\tconst hasEndOverflow = this._hasEndOverflow(containerWidth, itemsDomRefs, selectedItemIndexAndWidth);\n\t\tlet firstVisible;\n\t\tlet lastVisible;\n\n\t\t// has \"end\", but no \"start\" overflow\n\t\tif (!hasStartOverflow) {\n\t\t\t// show \"end\" overflow\n\t\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t\t// width is changed\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\t\tlastVisible = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\t\tfor (let i = lastVisible + 1; i < itemsDomRefs.length; i++) {\n\t\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// has \"start\", but no \"end\" overflow\n\t\tif (!hasEndOverflow) {\n\t\t\t// show \"start\" overflow\n\t\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t\t// width is changed\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\t\tfirstVisible = this._findFirstVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\t\tfor (let i = firstVisible - 1; i >= 0; i--) {\n\t\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\t\titemsDomRefs[i].setAttribute(\"start-overflow\", \"\");\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// show \"start\" overflow\n\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t// show \"end\" overflow\n\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t// width is changed\n\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\tfirstVisible = this._findFirstVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width, selectedItemIndexAndWidth.index - 1);\n\t\tlastVisible = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width, firstVisible);\n\n\t\tfor (let i = firstVisible - 1; i >= 0; i--) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"start-overflow\", \"\");\n\t\t}\n\n\t\tfor (let i = lastVisible + 1; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t}\n\t}\n\n\t_hasStartOverflow(containerWidth: number, itemsDomRefs: Array<ITab>, selectedItemIndexAndWidth: { width: number; index: number}) {\n\t\tif (selectedItemIndexAndWidth.index === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet leftItemsWidth = 0;\n\n\t\tfor (let i = selectedItemIndexAndWidth.index - 1; i >= 0; i--) {\n\t\t\tleftItemsWidth += this._getItemWidth(itemsDomRefs[i]);\n\t\t}\n\n\t\tlet hasStartOverflow = containerWidth < leftItemsWidth + selectedItemIndexAndWidth.width;\n\n\t\t// if there is no \"start\" overflow, it has \"end\" overflow\n\t\t// check it again with the \"end\" overflow\n\t\tif (!hasStartOverflow) {\n\t\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\t\t\thasStartOverflow = containerWidth < leftItemsWidth + selectedItemIndexAndWidth.width;\n\t\t\tthis._getEndOverflow().setAttribute(\"hidden\", \"\");\n\t\t}\n\n\t\treturn hasStartOverflow;\n\t}\n\n\t_hasEndOverflow(containerWidth: number, itemsDomRefs: Array<ITab>, selectedItemIndexAndWidth: { width: number; index: number}) {\n\t\tif (selectedItemIndexAndWidth.index >= itemsDomRefs.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet rightItemsWidth = 0;\n\n\t\tfor (let i = selectedItemIndexAndWidth.index; i < itemsDomRefs.length; i++) {\n\t\t\trightItemsWidth += this._getItemWidth(itemsDomRefs[i]);\n\t\t}\n\n\t\tlet hasEndOverflow = containerWidth < rightItemsWidth + selectedItemIndexAndWidth.width;\n\n\t\t// if there is no \"end\" overflow, it has \"start\" overflow\n\t\t// check it again with the \"start\" overflow\n\t\tif (!hasEndOverflow) {\n\t\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\t\t\thasEndOverflow = containerWidth < rightItemsWidth + selectedItemIndexAndWidth.width;\n\t\t\tthis._getStartOverflow().setAttribute(\"hidden\", \"\");\n\t\t}\n\n\t\treturn hasEndOverflow;\n\t}\n\n\t_getItemWidth(itemDomRef: HTMLElement) {\n\t\tconst styles = window.getComputedStyle(itemDomRef);\n\t\tconst margins = Number.parseInt(styles.marginLeft) + Number.parseInt(styles.marginRight);\n\n\t\treturn itemDomRef.offsetWidth + margins;\n\t}\n\n\t_getSelectedItemIndexAndWidth(itemsDomRefs: Array<ITab>, selectedTabDomRef: ITab) {\n\t\tlet index = itemsDomRefs.indexOf(selectedTabDomRef);\n\t\tlet width = selectedTabDomRef.offsetWidth;\n\t\tlet selectedSeparator;\n\n\t\tif (itemsDomRefs[index - 1] && itemsDomRefs[index - 1].isSeparator) {\n\t\t\tselectedSeparator = itemsDomRefs[index - 1];\n\t\t\twidth += this._getItemWidth(selectedSeparator);\n\t\t}\n\n\t\titemsDomRefs.splice(index, 1);\n\n\t\t// if previous item is a separator - remove it\n\t\tif (selectedSeparator) {\n\t\t\titemsDomRefs.splice(index - 1, 1);\n\t\t\tindex--;\n\t\t}\n\n\t\treturn {\n\t\t\tindex,\n\t\t\twidth,\n\t\t};\n\t}\n\n\t_findFirstVisibleItem(itemsDomRefs: Array<ITab>, containerWidth: number, selectedItemWidth: number, startIndex?: number) {\n\t\tif (startIndex === undefined) {\n\t\t\tstartIndex = itemsDomRefs.length - 1;\n\t\t}\n\n\t\tlet lastVisible = startIndex + 1;\n\n\t\tfor (let index = startIndex; index >= 0; index--) {\n\t\t\tconst itemWidth = this._getItemWidth(itemsDomRefs[index]);\n\n\t\t\tif (containerWidth < selectedItemWidth + itemWidth) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tselectedItemWidth += itemWidth;\n\t\t\tlastVisible = index;\n\t\t}\n\n\t\treturn lastVisible;\n\t}\n\n\t_findLastVisibleItem(itemsDomRefs: Array<ITab>, containerWidth: number, selectedItemWidth: number, startIndex = 0) {\n\t\tlet lastVisibleIndex = startIndex - 1;\n\t\tlet index = startIndex;\n\n\t\tfor (; index < itemsDomRefs.length; index++) {\n\t\t\tconst itemWidth = this._getItemWidth(itemsDomRefs[index]);\n\n\t\t\tif (containerWidth < selectedItemWidth + itemWidth) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tselectedItemWidth += itemWidth;\n\t\t\tlastVisibleIndex = index;\n\t\t}\n\n\t\t// if prev item is separator - hide it\n\t\tconst prevItem = itemsDomRefs[index - 1];\n\t\tif (prevItem && prevItem.isSeparator) {\n\t\t\tlastVisibleIndex -= 1;\n\t\t}\n\n\t\treturn lastVisibleIndex;\n\t}\n\n\tget isModeStartAndEnd() {\n\t\treturn this.tabsOverflowMode === TabsOverflowMode.StartAndEnd;\n\t}\n\n\t_updateOverflowCounters() {\n\t\tlet startOverflowItemsCount = 0;\n\t\tlet endOverflowItemsCount = 0;\n\n\t\tthis._getTabs()\n\t\t\t.map(tab => tab.getTabInStripDomRef()!)\n\t\t\t.forEach(tab => {\n\t\t\t\tif (tab.hasAttribute(\"start-overflow\")) {\n\t\t\t\t\tstartOverflowItemsCount++;\n\t\t\t\t}\n\n\t\t\t\tif (tab.hasAttribute(\"end-overflow\")) {\n\t\t\t\t\tendOverflowItemsCount++;\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis._startOverflowText = `+${startOverflowItemsCount}`;\n\t\tthis._endOverflowText = `+${endOverflowItemsCount}`;\n\t}\n\n\t_getFocusableRefs() {\n\t\tif (!this.getDomRef()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst focusableRefs = [];\n\n\t\tif (!this._getStartOverflow().hasAttribute(\"hidden\")) {\n\t\t\tfocusableRefs.push(this.startOverflowButton[0] || this._getStartOverflowBtnDOM());\n\t\t}\n\n\t\tthis._getTabs().forEach(tab => {\n\t\t\tconst ref = tab.getTabInStripDomRef();\n\t\t\tconst focusable = ref && !ref.hasAttribute(\"hidden\");\n\n\t\t\tif (focusable) {\n\t\t\t\tfocusableRefs.push(tab);\n\t\t\t}\n\t\t});\n\n\t\tif (!this._getEndOverflow().hasAttribute(\"hidden\")) {\n\t\t\tfocusableRefs.push(this.overflowButton[0] || this._getEndOverflowBtnDOM());\n\t\t}\n\n\t\treturn focusableRefs;\n\t}\n\n\t_getHeader() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-header`)!;\n\t}\n\n\t_getTabs(): Array<Tab> {\n\t\treturn this.items.filter((item): item is Tab => !item.isSeparator);\n\t}\n\n\tget hasSubTabs(): boolean {\n\t\tconst tabs = this._getTabs();\n\n\t\tfor (let i = 0; i < tabs.length; i++) {\n\t\t\tif (tabs[i].subTabs.length > 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t_getTabStrip() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-tabStrip`)!;\n\t}\n\n\t_getStartOverflow() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__overflow--start\")!;\n\t}\n\n\t_getEndOverflow() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__overflow--end\")!;\n\t}\n\n\t_getStartOverflowBtnDOM() {\n\t\treturn this._getStartOverflow().querySelector<Button>(\"[ui5-button]\");\n\t}\n\n\t_getEndOverflowBtnDOM() {\n\t\treturn this._getEndOverflow().querySelector<Button>(\"[ui5-button]\");\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(`#${this._id}-overflowMenu`)!;\n\t}\n\n\tasync _closeRespPopover() {\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tthis.responsivePopover.close();\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-tc-root\": true,\n\t\t\t\t\"ui5-tc--textOnly\": this.textOnly,\n\t\t\t\t\"ui5-tc--withAdditionalText\": this.withAdditionalText,\n\t\t\t\t\"ui5-tc--standardTabLayout\": this.standardTabLayout,\n\t\t\t},\n\t\t\theader: {\n\t\t\t\t\"ui5-tc__header\": true,\n\t\t\t},\n\t\t\ttabStrip: {\n\t\t\t\t\"ui5-tc__tabStrip\": true,\n\t\t\t},\n\t\t\tseparator: {\n\t\t\t\t\"ui5-tc__separator\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-tc__content\": true,\n\t\t\t\t\"ui5-tc__content--collapsed\": this._contentCollapsed,\n\t\t\t},\n\t\t};\n\t}\n\n\tget mixedMode() {\n\t\treturn this.items.some(item => item.icon) && this.items.some(item => item.text);\n\t}\n\n\tget textOnly() {\n\t\treturn this.items.every(item => !item.icon);\n\t}\n\n\tget withAdditionalText() {\n\t\treturn this.items.some(item => !!item.additionalText);\n\t}\n\n\tget standardTabLayout() {\n\t\treturn this.tabLayout === TabLayout.Standard;\n\t}\n\n\tget previousIconACCName() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_PREVIOUS_ICON_ACC_NAME);\n\t}\n\n\tget nextIconACCName() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_NEXT_ICON_ACC_NAME);\n\t}\n\n\tget overflowMenuTitle() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_OVERFLOW_MENU_TITLE);\n\t}\n\n\tget tabsAtTheBottom() {\n\t\treturn this.tabsPlacement === TabContainerTabsPlacement.Bottom;\n\t}\n\n\tget overflowMenuIcon() {\n\t\treturn this.tabsAtTheBottom ? \"slim-arrow-up\" : \"slim-arrow-down\";\n\t}\n\n\tget overflowButtonText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget popoverCancelButtonText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_POPOVER_CANCEL_BUTTON);\n\t}\n\n\tget accInvisibleText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_SUBTABS_DESCRIPTION);\n\t}\n\n\tget tablistAriaDescribedById() {\n\t\treturn this.hasSubTabs ? `${this._id}-invisibleText` : undefined;\n\t}\n\n\tget shouldAnimate() {\n\t\treturn getAnimationMode() !== AnimationMode.None;\n\t}\n\n\tstatic async onDefine() {\n\t\tTabContainer.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nconst isTabDiv = (el: HTMLElement) => el.localName === \"div\" && el.getAttribute(\"role\") === \"tab\";\n\nconst getTab = (el: HTMLElement | null) => {\n\twhile (el) {\n\t\tif (isTabDiv(el)) {\n\t\t\treturn el as Tab;\n\t\t}\n\n\t\tel = el.parentElement;\n\t}\n\n\treturn false;\n};\n\nconst walk = (tabs: Array<ITab>, callback: (_: ITab) => void) => {\n\t[...tabs].forEach(tab => {\n\t\tcallback(tab);\n\t\tif (tab.subTabs) {\n\t\t\twalk(tab.subTabs, callback);\n\t\t}\n\t});\n};\n\nTabContainer.define();\n\nexport default TabContainer;\nexport type {\n\tITab,\n\tTabContainerTabSelectEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"TabContainer.js","sourceRoot":"","sources":["../src/TabContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { StyleData } from \"@ui5/webcomponents-base/dist/types.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport slideDown from \"@ui5/webcomponents-base/dist/animations/slideDown.js\";\nimport slideUp from \"@ui5/webcomponents-base/dist/animations/slideUp.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisRight,\n\tisLeft,\n\tisUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-up.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport {\n\tTABCONTAINER_PREVIOUS_ICON_ACC_NAME,\n\tTABCONTAINER_NEXT_ICON_ACC_NAME,\n\tTABCONTAINER_OVERFLOW_MENU_TITLE,\n\tTABCONTAINER_END_OVERFLOW,\n\tTABCONTAINER_POPOVER_CANCEL_BUTTON,\n\tTABCONTAINER_SUBTABS_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport Icon from \"./Icon.js\";\nimport List from \"./List.js\";\nimport type Tab from \"./Tab.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport type CustomListItem from \"./CustomListItem.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TabContainerTabsPlacement from \"./types/TabContainerTabsPlacement.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport TabContainerBackgroundDesign from \"./types/TabContainerBackgroundDesign.js\";\nimport TabLayout from \"./types/TabLayout.js\";\nimport TabsOverflowMode from \"./types/TabsOverflowMode.js\";\n\n// Templates\nimport TabContainerTemplate from \"./generated/templates/TabContainerTemplate.lit.js\";\nimport TabContainerPopoverTemplate from \"./generated/templates/TabContainerPopoverTemplate.lit.js\";\n\n// Styles\nimport tabContainerCss from \"./generated/themes/TabContainer.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\nconst tabStyles: Array<StyleData> = [];\nconst staticAreaTabStyles: Array<StyleData> = [];\nconst PAGE_UP_DOWN_SIZE = 5;\n\ninterface ITab extends UI5Element {\n\tisSeparator: boolean;\n\tgetTabInStripDomRef: () => ITab | null;\n\tstableDomRef: string;\n\tadditionalText?: string;\n\tdesign?: `${SemanticColor}`;\n\tdisabled?: boolean;\n\ticon?: string;\n\tisSingleClickArea?: boolean;\n\trequiresExpandButton?: boolean;\n\tselected?: boolean;\n\tsubTabs?: Array<ITab>;\n\ttabs?: Array<ITab>\n\ttext?: string;\n\t_tabIndex?: string;\n\t_hasOwnContent?: boolean;\n\t_level?: number;\n\t_selected?: boolean;\n\t_getElementInStrip?: () => ITab | null;\n\t_isInline?: boolean;\n\t_mixedMode?: boolean;\n\t_posinset?: number;\n\t_setsize?: number;\n\t_realTab?: Tab;\n\t_isTopLevelTab?: boolean;\n\t_style?: Record<string, any>;\n}\n\ntype TabContainerTabSelectEventDetail = {\n\ttab: Tab;\n\ttabIndex: number;\n}\n\ninterface TabContainerExpandButton extends Button {\n\ttab: Tab;\n}\n\ninterface TabContainerTabInOverflow extends CustomListItem {\n\t_realTab: Tab;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-tabcontainer</code> represents a collection of tabs with associated content.\n * Navigation through the tabs changes the content display of the currently active content area.\n * A tab can be labeled with text only, or icons with text.\n *\n * <h3>Structure</h3>\n *\n * The <code>ui5-tabcontainer</code> can hold two types of entities:\n * <ul>\n * <li><code>ui5-tab</code> - contains all the information on an item (text and icon)</li>\n * <li><code>ui5-tab-separator</code> - used to separate tabs with a line</li>\n * </ul>\n *\n * <h3>Hierarchies</h3>\n * Multiple sub tabs could be placed underneath one main tab. Nesting allows deeper hierarchies with indentations\n * to indicate the level of each nested tab. When a tab has both sub tabs and own content its click area is split\n * to allow the user to display the content or alternatively to expand / collapse the list of sub tabs.\n *\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-tabcontainer</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>content - Used to style the content of the component</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n * <br><br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/TabContainer\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents/dist/Tab\";</code> (for <code>ui5-tab</code>)\n * <br>\n * <code>import \"@ui5/webcomponents/dist/TabSeparator\";</code> (for <code>ui5-tab-separator</code>)\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.TabContainer\n * @extends sap.ui.webc.base.UI5Element\n * @appenddocs sap.ui.webc.main.Tab sap.ui.webc.main.TabSeparator\n * @tagname ui5-tabcontainer\n * @public\n */\n@customElement({\n\ttag: \"ui5-tabcontainer\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\tstyles: [tabStyles, tabContainerCss],\n\tstaticAreaStyles: [ResponsivePopoverCommonCss, staticAreaTabStyles],\n\trenderer: litRender,\n\ttemplate: TabContainerTemplate,\n\tstaticAreaTemplate: TabContainerPopoverTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tIcon,\n\t\tList,\n\t\tResponsivePopover,\n\t],\n})\n/**\n * Fired when a tab is selected.\n *\n * @event sap.ui.webc.main.TabContainer#tab-select\n * @param {HTMLElement} tab The selected <code>tab</code>.\n * @param {Integer} tabIndex The selected <code>tab</code> index in the flattened array of all tabs and their subTabs, provided by the <code>allItems</code> getter.\n * @public\n * @allowPreventDefault\n */\n@event(\"tab-select\", {\n\tdetail: {\n\t\ttab: { type: HTMLElement },\n\t\ttabIndex: { type: Number },\n\t},\n})\nclass TabContainer extends UI5Element {\n\t/**\n\t * Defines whether the tabs are in a fixed state that is not\n\t * expandable/collapsible by user interaction.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.TabContainer.prototype.fixed\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tfixed!: boolean;\n\n\t/**\n\t * Defines whether the tab content is collapsed.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.TabContainer.prototype.collapsed\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcollapsed!: boolean;\n\n\t/**\n\t * Defines whether the overflow select list is displayed.\n\t * <br><br>\n\t * The overflow select list represents a list, where all tabs are displayed\n\t * so that it's easier for the user to select a specific tab.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.TabContainer.prototype.showOverflow\n\t * @defaultvalue false\n\t * @public\n\t * @deprecated Since the introduction of TabsOverflowMode, overflows will always be visible if there is not enough space for all tabs,\n\t * all hidden tabs are moved to a select list in the respective overflows and are accessible via the <code>overflowButton</code> and / or <code>startOverflowButton</code> slots.\n\t */\n\t@property({ type: Boolean })\n\tshowOverflow!: boolean;\n\n\t/**\n\t * Defines the alignment of the content and the <code>additionalText</code> of a tab.\n\t *\n\t * <br>\n\t * <b>Note:</b>\n\t * The content and the <code>additionalText</code> would be displayed vertically by default,\n\t * but when set to <code>Inline</code>, they would be displayed horizontally.\n\t *\n\t * @type {sap.ui.webc.main.types.TabLayout}\n\t * @name sap.ui.webc.main.TabContainer.prototype.tabLayout\n\t * @defaultvalue \"Standard\"\n\t * @public\n\t */\n\t@property({ type: TabLayout, defaultValue: TabLayout.Standard })\n\ttabLayout!: `${TabLayout}`;\n\n\t/**\n\t * Defines the overflow mode of the header (the tab strip). If you have a large number of tabs, only the tabs that can fit on screen will be visible.\n\t * All other tabs that can 't fit on the screen are available in an overflow tab \"More\".\n\t *\n\t * <br>\n\t * <b>Note:</b>\n\t * Only one overflow at the end would be displayed by default,\n\t * but when set to <code>StartAndEnd</code>, there will be two overflows on both ends, and tab order will not change on tab selection.\n\t *\n\t * @type {sap.ui.webc.main.types.TabsOverflowMode}\n\t * @name sap.ui.webc.main.TabContainer.prototype.tabsOverflowMode\n\t * @defaultvalue \"End\"\n\t * @since 1.1.0\n\t * @public\n\t */\n\t@property({ type: TabsOverflowMode, defaultValue: TabsOverflowMode.End })\n\ttabsOverflowMode!: `${TabsOverflowMode}`;\n\n\t/**\n\t * Sets the background color of the Tab Container's header as <code>Solid</code>, <code>Transparent</code>, or <code>Translucent</code>.\n\t *\n\t * @type {sap.ui.webc.main.types.TabContainerBackgroundDesign}\n\t * @name sap.ui.webc.main.TabContainer.prototype.headerBackgroundDesign\n\t * @defaultvalue \"Solid\"\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@property({ type: TabContainerBackgroundDesign, defaultValue: TabContainerBackgroundDesign.Solid })\n\theaderBackgroundDesign!: `${TabContainerBackgroundDesign}`;\n\n\t/**\n\t * Sets the background color of the Tab Container's content as <code>Solid</code>, <code>Transparent</code>, or <code>Translucent</code>.\n\t *\n\t * @type {sap.ui.webc.main.types.TabContainerBackgroundDesign}\n\t * @name sap.ui.webc.main.TabContainer.prototype.contentBackgroundDesign\n\t * @defaultvalue \"Solid\"\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@property({ type: TabContainerBackgroundDesign, defaultValue: TabContainerBackgroundDesign.Solid })\n\tcontentBackgroundDesign!: `${TabContainerBackgroundDesign}`;\n\n\t/**\n\t * Defines the placement of the tab strip relative to the actual tabs' content.\n\t * <br><br>\n\t * <b>Note:</b> By default the tab strip is displayed above the tabs' content area and this is the recommended\n\t * layout for most scenarios. Set to <code>Bottom</code> only when the component is at the\n\t * bottom of the page and you want the tab strip to act as a menu.\n\t *\n\t * @type {sap.ui.webc.main.types.TabContainerTabsPlacement}\n\t * @name sap.ui.webc.main.TabContainer.prototype.tabsPlacement\n\t * @defaultvalue \"Top\"\n\t * @since 1.0.0-rc.7\n\t * @private\n\t */\n\t@property({ type: TabContainerTabsPlacement, defaultValue: TabContainerTabsPlacement.Top })\n\ttabsPlacement!: `${TabContainerTabsPlacement}`;\n\n\t/**\n\t * Defines the current media query size.\n\t *\n\t * @type {string}\n\t * @private\n\t */\n\t@property()\n\tmediaRange!: string;\n\n\t@property({ type: Object })\n\t_selectedTab!: Tab;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationRunning!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_contentCollapsed!: boolean;\n\n\t@property({ noAttribute: true, defaultValue: \"0\" })\n\t_startOverflowText!: string;\n\n\t@property({ noAttribute: true, defaultValue: \"More\" })\n\t_endOverflowText!: string;\n\n\t@property({ type: Object, multiple: true })\n\t_overflowItems!: Array<ITab>;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_width?: number;\n\n\t/**\n\t * Defines the tabs.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-tab</code> and <code>ui5-tab-separator</code> for the intended design.\n\t *\n\t * @type {sap.ui.webc.main.ITab[]}\n\t * @public\n\t * @slot items\n\t * @name sap.ui.webc.main.TabContainer.prototype.default\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\titems!: Array<ITab>;\n\n\t/**\n\t * Defines the button which will open the overflow menu. If nothing is provided to this slot,\n\t * the default button will be used.\n\t *\n\t * @type {sap.ui.webc.main.IButton}\n\t * @public\n\t * @slot\n\t * @since 1.0.0-rc.9\n\t * @name sap.ui.webc.main.TabContainer.prototype.overflowButton\n\t */\n\t@slot()\n\toverflowButton!: Array<Button>;\n\n\t/**\n\t * Defines the button which will open the start overflow menu if available. If nothing is provided to this slot,\n\t * the default button will be used.\n\t *\n\t * @type {sap.ui.webc.main.IButton}\n\t * @public\n\t * @slot\n\t * @since 1.1.0\n\t * @name sap.ui.webc.main.TabContainer.prototype.startOverflowButton\n\t */\n\t@slot()\n\tstartOverflowButton!: Array<Button>;\n\n\t_itemNavigation: ItemNavigation;\n\t_allItemsAndSubItems?: Array<ITab>;\n\tresponsivePopover?: ResponsivePopover;\n\t_handleResizeBound: () => void;\n\n\tstatic registerTabStyles(styles: StyleData) {\n\t\ttabStyles.push(styles);\n\t}\n\n\tstatic registerStaticAreaTabStyles(styles: StyleData) {\n\t\tstaticAreaTabStyles.push(styles);\n\t}\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\n\t\t// Init ItemNavigation\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this._getFocusableRefs(),\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE,\n\t\t});\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._allItemsAndSubItems = this._getAllSubItems(this.items);\n\t\tif (!this._allItemsAndSubItems.length) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update selected tab\n\t\tconst selectedTabs = this._allItemsAndSubItems.filter(tab => tab.selected) as Array<Tab>;\n\t\tif (selectedTabs.length) {\n\t\t\tthis._selectedTab._selected = false;\n\t\t\tthis._selectedTab = selectedTabs[0];\n\t\t} else {\n\t\t\tthis._selectedTab = this._allItemsAndSubItems[0] as Tab;\n\t\t\tthis._selectedTab._selected = true;\n\t\t}\n\n\t\tthis._setItemsPrivateProperties(this.items);\n\n\t\tif (!this._animationRunning) {\n\t\t\tthis._contentCollapsed = this.collapsed;\n\t\t}\n\n\t\tif (this.showOverflow) {\n\t\t\tconsole.warn(`The \"show-overflow\" property is deprecated and will be removed in a future release.`); // eslint-disable-line\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setItemsForStrip();\n\n\t\tif (!this.shadowRoot!.contains(document.activeElement)) {\n\t\t\tconst focusStart = this._getRootTab(this._selectedTab);\n\t\t\tthis._itemNavigation.setCurrentItem(focusStart);\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this._getHeader(), this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this._getHeader(), this._handleResizeBound);\n\t}\n\n\t_handleResize() {\n\t\tif (this.responsivePopover && this.responsivePopover.opened) {\n\t\t\tthis.responsivePopover.close();\n\t\t}\n\n\t\tthis._width = this.offsetWidth;\n\t\tthis._updateMediaRange(this._width);\n\t}\n\n\t_updateMediaRange(width: number) {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, width);\n\t}\n\n\t_setItemsPrivateProperties(items: Array<ITab>) {\n\t\t// set real dom ref to all items, then return only the tabs for further processing\n\t\tconst allTabs = items.filter(item => {\n\t\t\titem._getElementInStrip = () => this.getDomRef()!.querySelector(`#${item._id}`);\n\t\t\treturn !item.isSeparator;\n\t\t});\n\n\t\tallTabs.forEach((tab, index, arr) => {\n\t\t\ttab._isInline = this.tabLayout === TabLayout.Inline;\n\t\t\ttab._mixedMode = this.mixedMode;\n\t\t\ttab._posinset = index + 1;\n\t\t\ttab._setsize = arr.length;\n\t\t\ttab._realTab = this._selectedTab;\n\t\t\ttab._isTopLevelTab = items.some(i => i === tab);\n\t\t\twalk(items, _tab => {\n\t\t\t\t_tab._realTab = tab._realTab;\n\t\t\t});\n\t\t});\n\t}\n\n\t_onHeaderFocusin(e: FocusEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\n\t\tif (tab) {\n\t\t\tthis._itemNavigation.setCurrentItem(tab._realTab);\n\t\t}\n\t}\n\n\tasync _onTabStripClick(e: Event) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab._realTab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tif ((e.target as HTMLElement).hasAttribute(\"ui5-button\")) {\n\t\t\tthis._onTabExpandButtonClick(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!tab._realTab._hasOwnContent && tab._realTab.tabs.length) {\n\t\t\tthis._overflowItems = tab._realTab.subTabs;\n\t\t\tthis._addStyleIndent(this._overflowItems);\n\n\t\t\tthis.responsivePopover = await this._respPopover();\n\t\t\tif (this.responsivePopover.opened) {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t} else {\n\t\t\t\tthis._setPopoverInitialFocus();\n\t\t\t}\n\n\t\t\tthis.responsivePopover.showAt(tab._realTab.getTabInStripDomRef()!);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onHeaderItemSelect(tab);\n\t}\n\n\tasync _onTabExpandButtonClick(e: Event) {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tlet button = e.target as HTMLElement;\n\t\tlet tabInstance = (button as TabContainerExpandButton).tab;\n\n\t\tif (tabInstance) {\n\t\t\ttabInstance.focus();\n\t\t}\n\n\t\tif (e.type === \"keydown\" && !(e.target as Tab)._realTab.isSingleClickArea) {\n\t\t\tbutton = (e.target as Tab).querySelectorAll<HTMLElement>(\".ui5-tab-expand-button\")[0];\n\t\t\ttabInstance = (e.target as Tab)._realTab;\n\t\t}\n\n\t\t// if clicked between the expand button and the tab\n\t\tif (!tabInstance) {\n\t\t\tthis._onHeaderItemSelect(button.parentElement as HTMLElement);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._overflowItems = tabInstance.subTabs;\n\t\tthis._addStyleIndent(this._overflowItems);\n\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tif (this.responsivePopover.isOpen()) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis._setPopoverInitialFocus();\n\t\t}\n\t\tthis.responsivePopover.showAt(button);\n\t}\n\n\t_setPopoverInitialFocus() {\n\t\tconst selectedTabInOverflow = this._getSelectedTabInOverflow();\n\t\tconst tab = selectedTabInOverflow || this._getFirstFocusableItemInOverflow();\n\n\t\tthis.responsivePopover!.initialFocus = `${tab._realTab._id}-li`;\n\t}\n\n\t_getSelectedTabInOverflow() {\n\t\treturn <TabContainerTabInOverflow>(<List> this.responsivePopover!.content[0]).items.find(item => {\n\t\t\treturn (<TabContainerTabInOverflow>item)._realTab && (<TabContainerTabInOverflow>item)._realTab.selected;\n\t\t});\n\t}\n\n\t_getFirstFocusableItemInOverflow() {\n\t\treturn <TabContainerTabInOverflow>(<List> this.responsivePopover!.content[0]).items.find(item => item.classList.contains(\"ui5-tab-overflow-item\"));\n\t}\n\n\t_onTabStripKeyDown(e: KeyboardEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab._realTab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tif (tab._realTab.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t} else {\n\t\t\t\tthis._onHeaderItemSelect(tab);\n\t\t\t}\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault(); // prevent scrolling\n\t\t}\n\n\t\tif (isDown(e) || isUp(e)) {\n\t\t\tif (tab._realTab.requiresExpandButton) {\n\t\t\t\tthis._onTabExpandButtonClick(e);\n\t\t\t}\n\t\t\tif (tab._realTab.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onTabStripKeyUp(e: KeyboardEvent) {\n\t\tconst tab = getTab(e.target as HTMLElement);\n\t\tif (!tab || tab._realTab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tif (tab._realTab.isSingleClickArea) {\n\t\t\t\tthis._onTabStripClick(e);\n\t\t\t} else {\n\t\t\t\tthis._onHeaderItemSelect(tab);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onHeaderItemSelect(tab: HTMLElement) {\n\t\tif (!tab.hasAttribute(\"disabled\")) {\n\t\t\tthis._onItemSelect(tab.id);\n\t\t}\n\t}\n\n\tasync _onOverflowListItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\te.preventDefault(); // cancel the item selection\n\n\t\tthis._onItemSelect(e.detail.item.id.slice(0, -3)); // strip \"-li\" from end of id\n\n\t\tthis.responsivePopover!.close();\n\t\tawait renderFinished();\n\n\t\tconst selectedTopLevel = this._getRootTab(this._selectedTab);\n\t\tselectedTopLevel.getTabInStripDomRef()!.focus();\n\t}\n\n\t/**\n\t * Returns all slotted tabs and their subTabs in a flattened array.\n\t * The order of tabs is depth-first. For example, given the following slotted elements:\n\t * <pre><code>\n\t * \t<ui5-tabcontainer>\n\t * \t\t<ui5-tab id=\"First\" text=\"First\">\n\t * \t\t\t...\n\t * \t\t\t<ui5-tab slot=\"subTabs\" id=\"Nested\" text=\"Nested\">...</ui5-tab>\n\t * \t\t</ui5-tab>\n\t * \t\t<ui5-tab id=\"Second\" text=\"Second\">...</ui5-tab>\n\t * \t\t<ui5-tab-separator id=\"sep\"></ui5-tab-separator>\n\t * \t\t<ui5-tab id=\"Third\" text=\"Third\">...</ui5-tab>\n\t * \t</ui5-tabcontainer>\n\t * </code></pre>\n\t * Calling <code>allItems</code> on this TabContainer will return the instances in the following order:\n\t * <code>[ ui5-tab#First, ui5-tab#Nested, ui5-tab#Second, ui5-tab-separator#sep, ui5-tab#Third ]</code>\n\t * @public\n\t * @readonly\n\t * @name sap.ui.webc.main.TabContainer.prototype.allItems\n\t * @returns {sap.ui.webc.main.ITab[]}\n\t */\n\tget allItems() {\n\t\treturn this._getAllSubItems(this.items);\n\t}\n\n\t_getAllSubItems(items: Array<ITab>, result: Array<ITab> = [], level = 1) {\n\t\titems.forEach(item => {\n\t\t\tif (item.hasAttribute(\"ui5-tab\") || item.hasAttribute(\"ui5-tab-separator\")) {\n\t\t\t\titem._level = level;\n\t\t\t\tresult.push(item);\n\n\t\t\t\tif (item.subTabs) {\n\t\t\t\t\tthis._getAllSubItems(item.subTabs, result, level + 1);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_onItemSelect(selectedTabId: string) {\n\t\tconst previousTab = this._selectedTab;\n\t\tconst selectedTabIndex = this._allItemsAndSubItems!.findIndex(item => item.__id === selectedTabId);\n\t\tconst selectedTab = this._allItemsAndSubItems![selectedTabIndex] as Tab;\n\n\t\tconst selectionSuccessful = this.selectTab(selectedTab, selectedTabIndex);\n\t\tif (!selectionSuccessful) {\n\t\t\treturn;\n\t\t}\n\n\t\t// update selected property on all items\n\t\tthis._allItemsAndSubItems!.forEach((item, index) => {\n\t\t\tconst selected = selectedTabIndex === index;\n\t\t\titem.selected = selected;\n\n\t\t\tif (item._selected) {\n\t\t\t\titem._selected = false;\n\t\t\t}\n\t\t});\n\n\t\tif (this.fixed) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.shouldAnimate) {\n\t\t\tthis.toggle(selectedTab, previousTab);\n\t\t} else {\n\t\t\tthis.toggleAnimated(selectedTab, previousTab);\n\t\t}\n\t}\n\n\tasync toggleAnimated(selectedTab: Tab, previousTab: Tab) {\n\t\tconst content = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__content\")!;\n\t\tlet animationPromise = null;\n\n\t\tthis._animationRunning = true;\n\n\t\tif (selectedTab === previousTab) {\n\t\t\t// click on already selected tab - animate both directions\n\t\t\tthis.collapsed = !this.collapsed;\n\t\t\tanimationPromise = this.collapsed ? this.slideContentUp(content) : this.slideContentDown(content);\n\t\t} else {\n\t\t\t// click on new tab - animate if the content is currently collapsed\n\t\t\tanimationPromise = this.collapsed ? this.slideContentDown(content) : Promise.resolve();\n\t\t\tthis.collapsed = false;\n\t\t}\n\n\t\tawait animationPromise;\n\t\tthis._contentCollapsed = this.collapsed;\n\t\tthis._animationRunning = false;\n\t}\n\n\ttoggle(selectedTab: Tab, previousTab: Tab) {\n\t\tif (selectedTab === previousTab) {\n\t\t\tthis.collapsed = !this.collapsed;\n\t\t} else {\n\t\t\tthis.collapsed = false;\n\t\t}\n\t}\n\n\t/**\n\t * Fires the <code>tab-select</code> event and changes the internal reference for the currently selected tab.\n\t * If the event is prevented, the current tab is not changed.\n\t * @private\n\t *\n\t * @param {sap.ui.webc.main.ITab} selectedTab selected tab instance\n\t * @param {number} selectedTabIndex selected tab index for an array containing all tabs and sub tabs. <b>Note:</b> Use the method <code>allTabs</code> to get this array.\n\t * @returns {boolean} true if the tab selection is successful, false if it was prevented\n\t */\n\tselectTab(selectedTab: Tab, selectedTabIndex: number) {\n\t\tif (!this.fireEvent<TabContainerTabSelectEventDetail>(\"tab-select\", { tab: selectedTab, tabIndex: selectedTabIndex }, true)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// select the tab\n\t\tthis._selectedTab = selectedTab;\n\t\treturn true;\n\t}\n\n\tslideContentDown(element: HTMLElement) {\n\t\treturn slideDown(element).promise();\n\t}\n\n\tslideContentUp(element: HTMLElement) {\n\t\treturn slideUp(element).promise();\n\t}\n\n\tasync _onOverflowClick(e: Event) {\n\t\tif ((e.target as HTMLElement).classList.contains(\"ui5-tc__overflow\")) {\n\t\t\t// the empty area in the overflow was clicked\n\t\t\treturn;\n\t\t}\n\n\t\tconst overflow = e.currentTarget as HTMLElement;\n\t\tconst isEndOverflow = overflow.classList.contains(\"ui5-tc__overflow--end\");\n\t\tconst overflowAttr = isEndOverflow ? \"end-overflow\" : \"start-overflow\";\n\n\t\tthis._overflowItems = this.items.filter(item => {\n\t\t\tconst stripRef = item.getTabInStripDomRef();\n\n\t\t\treturn stripRef && stripRef.hasAttribute(overflowAttr);\n\t\t});\n\n\t\tthis._addStyleIndent(this._overflowItems);\n\n\t\tlet opener;\n\t\tif (isEndOverflow) {\n\t\t\topener = this.overflowButton[0] || this._getEndOverflowBtnDOM();\n\t\t} else {\n\t\t\topener = this.startOverflowButton[0] || this._getStartOverflowBtnDOM();\n\t\t}\n\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tif (this.responsivePopover.opened) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis._setPopoverInitialFocus();\n\t\t\tthis.responsivePopover.showAt(opener);\n\t\t}\n\t}\n\n\t_addStyleIndent(tabs: Array<ITab>) {\n\t\tconst extraIndent = this._getAllSubItems(tabs)\n\t\t\t.filter(tab => !tab.isSeparator)\n\t\t\t.some(tab => tab.design !== SemanticColor.Default && tab.design !== SemanticColor.Neutral);\n\n\t\twalk(tabs, tab => {\n\t\t\tlet level = tab._level! - 1;\n\n\t\t\tif (tab.isSeparator) {\n\t\t\t\tlevel += 1;\n\t\t\t}\n\n\t\t\ttab._style = {\n\t\t\t\t\"--_ui5-tab-indentation-level\": level,\n\t\t\t\t\"--_ui5-tab-extra-indent\": extraIndent ? 1 : null,\n\t\t\t};\n\t\t});\n\t}\n\n\tasync _onOverflowKeyDown(e: KeyboardEvent) {\n\t\tconst overflow = e.currentTarget as HTMLElement;\n\t\tconst isEndOverflow = overflow.classList.contains(\"ui5-tc__overflow--end\");\n\t\tconst isStartOverflow = overflow.classList.contains(\"ui5-tc__overflow--start\");\n\n\t\tif (isDown(e) || (isStartOverflow && isLeft(e)) || (isEndOverflow && isRight(e))) {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\t\t\tawait this._onOverflowClick(e);\n\t\t}\n\t}\n\n\t_setItemsForStrip() {\n\t\tconst tabStrip = this._getTabStrip();\n\t\tlet allItemsWidth = 0;\n\n\t\tif (!this._selectedTab) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst itemsDomRefs = this.items.map(item => item.getTabInStripDomRef()!);\n\n\t\t// make sure the overflows are hidden\n\t\tthis._getStartOverflow().setAttribute(\"hidden\", \"\");\n\t\tthis._getEndOverflow().setAttribute(\"hidden\", \"\");\n\n\t\t// show all tabs\n\t\tfor (let i = 0; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].removeAttribute(\"hidden\");\n\t\t\titemsDomRefs[i].removeAttribute(\"start-overflow\");\n\t\t\titemsDomRefs[i].removeAttribute(\"end-overflow\");\n\t\t}\n\n\t\titemsDomRefs.forEach(item => {\n\t\t\tallItemsWidth += this._getItemWidth(item);\n\t\t});\n\n\t\tconst hasOverflow = tabStrip.offsetWidth < allItemsWidth;\n\t\tif (!hasOverflow) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModeStartAndEnd) {\n\t\t\tthis._updateStartAndEndOverflow(itemsDomRefs);\n\t\t\tthis._updateOverflowCounters();\n\t\t} else {\n\t\t\tthis._updateEndOverflow(itemsDomRefs);\n\t\t}\n\t}\n\n\t_getRootTab(tab: Tab) {\n\t\twhile (tab.hasAttribute(\"ui5-tab\")) {\n\t\t\tif (tab.parentElement!.hasAttribute(\"ui5-tabcontainer\")) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\ttab = tab.parentElement as Tab;\n\t\t}\n\n\t\treturn tab;\n\t}\n\n\t_updateEndOverflow(itemsDomRefs: Array<ITab>) {\n\t\t// show end overflow\n\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\tconst selectedTab = this._getRootTab(this._selectedTab);\n\t\tconst selectedTabDomRef = selectedTab.getTabInStripDomRef()!;\n\t\tconst containerWidth = this._getTabStrip().offsetWidth;\n\n\t\tconst selectedItemIndexAndWidth = this._getSelectedItemIndexAndWidth(itemsDomRefs, selectedTabDomRef);\n\t\tconst lastVisibleTabIndex = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\tfor (let i = lastVisibleTabIndex + 1; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t}\n\n\t\tthis._endOverflowText = this.overflowButtonText;\n\t}\n\n\t_updateStartAndEndOverflow(itemsDomRefs: Array<ITab>) {\n\t\tlet containerWidth = this._getTabStrip().offsetWidth;\n\t\tconst selectedTab = this._getRootTab(this._selectedTab);\n\t\tconst selectedTabDomRef = selectedTab.getTabInStripDomRef()!;\n\t\tconst selectedItemIndexAndWidth = this._getSelectedItemIndexAndWidth(itemsDomRefs, selectedTabDomRef);\n\t\tconst hasStartOverflow = this._hasStartOverflow(containerWidth, itemsDomRefs, selectedItemIndexAndWidth);\n\t\tconst hasEndOverflow = this._hasEndOverflow(containerWidth, itemsDomRefs, selectedItemIndexAndWidth);\n\t\tlet firstVisible;\n\t\tlet lastVisible;\n\n\t\t// has \"end\", but no \"start\" overflow\n\t\tif (!hasStartOverflow) {\n\t\t\t// show \"end\" overflow\n\t\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t\t// width is changed\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\t\tlastVisible = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\t\tfor (let i = lastVisible + 1; i < itemsDomRefs.length; i++) {\n\t\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// has \"start\", but no \"end\" overflow\n\t\tif (!hasEndOverflow) {\n\t\t\t// show \"start\" overflow\n\t\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t\t// width is changed\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\t\tfirstVisible = this._findFirstVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width);\n\n\t\t\tfor (let i = firstVisible - 1; i >= 0; i--) {\n\t\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\t\titemsDomRefs[i].setAttribute(\"start-overflow\", \"\");\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// show \"start\" overflow\n\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t// show \"end\" overflow\n\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t// width is changed\n\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\n\t\tfirstVisible = this._findFirstVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width, selectedItemIndexAndWidth.index - 1);\n\t\tlastVisible = this._findLastVisibleItem(itemsDomRefs, containerWidth, selectedItemIndexAndWidth.width, firstVisible);\n\n\t\tfor (let i = firstVisible - 1; i >= 0; i--) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"start-overflow\", \"\");\n\t\t}\n\n\t\tfor (let i = lastVisible + 1; i < itemsDomRefs.length; i++) {\n\t\t\titemsDomRefs[i].setAttribute(\"hidden\", \"\");\n\t\t\titemsDomRefs[i].setAttribute(\"end-overflow\", \"\");\n\t\t}\n\t}\n\n\t_hasStartOverflow(containerWidth: number, itemsDomRefs: Array<ITab>, selectedItemIndexAndWidth: { width: number; index: number}) {\n\t\tif (selectedItemIndexAndWidth.index === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet leftItemsWidth = 0;\n\n\t\tfor (let i = selectedItemIndexAndWidth.index - 1; i >= 0; i--) {\n\t\t\tleftItemsWidth += this._getItemWidth(itemsDomRefs[i]);\n\t\t}\n\n\t\tlet hasStartOverflow = containerWidth < leftItemsWidth + selectedItemIndexAndWidth.width;\n\n\t\t// if there is no \"start\" overflow, it has \"end\" overflow\n\t\t// check it again with the \"end\" overflow\n\t\tif (!hasStartOverflow) {\n\t\t\tthis._getEndOverflow().removeAttribute(\"hidden\");\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\t\t\thasStartOverflow = containerWidth < leftItemsWidth + selectedItemIndexAndWidth.width;\n\t\t\tthis._getEndOverflow().setAttribute(\"hidden\", \"\");\n\t\t}\n\n\t\treturn hasStartOverflow;\n\t}\n\n\t_hasEndOverflow(containerWidth: number, itemsDomRefs: Array<ITab>, selectedItemIndexAndWidth: { width: number; index: number}) {\n\t\tif (selectedItemIndexAndWidth.index >= itemsDomRefs.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet rightItemsWidth = 0;\n\n\t\tfor (let i = selectedItemIndexAndWidth.index; i < itemsDomRefs.length; i++) {\n\t\t\trightItemsWidth += this._getItemWidth(itemsDomRefs[i]);\n\t\t}\n\n\t\tlet hasEndOverflow = containerWidth < rightItemsWidth + selectedItemIndexAndWidth.width;\n\n\t\t// if there is no \"end\" overflow, it has \"start\" overflow\n\t\t// check it again with the \"start\" overflow\n\t\tif (!hasEndOverflow) {\n\t\t\tthis._getStartOverflow().removeAttribute(\"hidden\");\n\t\t\tcontainerWidth = this._getTabStrip().offsetWidth;\n\t\t\thasEndOverflow = containerWidth < rightItemsWidth + selectedItemIndexAndWidth.width;\n\t\t\tthis._getStartOverflow().setAttribute(\"hidden\", \"\");\n\t\t}\n\n\t\treturn hasEndOverflow;\n\t}\n\n\t_getItemWidth(itemDomRef: HTMLElement) {\n\t\tconst styles = window.getComputedStyle(itemDomRef);\n\t\tconst margins = Number.parseInt(styles.marginLeft) + Number.parseInt(styles.marginRight);\n\n\t\treturn itemDomRef.offsetWidth + margins;\n\t}\n\n\t_getSelectedItemIndexAndWidth(itemsDomRefs: Array<ITab>, selectedTabDomRef: ITab) {\n\t\tlet index = itemsDomRefs.indexOf(selectedTabDomRef);\n\t\tlet width = selectedTabDomRef.offsetWidth;\n\t\tlet selectedSeparator;\n\n\t\tif (itemsDomRefs[index - 1] && itemsDomRefs[index - 1].isSeparator) {\n\t\t\tselectedSeparator = itemsDomRefs[index - 1];\n\t\t\twidth += this._getItemWidth(selectedSeparator);\n\t\t}\n\n\t\titemsDomRefs.splice(index, 1);\n\n\t\t// if previous item is a separator - remove it\n\t\tif (selectedSeparator) {\n\t\t\titemsDomRefs.splice(index - 1, 1);\n\t\t\tindex--;\n\t\t}\n\n\t\treturn {\n\t\t\tindex,\n\t\t\twidth,\n\t\t};\n\t}\n\n\t_findFirstVisibleItem(itemsDomRefs: Array<ITab>, containerWidth: number, selectedItemWidth: number, startIndex?: number) {\n\t\tif (startIndex === undefined) {\n\t\t\tstartIndex = itemsDomRefs.length - 1;\n\t\t}\n\n\t\tlet lastVisible = startIndex + 1;\n\n\t\tfor (let index = startIndex; index >= 0; index--) {\n\t\t\tconst itemWidth = this._getItemWidth(itemsDomRefs[index]);\n\n\t\t\tif (containerWidth < selectedItemWidth + itemWidth) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tselectedItemWidth += itemWidth;\n\t\t\tlastVisible = index;\n\t\t}\n\n\t\treturn lastVisible;\n\t}\n\n\t_findLastVisibleItem(itemsDomRefs: Array<ITab>, containerWidth: number, selectedItemWidth: number, startIndex = 0) {\n\t\tlet lastVisibleIndex = startIndex - 1;\n\t\tlet index = startIndex;\n\n\t\tfor (; index < itemsDomRefs.length; index++) {\n\t\t\tconst itemWidth = this._getItemWidth(itemsDomRefs[index]);\n\n\t\t\tif (containerWidth < selectedItemWidth + itemWidth) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tselectedItemWidth += itemWidth;\n\t\t\tlastVisibleIndex = index;\n\t\t}\n\n\t\t// if prev item is separator - hide it\n\t\tconst prevItem = itemsDomRefs[index - 1];\n\t\tif (prevItem && prevItem.isSeparator) {\n\t\t\tlastVisibleIndex -= 1;\n\t\t}\n\n\t\treturn lastVisibleIndex;\n\t}\n\n\tget isModeStartAndEnd() {\n\t\treturn this.tabsOverflowMode === TabsOverflowMode.StartAndEnd;\n\t}\n\n\t_updateOverflowCounters() {\n\t\tlet startOverflowItemsCount = 0;\n\t\tlet endOverflowItemsCount = 0;\n\n\t\tthis._getTabs()\n\t\t\t.map(tab => tab.getTabInStripDomRef()!)\n\t\t\t.forEach(tab => {\n\t\t\t\tif (tab.hasAttribute(\"start-overflow\")) {\n\t\t\t\t\tstartOverflowItemsCount++;\n\t\t\t\t}\n\n\t\t\t\tif (tab.hasAttribute(\"end-overflow\")) {\n\t\t\t\t\tendOverflowItemsCount++;\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis._startOverflowText = `+${startOverflowItemsCount}`;\n\t\tthis._endOverflowText = `+${endOverflowItemsCount}`;\n\t}\n\n\t_getFocusableRefs() {\n\t\tif (!this.getDomRef()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst focusableRefs = [];\n\n\t\tif (!this._getStartOverflow().hasAttribute(\"hidden\")) {\n\t\t\tfocusableRefs.push(this.startOverflowButton[0] || this._getStartOverflowBtnDOM());\n\t\t}\n\n\t\tthis._getTabs().forEach(tab => {\n\t\t\tconst ref = tab.getTabInStripDomRef();\n\t\t\tconst focusable = ref && !ref.hasAttribute(\"hidden\");\n\n\t\t\tif (focusable) {\n\t\t\t\tfocusableRefs.push(tab);\n\t\t\t}\n\t\t});\n\n\t\tif (!this._getEndOverflow().hasAttribute(\"hidden\")) {\n\t\t\tfocusableRefs.push(this.overflowButton[0] || this._getEndOverflowBtnDOM());\n\t\t}\n\n\t\treturn focusableRefs;\n\t}\n\n\t_getHeader() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-header`)!;\n\t}\n\n\t_getTabs(): Array<Tab> {\n\t\treturn this.items.filter((item): item is Tab => !item.isSeparator);\n\t}\n\n\tget hasSubTabs(): boolean {\n\t\tconst tabs = this._getTabs();\n\n\t\tfor (let i = 0; i < tabs.length; i++) {\n\t\t\tif (tabs[i].subTabs.length > 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t_getTabStrip() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-tabStrip`)!;\n\t}\n\n\t_getStartOverflow() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__overflow--start\")!;\n\t}\n\n\t_getEndOverflow() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-tc__overflow--end\")!;\n\t}\n\n\t_getStartOverflowBtnDOM() {\n\t\treturn this._getStartOverflow().querySelector<Button>(\"[ui5-button]\");\n\t}\n\n\t_getEndOverflowBtnDOM() {\n\t\treturn this._getEndOverflow().querySelector<Button>(\"[ui5-button]\");\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(`#${this._id}-overflowMenu`)!;\n\t}\n\n\tasync _closeRespPopover() {\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tthis.responsivePopover.close();\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-tc-root\": true,\n\t\t\t\t\"ui5-tc--textOnly\": this.textOnly,\n\t\t\t\t\"ui5-tc--withAdditionalText\": this.withAdditionalText,\n\t\t\t\t\"ui5-tc--standardTabLayout\": this.standardTabLayout,\n\t\t\t},\n\t\t\theader: {\n\t\t\t\t\"ui5-tc__header\": true,\n\t\t\t},\n\t\t\ttabStrip: {\n\t\t\t\t\"ui5-tc__tabStrip\": true,\n\t\t\t},\n\t\t\tseparator: {\n\t\t\t\t\"ui5-tc__separator\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-tc__content\": true,\n\t\t\t\t\"ui5-tc__content--collapsed\": this._contentCollapsed,\n\t\t\t},\n\t\t};\n\t}\n\n\tget mixedMode() {\n\t\treturn this.items.some(item => item.icon) && this.items.some(item => item.text);\n\t}\n\n\tget textOnly() {\n\t\treturn this.items.every(item => !item.icon);\n\t}\n\n\tget withAdditionalText() {\n\t\treturn this.items.some(item => !!item.additionalText);\n\t}\n\n\tget standardTabLayout() {\n\t\treturn this.tabLayout === TabLayout.Standard;\n\t}\n\n\tget previousIconACCName() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_PREVIOUS_ICON_ACC_NAME);\n\t}\n\n\tget nextIconACCName() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_NEXT_ICON_ACC_NAME);\n\t}\n\n\tget overflowMenuTitle() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_OVERFLOW_MENU_TITLE);\n\t}\n\n\tget tabsAtTheBottom() {\n\t\treturn this.tabsPlacement === TabContainerTabsPlacement.Bottom;\n\t}\n\n\tget overflowMenuIcon() {\n\t\treturn this.tabsAtTheBottom ? \"slim-arrow-up\" : \"slim-arrow-down\";\n\t}\n\n\tget overflowButtonText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget popoverCancelButtonText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_POPOVER_CANCEL_BUTTON);\n\t}\n\n\tget accInvisibleText() {\n\t\treturn TabContainer.i18nBundle.getText(TABCONTAINER_SUBTABS_DESCRIPTION);\n\t}\n\n\tget tablistAriaDescribedById() {\n\t\treturn this.hasSubTabs ? `${this._id}-invisibleText` : undefined;\n\t}\n\n\tget shouldAnimate() {\n\t\treturn getAnimationMode() !== AnimationMode.None;\n\t}\n\n\tstatic async onDefine() {\n\t\tTabContainer.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nconst isTabDiv = (el: HTMLElement) => el.localName === \"div\" && el.getAttribute(\"role\") === \"tab\";\n\nconst getTab = (el: HTMLElement | null) => {\n\twhile (el) {\n\t\tif (isTabDiv(el)) {\n\t\t\treturn el as Tab;\n\t\t}\n\n\t\tel = el.parentElement;\n\t}\n\n\treturn false;\n};\n\nconst walk = (tabs: Array<ITab>, callback: (_: ITab) => void) => {\n\t[...tabs].forEach(tab => {\n\t\tcallback(tab);\n\t\tif (tab.subTabs) {\n\t\t\twalk(tab.subTabs, callback);\n\t\t}\n\t});\n};\n\nTabContainer.define();\n\nexport default TabContainer;\nexport type {\n\tITab,\n\tTabContainerTabSelectEventDetail,\n};\n"]}
|
package/dist/Title.d.ts
CHANGED
|
@@ -23,11 +23,7 @@ import WrappingType from "./types/WrappingType.js";
|
|
|
23
23
|
declare class Title extends UI5Element {
|
|
24
24
|
/**
|
|
25
25
|
* Defines how the text of a component will be displayed when there is not enough space.
|
|
26
|
-
*
|
|
27
|
-
* <ul>
|
|
28
|
-
* <li><code>None</code> - The text will be truncated with an ellipsis.</li>
|
|
29
|
-
* <li><code>Normal</code> - The text will wrap. The words will not be broken based on hyphenation.</li>
|
|
30
|
-
* </ul>
|
|
26
|
+
* <br><b>Note:</b> for option "Normal" the text will wrap and the words will not be broken based on hyphenation.
|
|
31
27
|
*
|
|
32
28
|
* @name sap.ui.webc.main.Title.prototype.wrappingType
|
|
33
29
|
* @type {sap.ui.webc.main.types.WrappingType}
|
package/dist/Title.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Title.js","sourceRoot":"","sources":["../src/Title.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,WAAW;AACX,OAAO,aAAa,MAAM,4CAA4C,CAAC;AAEvE,SAAS;AACT,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AAOH,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"Title.js","sourceRoot":"","sources":["../src/Title.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,WAAW;AACX,OAAO,aAAa,MAAM,4CAA4C,CAAC;AAEvE,SAAS;AACT,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AAOH,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;IAyB7B;;;;;;;;;;OAUG;IAEH,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACtC,CAAC;CACD,CAAA;AArDA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;2CAClC;AAYhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;oCACpC;AAvBnB,KAAK;IANV,aAAa,CAAC;QACd,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,QAAQ;KAChB,CAAC;GACI,KAAK,CAgEV;AAED,KAAK,CAAC,MAAM,EAAE,CAAC;AAEf,eAAe,KAAK,CAAC","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 TitleLevel from \"./types/TitleLevel.js\";\nimport WrappingType from \"./types/WrappingType.js\";\n\n// Template\nimport TitleTemplate from \"./generated/templates/TitleTemplate.lit.js\";\n\n// Styles\nimport titleCss from \"./generated/themes/Title.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-title</code> component is used to display titles inside a page.\n * It is a simple, large-sized text with explicit header/title semantics.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Title\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Title\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-title\n * @public\n */\n@customElement({\n\ttag: \"ui5-title\",\n\trenderer: litRender,\n\ttemplate: TitleTemplate,\n\tstyles: titleCss,\n})\nclass Title extends UI5Element {\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t * <br><b>Note:</b> for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t *\n\t * @name sap.ui.webc.main.Title.prototype.wrappingType\n\t * @type {sap.ui.webc.main.types.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 * Defines the component level.\n\t * Available options are: <code>\"H6\"</code> to <code>\"H1\"</code>.\n\t *\n\t * @name sap.ui.webc.main.Title.prototype.level\n\t * @type {sap.ui.webc.main.types.TitleLevel}\n\t * @defaultvalue \"H2\"\n\t * @public\n\t */\n\t@property({ type: TitleLevel, defaultValue: TitleLevel.H2 })\n\tlevel!: `${TitleLevel}`;\n\n\t/**\n\t * Defines the text of the component.\n\t * This component supports nesting a <code>Link</code> component inside.\n\t * <br><br>\n\t * <b>Note:</b> Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t *\n\t * @type {Node[]}\n\t * @slot\n\t * @name sap.ui.webc.main.Title.prototype.default\n\t * @public\n\t */\n\n\tget normalizedLevel() {\n\t\treturn this.level.toLowerCase();\n\t}\n\n\tget h1() {\n\t\treturn this.normalizedLevel === \"h1\";\n\t}\n\n\tget h2() {\n\t\treturn this.normalizedLevel === \"h2\";\n\t}\n\n\tget h3() {\n\t\treturn this.normalizedLevel === \"h3\";\n\t}\n\n\tget h4() {\n\t\treturn this.normalizedLevel === \"h4\";\n\t}\n\n\tget h5() {\n\t\treturn this.normalizedLevel === \"h5\";\n\t}\n\n\tget h6() {\n\t\treturn this.normalizedLevel === \"h6\";\n\t}\n}\n\nTitle.define();\n\nexport default Title;\n"]}
|
package/dist/WheelSlider.js
CHANGED
|
@@ -10,6 +10,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
10
10
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
11
11
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
12
12
|
import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
|
|
13
|
+
import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
|
|
13
14
|
import { isDown, isUp, isPageUp, isPageDown, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
14
15
|
import getEffectiveContentDensity from "@ui5/webcomponents-base/dist/util/getEffectiveContentDensity.js";
|
|
15
16
|
import "@ui5/webcomponents-icons/dist/navigation-up-arrow.js";
|
|
@@ -99,7 +100,7 @@ let WheelSlider = class WheelSlider extends UI5Element {
|
|
|
99
100
|
const defaultSize = getEffectiveContentDensity(document.body) === "compact" ? CELL_SIZE_COMPACT : CELL_SIZE_COZY;
|
|
100
101
|
if (this.shadowRoot.querySelectorAll(".ui5-wheelslider-item").length) {
|
|
101
102
|
const itemComputedStyle = getComputedStyle(this.shadowRoot.querySelector(".ui5-wheelslider-item"));
|
|
102
|
-
const itemHeightValue = itemComputedStyle.getPropertyValue("--_ui5_wheelslider_item_height");
|
|
103
|
+
const itemHeightValue = itemComputedStyle.getPropertyValue(getScopedVarName("--_ui5_wheelslider_item_height"));
|
|
103
104
|
const onlyDigitsValue = itemHeightValue.replace("px", "");
|
|
104
105
|
return Number(onlyDigitsValue) || defaultSize;
|
|
105
106
|
}
|
package/dist/WheelSlider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WheelSlider.js","sourceRoot":"","sources":["../src/WheelSlider.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n\tisDown,\n\tisUp,\n\tisPageUp,\n\tisPageDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getEffectiveContentDensity from \"@ui5/webcomponents-base/dist/util/getEffectiveContentDensity.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-up-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport WheelSliderTemplate from \"./generated/templates/WheelSliderTemplate.lit.js\";\nimport Button from \"./Button.js\";\n\n// Styles\nimport WheelSliderCss from \"./generated/themes/WheelSlider.css.js\";\n\nconst CELL_SIZE_COMPACT = 32;\nconst CELL_SIZE_COZY = 46;\n\ntype WheelSliderSelectEventDetail = { value: string };\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <h3>Usage</h3>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/WheelSlider.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.WheelSlider\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-wheelslider\n * @public\n * @since 1.0.0-rc.6\n */\n@customElement({\n\ttag: \"ui5-wheelslider\",\n\trenderer: litRender,\n\tstyles: WheelSliderCss,\n\ttemplate: WheelSliderTemplate,\n\tdependencies: [Button],\n})\n/**\n * Fires when new value is selected.\n * @event sap.ui.webc.main.WheelSlider#select\n */\n@event(\"select\", {\n\tdetail: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t},\n})\n\n/**\n * Fires when the wheel slider is expanded.\n * @event sap.ui.webc.main.WheelSlider#expand\n */\n@event(\"expand\")\n\n/**\n * Fires when the wheel slider is collapsed.\n * @event sap.ui.webc.main.WheelSlider#collapse\n */\n@event(\"collapse\")\nclass WheelSlider extends UI5Element {\n\t/**\n\t * Defines whether the component is disabled\n\t * (default is set to <code>false</code>).\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.WheelSlider.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 currently selected value\n\t * @type {string}\n\t * @name sap.ui.webc.main.WheelSlider.prototype.value\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property({ defaultValue: \"0\" })\n\tvalue!: string;\n\n\t/**\n\t * Defines the label of the wheelslider.\n\t * @type {string}\n\t * @name sap.ui.webc.main.WheelSlider.prototype.label\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property({ defaultValue: \"\" })\n\tlabel!: string;\n\n\t/**\n\t * Indicates if the wheelslider is expanded.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.WheelSlider.prototype.expanded\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\texpanded!: boolean;\n\n\t/**\n\t * Indicates if the wheelslider has a cyclic behaviour.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.WheelSlider.prototype.cyclic\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcyclic!: boolean;\n\n\t@property({ multiple: true, compareValues: true })\n\t_items!: Array<string>;\n\n\t@property({ type: Object, multiple: true })\n\t_itemsToShow!: Array<{\n\t\tvalue: string,\n\t\tselected: boolean,\n\t}>;\n\n\t_currentElementIndex: number;\n\t_scroller: ScrollEnablement;\n\t_prevWheelTimestamp?: number;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._currentElementIndex = 0;\n\t\tthis._itemsToShow = [];\n\t\tthis._scroller = new ScrollEnablement(this);\n\t\tthis._scroller.attachEvent(\"scroll\", this._updateScrolling.bind(this));\n\t\tthis._scroller.attachEvent(\"mouseup\", this._handleScrollTouchEnd.bind(this));\n\t\tthis._scroller.attachEvent(\"touchend\", this._handleScrollTouchEnd.bind(this));\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this.expanded && this.cyclic) {\n\t\t\tconst index = this._currentElementIndex % this._items.length;\n\t\t\tthis._currentElementIndex = (this._timesMultipliedOnCyclic() / 2) * this._items.length + index;\n\t\t}\n\n\t\tif (!this.value) {\n\t\t\tthis.value = this._items[0];\n\t\t}\n\n\t\tthis._buildItemsToShow();\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this._scroller.scrollContainer) {\n\t\t\tthis._scroller.scrollContainer = this.shadowRoot!.querySelector(`#${this._id}--wrapper`)!;\n\t\t}\n\n\t\tif (!this.expanded) {\n\t\t\tthis._scroller.scrollTo(0, 0);\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\tconst elements = this.shadowRoot!.querySelectorAll(\".ui5-wheelslider-item\");\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst el = elements[i] as HTMLElement;\n\t\t\t\tif (el.textContent === this.value) {\n\t\t\t\t\tthis._selectElementByIndex(Number(el.dataset.itemIndex) + this._getCurrentRepetition() * this._items.length);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._selectElement(elements[0] as HTMLElement);\n\t\t}\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-wheelslider-root\": true,\n\t\t\t\t\"ui5-phone\": isPhone(),\n\t\t\t},\n\t\t};\n\t}\n\n\texpandSlider() {\n\t\tthis.expanded = true;\n\t\tthis.fireEvent(\"expand\", {});\n\t}\n\n\tcollapseSlider() {\n\t\tthis.expanded = false;\n\t\tthis.fireEvent(\"collapse\", {});\n\t}\n\n\tget _itemCellHeight() {\n\t\tconst defaultSize = getEffectiveContentDensity(document.body) === \"compact\" ? CELL_SIZE_COMPACT : CELL_SIZE_COZY;\n\n\t\tif (this.shadowRoot!.querySelectorAll(\".ui5-wheelslider-item\").length) {\n\t\t\tconst itemComputedStyle = getComputedStyle(this.shadowRoot!.querySelector(\".ui5-wheelslider-item\")!);\n\t\t\tconst itemHeightValue = itemComputedStyle.getPropertyValue(\"--_ui5_wheelslider_item_height\");\n\t\t\tconst onlyDigitsValue = itemHeightValue.replace(\"px\", \"\");\n\t\t\treturn Number(onlyDigitsValue) || defaultSize;\n\t\t}\n\n\t\treturn defaultSize;\n\t}\n\n\t_updateScrolling() {\n\t\tconst cellSizeInPx = this._itemCellHeight,\n\t\t\tscrollWhere = this._scroller.scrollContainer.scrollTop;\n\t\tlet offsetIndex;\n\n\t\tif (!scrollWhere) {\n\t\t\treturn;\n\t\t}\n\n\t\toffsetIndex = Math.round(scrollWhere / cellSizeInPx);\n\n\t\tif (this.value === this._itemsToShow[offsetIndex].value) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.cyclic) {\n\t\t\tconst newIndex = this._handleArrayBorderReached(offsetIndex);\n\t\t\tif (offsetIndex !== newIndex) {\n\t\t\t\toffsetIndex = newIndex;\n\t\t\t}\n\t\t}\n\n\t\tthis.value = this._itemsToShow[offsetIndex].value;\n\t\tthis._currentElementIndex = offsetIndex;\n\t}\n\n\t_handleScrollTouchEnd() {\n\t\tif (this.expanded) {\n\t\t\tthis._selectElementByIndex(this._currentElementIndex);\n\t\t}\n\t}\n\n\t_selectElement(element: HTMLElement) {\n\t\tif (element && element.textContent && this._items.indexOf(element.textContent) > -1) {\n\t\t\tthis._currentElementIndex = Number(element.dataset.itemIndex);\n\t\t\tthis._selectElementByIndex(this._currentElementIndex);\n\t\t}\n\t}\n\n\t_getCurrentRepetition() {\n\t\tif (this._currentElementIndex) {\n\t\t\treturn Math.floor(this._currentElementIndex / this._items.length);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t_selectElementByIndex(currentIndex: number) {\n\t\tlet index = currentIndex;\n\t\tconst itemsCount = this._itemsToShow.length;\n\t\tconst cellSizeInPx = this._itemCellHeight;\n\t\tconst scrollBy = cellSizeInPx * index;\n\n\t\tif (this.cyclic) {\n\t\t\tindex = this._handleArrayBorderReached(index);\n\t\t}\n\n\t\tif (index < itemsCount && index > -1) {\n\t\t\tthis._scroller.scrollTo(0, scrollBy, 5, 100); // sometimes the container isn't painted yet so retry 5 times (although it succeeds on the 1st)\n\t\t\tthis._currentElementIndex = index;\n\t\t\tthis.value = this._items[index - (this._getCurrentRepetition() * this._items.length)];\n\t\t\tthis.fireEvent<WheelSliderSelectEventDetail>(\"select\", { value: this.value });\n\t\t}\n\t}\n\n\t_timesMultipliedOnCyclic() {\n\t\tconst minElementsInCyclicWheelSlider = 70;\n\t\tconst repetitionCount = Math.round(minElementsInCyclicWheelSlider / this._items.length);\n\t\tconst minRepetitionCount = 3;\n\n\t\treturn Math.max(minRepetitionCount, repetitionCount);\n\t}\n\n\t_buildItemsToShow() {\n\t\tlet itemsToShow = this._items;\n\t\tif (this.cyclic) {\n\t\t\tif (itemsToShow.length < this._items.length * this._timesMultipliedOnCyclic()) {\n\t\t\t\tfor (let i = 0; i < this._timesMultipliedOnCyclic(); i++) {\n\t\t\t\t\titemsToShow = itemsToShow.concat(this._items);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._itemsToShow = itemsToShow.map(value => {\n\t\t\treturn {\n\t\t\t\tvalue,\n\t\t\t\t\"selected\": (value === this.value),\n\t\t\t};\n\t\t});\n\t}\n\n\t_handleArrayBorderReached(currentIndex: number) {\n\t\tconst arrayLength = this._itemsToShow.length;\n\t\tconst maxVisibleElementsOnOneSide = 7;\n\t\tlet index = currentIndex;\n\n\t\tif (maxVisibleElementsOnOneSide > index) {\n\t\t\tindex += this._items.length * 2;\n\t\t} else if (index > arrayLength - maxVisibleElementsOnOneSide) {\n\t\t\tindex -= this._items.length * 2;\n\t\t}\n\n\t\treturn index;\n\t}\n\n\t/**\n\t *\n\t * @param {event} e Wheel Event\n\t * @private\n\t *\n\t * The listener for this event can't be passive as it calls preventDefault()\n\t */\n\t_handleWheel(e: WheelEvent) {\n\t\tif (!e) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tif (e.timeStamp === this._prevWheelTimestamp || !this.expanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._prevWheelTimestamp && (e.timeStamp < this._prevWheelTimestamp + 250 || !this.expanded)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.deltaY > 0) {\n\t\t\tthis._itemUp();\n\t\t} else if (e.deltaY < 0) {\n\t\t\tthis._itemDown();\n\t\t}\n\n\t\tthis._prevWheelTimestamp = e.timeStamp;\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!target.classList.contains(\"ui5-wheelslider-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\tthis.value = target.textContent || \"\";\n\t\t\tthis._selectElement(target);\n\t\t\tthis.fireEvent<WheelSliderSelectEventDetail>(\"select\", { value: this.value });\n\t\t} else {\n\t\t\tthis.expanded = true;\n\t\t}\n\t}\n\n\t_onArrowDown(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis._itemDown();\n\t}\n\n\t_onArrowUp(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis._itemUp();\n\t}\n\n\t_itemDown() {\n\t\tconst nextElementIndex = this._currentElementIndex + 1;\n\t\tthis._selectElementByIndex(nextElementIndex);\n\t}\n\n\t_itemUp() {\n\t\tconst nextElementIndex = this._currentElementIndex - 1;\n\t\tthis._selectElementByIndex(nextElementIndex);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this.expanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isUp(e)) {\n\t\t\tthis._onArrowUp(e);\n\t\t}\n\n\t\tif (isDown(e)) {\n\t\t\tthis._onArrowDown(e);\n\t\t}\n\n\t\tif (isPageDown(e)) {\n\t\t\tthis._selectLimitCell(e, false);\n\t\t}\n\n\t\tif (isPageUp(e)) {\n\t\t\tthis._selectLimitCell(e, true);\n\t\t}\n\t}\n\n\t_selectLimitCell(e: KeyboardEvent, isMax: boolean) {\n\t\te.preventDefault();\n\t\tconst intexIncrease = this.cyclic ? this._items.length : 0;\n\t\tif (isMax) {\n\t\t\tthis._selectElementByIndex(this._items.length - 1 + intexIncrease);\n\t\t} else {\n\t\t\tthis._selectElementByIndex(intexIncrease);\n\t\t}\n\t}\n}\n\nWheelSlider.define();\n\nexport default WheelSlider;\nexport type { WheelSliderSelectEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"WheelSlider.js","sourceRoot":"","sources":["../src/WheelSlider.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport {\n\tisDown,\n\tisUp,\n\tisPageUp,\n\tisPageDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getEffectiveContentDensity from \"@ui5/webcomponents-base/dist/util/getEffectiveContentDensity.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-up-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport WheelSliderTemplate from \"./generated/templates/WheelSliderTemplate.lit.js\";\nimport Button from \"./Button.js\";\n\n// Styles\nimport WheelSliderCss from \"./generated/themes/WheelSlider.css.js\";\n\nconst CELL_SIZE_COMPACT = 32;\nconst CELL_SIZE_COZY = 46;\n\ntype WheelSliderSelectEventDetail = { value: string };\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <h3>Usage</h3>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/WheelSlider.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.WheelSlider\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-wheelslider\n * @public\n * @since 1.0.0-rc.6\n */\n@customElement({\n\ttag: \"ui5-wheelslider\",\n\trenderer: litRender,\n\tstyles: WheelSliderCss,\n\ttemplate: WheelSliderTemplate,\n\tdependencies: [Button],\n})\n/**\n * Fires when new value is selected.\n * @event sap.ui.webc.main.WheelSlider#select\n */\n@event(\"select\", {\n\tdetail: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t},\n})\n\n/**\n * Fires when the wheel slider is expanded.\n * @event sap.ui.webc.main.WheelSlider#expand\n */\n@event(\"expand\")\n\n/**\n * Fires when the wheel slider is collapsed.\n * @event sap.ui.webc.main.WheelSlider#collapse\n */\n@event(\"collapse\")\nclass WheelSlider extends UI5Element {\n\t/**\n\t * Defines whether the component is disabled\n\t * (default is set to <code>false</code>).\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.WheelSlider.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 currently selected value\n\t * @type {string}\n\t * @name sap.ui.webc.main.WheelSlider.prototype.value\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property({ defaultValue: \"0\" })\n\tvalue!: string;\n\n\t/**\n\t * Defines the label of the wheelslider.\n\t * @type {string}\n\t * @name sap.ui.webc.main.WheelSlider.prototype.label\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property({ defaultValue: \"\" })\n\tlabel!: string;\n\n\t/**\n\t * Indicates if the wheelslider is expanded.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.WheelSlider.prototype.expanded\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\texpanded!: boolean;\n\n\t/**\n\t * Indicates if the wheelslider has a cyclic behaviour.\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.WheelSlider.prototype.cyclic\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcyclic!: boolean;\n\n\t@property({ multiple: true, compareValues: true })\n\t_items!: Array<string>;\n\n\t@property({ type: Object, multiple: true })\n\t_itemsToShow!: Array<{\n\t\tvalue: string,\n\t\tselected: boolean,\n\t}>;\n\n\t_currentElementIndex: number;\n\t_scroller: ScrollEnablement;\n\t_prevWheelTimestamp?: number;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._currentElementIndex = 0;\n\t\tthis._itemsToShow = [];\n\t\tthis._scroller = new ScrollEnablement(this);\n\t\tthis._scroller.attachEvent(\"scroll\", this._updateScrolling.bind(this));\n\t\tthis._scroller.attachEvent(\"mouseup\", this._handleScrollTouchEnd.bind(this));\n\t\tthis._scroller.attachEvent(\"touchend\", this._handleScrollTouchEnd.bind(this));\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this.expanded && this.cyclic) {\n\t\t\tconst index = this._currentElementIndex % this._items.length;\n\t\t\tthis._currentElementIndex = (this._timesMultipliedOnCyclic() / 2) * this._items.length + index;\n\t\t}\n\n\t\tif (!this.value) {\n\t\t\tthis.value = this._items[0];\n\t\t}\n\n\t\tthis._buildItemsToShow();\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this._scroller.scrollContainer) {\n\t\t\tthis._scroller.scrollContainer = this.shadowRoot!.querySelector(`#${this._id}--wrapper`)!;\n\t\t}\n\n\t\tif (!this.expanded) {\n\t\t\tthis._scroller.scrollTo(0, 0);\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\tconst elements = this.shadowRoot!.querySelectorAll(\".ui5-wheelslider-item\");\n\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\tconst el = elements[i] as HTMLElement;\n\t\t\t\tif (el.textContent === this.value) {\n\t\t\t\t\tthis._selectElementByIndex(Number(el.dataset.itemIndex) + this._getCurrentRepetition() * this._items.length);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._selectElement(elements[0] as HTMLElement);\n\t\t}\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-wheelslider-root\": true,\n\t\t\t\t\"ui5-phone\": isPhone(),\n\t\t\t},\n\t\t};\n\t}\n\n\texpandSlider() {\n\t\tthis.expanded = true;\n\t\tthis.fireEvent(\"expand\", {});\n\t}\n\n\tcollapseSlider() {\n\t\tthis.expanded = false;\n\t\tthis.fireEvent(\"collapse\", {});\n\t}\n\n\tget _itemCellHeight() {\n\t\tconst defaultSize = getEffectiveContentDensity(document.body) === \"compact\" ? CELL_SIZE_COMPACT : CELL_SIZE_COZY;\n\n\t\tif (this.shadowRoot!.querySelectorAll(\".ui5-wheelslider-item\").length) {\n\t\t\tconst itemComputedStyle = getComputedStyle(this.shadowRoot!.querySelector(\".ui5-wheelslider-item\")!);\n\t\t\tconst itemHeightValue = itemComputedStyle.getPropertyValue(getScopedVarName(\"--_ui5_wheelslider_item_height\"));\n\t\t\tconst onlyDigitsValue = itemHeightValue.replace(\"px\", \"\");\n\t\t\treturn Number(onlyDigitsValue) || defaultSize;\n\t\t}\n\n\t\treturn defaultSize;\n\t}\n\n\t_updateScrolling() {\n\t\tconst cellSizeInPx = this._itemCellHeight,\n\t\t\tscrollWhere = this._scroller.scrollContainer.scrollTop;\n\t\tlet offsetIndex;\n\n\t\tif (!scrollWhere) {\n\t\t\treturn;\n\t\t}\n\n\t\toffsetIndex = Math.round(scrollWhere / cellSizeInPx);\n\n\t\tif (this.value === this._itemsToShow[offsetIndex].value) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.cyclic) {\n\t\t\tconst newIndex = this._handleArrayBorderReached(offsetIndex);\n\t\t\tif (offsetIndex !== newIndex) {\n\t\t\t\toffsetIndex = newIndex;\n\t\t\t}\n\t\t}\n\n\t\tthis.value = this._itemsToShow[offsetIndex].value;\n\t\tthis._currentElementIndex = offsetIndex;\n\t}\n\n\t_handleScrollTouchEnd() {\n\t\tif (this.expanded) {\n\t\t\tthis._selectElementByIndex(this._currentElementIndex);\n\t\t}\n\t}\n\n\t_selectElement(element: HTMLElement) {\n\t\tif (element && element.textContent && this._items.indexOf(element.textContent) > -1) {\n\t\t\tthis._currentElementIndex = Number(element.dataset.itemIndex);\n\t\t\tthis._selectElementByIndex(this._currentElementIndex);\n\t\t}\n\t}\n\n\t_getCurrentRepetition() {\n\t\tif (this._currentElementIndex) {\n\t\t\treturn Math.floor(this._currentElementIndex / this._items.length);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t_selectElementByIndex(currentIndex: number) {\n\t\tlet index = currentIndex;\n\t\tconst itemsCount = this._itemsToShow.length;\n\t\tconst cellSizeInPx = this._itemCellHeight;\n\t\tconst scrollBy = cellSizeInPx * index;\n\n\t\tif (this.cyclic) {\n\t\t\tindex = this._handleArrayBorderReached(index);\n\t\t}\n\n\t\tif (index < itemsCount && index > -1) {\n\t\t\tthis._scroller.scrollTo(0, scrollBy, 5, 100); // sometimes the container isn't painted yet so retry 5 times (although it succeeds on the 1st)\n\t\t\tthis._currentElementIndex = index;\n\t\t\tthis.value = this._items[index - (this._getCurrentRepetition() * this._items.length)];\n\t\t\tthis.fireEvent<WheelSliderSelectEventDetail>(\"select\", { value: this.value });\n\t\t}\n\t}\n\n\t_timesMultipliedOnCyclic() {\n\t\tconst minElementsInCyclicWheelSlider = 70;\n\t\tconst repetitionCount = Math.round(minElementsInCyclicWheelSlider / this._items.length);\n\t\tconst minRepetitionCount = 3;\n\n\t\treturn Math.max(minRepetitionCount, repetitionCount);\n\t}\n\n\t_buildItemsToShow() {\n\t\tlet itemsToShow = this._items;\n\t\tif (this.cyclic) {\n\t\t\tif (itemsToShow.length < this._items.length * this._timesMultipliedOnCyclic()) {\n\t\t\t\tfor (let i = 0; i < this._timesMultipliedOnCyclic(); i++) {\n\t\t\t\t\titemsToShow = itemsToShow.concat(this._items);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._itemsToShow = itemsToShow.map(value => {\n\t\t\treturn {\n\t\t\t\tvalue,\n\t\t\t\t\"selected\": (value === this.value),\n\t\t\t};\n\t\t});\n\t}\n\n\t_handleArrayBorderReached(currentIndex: number) {\n\t\tconst arrayLength = this._itemsToShow.length;\n\t\tconst maxVisibleElementsOnOneSide = 7;\n\t\tlet index = currentIndex;\n\n\t\tif (maxVisibleElementsOnOneSide > index) {\n\t\t\tindex += this._items.length * 2;\n\t\t} else if (index > arrayLength - maxVisibleElementsOnOneSide) {\n\t\t\tindex -= this._items.length * 2;\n\t\t}\n\n\t\treturn index;\n\t}\n\n\t/**\n\t *\n\t * @param {event} e Wheel Event\n\t * @private\n\t *\n\t * The listener for this event can't be passive as it calls preventDefault()\n\t */\n\t_handleWheel(e: WheelEvent) {\n\t\tif (!e) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tif (e.timeStamp === this._prevWheelTimestamp || !this.expanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._prevWheelTimestamp && (e.timeStamp < this._prevWheelTimestamp + 250 || !this.expanded)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.deltaY > 0) {\n\t\t\tthis._itemUp();\n\t\t} else if (e.deltaY < 0) {\n\t\t\tthis._itemDown();\n\t\t}\n\n\t\tthis._prevWheelTimestamp = e.timeStamp;\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!target.classList.contains(\"ui5-wheelslider-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\tthis.value = target.textContent || \"\";\n\t\t\tthis._selectElement(target);\n\t\t\tthis.fireEvent<WheelSliderSelectEventDetail>(\"select\", { value: this.value });\n\t\t} else {\n\t\t\tthis.expanded = true;\n\t\t}\n\t}\n\n\t_onArrowDown(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis._itemDown();\n\t}\n\n\t_onArrowUp(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis._itemUp();\n\t}\n\n\t_itemDown() {\n\t\tconst nextElementIndex = this._currentElementIndex + 1;\n\t\tthis._selectElementByIndex(nextElementIndex);\n\t}\n\n\t_itemUp() {\n\t\tconst nextElementIndex = this._currentElementIndex - 1;\n\t\tthis._selectElementByIndex(nextElementIndex);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this.expanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isUp(e)) {\n\t\t\tthis._onArrowUp(e);\n\t\t}\n\n\t\tif (isDown(e)) {\n\t\t\tthis._onArrowDown(e);\n\t\t}\n\n\t\tif (isPageDown(e)) {\n\t\t\tthis._selectLimitCell(e, false);\n\t\t}\n\n\t\tif (isPageUp(e)) {\n\t\t\tthis._selectLimitCell(e, true);\n\t\t}\n\t}\n\n\t_selectLimitCell(e: KeyboardEvent, isMax: boolean) {\n\t\te.preventDefault();\n\t\tconst intexIncrease = this.cyclic ? this._items.length : 0;\n\t\tif (isMax) {\n\t\t\tthis._selectElementByIndex(this._items.length - 1 + intexIncrease);\n\t\t} else {\n\t\t\tthis._selectElementByIndex(intexIncrease);\n\t\t}\n\t}\n}\n\nWheelSlider.define();\n\nexport default WheelSlider;\nexport type { WheelSliderSelectEventDetail };\n"]}
|