@ui5/webcomponents 0.0.0-934b4df24 → 0.0.0-b053ad005
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 +124 -68
- package/dist/Calendar.js +342 -546
- package/dist/CalendarDate.js +45 -0
- package/dist/CalendarHeader.js +133 -62
- package/dist/CalendarPart.js +111 -0
- package/dist/Card.js +44 -158
- package/dist/CardHeader.js +288 -0
- package/dist/Carousel.js +267 -100
- package/dist/CheckBox.js +149 -49
- 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 +111 -384
- package/dist/DayPicker.js +509 -431
- package/dist/Dialog.js +496 -44
- package/dist/DurationPicker.js +135 -400
- package/dist/FileUploader.js +213 -25
- package/dist/GroupHeaderListItem.js +24 -14
- package/dist/Icon.js +141 -49
- package/dist/Input.js +614 -163
- package/dist/Interfaces.js +192 -0
- package/dist/Label.js +27 -17
- package/dist/Link.js +123 -29
- package/dist/List.js +451 -117
- package/dist/ListItem.js +96 -26
- package/dist/ListItemBase.js +31 -8
- package/dist/MessageStrip.js +56 -70
- package/dist/MonthPicker.js +180 -182
- package/dist/MultiComboBox.js +574 -161
- 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 +255 -169
- package/dist/Popup.js +370 -96
- 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 +112 -76
- 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 +145 -65
- package/dist/TabSeparator.js +1 -0
- package/dist/Table.js +480 -27
- package/dist/TableCell.js +11 -9
- package/dist/TableColumn.js +13 -3
- package/dist/TableGroupRow.js +160 -0
- package/dist/TableRow.js +243 -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 +246 -64
- package/dist/Tree.js +150 -63
- package/dist/TreeItem.js +44 -9
- package/dist/TreeListItem.js +136 -14
- package/dist/WheelSlider.js +79 -59
- package/dist/YearPicker.js +199 -255
- 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 +251 -57
- 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 -89
- 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 +8 -0
- 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 +2 -2
- 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 +227 -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 */ {
|
|
@@ -180,11 +264,11 @@ const metadata = {
|
|
|
180
264
|
* Fired when an item is activated, unless the item's <code>type</code> property
|
|
181
265
|
* is set to <code>Inactive</code>.
|
|
182
266
|
*
|
|
183
|
-
* @event
|
|
184
|
-
* @param {HTMLElement} item
|
|
267
|
+
* @event sap.ui.webcomponents.main.List#item-click
|
|
268
|
+
* @param {HTMLElement} item The clicked item.
|
|
185
269
|
* @public
|
|
186
270
|
*/
|
|
187
|
-
|
|
271
|
+
"item-click": {
|
|
188
272
|
detail: {
|
|
189
273
|
item: { type: HTMLElement },
|
|
190
274
|
},
|
|
@@ -194,13 +278,14 @@ const metadata = {
|
|
|
194
278
|
* Fired when the <code>Close</code> button of any item is clicked
|
|
195
279
|
* <br><br>
|
|
196
280
|
* <b>Note:</b> This event is applicable to <code>ui5-li-notification</code> items only,
|
|
197
|
-
* not to be confused with <code>
|
|
198
|
-
*
|
|
281
|
+
* not to be confused with <code>item-delete</code>.
|
|
282
|
+
*
|
|
283
|
+
* @event sap.ui.webcomponents.main.List#item-close
|
|
199
284
|
* @param {HTMLElement} item the item about to be closed.
|
|
200
285
|
* @public
|
|
201
286
|
* @since 1.0.0-rc.8
|
|
202
287
|
*/
|
|
203
|
-
|
|
288
|
+
"item-close": {
|
|
204
289
|
detail: {
|
|
205
290
|
item: { type: HTMLElement },
|
|
206
291
|
},
|
|
@@ -210,12 +295,13 @@ const metadata = {
|
|
|
210
295
|
* Fired when the <code>Toggle</code> button of any item is clicked.
|
|
211
296
|
* <br><br>
|
|
212
297
|
* <b>Note:</b> This event is applicable to <code>ui5-li-notification-group</code> items only.
|
|
213
|
-
*
|
|
298
|
+
*
|
|
299
|
+
* @event sap.ui.webcomponents.main.List#item-toggle
|
|
214
300
|
* @param {HTMLElement} item the toggled item.
|
|
215
301
|
* @public
|
|
216
302
|
* @since 1.0.0-rc.8
|
|
217
303
|
*/
|
|
218
|
-
|
|
304
|
+
"item-toggle": {
|
|
219
305
|
detail: {
|
|
220
306
|
item: { type: HTMLElement },
|
|
221
307
|
},
|
|
@@ -225,12 +311,13 @@ const metadata = {
|
|
|
225
311
|
* Fired when the Delete button of any item is pressed.
|
|
226
312
|
* <br><br>
|
|
227
313
|
* <b>Note:</b> A Delete button is displayed on each item,
|
|
228
|
-
* when the
|
|
229
|
-
*
|
|
314
|
+
* when the component <code>mode</code> property is set to <code>Delete</code>.
|
|
315
|
+
*
|
|
316
|
+
* @event sap.ui.webcomponents.main.List#item-delete
|
|
230
317
|
* @param {HTMLElement} item the deleted item.
|
|
231
318
|
* @public
|
|
232
319
|
*/
|
|
233
|
-
|
|
320
|
+
"item-delete": {
|
|
234
321
|
detail: {
|
|
235
322
|
item: { type: HTMLElement },
|
|
236
323
|
},
|
|
@@ -240,12 +327,12 @@ const metadata = {
|
|
|
240
327
|
* Fired when selection is changed by user interaction
|
|
241
328
|
* in <code>SingleSelect</code>, <code>SingleSelectBegin</code>, <code>SingleSelectEnd</code> and <code>MultiSelect</code> modes.
|
|
242
329
|
*
|
|
243
|
-
* @event
|
|
330
|
+
* @event sap.ui.webcomponents.main.List#selection-change
|
|
244
331
|
* @param {Array} selectedItems An array of the selected items.
|
|
245
332
|
* @param {Array} previouslySelectedItems An array of the previously selected items.
|
|
246
333
|
* @public
|
|
247
334
|
*/
|
|
248
|
-
|
|
335
|
+
"selection-change": {
|
|
249
336
|
detail: {
|
|
250
337
|
selectedItems: { type: Array },
|
|
251
338
|
previouslySelectedItems: { type: Array },
|
|
@@ -256,13 +343,13 @@ const metadata = {
|
|
|
256
343
|
/**
|
|
257
344
|
* Fired when the user scrolls to the bottom of the list.
|
|
258
345
|
* <br><br>
|
|
259
|
-
* <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.
|
|
260
347
|
*
|
|
261
|
-
* @event
|
|
348
|
+
* @event sap.ui.webcomponents.main.List#load-more
|
|
262
349
|
* @public
|
|
263
350
|
* @since 1.0.0-rc.6
|
|
264
351
|
*/
|
|
265
|
-
|
|
352
|
+
"load-more": {},
|
|
266
353
|
},
|
|
267
354
|
};
|
|
268
355
|
|
|
@@ -274,11 +361,11 @@ const metadata = {
|
|
|
274
361
|
* The <code>ui5-list</code> component allows displaying a list of items, advanced keyboard
|
|
275
362
|
* handling support for navigating between items, and predefined modes to improve the development efficiency.
|
|
276
363
|
* <br><br>
|
|
277
|
-
* The <code>ui5-list</code> is
|
|
364
|
+
* The <code>ui5-list</code> is a container for the available list items:
|
|
278
365
|
* <ul>
|
|
279
366
|
* <li><code>ui5-li</code></li>
|
|
280
367
|
* <li><code>ui5-li-custom</code></li>
|
|
281
|
-
* <li><code>ui5-li-
|
|
368
|
+
* <li><code>ui5-li-groupheader</code></li>
|
|
282
369
|
* </ul>
|
|
283
370
|
* <br><br>
|
|
284
371
|
* To benefit from the built-in selection mechanism, you can use the available
|
|
@@ -287,6 +374,27 @@ const metadata = {
|
|
|
287
374
|
* <br><br>
|
|
288
375
|
* Additionally, the <code>ui5-list</code> provides header, footer, and customization for the list item separators.
|
|
289
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
|
+
*
|
|
290
398
|
* <h3>ES6 Module Import</h3>
|
|
291
399
|
*
|
|
292
400
|
* <code>import "@ui5/webcomponents/dist/List.js";</code>
|
|
@@ -295,7 +403,7 @@ const metadata = {
|
|
|
295
403
|
* <br>
|
|
296
404
|
* <code>import "@ui5/webcomponents/dist/CustomListItem.js";</code> (for <code>ui5-li-custom</code>)
|
|
297
405
|
* <br>
|
|
298
|
-
* <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>)
|
|
299
407
|
*
|
|
300
408
|
* @constructor
|
|
301
409
|
* @author SAP SE
|
|
@@ -322,6 +430,14 @@ class List extends UI5Element {
|
|
|
322
430
|
return listCss;
|
|
323
431
|
}
|
|
324
432
|
|
|
433
|
+
static async onDefine() {
|
|
434
|
+
List.i18nBundle = await getI18nBundle("@ui5/webcomponents");
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
static get dependencies() {
|
|
438
|
+
return [BusyIndicator];
|
|
439
|
+
}
|
|
440
|
+
|
|
325
441
|
constructor() {
|
|
326
442
|
super();
|
|
327
443
|
this.initItemNavigation();
|
|
@@ -334,13 +450,56 @@ class List extends UI5Element {
|
|
|
334
450
|
|
|
335
451
|
this._previouslySelectedItem = null;
|
|
336
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
|
+
|
|
337
459
|
this.addEventListener("ui5-_press", this.onItemPress.bind(this));
|
|
338
460
|
this.addEventListener("ui5-close", this.onItemClose.bind(this));
|
|
339
461
|
this.addEventListener("ui5-toggle", this.onItemToggle.bind(this));
|
|
340
462
|
this.addEventListener("ui5-_focused", this.onItemFocused.bind(this));
|
|
341
|
-
this.addEventListener("ui5-
|
|
342
|
-
this.addEventListener("ui5-
|
|
343
|
-
this.addEventListener("ui5-
|
|
463
|
+
this.addEventListener("ui5-_forward-after", this.onForwardAfter.bind(this));
|
|
464
|
+
this.addEventListener("ui5-_forward-before", this.onForwardBefore.bind(this));
|
|
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
|
+
}
|
|
344
503
|
}
|
|
345
504
|
|
|
346
505
|
get shouldRenderH1() {
|
|
@@ -351,12 +510,33 @@ class List extends UI5Element {
|
|
|
351
510
|
return `${this._id}-header`;
|
|
352
511
|
}
|
|
353
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
|
+
|
|
354
525
|
get showNoDataText() {
|
|
355
|
-
return this.
|
|
526
|
+
return !this.hasData && this.noDataText;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
get isDelete() {
|
|
530
|
+
return this.mode === ListMode.Delete;
|
|
356
531
|
}
|
|
357
532
|
|
|
358
|
-
get
|
|
359
|
-
return
|
|
533
|
+
get isSingleSelect() {
|
|
534
|
+
return [
|
|
535
|
+
ListMode.SingleSelect,
|
|
536
|
+
ListMode.SingleSelectBegin,
|
|
537
|
+
ListMode.SingleSelectEnd,
|
|
538
|
+
ListMode.SingleSelectAuto,
|
|
539
|
+
].includes(this.mode);
|
|
360
540
|
}
|
|
361
541
|
|
|
362
542
|
get isMultiSelect() {
|
|
@@ -364,19 +544,83 @@ class List extends UI5Element {
|
|
|
364
544
|
}
|
|
365
545
|
|
|
366
546
|
get ariaLabelledBy() {
|
|
367
|
-
|
|
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;
|
|
368
561
|
}
|
|
369
562
|
|
|
370
|
-
|
|
371
|
-
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
|
+
};
|
|
372
616
|
}
|
|
373
617
|
|
|
374
618
|
initItemNavigation() {
|
|
375
619
|
this._itemNavigation = new ItemNavigation(this, {
|
|
620
|
+
skipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items
|
|
376
621
|
navigationMode: NavigationMode.Vertical,
|
|
622
|
+
getItemsCallback: () => this.getEnabledItems(),
|
|
377
623
|
});
|
|
378
|
-
|
|
379
|
-
this._itemNavigation.getItemsCallback = () => this.getSlottedNodes("items");
|
|
380
624
|
}
|
|
381
625
|
|
|
382
626
|
prepareListItems() {
|
|
@@ -394,6 +638,34 @@ class List extends UI5Element {
|
|
|
394
638
|
this._previouslySelectedItem = null;
|
|
395
639
|
}
|
|
396
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
|
+
|
|
397
669
|
/*
|
|
398
670
|
* ITEM SELECTION BASED ON THE CURRENT MODE
|
|
399
671
|
*/
|
|
@@ -407,7 +679,7 @@ class List extends UI5Element {
|
|
|
407
679
|
}
|
|
408
680
|
|
|
409
681
|
if (selectionChange) {
|
|
410
|
-
this.fireEvent("
|
|
682
|
+
this.fireEvent("selection-change", {
|
|
411
683
|
selectedItems: this.getSelectedItems(),
|
|
412
684
|
previouslySelectedItems,
|
|
413
685
|
selectionComponentPressed: event.detail.selectionComponentPressed,
|
|
@@ -435,13 +707,17 @@ class List extends UI5Element {
|
|
|
435
707
|
return this.handleSingleSelect(item);
|
|
436
708
|
}
|
|
437
709
|
|
|
710
|
+
handleSingleSelectAuto(item) {
|
|
711
|
+
return this.handleSingleSelect(item);
|
|
712
|
+
}
|
|
713
|
+
|
|
438
714
|
handleMultiSelect(item, selected) {
|
|
439
715
|
item.selected = selected;
|
|
440
716
|
return true;
|
|
441
717
|
}
|
|
442
718
|
|
|
443
719
|
handleDelete(item) {
|
|
444
|
-
this.fireEvent("
|
|
720
|
+
this.fireEvent("item-delete", { item });
|
|
445
721
|
}
|
|
446
722
|
|
|
447
723
|
deselectSelectedItems() {
|
|
@@ -452,18 +728,8 @@ class List extends UI5Element {
|
|
|
452
728
|
return this.getSlottedNodes("items").filter(item => item.selected);
|
|
453
729
|
}
|
|
454
730
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
let firstSelectedItem = null;
|
|
458
|
-
|
|
459
|
-
for (let i = 0; i < slottedItems.length; i++) {
|
|
460
|
-
if (slottedItems[i].selected) {
|
|
461
|
-
firstSelectedItem = slottedItems[i];
|
|
462
|
-
break;
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
return firstSelectedItem;
|
|
731
|
+
getEnabledItems() {
|
|
732
|
+
return this.getSlottedNodes("items").filter(item => !item.disabled);
|
|
467
733
|
}
|
|
468
734
|
|
|
469
735
|
_onkeydown(event) {
|
|
@@ -472,6 +738,50 @@ class List extends UI5Element {
|
|
|
472
738
|
}
|
|
473
739
|
}
|
|
474
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
|
+
|
|
475
785
|
/*
|
|
476
786
|
* KEYBOARD SUPPORT
|
|
477
787
|
*/
|
|
@@ -491,7 +801,7 @@ class List extends UI5Element {
|
|
|
491
801
|
}
|
|
492
802
|
|
|
493
803
|
if (lastTabbableEl === target) {
|
|
494
|
-
if (this.
|
|
804
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
495
805
|
this.focusFirstSelectedItem();
|
|
496
806
|
} else if (this.getPreviouslyFocusedItem()) {
|
|
497
807
|
this.focusPreviouslyFocusedItem();
|
|
@@ -504,13 +814,6 @@ class List extends UI5Element {
|
|
|
504
814
|
}
|
|
505
815
|
}
|
|
506
816
|
|
|
507
|
-
_onScroll(event) {
|
|
508
|
-
if (!this.infiniteScroll) {
|
|
509
|
-
return;
|
|
510
|
-
}
|
|
511
|
-
this.debounce(this.loadMore.bind(this, event.target), INFINITE_SCROLL_DEBOUNCE_RATE);
|
|
512
|
-
}
|
|
513
|
-
|
|
514
817
|
_onfocusin(event) {
|
|
515
818
|
// If the focusin event does not origin from one of the 'triggers' - ignore it.
|
|
516
819
|
if (!this.isForwardElement(this.getNormalizedTarget(event.target))) {
|
|
@@ -521,7 +824,7 @@ class List extends UI5Element {
|
|
|
521
824
|
// The focus arrives in the List for the first time.
|
|
522
825
|
// If there is selected item - focus it or focus the first item.
|
|
523
826
|
if (!this.getPreviouslyFocusedItem()) {
|
|
524
|
-
if (this.
|
|
827
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
525
828
|
this.focusFirstSelectedItem();
|
|
526
829
|
} else {
|
|
527
830
|
this.focusFirstItem();
|
|
@@ -534,11 +837,13 @@ class List extends UI5Element {
|
|
|
534
837
|
// The focus returns to the List,
|
|
535
838
|
// focus the first selected item or the previously focused element.
|
|
536
839
|
if (!this.getForwardingFocus()) {
|
|
537
|
-
if (this.
|
|
840
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
538
841
|
this.focusFirstSelectedItem();
|
|
539
842
|
} else {
|
|
540
843
|
this.focusPreviouslyFocusedItem();
|
|
541
844
|
}
|
|
845
|
+
|
|
846
|
+
event.stopImmediatePropagation();
|
|
542
847
|
}
|
|
543
848
|
|
|
544
849
|
this.setForwardingFocus(false);
|
|
@@ -546,19 +851,32 @@ class List extends UI5Element {
|
|
|
546
851
|
|
|
547
852
|
isForwardElement(node) {
|
|
548
853
|
const nodeId = node.id;
|
|
854
|
+
const afterElement = this.getAfterElement();
|
|
855
|
+
const beforeElement = this.getBeforeElement();
|
|
549
856
|
|
|
550
|
-
if (this._id === nodeId ||
|
|
857
|
+
if (this._id === nodeId || (beforeElement && beforeElement.id === nodeId)) {
|
|
551
858
|
return true;
|
|
552
859
|
}
|
|
553
860
|
|
|
554
|
-
return
|
|
861
|
+
return afterElement && afterElement.id === nodeId;
|
|
555
862
|
}
|
|
556
863
|
|
|
557
864
|
onItemFocused(event) {
|
|
558
865
|
const target = event.target;
|
|
559
866
|
|
|
560
|
-
this._itemNavigation.
|
|
561
|
-
this.fireEvent("
|
|
867
|
+
this._itemNavigation.setCurrentItem(target);
|
|
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
|
+
}
|
|
562
880
|
}
|
|
563
881
|
|
|
564
882
|
onItemPress(event) {
|
|
@@ -576,29 +894,33 @@ class List extends UI5Element {
|
|
|
576
894
|
});
|
|
577
895
|
}
|
|
578
896
|
|
|
579
|
-
this.fireEvent("
|
|
580
|
-
this.fireEvent("
|
|
897
|
+
this.fireEvent("item-press", { item: pressedItem });
|
|
898
|
+
this.fireEvent("item-click", { item: pressedItem });
|
|
581
899
|
|
|
582
900
|
this._selectionRequested = false;
|
|
583
901
|
}
|
|
584
902
|
|
|
585
903
|
// This is applicable to NoficationListItem
|
|
586
904
|
onItemClose(event) {
|
|
587
|
-
this.fireEvent("
|
|
905
|
+
this.fireEvent("item-close", { item: event.detail.item });
|
|
588
906
|
}
|
|
589
907
|
|
|
590
908
|
onItemToggle(event) {
|
|
591
|
-
this.fireEvent("
|
|
909
|
+
this.fireEvent("item-toggle", { item: event.detail.item });
|
|
592
910
|
}
|
|
593
911
|
|
|
594
912
|
onForwardBefore(event) {
|
|
595
913
|
this.setPreviouslyFocusedItem(event.target);
|
|
596
914
|
this.focusBeforeElement();
|
|
915
|
+
event.stopImmediatePropagation();
|
|
597
916
|
}
|
|
598
917
|
|
|
599
918
|
onForwardAfter(event) {
|
|
600
919
|
this.setPreviouslyFocusedItem(event.target);
|
|
601
|
-
|
|
920
|
+
|
|
921
|
+
if (!this.growsWithButton) {
|
|
922
|
+
this.focusAfterElement();
|
|
923
|
+
}
|
|
602
924
|
}
|
|
603
925
|
|
|
604
926
|
focusBeforeElement() {
|
|
@@ -612,7 +934,8 @@ class List extends UI5Element {
|
|
|
612
934
|
}
|
|
613
935
|
|
|
614
936
|
focusFirstItem() {
|
|
615
|
-
|
|
937
|
+
// only enabled items are focusable
|
|
938
|
+
const firstItem = this.getFirstItem(x => !x.disabled);
|
|
616
939
|
|
|
617
940
|
if (firstItem) {
|
|
618
941
|
firstItem.focus();
|
|
@@ -628,17 +951,31 @@ class List extends UI5Element {
|
|
|
628
951
|
}
|
|
629
952
|
|
|
630
953
|
focusFirstSelectedItem() {
|
|
631
|
-
|
|
954
|
+
// only enabled items are focusable
|
|
955
|
+
const firstSelectedItem = this.getFirstItem(x => x.selected && !x.disabled);
|
|
632
956
|
|
|
633
957
|
if (firstSelectedItem) {
|
|
634
958
|
firstSelectedItem.focus();
|
|
635
959
|
}
|
|
636
960
|
}
|
|
637
961
|
|
|
962
|
+
/**
|
|
963
|
+
* Focuses a list item and sets its tabindex to "0" via the ItemNavigation
|
|
964
|
+
* @protected
|
|
965
|
+
* @param item
|
|
966
|
+
*/
|
|
638
967
|
focusItem(item) {
|
|
968
|
+
this._itemNavigation.setCurrentItem(item);
|
|
639
969
|
item.focus();
|
|
640
970
|
}
|
|
641
971
|
|
|
972
|
+
focusUploadCollectionItem(event) {
|
|
973
|
+
setTimeout(() => {
|
|
974
|
+
this.setPreviouslyFocusedItem(event.target);
|
|
975
|
+
this.focusPreviouslyFocusedItem();
|
|
976
|
+
}, 0);
|
|
977
|
+
}
|
|
978
|
+
|
|
642
979
|
setForwardingFocus(forwardingFocus) {
|
|
643
980
|
this._forwardingFocus = forwardingFocus;
|
|
644
981
|
}
|
|
@@ -655,9 +992,22 @@ class List extends UI5Element {
|
|
|
655
992
|
return this._previouslyFocusedItem;
|
|
656
993
|
}
|
|
657
994
|
|
|
658
|
-
getFirstItem() {
|
|
995
|
+
getFirstItem(filter) {
|
|
659
996
|
const slottedItems = this.getSlottedNodes("items");
|
|
660
|
-
|
|
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;
|
|
661
1011
|
}
|
|
662
1012
|
|
|
663
1013
|
getAfterElement() {
|
|
@@ -688,32 +1038,16 @@ class List extends UI5Element {
|
|
|
688
1038
|
return focused;
|
|
689
1039
|
}
|
|
690
1040
|
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
return;
|
|
699
|
-
}
|
|
700
|
-
this.previousScrollPosition = scrollTop;
|
|
701
|
-
|
|
702
|
-
if (scrollHeight - BUSYINDICATOR_HEIGHT <= height + scrollTop) {
|
|
703
|
-
this.fireEvent("loadMore");
|
|
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
|
+
});
|
|
704
1048
|
}
|
|
705
|
-
}
|
|
706
1049
|
|
|
707
|
-
|
|
708
|
-
clearTimeout(this.debounceInterval);
|
|
709
|
-
this.debounceInterval = setTimeout(() => {
|
|
710
|
-
this.debounceInterval = null;
|
|
711
|
-
fn();
|
|
712
|
-
}, delay);
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
static async onDefine() {
|
|
716
|
-
await BusyIndicator.define();
|
|
1050
|
+
return this.growingIntersectionObserver;
|
|
717
1051
|
}
|
|
718
1052
|
}
|
|
719
1053
|
|