@ui5/webcomponents 0.0.0-d849bec2c → 0.0.0-dc3ccac50
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 +552 -1
- package/README.md +144 -52
- package/csp.js +7 -0
- package/customI18n.js +50 -0
- package/dist/Assets-static.js +6 -0
- package/dist/Assets.js +2 -1
- package/dist/Avatar.js +197 -46
- package/dist/AvatarGroup.js +603 -0
- package/dist/Badge.js +44 -22
- package/dist/Breadcrumbs.js +563 -0
- package/dist/BreadcrumbsItem.js +109 -0
- package/dist/BusyIndicator.js +141 -37
- package/dist/Button.js +120 -68
- package/dist/Calendar.js +341 -545
- package/dist/CalendarDate.js +45 -0
- package/dist/CalendarHeader.js +127 -56
- package/dist/CalendarPart.js +111 -0
- package/dist/Card.js +44 -158
- package/dist/CardHeader.js +288 -0
- package/dist/Carousel.js +267 -98
- package/dist/CheckBox.js +146 -58
- package/dist/ColorPalette.js +493 -0
- package/dist/ColorPaletteItem.js +137 -0
- package/dist/ColorPalettePopover.js +219 -0
- package/dist/ColorPicker.js +524 -0
- package/dist/ComboBox.js +599 -94
- package/dist/ComboBoxFilters.js +8 -1
- package/dist/ComboBoxGroupItem.js +70 -0
- package/dist/ComboBoxItem.js +12 -24
- package/dist/CustomListItem.js +38 -4
- package/dist/DateComponentBase.js +170 -0
- package/dist/DatePicker.js +392 -409
- package/dist/DateRangePicker.js +328 -0
- package/dist/DateTimePicker.js +106 -384
- package/dist/DayPicker.js +508 -430
- package/dist/Dialog.js +496 -44
- package/dist/DurationPicker.js +135 -400
- package/dist/FileUploader.js +208 -26
- package/dist/GroupHeaderListItem.js +24 -14
- package/dist/Icon.js +140 -46
- package/dist/Input.js +613 -162
- package/dist/Interfaces.js +192 -0
- package/dist/Label.js +27 -17
- package/dist/Link.js +123 -29
- package/dist/List.js +425 -94
- package/dist/ListItem.js +88 -19
- package/dist/ListItemBase.js +27 -5
- package/dist/MessageStrip.js +50 -65
- package/dist/MonthPicker.js +180 -182
- package/dist/MultiComboBox.js +569 -156
- package/dist/MultiComboBoxItem.js +8 -2
- package/dist/MultiInput.js +301 -0
- package/dist/Option.js +48 -5
- package/dist/Panel.js +100 -37
- package/dist/Popover.js +252 -139
- package/dist/Popup.js +364 -90
- package/dist/ProgressIndicator.js +235 -0
- package/dist/RadioButton.js +131 -51
- package/dist/RadioButtonGroup.js +53 -29
- package/dist/RangeSlider.js +769 -0
- package/dist/RatingIndicator.js +291 -0
- package/dist/ResponsivePopover.js +67 -53
- package/dist/SegmentedButton.js +109 -73
- package/dist/SegmentedButtonItem.js +109 -0
- package/dist/Select.js +441 -108
- package/dist/Slider.js +320 -0
- package/dist/SliderBase.js +842 -0
- package/dist/StandardListItem.js +44 -13
- package/dist/StepInput.js +681 -0
- package/dist/SuggestionGroupItem.js +64 -0
- package/dist/SuggestionItem.js +37 -31
- package/dist/SuggestionListItem.js +76 -0
- package/dist/Switch.js +59 -42
- package/dist/Tab.js +55 -24
- package/dist/TabContainer.js +142 -62
- package/dist/TabSeparator.js +1 -0
- package/dist/Table.js +475 -22
- package/dist/TableCell.js +11 -9
- package/dist/TableColumn.js +13 -3
- package/dist/TableGroupRow.js +160 -0
- package/dist/TableRow.js +235 -10
- package/dist/TextArea.js +139 -41
- package/dist/TimePicker.js +55 -675
- package/dist/TimePickerBase.js +463 -0
- package/dist/TimeSelection.js +493 -0
- package/dist/Title.js +16 -9
- package/dist/Toast.js +24 -13
- package/dist/ToggleButton.js +21 -8
- package/dist/Token.js +84 -47
- package/dist/Tokenizer.js +242 -60
- package/dist/Tree.js +137 -51
- package/dist/TreeItem.js +44 -9
- package/dist/TreeListItem.js +127 -7
- package/dist/WheelSlider.js +76 -56
- package/dist/YearPicker.js +198 -254
- package/dist/api.json +6877 -1
- package/dist/features/ColorPaletteMoreColors.js +42 -0
- package/dist/features/InputElementsFormSupport.js +0 -1
- package/dist/features/InputSuggestions.js +247 -53
- 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 -0
- 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_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
- 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 -0
- 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_in.json +1 -0
- 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 -0
- 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 -0
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
- package/dist/generated/i18n/i18n-defaults.js +2 -2
- package/dist/generated/json-imports/Themes-static.js +35 -0
- package/dist/generated/json-imports/Themes.js +23 -15
- package/dist/generated/json-imports/i18n-static.js +162 -0
- package/dist/generated/json-imports/i18n.js +113 -87
- package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
- package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
- package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
- package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -6
- package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
- package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
- package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
- package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
- package/dist/generated/templates/CardTemplate.lit.js +5 -8
- package/dist/generated/templates/CarouselTemplate.lit.js +13 -12
- package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
- package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
- package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
- package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -6
- package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
- package/dist/generated/templates/DatePickerTemplate.lit.js +6 -6
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
- package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
- package/dist/generated/templates/DialogTemplate.lit.js +9 -9
- package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
- package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
- package/dist/generated/templates/IconTemplate.lit.js +6 -6
- package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -23
- package/dist/generated/templates/InputTemplate.lit.js +9 -8
- package/dist/generated/templates/LabelTemplate.lit.js +4 -4
- package/dist/generated/templates/LinkTemplate.lit.js +5 -5
- package/dist/generated/templates/ListItemTemplate.lit.js +13 -13
- package/dist/generated/templates/ListTemplate.lit.js +12 -9
- package/dist/generated/templates/MessageStripTemplate.lit.js +8 -17
- package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -5
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
- package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
- package/dist/generated/templates/PanelTemplate.lit.js +9 -6
- package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -4
- package/dist/generated/templates/PopupTemplate.lit.js +4 -9
- package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
- package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
- package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -14
- package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
- package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -9
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
- package/dist/generated/templates/SelectTemplate.lit.js +6 -5
- package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
- package/dist/generated/templates/SliderTemplate.lit.js +12 -0
- package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -20
- package/dist/generated/templates/StepInputTemplate.lit.js +8 -0
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
- package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
- package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -6
- package/dist/generated/templates/TabContainerTemplate.lit.js +16 -14
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
- package/dist/generated/templates/TabInStripTemplate.lit.js +8 -21
- package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -4
- package/dist/generated/templates/TabTemplate.lit.js +4 -4
- package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
- package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
- package/dist/generated/templates/TableRowTemplate.lit.js +12 -11
- package/dist/generated/templates/TableTemplate.lit.js +13 -8
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
- package/dist/generated/templates/TextAreaTemplate.lit.js +8 -7
- package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
- package/dist/generated/templates/TimePickerTemplate.lit.js +6 -6
- package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
- package/dist/generated/templates/TitleTemplate.lit.js +10 -10
- package/dist/generated/templates/ToastTemplate.lit.js +5 -4
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
- package/dist/generated/templates/TokenTemplate.lit.js +7 -5
- package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
- package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
- package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -16
- package/dist/generated/templates/TreeTemplate.lit.js +5 -5
- package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
- package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
- package/dist/generated/themes/Avatar.css.js +5 -5
- package/dist/generated/themes/AvatarGroup.css.js +8 -0
- package/dist/generated/themes/Badge.css.js +5 -5
- package/dist/generated/themes/Breadcrumbs.css.js +8 -0
- package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
- package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
- package/dist/generated/themes/BusyIndicator.css.js +5 -5
- package/dist/generated/themes/Button.css.js +5 -5
- package/dist/generated/themes/Button.ie11.css.js +8 -0
- package/dist/generated/themes/Calendar.css.js +5 -5
- package/dist/generated/themes/CalendarHeader.css.js +5 -5
- package/dist/generated/themes/Card.css.js +5 -5
- package/dist/generated/themes/CardHeader.css.js +8 -0
- package/dist/generated/themes/Carousel.css.js +5 -5
- package/dist/generated/themes/CheckBox.css.js +5 -5
- package/dist/generated/themes/ColorPalette.css.js +8 -0
- package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
- package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
- package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
- package/dist/generated/themes/ColorPicker.css.js +8 -0
- package/dist/generated/themes/ComboBox.css.js +5 -5
- package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
- package/dist/generated/themes/CustomListItem.css.js +5 -5
- package/dist/generated/themes/DatePicker.css.js +5 -5
- package/dist/generated/themes/DatePickerPopover.css.js +5 -5
- package/dist/generated/themes/DateRangePicker.css.js +8 -0
- package/dist/generated/themes/DateTimePicker.css.js +5 -5
- package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
- package/dist/generated/themes/DayPicker.css.js +5 -5
- package/dist/generated/themes/Dialog.css.js +5 -5
- package/dist/generated/themes/FileUploader.css.js +5 -5
- package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
- package/dist/generated/themes/GrowingButton.css.js +8 -0
- package/dist/generated/themes/Icon.css.js +5 -5
- package/dist/generated/themes/Input.css.js +5 -5
- package/dist/generated/themes/InputIcon.css.js +5 -5
- package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
- package/dist/generated/themes/Label.css.js +5 -5
- package/dist/generated/themes/Link.css.js +5 -5
- package/dist/generated/themes/List.css.js +5 -5
- package/dist/generated/themes/ListItem.css.js +5 -5
- package/dist/generated/themes/ListItemBase.css.js +5 -5
- package/dist/generated/themes/MessageStrip.css.js +5 -5
- package/dist/generated/themes/MonthPicker.css.js +5 -5
- package/dist/generated/themes/MultiComboBox.css.js +5 -5
- package/dist/generated/themes/MultiInput.css.js +8 -0
- package/dist/generated/themes/Panel.css.js +5 -5
- package/dist/generated/themes/Popover.css.js +5 -5
- package/dist/generated/themes/Popup.css.js +5 -5
- package/dist/generated/themes/PopupGlobal.css.js +8 -0
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
- package/dist/generated/themes/PopupsCommon.css.js +8 -0
- package/dist/generated/themes/ProgressIndicator.css.js +8 -0
- package/dist/generated/themes/RadioButton.css.js +5 -5
- package/dist/generated/themes/RatingIndicator.css.js +8 -0
- package/dist/generated/themes/ResponsivePopover.css.js +5 -5
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
- package/dist/generated/themes/SegmentedButton.css.js +5 -5
- package/dist/generated/themes/Select.css.js +5 -5
- package/dist/generated/themes/SelectPopover.css.js +8 -0
- package/dist/generated/themes/SliderBase.css.js +8 -0
- package/dist/generated/themes/StepInput.css.js +8 -0
- package/dist/generated/themes/Suggestions.css.js +8 -0
- package/dist/generated/themes/Switch.css.js +5 -5
- package/dist/generated/themes/Tab.css.js +5 -5
- package/dist/generated/themes/TabContainer.css.js +5 -5
- package/dist/generated/themes/TabInOverflow.css.js +5 -5
- package/dist/generated/themes/TabInStrip.css.js +5 -5
- package/dist/generated/themes/Table.css.js +5 -5
- package/dist/generated/themes/TableCell.css.js +5 -5
- package/dist/generated/themes/TableColumn.css.js +5 -5
- package/dist/generated/themes/TableGroupRow.css.js +8 -0
- package/dist/generated/themes/TableRow.css.js +5 -5
- package/dist/generated/themes/TapHighlightColor.css.js +8 -0
- package/dist/generated/themes/TextArea.css.js +5 -5
- package/dist/generated/themes/TimePicker.css.js +5 -5
- package/dist/generated/themes/TimePickerPopover.css.js +5 -5
- package/dist/generated/themes/TimeSelection.css.js +8 -0
- package/dist/generated/themes/Title.css.js +5 -5
- package/dist/generated/themes/Toast.css.js +5 -5
- package/dist/generated/themes/ToggleButton.css.js +5 -5
- package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
- package/dist/generated/themes/Token.css.js +5 -5
- package/dist/generated/themes/Tokenizer.css.js +5 -5
- package/dist/generated/themes/Tree.css.js +5 -5
- package/dist/generated/themes/TreeListItem.css.js +5 -5
- package/dist/generated/themes/ValueStateMessage.css.js +5 -5
- package/dist/generated/themes/WheelSlider.css.js +5 -5
- package/dist/generated/themes/YearPicker.css.js +5 -5
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
- package/dist/i18n/messagebundle.properties +335 -0
- package/dist/i18n/messagebundle_ar.properties +224 -0
- package/dist/i18n/messagebundle_bg.properties +224 -0
- package/dist/i18n/messagebundle_ca.properties +224 -0
- package/dist/i18n/messagebundle_cs.properties +224 -0
- package/dist/i18n/messagebundle_cy.properties +224 -0
- package/dist/i18n/messagebundle_da.properties +224 -0
- package/dist/i18n/messagebundle_de.properties +224 -0
- package/dist/i18n/messagebundle_el.properties +224 -0
- package/dist/i18n/messagebundle_en.properties +224 -0
- package/dist/i18n/messagebundle_en_GB.properties +224 -0
- package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
- package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
- package/dist/i18n/messagebundle_es.properties +224 -0
- package/dist/i18n/messagebundle_es_MX.properties +224 -0
- package/dist/i18n/messagebundle_et.properties +224 -0
- package/dist/i18n/messagebundle_fi.properties +224 -0
- package/dist/i18n/messagebundle_fr.properties +224 -0
- package/dist/i18n/messagebundle_fr_CA.properties +224 -0
- package/dist/i18n/messagebundle_hi.properties +224 -0
- package/dist/i18n/messagebundle_hr.properties +224 -0
- package/dist/i18n/messagebundle_hu.properties +224 -0
- package/dist/i18n/messagebundle_id.properties +224 -0
- package/dist/i18n/messagebundle_in.properties +172 -0
- package/dist/i18n/messagebundle_it.properties +224 -0
- package/dist/i18n/messagebundle_iw.properties +224 -0
- package/dist/i18n/messagebundle_ja.properties +224 -0
- package/dist/i18n/messagebundle_kk.properties +224 -0
- package/dist/i18n/messagebundle_ko.properties +224 -0
- package/dist/i18n/messagebundle_lt.properties +224 -0
- package/dist/i18n/messagebundle_lv.properties +224 -0
- package/dist/i18n/messagebundle_ms.properties +224 -0
- package/dist/i18n/messagebundle_nl.properties +224 -0
- package/dist/i18n/messagebundle_no.properties +224 -0
- package/dist/i18n/messagebundle_pl.properties +224 -0
- package/dist/i18n/messagebundle_pt.properties +224 -0
- package/dist/i18n/messagebundle_pt_PT.properties +224 -0
- package/dist/i18n/messagebundle_ro.properties +224 -0
- package/dist/i18n/messagebundle_ru.properties +224 -0
- package/dist/i18n/messagebundle_sh.properties +224 -0
- package/dist/i18n/messagebundle_sk.properties +224 -0
- package/dist/i18n/messagebundle_sl.properties +224 -0
- package/dist/i18n/messagebundle_sv.properties +224 -0
- package/dist/i18n/messagebundle_th.properties +224 -0
- package/dist/i18n/messagebundle_tr.properties +224 -0
- package/dist/i18n/messagebundle_uk.properties +224 -0
- package/dist/i18n/messagebundle_vi.properties +224 -0
- package/dist/i18n/messagebundle_zh_CN.properties +224 -0
- package/dist/i18n/messagebundle_zh_TW.properties +224 -0
- package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
- package/dist/popup-utils/PopoverRegistry.js +49 -15
- package/dist/timepicker-utils/TimeSlider.js +15 -13
- package/dist/types/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
- package/dist/types/AvatarGroupType.js +43 -0
- package/dist/types/AvatarShape.js +1 -1
- package/dist/types/AvatarSize.js +1 -1
- package/dist/types/BreadcrumbsDesign.js +42 -0
- package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/dist/types/BusyIndicatorSize.js +1 -1
- package/dist/types/ButtonDesign.js +8 -1
- package/dist/types/CalendarSelectionMode.js +47 -0
- package/dist/types/CarouselArrowsPlacement.js +3 -3
- package/dist/types/GrowingMode.js +48 -0
- package/dist/types/InputType.js +7 -7
- package/dist/types/LinkDesign.js +1 -1
- package/dist/types/ListGrowingMode.js +15 -0
- package/dist/types/ListItemType.js +1 -1
- package/dist/types/ListMode.js +9 -1
- package/dist/types/ListSeparators.js +1 -1
- package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
- package/dist/types/PanelAccessibleRole.js +1 -1
- package/dist/types/PopoverHorizontalAlign.js +1 -1
- package/dist/types/PopoverPlacementType.js +2 -2
- package/dist/types/PopoverVerticalAlign.js +1 -2
- package/dist/types/Priority.js +1 -1
- package/dist/types/SemanticColor.js +1 -1
- package/dist/types/SwitchDesign.js +40 -0
- package/dist/types/TabContainerTabsPlacement.js +5 -5
- package/dist/types/TabLayout.js +1 -1
- package/dist/types/TableGrowingMode.js +15 -0
- package/dist/types/TableMode.js +47 -0
- package/dist/types/TableRowType.js +40 -0
- package/dist/types/TitleLevel.js +1 -1
- package/dist/types/ToastPlacement.js +1 -2
- package/dist/types/WrappingType.js +41 -0
- package/dist/webcomponentsjs/CHANGELOG.md +61 -0
- package/dist/webcomponentsjs/README.md +64 -47
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
- package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
- package/package-scripts.js +1 -0
- package/package.json +23 -7
- package/src/Assets-static.js +6 -0
- package/src/Assets.js +7 -0
- package/src/Avatar.hbs +20 -0
- package/src/Avatar.js +392 -0
- package/src/AvatarGroup.hbs +30 -0
- package/src/AvatarGroup.js +603 -0
- package/src/Badge.hbs +14 -0
- package/src/Badge.js +165 -0
- package/src/Breadcrumbs.hbs +42 -0
- package/src/Breadcrumbs.js +563 -0
- package/src/BreadcrumbsItem.js +109 -0
- package/src/BreadcrumbsPopover.hbs +28 -0
- package/src/BusyIndicator.hbs +32 -0
- package/src/BusyIndicator.js +269 -0
- package/src/Button.hbs +45 -0
- package/src/Button.js +463 -0
- package/src/Calendar.hbs +69 -0
- package/src/Calendar.js +489 -0
- package/src/CalendarDate.js +45 -0
- package/src/CalendarHeader.hbs +54 -0
- package/src/CalendarHeader.js +209 -0
- package/src/CalendarPart.js +111 -0
- package/src/Card.hbs +14 -0
- package/src/Card.js +160 -0
- package/src/CardHeader.hbs +35 -0
- package/src/CardHeader.js +288 -0
- package/src/Carousel.hbs +85 -0
- package/src/Carousel.js +681 -0
- package/src/CheckBox.hbs +44 -0
- package/src/CheckBox.js +424 -0
- package/src/ColorPalette.hbs +52 -0
- package/src/ColorPalette.js +493 -0
- package/src/ColorPaletteDialog.hbs +18 -0
- package/src/ColorPaletteItem.hbs +11 -0
- package/src/ColorPaletteItem.js +137 -0
- package/src/ColorPalettePopover.hbs +29 -0
- package/src/ColorPalettePopover.js +219 -0
- package/src/ColorPicker.hbs +98 -0
- package/src/ColorPicker.js +524 -0
- package/src/ComboBox.hbs +49 -0
- package/src/ComboBox.js +1041 -0
- package/src/ComboBoxFilters.js +40 -0
- package/src/ComboBoxGroupItem.js +70 -0
- package/src/ComboBoxItem.js +49 -0
- package/src/ComboBoxPopover.hbs +125 -0
- package/src/CustomListItem.hbs +5 -0
- package/src/CustomListItem.js +99 -0
- package/src/DateComponentBase.js +170 -0
- package/src/DatePicker.hbs +44 -0
- package/src/DatePicker.js +823 -0
- package/src/DatePickerPopover.hbs +63 -0
- package/src/DateRangePicker.js +328 -0
- package/src/DateTimePicker.js +430 -0
- package/src/DateTimePickerPopover.hbs +74 -0
- package/src/DayPicker.hbs +66 -0
- package/src/DayPicker.js +754 -0
- package/src/Dialog.hbs +35 -0
- package/src/Dialog.js +601 -0
- package/src/DurationPicker.js +312 -0
- package/src/FileUploader.hbs +40 -0
- package/src/FileUploader.js +532 -0
- package/src/FileUploaderPopover.hbs +25 -0
- package/src/GroupHeaderListItem.hbs +15 -0
- package/src/GroupHeaderListItem.js +94 -0
- package/src/Icon.hbs +25 -0
- package/src/Icon.js +373 -0
- package/src/Input.hbs +78 -0
- package/src/Input.js +1381 -0
- package/src/InputPopover.hbs +118 -0
- package/src/Interfaces.js +192 -0
- package/src/Label.hbs +13 -0
- package/src/Label.js +152 -0
- package/src/Link.hbs +20 -0
- package/src/Link.js +349 -0
- package/src/List.hbs +89 -0
- package/src/List.js +1056 -0
- package/src/ListItem.hbs +102 -0
- package/src/ListItem.js +371 -0
- package/src/ListItemBase.js +179 -0
- package/src/MessageStrip.hbs +34 -0
- package/src/MessageStrip.js +226 -0
- package/src/MonthPicker.hbs +29 -0
- package/src/MonthPicker.js +299 -0
- package/src/MultiComboBox.hbs +78 -0
- package/src/MultiComboBox.js +1091 -0
- package/src/MultiComboBoxItem.js +43 -0
- package/src/MultiComboBoxPopover.hbs +133 -0
- package/src/MultiInput.hbs +41 -0
- package/src/MultiInput.js +301 -0
- package/src/Option.js +115 -0
- package/src/Panel.hbs +63 -0
- package/src/Panel.js +462 -0
- package/src/Popover.hbs +25 -0
- package/src/Popover.js +786 -0
- package/src/Popup.hbs +34 -0
- package/src/Popup.js +567 -0
- package/src/PopupBlockLayer.hbs +7 -0
- package/src/ProgressIndicator.hbs +35 -0
- package/src/ProgressIndicator.js +235 -0
- package/src/RadioButton.hbs +33 -0
- package/src/RadioButton.js +494 -0
- package/src/RadioButtonGroup.js +205 -0
- package/src/RangeSlider.hbs +70 -0
- package/src/RangeSlider.js +769 -0
- package/src/RatingIndicator.hbs +33 -0
- package/src/RatingIndicator.js +291 -0
- package/src/ResponsivePopover.hbs +39 -0
- package/src/ResponsivePopover.js +206 -0
- package/src/SegmentedButton.hbs +17 -0
- package/src/SegmentedButton.js +290 -0
- package/src/SegmentedButtonItem.hbs +42 -0
- package/src/SegmentedButtonItem.js +109 -0
- package/src/Select.hbs +45 -0
- package/src/Select.js +834 -0
- package/src/SelectPopover.hbs +89 -0
- package/src/Slider.hbs +42 -0
- package/src/Slider.js +320 -0
- package/src/SliderBase.hbs +38 -0
- package/src/SliderBase.js +842 -0
- package/src/StandardListItem.hbs +44 -0
- package/src/StandardListItem.js +191 -0
- package/src/StepInput.hbs +77 -0
- package/src/StepInput.js +681 -0
- package/src/SuggestionGroupItem.js +64 -0
- package/src/SuggestionItem.js +146 -0
- package/src/SuggestionListItem.hbs +33 -0
- package/src/SuggestionListItem.js +76 -0
- package/src/Switch.hbs +50 -0
- package/src/Switch.js +261 -0
- package/src/Tab.hbs +3 -0
- package/src/Tab.js +334 -0
- package/src/TabContainer.hbs +93 -0
- package/src/TabContainer.js +679 -0
- package/src/TabContainerPopover.hbs +24 -0
- package/src/TabInOverflow.hbs +22 -0
- package/src/TabInStrip.hbs +43 -0
- package/src/TabSeparator.hbs +1 -0
- package/src/TabSeparator.js +44 -0
- package/src/Table.hbs +99 -0
- package/src/Table.js +761 -0
- package/src/TableCell.hbs +7 -0
- package/src/TableCell.js +88 -0
- package/src/TableColumn.hbs +8 -0
- package/src/TableColumn.js +136 -0
- package/src/TableGroupRow.hbs +12 -0
- package/src/TableGroupRow.js +160 -0
- package/src/TableRow.hbs +61 -0
- package/src/TableRow.js +388 -0
- package/src/TextArea.hbs +50 -0
- package/src/TextArea.js +691 -0
- package/src/TextAreaPopover.hbs +28 -0
- package/src/TimePicker.hbs +35 -0
- package/src/TimePicker.js +166 -0
- package/src/TimePickerBase.js +463 -0
- package/src/TimePickerPopover.hbs +34 -0
- package/src/TimeSelection.hbs +60 -0
- package/src/TimeSelection.js +493 -0
- package/src/Title.hbs +47 -0
- package/src/Title.js +132 -0
- package/src/Toast.hbs +13 -0
- package/src/Toast.js +243 -0
- package/src/ToggleButton.hbs +5 -0
- package/src/ToggleButton.js +84 -0
- package/src/Token.hbs +30 -0
- package/src/Token.js +219 -0
- package/src/Tokenizer.hbs +27 -0
- package/src/Tokenizer.js +414 -0
- package/src/TokenizerPopover.hbs +50 -0
- package/src/Tree.hbs +42 -0
- package/src/Tree.js +443 -0
- package/src/TreeItem.js +168 -0
- package/src/TreeListItem.hbs +48 -0
- package/src/TreeListItem.js +332 -0
- package/src/WheelSlider.hbs +48 -0
- package/src/WheelSlider.js +435 -0
- package/src/YearPicker.hbs +27 -0
- package/src/YearPicker.js +324 -0
- package/src/features/ColorPaletteMoreColors.js +42 -0
- package/src/features/InputElementsFormSupport.js +88 -0
- package/src/features/InputSuggestions.js +530 -0
- package/src/i18n/messagebundle.properties +335 -0
- package/src/i18n/messagebundle_ar.properties +224 -0
- package/src/i18n/messagebundle_bg.properties +224 -0
- package/src/i18n/messagebundle_ca.properties +224 -0
- package/src/i18n/messagebundle_cs.properties +224 -0
- package/src/i18n/messagebundle_cy.properties +224 -0
- package/src/i18n/messagebundle_da.properties +224 -0
- package/src/i18n/messagebundle_de.properties +224 -0
- package/src/i18n/messagebundle_el.properties +224 -0
- package/src/i18n/messagebundle_en.properties +224 -0
- package/src/i18n/messagebundle_en_GB.properties +224 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +224 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +224 -0
- package/src/i18n/messagebundle_es.properties +224 -0
- package/src/i18n/messagebundle_es_MX.properties +224 -0
- package/src/i18n/messagebundle_et.properties +224 -0
- package/src/i18n/messagebundle_fi.properties +224 -0
- package/src/i18n/messagebundle_fr.properties +224 -0
- package/src/i18n/messagebundle_fr_CA.properties +224 -0
- package/src/i18n/messagebundle_hi.properties +224 -0
- package/src/i18n/messagebundle_hr.properties +224 -0
- package/src/i18n/messagebundle_hu.properties +224 -0
- package/src/i18n/messagebundle_id.properties +224 -0
- package/src/i18n/messagebundle_in.properties +172 -0
- package/src/i18n/messagebundle_it.properties +224 -0
- package/src/i18n/messagebundle_iw.properties +224 -0
- package/src/i18n/messagebundle_ja.properties +224 -0
- package/src/i18n/messagebundle_kk.properties +224 -0
- package/src/i18n/messagebundle_ko.properties +224 -0
- package/src/i18n/messagebundle_lt.properties +224 -0
- package/src/i18n/messagebundle_lv.properties +224 -0
- package/src/i18n/messagebundle_ms.properties +224 -0
- package/src/i18n/messagebundle_nl.properties +224 -0
- package/src/i18n/messagebundle_no.properties +224 -0
- package/src/i18n/messagebundle_pl.properties +224 -0
- package/src/i18n/messagebundle_pt.properties +224 -0
- package/src/i18n/messagebundle_pt_PT.properties +224 -0
- package/src/i18n/messagebundle_ro.properties +224 -0
- package/src/i18n/messagebundle_ru.properties +224 -0
- package/src/i18n/messagebundle_sh.properties +224 -0
- package/src/i18n/messagebundle_sk.properties +224 -0
- package/src/i18n/messagebundle_sl.properties +224 -0
- package/src/i18n/messagebundle_sv.properties +224 -0
- package/src/i18n/messagebundle_th.properties +224 -0
- package/src/i18n/messagebundle_tr.properties +224 -0
- package/src/i18n/messagebundle_uk.properties +224 -0
- package/src/i18n/messagebundle_vi.properties +224 -0
- package/src/i18n/messagebundle_zh_CN.properties +224 -0
- package/src/i18n/messagebundle_zh_TW.properties +224 -0
- package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
- package/src/popup-utils/PopoverRegistry.js +145 -0
- package/src/timepicker-utils/TimeSlider.js +103 -0
- package/src/types/AvatarColorScheme.js +104 -0
- package/src/types/AvatarGroupType.js +43 -0
- package/src/types/AvatarShape.js +41 -0
- package/src/types/AvatarSize.js +67 -0
- package/src/types/BreadcrumbsDesign.js +42 -0
- package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/src/types/BusyIndicatorSize.js +47 -0
- package/src/types/ButtonDesign.js +68 -0
- package/src/types/CalendarSelectionMode.js +47 -0
- package/src/types/CarouselArrowsPlacement.js +40 -0
- package/src/types/GrowingMode.js +48 -0
- package/src/types/InputType.js +68 -0
- package/src/types/LinkDesign.js +47 -0
- package/src/types/ListGrowingMode.js +15 -0
- package/src/types/ListItemType.js +47 -0
- package/src/types/ListMode.js +77 -0
- package/src/types/ListSeparators.js +46 -0
- package/src/types/MessageStripDesign.js +54 -0
- package/src/types/PanelAccessibleRole.js +48 -0
- package/src/types/PopoverHorizontalAlign.js +54 -0
- package/src/types/PopoverPlacementType.js +54 -0
- package/src/types/PopoverVerticalAlign.js +54 -0
- package/src/types/Priority.js +55 -0
- package/src/types/SemanticColor.js +61 -0
- package/src/types/SwitchDesign.js +40 -0
- package/src/types/TabContainerTabsPlacement.js +40 -0
- package/src/types/TabLayout.js +40 -0
- package/src/types/TableGrowingMode.js +15 -0
- package/src/types/TableMode.js +47 -0
- package/src/types/TableRowType.js +40 -0
- package/src/types/TitleLevel.js +68 -0
- package/src/types/ToastPlacement.js +91 -0
- package/src/types/WrappingType.js +41 -0
- package/dist/Timeline.js +0 -97
- package/dist/TimelineItem.js +0 -161
- package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
- package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -10
- package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
- package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
- package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
- package/dist/generated/themes/ComboBoxItem.css.js +0 -8
- package/dist/generated/themes/DurationPicker.css.js +0 -8
- package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
- package/dist/generated/themes/Timeline.css.js +0 -8
- package/dist/generated/themes/TimelineItem.css.js +0 -8
- package/dist/popup-utils/PopupUtils.js +0 -55
- package/dist/types/AvatarFitType.js +0 -40
- package/dist/webcomponentsjs/package.json +0 -46
package/dist/List.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
3
|
+
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
3
4
|
import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
|
|
5
|
+
import { isIE } from "@ui5/webcomponents-base/dist/Device.js";
|
|
6
|
+
import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
|
|
4
7
|
import { getLastTabbableElement } from "@ui5/webcomponents-base/dist/util/TabbableElements.js";
|
|
5
|
-
import { isTabNext } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
8
|
+
import { isTabNext, isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
9
|
+
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
6
10
|
import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
|
|
11
|
+
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
|
|
12
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
13
|
+
import debounce from "@ui5/webcomponents-base/dist/util/debounce.js";
|
|
14
|
+
import isElementInView from "@ui5/webcomponents-base/dist/util/isElementInView.js";
|
|
7
15
|
import ListMode from "./types/ListMode.js";
|
|
16
|
+
import ListGrowingMode from "./types/ListGrowingMode.js";
|
|
8
17
|
import ListSeparators from "./types/ListSeparators.js";
|
|
9
18
|
import BusyIndicator from "./BusyIndicator.js";
|
|
10
19
|
|
|
@@ -14,9 +23,17 @@ import ListTemplate from "./generated/templates/ListTemplate.lit.js";
|
|
|
14
23
|
// Styles
|
|
15
24
|
import listCss from "./generated/themes/List.css.js";
|
|
16
25
|
|
|
17
|
-
|
|
26
|
+
// Texts
|
|
27
|
+
import {
|
|
28
|
+
LOAD_MORE_TEXT, ARIA_LABEL_LIST_SELECTABLE,
|
|
29
|
+
ARIA_LABEL_LIST_MULTISELECTABLE,
|
|
30
|
+
ARIA_LABEL_LIST_DELETABLE,
|
|
31
|
+
} from "./generated/i18n/i18n-defaults.js";
|
|
32
|
+
|
|
18
33
|
const INFINITE_SCROLL_DEBOUNCE_RATE = 250; // ms
|
|
19
34
|
|
|
35
|
+
const PAGE_UP_DOWN_SIZE = 10;
|
|
36
|
+
|
|
20
37
|
/**
|
|
21
38
|
* @public
|
|
22
39
|
*/
|
|
@@ -26,7 +43,7 @@ const metadata = {
|
|
|
26
43
|
slots: /** @lends sap.ui.webcomponents.main.List.prototype */ {
|
|
27
44
|
|
|
28
45
|
/**
|
|
29
|
-
* Defines the
|
|
46
|
+
* Defines the component header.
|
|
30
47
|
* <br><br>
|
|
31
48
|
* <b>Note:</b> When <code>header</code> is set, the
|
|
32
49
|
* <code>headerText</code> property is ignored.
|
|
@@ -40,12 +57,12 @@ const metadata = {
|
|
|
40
57
|
},
|
|
41
58
|
|
|
42
59
|
/**
|
|
43
|
-
* Defines the items of the
|
|
60
|
+
* Defines the items of the component.
|
|
44
61
|
* <br><br>
|
|
45
62
|
* <b>Note:</b> Use <code>ui5-li</code>, <code>ui5-li-custom</code>, and <code>ui5-li-groupheader</code> for the intended design.
|
|
46
63
|
*
|
|
47
|
-
* @type {
|
|
48
|
-
* @slot
|
|
64
|
+
* @type {sap.ui.webcomponents.main.IListItem[]}
|
|
65
|
+
* @slot items
|
|
49
66
|
* @public
|
|
50
67
|
*/
|
|
51
68
|
"default": {
|
|
@@ -56,7 +73,7 @@ const metadata = {
|
|
|
56
73
|
properties: /** @lends sap.ui.webcomponents.main.List.prototype */ {
|
|
57
74
|
|
|
58
75
|
/**
|
|
59
|
-
* Defines the
|
|
76
|
+
* Defines the component header text.
|
|
60
77
|
* <br><br>
|
|
61
78
|
* <b>Note:</b> If <code>header</code> is set this property is ignored.
|
|
62
79
|
*
|
|
@@ -80,18 +97,18 @@ const metadata = {
|
|
|
80
97
|
},
|
|
81
98
|
|
|
82
99
|
/**
|
|
83
|
-
* Determines whether the
|
|
100
|
+
* Determines whether the component is indented.
|
|
84
101
|
*
|
|
85
102
|
* @type {boolean}
|
|
86
103
|
* @defaultvalue false
|
|
87
104
|
* @public
|
|
88
105
|
*/
|
|
89
|
-
|
|
106
|
+
indent: {
|
|
90
107
|
type: Boolean,
|
|
91
108
|
},
|
|
92
109
|
|
|
93
110
|
/**
|
|
94
|
-
* Defines the mode of the
|
|
111
|
+
* Defines the mode of the component.
|
|
95
112
|
* <br><br>
|
|
96
113
|
* <b>Note:</b> Available options are <code>None</code>, <code>SingleSelect</code>, <code>SingleSelectBegin</code>,
|
|
97
114
|
* <code>SingleSelectEnd</code>, <code>MultiSelect</code>, and <code>Delete</code>.
|
|
@@ -106,7 +123,7 @@ const metadata = {
|
|
|
106
123
|
},
|
|
107
124
|
|
|
108
125
|
/**
|
|
109
|
-
* Defines the text that is displayed when the
|
|
126
|
+
* Defines the text that is displayed when the component contains no items.
|
|
110
127
|
*
|
|
111
128
|
* @type {string}
|
|
112
129
|
* @defaultvalue ""
|
|
@@ -137,22 +154,34 @@ const metadata = {
|
|
|
137
154
|
},
|
|
138
155
|
|
|
139
156
|
/**
|
|
140
|
-
* Defines
|
|
141
|
-
*
|
|
142
|
-
*
|
|
157
|
+
* Defines whether the component will have growing capability either by pressing a <code>More</code> button,
|
|
158
|
+
* or via user scroll. In both cases <code>load-more</code> event is fired.
|
|
159
|
+
* <br><br>
|
|
143
160
|
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
161
|
+
* Available options:
|
|
162
|
+
* <br><br>
|
|
163
|
+
* <code>Button</code> - Shows a <code>More</code> button at the bottom of the list,
|
|
164
|
+
* pressing of which triggers the <code>load-more</code> event.
|
|
165
|
+
* <br>
|
|
166
|
+
* <code>Scroll</code> - The <code>load-more</code> event is triggered when the user scrolls to the bottom of the list;
|
|
167
|
+
* <br>
|
|
168
|
+
* <code>None</code> (default) - The growing is off.
|
|
169
|
+
* <br><br>
|
|
170
|
+
*
|
|
171
|
+
* <b>Limitations:</b> <code>growing="Scroll"</code> is not supported for Internet Explorer,
|
|
172
|
+
* on IE the component will fallback to <code>growing="Button"</code>.
|
|
173
|
+
* @type {ListGrowingMode}
|
|
174
|
+
* @defaultvalue "None"
|
|
175
|
+
* @since 1.0.0-rc.13
|
|
146
176
|
* @public
|
|
147
|
-
* @since 1.0.0-rc.6
|
|
148
177
|
*/
|
|
149
|
-
|
|
150
|
-
type:
|
|
178
|
+
growing: {
|
|
179
|
+
type: ListGrowingMode,
|
|
180
|
+
defaultValue: ListGrowingMode.None,
|
|
151
181
|
},
|
|
152
182
|
|
|
153
183
|
/**
|
|
154
|
-
* Defines if the component would display a loading indicator
|
|
155
|
-
* It's especially useful, when combined with <code>infiniteScroll</code>.
|
|
184
|
+
* Defines if the component would display a loading indicator over the list.
|
|
156
185
|
*
|
|
157
186
|
* @type {boolean}
|
|
158
187
|
* @defaultvalue false
|
|
@@ -164,14 +193,69 @@ const metadata = {
|
|
|
164
193
|
},
|
|
165
194
|
|
|
166
195
|
/**
|
|
167
|
-
*
|
|
196
|
+
* Defines the delay in milliseconds, after which the busy indicator will show up for this component.
|
|
168
197
|
*
|
|
169
|
-
* @
|
|
198
|
+
* @type {Integer}
|
|
199
|
+
* @defaultValue 1000
|
|
200
|
+
* @public
|
|
170
201
|
*/
|
|
171
|
-
|
|
202
|
+
busyDelay: {
|
|
203
|
+
type: Integer,
|
|
204
|
+
defaultValue: 1000,
|
|
205
|
+
},
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Defines the accessible name of the component.
|
|
209
|
+
*
|
|
210
|
+
* @type {String}
|
|
211
|
+
* @defaultvalue ""
|
|
212
|
+
* @public
|
|
213
|
+
* @since 1.0.0-rc.15
|
|
214
|
+
*/
|
|
215
|
+
accessibleName: {
|
|
172
216
|
type: String,
|
|
173
|
-
|
|
174
|
-
|
|
217
|
+
},
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Defines the IDs of the elements that label the input.
|
|
221
|
+
*
|
|
222
|
+
* @type {String}
|
|
223
|
+
* @defaultvalue ""
|
|
224
|
+
* @public
|
|
225
|
+
* @since 1.0.0-rc.15
|
|
226
|
+
*/
|
|
227
|
+
accessibleNameRef: {
|
|
228
|
+
type: String,
|
|
229
|
+
defaultValue: "",
|
|
230
|
+
},
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Defines the accessible role of the component.
|
|
234
|
+
* <br><br>
|
|
235
|
+
* @public
|
|
236
|
+
* @type {String}
|
|
237
|
+
* @defaultvalue "list"
|
|
238
|
+
* @since 1.0.0-rc.15
|
|
239
|
+
*/
|
|
240
|
+
accessibleRole: {
|
|
241
|
+
type: String,
|
|
242
|
+
defaultValue: "list",
|
|
243
|
+
},
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Defines if the entire list is in view port.
|
|
247
|
+
* @private
|
|
248
|
+
*/
|
|
249
|
+
_inViewport: {
|
|
250
|
+
type: Boolean,
|
|
251
|
+
},
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Defines the active state of the <code>More</code> button.
|
|
255
|
+
* @private
|
|
256
|
+
*/
|
|
257
|
+
_loadMoreActive: {
|
|
258
|
+
type: Boolean,
|
|
175
259
|
},
|
|
176
260
|
},
|
|
177
261
|
events: /** @lends sap.ui.webcomponents.main.List.prototype */ {
|
|
@@ -181,7 +265,7 @@ const metadata = {
|
|
|
181
265
|
* is set to <code>Inactive</code>.
|
|
182
266
|
*
|
|
183
267
|
* @event sap.ui.webcomponents.main.List#item-click
|
|
184
|
-
* @param {HTMLElement} item
|
|
268
|
+
* @param {HTMLElement} item The clicked item.
|
|
185
269
|
* @public
|
|
186
270
|
*/
|
|
187
271
|
"item-click": {
|
|
@@ -227,7 +311,7 @@ const metadata = {
|
|
|
227
311
|
* Fired when the Delete button of any item is pressed.
|
|
228
312
|
* <br><br>
|
|
229
313
|
* <b>Note:</b> A Delete button is displayed on each item,
|
|
230
|
-
* when the
|
|
314
|
+
* when the component <code>mode</code> property is set to <code>Delete</code>.
|
|
231
315
|
*
|
|
232
316
|
* @event sap.ui.webcomponents.main.List#item-delete
|
|
233
317
|
* @param {HTMLElement} item the deleted item.
|
|
@@ -259,7 +343,7 @@ const metadata = {
|
|
|
259
343
|
/**
|
|
260
344
|
* Fired when the user scrolls to the bottom of the list.
|
|
261
345
|
* <br><br>
|
|
262
|
-
* <b>Note:</b> The event is fired when the <code>
|
|
346
|
+
* <b>Note:</b> The event is fired when the <code>growing='Scroll'</code> property is enabled.
|
|
263
347
|
*
|
|
264
348
|
* @event sap.ui.webcomponents.main.List#load-more
|
|
265
349
|
* @public
|
|
@@ -277,11 +361,11 @@ const metadata = {
|
|
|
277
361
|
* The <code>ui5-list</code> component allows displaying a list of items, advanced keyboard
|
|
278
362
|
* handling support for navigating between items, and predefined modes to improve the development efficiency.
|
|
279
363
|
* <br><br>
|
|
280
|
-
* The <code>ui5-list</code> is
|
|
364
|
+
* The <code>ui5-list</code> is a container for the available list items:
|
|
281
365
|
* <ul>
|
|
282
366
|
* <li><code>ui5-li</code></li>
|
|
283
367
|
* <li><code>ui5-li-custom</code></li>
|
|
284
|
-
* <li><code>ui5-li-
|
|
368
|
+
* <li><code>ui5-li-groupheader</code></li>
|
|
285
369
|
* </ul>
|
|
286
370
|
* <br><br>
|
|
287
371
|
* To benefit from the built-in selection mechanism, you can use the available
|
|
@@ -290,6 +374,27 @@ const metadata = {
|
|
|
290
374
|
* <br><br>
|
|
291
375
|
* Additionally, the <code>ui5-list</code> provides header, footer, and customization for the list item separators.
|
|
292
376
|
*
|
|
377
|
+
* <br><br>
|
|
378
|
+
* <h3>Keyboard Handling</h3>
|
|
379
|
+
* The <code>ui5-list</code> provides advanced keyboard handling.
|
|
380
|
+
* When a list is focused the user can use the following keyboard
|
|
381
|
+
* shortcuts in order to perform a navigation:
|
|
382
|
+
* <br>
|
|
383
|
+
*
|
|
384
|
+
* <ul>
|
|
385
|
+
* <li>[UP/DOWN] - Navigates up and down the items</li>
|
|
386
|
+
* <li>[HOME] - Navigates to first item</li>
|
|
387
|
+
* <li>[END] - Navigates to the last item</li>
|
|
388
|
+
* </ul>
|
|
389
|
+
*
|
|
390
|
+
* The user can use the following keyboard shortcuts to perform actions (such as select, delete),
|
|
391
|
+
* when the <code>mode</code> property is in use:
|
|
392
|
+
* <ul>
|
|
393
|
+
* <li>[SPACE] - Select an item (if <code>type</code> is 'Active') when <code>mode</code> is selection</li>
|
|
394
|
+
* <li>[DELETE] - Delete an item if <code>mode</code> property is <code>Delete</code></li>
|
|
395
|
+
* </ul>
|
|
396
|
+
* <br><br>
|
|
397
|
+
*
|
|
293
398
|
* <h3>ES6 Module Import</h3>
|
|
294
399
|
*
|
|
295
400
|
* <code>import "@ui5/webcomponents/dist/List.js";</code>
|
|
@@ -298,7 +403,7 @@ const metadata = {
|
|
|
298
403
|
* <br>
|
|
299
404
|
* <code>import "@ui5/webcomponents/dist/CustomListItem.js";</code> (for <code>ui5-li-custom</code>)
|
|
300
405
|
* <br>
|
|
301
|
-
* <code>import "@ui5/webcomponents/dist/GroupHeaderListItem.js";</code> (for <code>ui5-li-
|
|
406
|
+
* <code>import "@ui5/webcomponents/dist/GroupHeaderListItem.js";</code> (for <code>ui5-li-groupheader</code>)
|
|
302
407
|
*
|
|
303
408
|
* @constructor
|
|
304
409
|
* @author SAP SE
|
|
@@ -325,6 +430,14 @@ class List extends UI5Element {
|
|
|
325
430
|
return listCss;
|
|
326
431
|
}
|
|
327
432
|
|
|
433
|
+
static async onDefine() {
|
|
434
|
+
List.i18nBundle = await getI18nBundle("@ui5/webcomponents");
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
static get dependencies() {
|
|
438
|
+
return [BusyIndicator];
|
|
439
|
+
}
|
|
440
|
+
|
|
328
441
|
constructor() {
|
|
329
442
|
super();
|
|
330
443
|
this.initItemNavigation();
|
|
@@ -337,6 +450,12 @@ class List extends UI5Element {
|
|
|
337
450
|
|
|
338
451
|
this._previouslySelectedItem = null;
|
|
339
452
|
|
|
453
|
+
// Indicates that the List has already subscribed for resize.
|
|
454
|
+
this.resizeListenerAttached = false;
|
|
455
|
+
|
|
456
|
+
// Indicates if the IntersectionObserver started observing the List
|
|
457
|
+
this.listEndObserved = false;
|
|
458
|
+
|
|
340
459
|
this.addEventListener("ui5-_press", this.onItemPress.bind(this));
|
|
341
460
|
this.addEventListener("ui5-close", this.onItemClose.bind(this));
|
|
342
461
|
this.addEventListener("ui5-toggle", this.onItemToggle.bind(this));
|
|
@@ -344,6 +463,43 @@ class List extends UI5Element {
|
|
|
344
463
|
this.addEventListener("ui5-_forward-after", this.onForwardAfter.bind(this));
|
|
345
464
|
this.addEventListener("ui5-_forward-before", this.onForwardBefore.bind(this));
|
|
346
465
|
this.addEventListener("ui5-_selection-requested", this.onSelectionRequested.bind(this));
|
|
466
|
+
this.addEventListener("ui5-_focus-requested", this.focusUploadCollectionItem.bind(this));
|
|
467
|
+
|
|
468
|
+
this._handleResize = this.checkListInViewport.bind(this);
|
|
469
|
+
|
|
470
|
+
// Indicates the List bottom most part has been detected by the IntersectionObserver
|
|
471
|
+
// for the first time.
|
|
472
|
+
this.initialIntersection = true;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
onExitDOM() {
|
|
476
|
+
this.unobserveListEnd();
|
|
477
|
+
this.resizeListenerAttached = false;
|
|
478
|
+
ResizeHandler.deregister(this.getDomRef(), this._handleResize);
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
onBeforeRendering() {
|
|
482
|
+
this.prepareListItems();
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
onAfterRendering() {
|
|
486
|
+
if (this.growsOnScroll) {
|
|
487
|
+
this.observeListEnd();
|
|
488
|
+
} else if (this.listEndObserved) {
|
|
489
|
+
this.unobserveListEnd();
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
if (this.grows) {
|
|
493
|
+
this.checkListInViewport();
|
|
494
|
+
this.attachForResize();
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
attachForResize() {
|
|
499
|
+
if (!this.resizeListenerAttached) {
|
|
500
|
+
this.resizeListenerAttached = true;
|
|
501
|
+
ResizeHandler.register(this.getDomRef(), this._handleResize);
|
|
502
|
+
}
|
|
347
503
|
}
|
|
348
504
|
|
|
349
505
|
get shouldRenderH1() {
|
|
@@ -354,12 +510,33 @@ class List extends UI5Element {
|
|
|
354
510
|
return `${this._id}-header`;
|
|
355
511
|
}
|
|
356
512
|
|
|
513
|
+
get modeLabelID() {
|
|
514
|
+
return `${this._id}-modeLabel`;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
get listEndDOM() {
|
|
518
|
+
return this.shadowRoot.querySelector(".ui5-list-end-marker");
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
get hasData() {
|
|
522
|
+
return this.getSlottedNodes("items").length !== 0;
|
|
523
|
+
}
|
|
524
|
+
|
|
357
525
|
get showNoDataText() {
|
|
358
|
-
return this.
|
|
526
|
+
return !this.hasData && this.noDataText;
|
|
359
527
|
}
|
|
360
528
|
|
|
361
|
-
get
|
|
362
|
-
return this.
|
|
529
|
+
get isDelete() {
|
|
530
|
+
return this.mode === ListMode.Delete;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
get isSingleSelect() {
|
|
534
|
+
return [
|
|
535
|
+
ListMode.SingleSelect,
|
|
536
|
+
ListMode.SingleSelectBegin,
|
|
537
|
+
ListMode.SingleSelectEnd,
|
|
538
|
+
ListMode.SingleSelectAuto,
|
|
539
|
+
].includes(this.mode);
|
|
363
540
|
}
|
|
364
541
|
|
|
365
542
|
get isMultiSelect() {
|
|
@@ -367,19 +544,83 @@ class List extends UI5Element {
|
|
|
367
544
|
}
|
|
368
545
|
|
|
369
546
|
get ariaLabelledBy() {
|
|
370
|
-
|
|
547
|
+
if (this.accessibleNameRef || this.accessibleName) {
|
|
548
|
+
return undefined;
|
|
549
|
+
}
|
|
550
|
+
const ids = [];
|
|
551
|
+
|
|
552
|
+
if (this.isMultiSelect || this.isSingleSelect || this.isDelete) {
|
|
553
|
+
ids.push(this.modeLabelID);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
if (this.shouldRenderH1) {
|
|
557
|
+
ids.push(this.headerID);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
return ids.length ? ids.join(" ") : undefined;
|
|
371
561
|
}
|
|
372
562
|
|
|
373
|
-
|
|
374
|
-
this
|
|
563
|
+
get ariaLabelTxt() {
|
|
564
|
+
return getEffectiveAriaLabelText(this);
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
get ariaLabelModeText() {
|
|
568
|
+
if (this.isMultiSelect) {
|
|
569
|
+
return List.i18nBundle.getText(ARIA_LABEL_LIST_MULTISELECTABLE);
|
|
570
|
+
}
|
|
571
|
+
if (this.isSingleSelect) {
|
|
572
|
+
return List.i18nBundle.getText(ARIA_LABEL_LIST_SELECTABLE);
|
|
573
|
+
}
|
|
574
|
+
if (this.isDelete) {
|
|
575
|
+
return List.i18nBundle.getText(ARIA_LABEL_LIST_DELETABLE);
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
return undefined;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
get grows() {
|
|
582
|
+
return this.growing !== ListGrowingMode.None;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
get growsOnScroll() {
|
|
586
|
+
return this.growing === ListGrowingMode.Scroll && !isIE();
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
get growsWithButton() {
|
|
590
|
+
if (isIE()) {
|
|
591
|
+
// On IE fallback to "More" button, even if growing of type "Scroll" is set.
|
|
592
|
+
return this.grows;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
return this.growing === ListGrowingMode.Button;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
get _growingButtonText() {
|
|
599
|
+
return List.i18nBundle.getText(LOAD_MORE_TEXT);
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
get busyIndPosition() {
|
|
603
|
+
if (isIE() || !this.grows) {
|
|
604
|
+
return "absolute";
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
return this._inViewport ? "absolute" : "sticky";
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
get styles() {
|
|
611
|
+
return {
|
|
612
|
+
busyInd: {
|
|
613
|
+
position: this.busyIndPosition,
|
|
614
|
+
},
|
|
615
|
+
};
|
|
375
616
|
}
|
|
376
617
|
|
|
377
618
|
initItemNavigation() {
|
|
378
619
|
this._itemNavigation = new ItemNavigation(this, {
|
|
620
|
+
skipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items
|
|
379
621
|
navigationMode: NavigationMode.Vertical,
|
|
622
|
+
getItemsCallback: () => this.getEnabledItems(),
|
|
380
623
|
});
|
|
381
|
-
|
|
382
|
-
this._itemNavigation.getItemsCallback = () => this.getSlottedNodes("items");
|
|
383
624
|
}
|
|
384
625
|
|
|
385
626
|
prepareListItems() {
|
|
@@ -397,6 +638,34 @@ class List extends UI5Element {
|
|
|
397
638
|
this._previouslySelectedItem = null;
|
|
398
639
|
}
|
|
399
640
|
|
|
641
|
+
async observeListEnd() {
|
|
642
|
+
if (!this.listEndObserved) {
|
|
643
|
+
await renderFinished();
|
|
644
|
+
this.getIntersectionObserver().observe(this.listEndDOM);
|
|
645
|
+
this.listEndObserved = true;
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
unobserveListEnd() {
|
|
650
|
+
if (this.growingIntersectionObserver) {
|
|
651
|
+
this.growingIntersectionObserver.disconnect();
|
|
652
|
+
this.growingIntersectionObserver = null;
|
|
653
|
+
this.listEndObserved = false;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
onInteresection(entries) {
|
|
658
|
+
if (this.initialIntersection) {
|
|
659
|
+
this.initialIntersection = false;
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
662
|
+
entries.forEach(entry => {
|
|
663
|
+
if (entry.isIntersecting) {
|
|
664
|
+
debounce(this.loadMore.bind(this), INFINITE_SCROLL_DEBOUNCE_RATE);
|
|
665
|
+
}
|
|
666
|
+
});
|
|
667
|
+
}
|
|
668
|
+
|
|
400
669
|
/*
|
|
401
670
|
* ITEM SELECTION BASED ON THE CURRENT MODE
|
|
402
671
|
*/
|
|
@@ -438,6 +707,10 @@ class List extends UI5Element {
|
|
|
438
707
|
return this.handleSingleSelect(item);
|
|
439
708
|
}
|
|
440
709
|
|
|
710
|
+
handleSingleSelectAuto(item) {
|
|
711
|
+
return this.handleSingleSelect(item);
|
|
712
|
+
}
|
|
713
|
+
|
|
441
714
|
handleMultiSelect(item, selected) {
|
|
442
715
|
item.selected = selected;
|
|
443
716
|
return true;
|
|
@@ -455,18 +728,8 @@ class List extends UI5Element {
|
|
|
455
728
|
return this.getSlottedNodes("items").filter(item => item.selected);
|
|
456
729
|
}
|
|
457
730
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
let firstSelectedItem = null;
|
|
461
|
-
|
|
462
|
-
for (let i = 0; i < slottedItems.length; i++) {
|
|
463
|
-
if (slottedItems[i].selected) {
|
|
464
|
-
firstSelectedItem = slottedItems[i];
|
|
465
|
-
break;
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
return firstSelectedItem;
|
|
731
|
+
getEnabledItems() {
|
|
732
|
+
return this.getSlottedNodes("items").filter(item => !item.disabled);
|
|
470
733
|
}
|
|
471
734
|
|
|
472
735
|
_onkeydown(event) {
|
|
@@ -475,6 +738,50 @@ class List extends UI5Element {
|
|
|
475
738
|
}
|
|
476
739
|
}
|
|
477
740
|
|
|
741
|
+
_onLoadMoreKeydown(event) {
|
|
742
|
+
if (isSpace(event)) {
|
|
743
|
+
event.preventDefault();
|
|
744
|
+
this._loadMoreActive = true;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
if (isEnter(event)) {
|
|
748
|
+
this._onLoadMoreClick();
|
|
749
|
+
this._loadMoreActive = true;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
if (isTabNext(event)) {
|
|
753
|
+
this.setPreviouslyFocusedItem(event.target);
|
|
754
|
+
this.focusAfterElement();
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
_onLoadMoreKeyup(event) {
|
|
759
|
+
if (isSpace(event)) {
|
|
760
|
+
this._onLoadMoreClick();
|
|
761
|
+
}
|
|
762
|
+
this._loadMoreActive = false;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
_onLoadMoreMousedown() {
|
|
766
|
+
this._loadMoreActive = true;
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
_onLoadMoreMouseup() {
|
|
770
|
+
this._loadMoreActive = false;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
_onLoadMoreClick() {
|
|
774
|
+
this.loadMore();
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
checkListInViewport() {
|
|
778
|
+
this._inViewport = isElementInView(this.getDomRef());
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
loadMore() {
|
|
782
|
+
this.fireEvent("load-more");
|
|
783
|
+
}
|
|
784
|
+
|
|
478
785
|
/*
|
|
479
786
|
* KEYBOARD SUPPORT
|
|
480
787
|
*/
|
|
@@ -494,7 +801,7 @@ class List extends UI5Element {
|
|
|
494
801
|
}
|
|
495
802
|
|
|
496
803
|
if (lastTabbableEl === target) {
|
|
497
|
-
if (this.
|
|
804
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
498
805
|
this.focusFirstSelectedItem();
|
|
499
806
|
} else if (this.getPreviouslyFocusedItem()) {
|
|
500
807
|
this.focusPreviouslyFocusedItem();
|
|
@@ -507,13 +814,6 @@ class List extends UI5Element {
|
|
|
507
814
|
}
|
|
508
815
|
}
|
|
509
816
|
|
|
510
|
-
_onScroll(event) {
|
|
511
|
-
if (!this.infiniteScroll) {
|
|
512
|
-
return;
|
|
513
|
-
}
|
|
514
|
-
this.debounce(this.loadMore.bind(this, event.target), INFINITE_SCROLL_DEBOUNCE_RATE);
|
|
515
|
-
}
|
|
516
|
-
|
|
517
817
|
_onfocusin(event) {
|
|
518
818
|
// If the focusin event does not origin from one of the 'triggers' - ignore it.
|
|
519
819
|
if (!this.isForwardElement(this.getNormalizedTarget(event.target))) {
|
|
@@ -524,7 +824,7 @@ class List extends UI5Element {
|
|
|
524
824
|
// The focus arrives in the List for the first time.
|
|
525
825
|
// If there is selected item - focus it or focus the first item.
|
|
526
826
|
if (!this.getPreviouslyFocusedItem()) {
|
|
527
|
-
if (this.
|
|
827
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
528
828
|
this.focusFirstSelectedItem();
|
|
529
829
|
} else {
|
|
530
830
|
this.focusFirstItem();
|
|
@@ -537,11 +837,13 @@ class List extends UI5Element {
|
|
|
537
837
|
// The focus returns to the List,
|
|
538
838
|
// focus the first selected item or the previously focused element.
|
|
539
839
|
if (!this.getForwardingFocus()) {
|
|
540
|
-
if (this.
|
|
840
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
541
841
|
this.focusFirstSelectedItem();
|
|
542
842
|
} else {
|
|
543
843
|
this.focusPreviouslyFocusedItem();
|
|
544
844
|
}
|
|
845
|
+
|
|
846
|
+
event.stopImmediatePropagation();
|
|
545
847
|
}
|
|
546
848
|
|
|
547
849
|
this.setForwardingFocus(false);
|
|
@@ -549,19 +851,32 @@ class List extends UI5Element {
|
|
|
549
851
|
|
|
550
852
|
isForwardElement(node) {
|
|
551
853
|
const nodeId = node.id;
|
|
854
|
+
const afterElement = this.getAfterElement();
|
|
855
|
+
const beforeElement = this.getBeforeElement();
|
|
552
856
|
|
|
553
|
-
if (this._id === nodeId ||
|
|
857
|
+
if (this._id === nodeId || (beforeElement && beforeElement.id === nodeId)) {
|
|
554
858
|
return true;
|
|
555
859
|
}
|
|
556
860
|
|
|
557
|
-
return
|
|
861
|
+
return afterElement && afterElement.id === nodeId;
|
|
558
862
|
}
|
|
559
863
|
|
|
560
864
|
onItemFocused(event) {
|
|
561
865
|
const target = event.target;
|
|
562
866
|
|
|
563
|
-
this._itemNavigation.
|
|
867
|
+
this._itemNavigation.setCurrentItem(target);
|
|
564
868
|
this.fireEvent("item-focused", { item: target });
|
|
869
|
+
|
|
870
|
+
if (this.mode === ListMode.SingleSelectAuto) {
|
|
871
|
+
this.onSelectionRequested({
|
|
872
|
+
detail: {
|
|
873
|
+
item: target,
|
|
874
|
+
selectionComponentPressed: false,
|
|
875
|
+
selected: true,
|
|
876
|
+
key: event.detail.key,
|
|
877
|
+
},
|
|
878
|
+
});
|
|
879
|
+
}
|
|
565
880
|
}
|
|
566
881
|
|
|
567
882
|
onItemPress(event) {
|
|
@@ -597,11 +912,15 @@ class List extends UI5Element {
|
|
|
597
912
|
onForwardBefore(event) {
|
|
598
913
|
this.setPreviouslyFocusedItem(event.target);
|
|
599
914
|
this.focusBeforeElement();
|
|
915
|
+
event.stopImmediatePropagation();
|
|
600
916
|
}
|
|
601
917
|
|
|
602
918
|
onForwardAfter(event) {
|
|
603
919
|
this.setPreviouslyFocusedItem(event.target);
|
|
604
|
-
|
|
920
|
+
|
|
921
|
+
if (!this.growsWithButton) {
|
|
922
|
+
this.focusAfterElement();
|
|
923
|
+
}
|
|
605
924
|
}
|
|
606
925
|
|
|
607
926
|
focusBeforeElement() {
|
|
@@ -615,7 +934,8 @@ class List extends UI5Element {
|
|
|
615
934
|
}
|
|
616
935
|
|
|
617
936
|
focusFirstItem() {
|
|
618
|
-
|
|
937
|
+
// only enabled items are focusable
|
|
938
|
+
const firstItem = this.getFirstItem(x => !x.disabled);
|
|
619
939
|
|
|
620
940
|
if (firstItem) {
|
|
621
941
|
firstItem.focus();
|
|
@@ -631,17 +951,31 @@ class List extends UI5Element {
|
|
|
631
951
|
}
|
|
632
952
|
|
|
633
953
|
focusFirstSelectedItem() {
|
|
634
|
-
|
|
954
|
+
// only enabled items are focusable
|
|
955
|
+
const firstSelectedItem = this.getFirstItem(x => x.selected && !x.disabled);
|
|
635
956
|
|
|
636
957
|
if (firstSelectedItem) {
|
|
637
958
|
firstSelectedItem.focus();
|
|
638
959
|
}
|
|
639
960
|
}
|
|
640
961
|
|
|
962
|
+
/**
|
|
963
|
+
* Focuses a list item and sets its tabindex to "0" via the ItemNavigation
|
|
964
|
+
* @protected
|
|
965
|
+
* @param item
|
|
966
|
+
*/
|
|
641
967
|
focusItem(item) {
|
|
968
|
+
this._itemNavigation.setCurrentItem(item);
|
|
642
969
|
item.focus();
|
|
643
970
|
}
|
|
644
971
|
|
|
972
|
+
focusUploadCollectionItem(event) {
|
|
973
|
+
setTimeout(() => {
|
|
974
|
+
this.setPreviouslyFocusedItem(event.target);
|
|
975
|
+
this.focusPreviouslyFocusedItem();
|
|
976
|
+
}, 0);
|
|
977
|
+
}
|
|
978
|
+
|
|
645
979
|
setForwardingFocus(forwardingFocus) {
|
|
646
980
|
this._forwardingFocus = forwardingFocus;
|
|
647
981
|
}
|
|
@@ -658,9 +992,22 @@ class List extends UI5Element {
|
|
|
658
992
|
return this._previouslyFocusedItem;
|
|
659
993
|
}
|
|
660
994
|
|
|
661
|
-
getFirstItem() {
|
|
995
|
+
getFirstItem(filter) {
|
|
662
996
|
const slottedItems = this.getSlottedNodes("items");
|
|
663
|
-
|
|
997
|
+
let firstItem = null;
|
|
998
|
+
|
|
999
|
+
if (!filter) {
|
|
1000
|
+
return !!slottedItems.length && slottedItems[0];
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
for (let i = 0; i < slottedItems.length; i++) {
|
|
1004
|
+
if (filter(slottedItems[i])) {
|
|
1005
|
+
firstItem = slottedItems[i];
|
|
1006
|
+
break;
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
return firstItem;
|
|
664
1011
|
}
|
|
665
1012
|
|
|
666
1013
|
getAfterElement() {
|
|
@@ -691,32 +1038,16 @@ class List extends UI5Element {
|
|
|
691
1038
|
return focused;
|
|
692
1039
|
}
|
|
693
1040
|
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
return;
|
|
702
|
-
}
|
|
703
|
-
this.previousScrollPosition = scrollTop;
|
|
704
|
-
|
|
705
|
-
if (scrollHeight - BUSYINDICATOR_HEIGHT <= height + scrollTop) {
|
|
706
|
-
this.fireEvent("load-more");
|
|
1041
|
+
getIntersectionObserver() {
|
|
1042
|
+
if (!this.growingIntersectionObserver) {
|
|
1043
|
+
this.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {
|
|
1044
|
+
root: null,
|
|
1045
|
+
rootMargin: "0px",
|
|
1046
|
+
threshold: 1.0,
|
|
1047
|
+
});
|
|
707
1048
|
}
|
|
708
|
-
}
|
|
709
1049
|
|
|
710
|
-
|
|
711
|
-
clearTimeout(this.debounceInterval);
|
|
712
|
-
this.debounceInterval = setTimeout(() => {
|
|
713
|
-
this.debounceInterval = null;
|
|
714
|
-
fn();
|
|
715
|
-
}, delay);
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
static async onDefine() {
|
|
719
|
-
await BusyIndicator.define();
|
|
1050
|
+
return this.growingIntersectionObserver;
|
|
720
1051
|
}
|
|
721
1052
|
}
|
|
722
1053
|
|