@ui5/webcomponents 0.0.0-39bd3067f → 0.0.0-4180fe799
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 +610 -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 +159 -20
- package/dist/Button.js +132 -69
- 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 +272 -76
- 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 +603 -94
- package/dist/ComboBoxFilters.js +8 -1
- package/dist/ComboBoxGroupItem.js +70 -0
- package/dist/ComboBoxItem.js +12 -24
- package/dist/CustomListItem.js +38 -9
- package/dist/DateComponentBase.js +170 -0
- package/dist/DatePicker.js +418 -403
- package/dist/DateRangePicker.js +328 -0
- package/dist/DateTimePicker.js +111 -384
- package/dist/DayPicker.js +509 -431
- package/dist/Dialog.js +497 -50
- package/dist/DurationPicker.js +170 -317
- package/dist/FileUploader.js +217 -24
- package/dist/GroupHeaderListItem.js +24 -19
- package/dist/Icon.js +197 -36
- package/dist/Input.js +660 -167
- package/dist/Interfaces.js +192 -0
- package/dist/Label.js +27 -12
- package/dist/Link.js +138 -28
- package/dist/List.js +501 -110
- package/dist/ListItem.js +110 -28
- package/dist/ListItemBase.js +42 -8
- package/dist/MessageStrip.js +56 -70
- package/dist/MonthPicker.js +180 -182
- package/dist/MultiComboBox.js +583 -207
- package/dist/MultiComboBoxItem.js +8 -5
- package/dist/MultiInput.js +301 -0
- package/dist/Option.js +48 -5
- package/dist/Panel.js +100 -37
- package/dist/Popover.js +255 -224
- package/dist/Popup.js +381 -284
- 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 +73 -46
- package/dist/SegmentedButton.js +127 -60
- package/dist/SegmentedButtonItem.js +109 -0
- package/dist/Select.js +448 -107
- package/dist/Slider.js +320 -0
- package/dist/SliderBase.js +842 -0
- package/dist/StandardListItem.js +44 -22
- package/dist/StepInput.js +684 -0
- package/dist/SuggestionGroupItem.js +64 -0
- package/dist/SuggestionItem.js +37 -31
- package/dist/SuggestionListItem.js +76 -0
- package/dist/Switch.js +60 -42
- package/dist/Tab.js +55 -24
- package/dist/TabContainer.js +241 -82
- package/dist/TabSeparator.js +1 -0
- package/dist/Table.js +480 -35
- package/dist/TableCell.js +11 -13
- package/dist/TableColumn.js +13 -3
- package/dist/TableGroupRow.js +160 -0
- package/dist/TableRow.js +244 -18
- package/dist/TextArea.js +153 -55
- package/dist/TimePicker.js +55 -644
- 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 -13
- package/dist/Token.js +84 -45
- package/dist/Tokenizer.js +246 -64
- package/dist/Tree.js +443 -0
- package/dist/TreeItem.js +168 -0
- package/dist/TreeListItem.js +332 -0
- 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 +276 -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 -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 -5
- 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 -8
- 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 +6 -27
- package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -7
- 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 +7 -0
- package/dist/generated/templates/PopupTemplate.lit.js +4 -4
- 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 -11
- 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 -19
- package/dist/generated/templates/StepInputTemplate.lit.js +10 -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 -17
- package/dist/generated/templates/TabInStripTemplate.lit.js +6 -30
- 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 -10
- 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 -8
- package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
- package/dist/generated/templates/TimePickerTemplate.lit.js +6 -5
- 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 +21 -0
- package/dist/generated/templates/TreeTemplate.lit.js +8 -0
- 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 +8 -0
- 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 +8 -0
- package/dist/generated/themes/TreeListItem.css.js +8 -0
- 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 +55 -21
- 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 +55 -0
- 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 -6
- 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 +80 -0
- package/src/StepInput.js +684 -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 +262 -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 -8
- 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,21 +97,21 @@ 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
|
-
* <b>Note:</b>
|
|
97
|
-
* <code>MultiSelect</code>, and <code>Delete</code>.
|
|
113
|
+
* <b>Note:</b> Available options are <code>None</code>, <code>SingleSelect</code>, <code>SingleSelectBegin</code>,
|
|
114
|
+
* <code>SingleSelectEnd</code>, <code>MultiSelect</code>, and <code>Delete</code>.
|
|
98
115
|
*
|
|
99
116
|
* @type {ListMode}
|
|
100
117
|
* @defaultvalue "None"
|
|
@@ -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
|
|
@@ -162,6 +191,72 @@ const metadata = {
|
|
|
162
191
|
busy: {
|
|
163
192
|
type: Boolean,
|
|
164
193
|
},
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Defines the delay in milliseconds, after which the busy indicator will show up for this component.
|
|
197
|
+
*
|
|
198
|
+
* @type {Integer}
|
|
199
|
+
* @defaultValue 1000
|
|
200
|
+
* @public
|
|
201
|
+
*/
|
|
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: {
|
|
216
|
+
type: String,
|
|
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,
|
|
259
|
+
},
|
|
165
260
|
},
|
|
166
261
|
events: /** @lends sap.ui.webcomponents.main.List.prototype */ {
|
|
167
262
|
|
|
@@ -169,11 +264,44 @@ const metadata = {
|
|
|
169
264
|
* Fired when an item is activated, unless the item's <code>type</code> property
|
|
170
265
|
* is set to <code>Inactive</code>.
|
|
171
266
|
*
|
|
172
|
-
* @event
|
|
173
|
-
* @param {HTMLElement} item
|
|
267
|
+
* @event sap.ui.webcomponents.main.List#item-click
|
|
268
|
+
* @param {HTMLElement} item The clicked item.
|
|
174
269
|
* @public
|
|
175
270
|
*/
|
|
176
|
-
|
|
271
|
+
"item-click": {
|
|
272
|
+
detail: {
|
|
273
|
+
item: { type: HTMLElement },
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Fired when the <code>Close</code> button of any item is clicked
|
|
279
|
+
* <br><br>
|
|
280
|
+
* <b>Note:</b> This event is applicable to <code>ui5-li-notification</code> items only,
|
|
281
|
+
* not to be confused with <code>item-delete</code>.
|
|
282
|
+
*
|
|
283
|
+
* @event sap.ui.webcomponents.main.List#item-close
|
|
284
|
+
* @param {HTMLElement} item the item about to be closed.
|
|
285
|
+
* @public
|
|
286
|
+
* @since 1.0.0-rc.8
|
|
287
|
+
*/
|
|
288
|
+
"item-close": {
|
|
289
|
+
detail: {
|
|
290
|
+
item: { type: HTMLElement },
|
|
291
|
+
},
|
|
292
|
+
},
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Fired when the <code>Toggle</code> button of any item is clicked.
|
|
296
|
+
* <br><br>
|
|
297
|
+
* <b>Note:</b> This event is applicable to <code>ui5-li-notification-group</code> items only.
|
|
298
|
+
*
|
|
299
|
+
* @event sap.ui.webcomponents.main.List#item-toggle
|
|
300
|
+
* @param {HTMLElement} item the toggled item.
|
|
301
|
+
* @public
|
|
302
|
+
* @since 1.0.0-rc.8
|
|
303
|
+
*/
|
|
304
|
+
"item-toggle": {
|
|
177
305
|
detail: {
|
|
178
306
|
item: { type: HTMLElement },
|
|
179
307
|
},
|
|
@@ -183,12 +311,13 @@ const metadata = {
|
|
|
183
311
|
* Fired when the Delete button of any item is pressed.
|
|
184
312
|
* <br><br>
|
|
185
313
|
* <b>Note:</b> A Delete button is displayed on each item,
|
|
186
|
-
* when the
|
|
187
|
-
*
|
|
314
|
+
* when the component <code>mode</code> property is set to <code>Delete</code>.
|
|
315
|
+
*
|
|
316
|
+
* @event sap.ui.webcomponents.main.List#item-delete
|
|
188
317
|
* @param {HTMLElement} item the deleted item.
|
|
189
318
|
* @public
|
|
190
319
|
*/
|
|
191
|
-
|
|
320
|
+
"item-delete": {
|
|
192
321
|
detail: {
|
|
193
322
|
item: { type: HTMLElement },
|
|
194
323
|
},
|
|
@@ -196,14 +325,14 @@ const metadata = {
|
|
|
196
325
|
|
|
197
326
|
/**
|
|
198
327
|
* Fired when selection is changed by user interaction
|
|
199
|
-
* in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
|
|
328
|
+
* in <code>SingleSelect</code>, <code>SingleSelectBegin</code>, <code>SingleSelectEnd</code> and <code>MultiSelect</code> modes.
|
|
200
329
|
*
|
|
201
|
-
* @event
|
|
330
|
+
* @event sap.ui.webcomponents.main.List#selection-change
|
|
202
331
|
* @param {Array} selectedItems An array of the selected items.
|
|
203
332
|
* @param {Array} previouslySelectedItems An array of the previously selected items.
|
|
204
333
|
* @public
|
|
205
334
|
*/
|
|
206
|
-
|
|
335
|
+
"selection-change": {
|
|
207
336
|
detail: {
|
|
208
337
|
selectedItems: { type: Array },
|
|
209
338
|
previouslySelectedItems: { type: Array },
|
|
@@ -214,29 +343,29 @@ const metadata = {
|
|
|
214
343
|
/**
|
|
215
344
|
* Fired when the user scrolls to the bottom of the list.
|
|
216
345
|
* <br><br>
|
|
217
|
-
* <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.
|
|
218
347
|
*
|
|
219
|
-
* @event
|
|
348
|
+
* @event sap.ui.webcomponents.main.List#load-more
|
|
220
349
|
* @public
|
|
221
350
|
* @since 1.0.0-rc.6
|
|
222
351
|
*/
|
|
223
|
-
|
|
352
|
+
"load-more": {},
|
|
224
353
|
},
|
|
225
354
|
};
|
|
226
355
|
|
|
227
356
|
/**
|
|
228
357
|
* @class
|
|
229
358
|
*
|
|
230
|
-
* <h3 class="comment-api-title">
|
|
359
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
231
360
|
*
|
|
232
361
|
* The <code>ui5-list</code> component allows displaying a list of items, advanced keyboard
|
|
233
362
|
* handling support for navigating between items, and predefined modes to improve the development efficiency.
|
|
234
363
|
* <br><br>
|
|
235
|
-
* The <code>ui5-list</code> is
|
|
364
|
+
* The <code>ui5-list</code> is a container for the available list items:
|
|
236
365
|
* <ul>
|
|
237
366
|
* <li><code>ui5-li</code></li>
|
|
238
367
|
* <li><code>ui5-li-custom</code></li>
|
|
239
|
-
* <li><code>ui5-li-
|
|
368
|
+
* <li><code>ui5-li-groupheader</code></li>
|
|
240
369
|
* </ul>
|
|
241
370
|
* <br><br>
|
|
242
371
|
* To benefit from the built-in selection mechanism, you can use the available
|
|
@@ -245,6 +374,27 @@ const metadata = {
|
|
|
245
374
|
* <br><br>
|
|
246
375
|
* Additionally, the <code>ui5-list</code> provides header, footer, and customization for the list item separators.
|
|
247
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
|
+
*
|
|
248
398
|
* <h3>ES6 Module Import</h3>
|
|
249
399
|
*
|
|
250
400
|
* <code>import "@ui5/webcomponents/dist/List.js";</code>
|
|
@@ -253,7 +403,7 @@ const metadata = {
|
|
|
253
403
|
* <br>
|
|
254
404
|
* <code>import "@ui5/webcomponents/dist/CustomListItem.js";</code> (for <code>ui5-li-custom</code>)
|
|
255
405
|
* <br>
|
|
256
|
-
* <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>)
|
|
257
407
|
*
|
|
258
408
|
* @constructor
|
|
259
409
|
* @author SAP SE
|
|
@@ -280,6 +430,14 @@ class List extends UI5Element {
|
|
|
280
430
|
return listCss;
|
|
281
431
|
}
|
|
282
432
|
|
|
433
|
+
static async onDefine() {
|
|
434
|
+
List.i18nBundle = await getI18nBundle("@ui5/webcomponents");
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
static get dependencies() {
|
|
438
|
+
return [BusyIndicator];
|
|
439
|
+
}
|
|
440
|
+
|
|
283
441
|
constructor() {
|
|
284
442
|
super();
|
|
285
443
|
this.initItemNavigation();
|
|
@@ -292,11 +450,56 @@ class List extends UI5Element {
|
|
|
292
450
|
|
|
293
451
|
this._previouslySelectedItem = null;
|
|
294
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
|
+
|
|
295
459
|
this.addEventListener("ui5-_press", this.onItemPress.bind(this));
|
|
460
|
+
this.addEventListener("ui5-close", this.onItemClose.bind(this));
|
|
461
|
+
this.addEventListener("ui5-toggle", this.onItemToggle.bind(this));
|
|
296
462
|
this.addEventListener("ui5-_focused", this.onItemFocused.bind(this));
|
|
297
|
-
this.addEventListener("ui5-
|
|
298
|
-
this.addEventListener("ui5-
|
|
299
|
-
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
|
+
}
|
|
300
503
|
}
|
|
301
504
|
|
|
302
505
|
get shouldRenderH1() {
|
|
@@ -307,12 +510,33 @@ class List extends UI5Element {
|
|
|
307
510
|
return `${this._id}-header`;
|
|
308
511
|
}
|
|
309
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
|
+
|
|
310
525
|
get showNoDataText() {
|
|
311
|
-
return this.
|
|
526
|
+
return !this.hasData && this.noDataText;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
get isDelete() {
|
|
530
|
+
return this.mode === ListMode.Delete;
|
|
312
531
|
}
|
|
313
532
|
|
|
314
|
-
get
|
|
315
|
-
return
|
|
533
|
+
get isSingleSelect() {
|
|
534
|
+
return [
|
|
535
|
+
ListMode.SingleSelect,
|
|
536
|
+
ListMode.SingleSelectBegin,
|
|
537
|
+
ListMode.SingleSelectEnd,
|
|
538
|
+
ListMode.SingleSelectAuto,
|
|
539
|
+
].includes(this.mode);
|
|
316
540
|
}
|
|
317
541
|
|
|
318
542
|
get isMultiSelect() {
|
|
@@ -320,19 +544,83 @@ class List extends UI5Element {
|
|
|
320
544
|
}
|
|
321
545
|
|
|
322
546
|
get ariaLabelledBy() {
|
|
323
|
-
|
|
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;
|
|
324
561
|
}
|
|
325
562
|
|
|
326
|
-
|
|
327
|
-
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
|
+
};
|
|
328
616
|
}
|
|
329
617
|
|
|
330
618
|
initItemNavigation() {
|
|
331
619
|
this._itemNavigation = new ItemNavigation(this, {
|
|
620
|
+
skipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items
|
|
332
621
|
navigationMode: NavigationMode.Vertical,
|
|
622
|
+
getItemsCallback: () => this.getEnabledItems(),
|
|
333
623
|
});
|
|
334
|
-
|
|
335
|
-
this._itemNavigation.getItemsCallback = () => this.getSlottedNodes("items");
|
|
336
624
|
}
|
|
337
625
|
|
|
338
626
|
prepareListItems() {
|
|
@@ -350,6 +638,34 @@ class List extends UI5Element {
|
|
|
350
638
|
this._previouslySelectedItem = null;
|
|
351
639
|
}
|
|
352
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
|
+
|
|
353
669
|
/*
|
|
354
670
|
* ITEM SELECTION BASED ON THE CURRENT MODE
|
|
355
671
|
*/
|
|
@@ -363,7 +679,7 @@ class List extends UI5Element {
|
|
|
363
679
|
}
|
|
364
680
|
|
|
365
681
|
if (selectionChange) {
|
|
366
|
-
this.fireEvent("
|
|
682
|
+
this.fireEvent("selection-change", {
|
|
367
683
|
selectedItems: this.getSelectedItems(),
|
|
368
684
|
previouslySelectedItems,
|
|
369
685
|
selectionComponentPressed: event.detail.selectionComponentPressed,
|
|
@@ -391,13 +707,17 @@ class List extends UI5Element {
|
|
|
391
707
|
return this.handleSingleSelect(item);
|
|
392
708
|
}
|
|
393
709
|
|
|
710
|
+
handleSingleSelectAuto(item) {
|
|
711
|
+
return this.handleSingleSelect(item);
|
|
712
|
+
}
|
|
713
|
+
|
|
394
714
|
handleMultiSelect(item, selected) {
|
|
395
715
|
item.selected = selected;
|
|
396
716
|
return true;
|
|
397
717
|
}
|
|
398
718
|
|
|
399
719
|
handleDelete(item) {
|
|
400
|
-
this.fireEvent("
|
|
720
|
+
this.fireEvent("item-delete", { item });
|
|
401
721
|
}
|
|
402
722
|
|
|
403
723
|
deselectSelectedItems() {
|
|
@@ -408,18 +728,8 @@ class List extends UI5Element {
|
|
|
408
728
|
return this.getSlottedNodes("items").filter(item => item.selected);
|
|
409
729
|
}
|
|
410
730
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
let firstSelectedItem = null;
|
|
414
|
-
|
|
415
|
-
for (let i = 0; i < slottedItems.length; i++) {
|
|
416
|
-
if (slottedItems[i].selected) {
|
|
417
|
-
firstSelectedItem = slottedItems[i];
|
|
418
|
-
break;
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
return firstSelectedItem;
|
|
731
|
+
getEnabledItems() {
|
|
732
|
+
return this.getSlottedNodes("items").filter(item => !item.disabled);
|
|
423
733
|
}
|
|
424
734
|
|
|
425
735
|
_onkeydown(event) {
|
|
@@ -428,6 +738,50 @@ class List extends UI5Element {
|
|
|
428
738
|
}
|
|
429
739
|
}
|
|
430
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
|
+
|
|
431
785
|
/*
|
|
432
786
|
* KEYBOARD SUPPORT
|
|
433
787
|
*/
|
|
@@ -447,7 +801,7 @@ class List extends UI5Element {
|
|
|
447
801
|
}
|
|
448
802
|
|
|
449
803
|
if (lastTabbableEl === target) {
|
|
450
|
-
if (this.
|
|
804
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
451
805
|
this.focusFirstSelectedItem();
|
|
452
806
|
} else if (this.getPreviouslyFocusedItem()) {
|
|
453
807
|
this.focusPreviouslyFocusedItem();
|
|
@@ -460,13 +814,6 @@ class List extends UI5Element {
|
|
|
460
814
|
}
|
|
461
815
|
}
|
|
462
816
|
|
|
463
|
-
_onScroll(event) {
|
|
464
|
-
if (!this.infiniteScroll) {
|
|
465
|
-
return;
|
|
466
|
-
}
|
|
467
|
-
this.debounce(this.loadMore.bind(this, event.target), INFINITE_SCROLL_DEBOUNCE_RATE);
|
|
468
|
-
}
|
|
469
|
-
|
|
470
817
|
_onfocusin(event) {
|
|
471
818
|
// If the focusin event does not origin from one of the 'triggers' - ignore it.
|
|
472
819
|
if (!this.isForwardElement(this.getNormalizedTarget(event.target))) {
|
|
@@ -477,7 +824,7 @@ class List extends UI5Element {
|
|
|
477
824
|
// The focus arrives in the List for the first time.
|
|
478
825
|
// If there is selected item - focus it or focus the first item.
|
|
479
826
|
if (!this.getPreviouslyFocusedItem()) {
|
|
480
|
-
if (this.
|
|
827
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
481
828
|
this.focusFirstSelectedItem();
|
|
482
829
|
} else {
|
|
483
830
|
this.focusFirstItem();
|
|
@@ -490,11 +837,13 @@ class List extends UI5Element {
|
|
|
490
837
|
// The focus returns to the List,
|
|
491
838
|
// focus the first selected item or the previously focused element.
|
|
492
839
|
if (!this.getForwardingFocus()) {
|
|
493
|
-
if (this.
|
|
840
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
494
841
|
this.focusFirstSelectedItem();
|
|
495
842
|
} else {
|
|
496
843
|
this.focusPreviouslyFocusedItem();
|
|
497
844
|
}
|
|
845
|
+
|
|
846
|
+
event.stopImmediatePropagation();
|
|
498
847
|
}
|
|
499
848
|
|
|
500
849
|
this.setForwardingFocus(false);
|
|
@@ -502,27 +851,37 @@ class List extends UI5Element {
|
|
|
502
851
|
|
|
503
852
|
isForwardElement(node) {
|
|
504
853
|
const nodeId = node.id;
|
|
854
|
+
const afterElement = this.getAfterElement();
|
|
855
|
+
const beforeElement = this.getBeforeElement();
|
|
505
856
|
|
|
506
|
-
if (this._id === nodeId ||
|
|
857
|
+
if (this._id === nodeId || (beforeElement && beforeElement.id === nodeId)) {
|
|
507
858
|
return true;
|
|
508
859
|
}
|
|
509
860
|
|
|
510
|
-
return
|
|
861
|
+
return afterElement && afterElement.id === nodeId;
|
|
511
862
|
}
|
|
512
863
|
|
|
513
864
|
onItemFocused(event) {
|
|
514
865
|
const target = event.target;
|
|
515
866
|
|
|
516
|
-
this._itemNavigation.
|
|
517
|
-
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
|
+
}
|
|
518
880
|
}
|
|
519
881
|
|
|
520
882
|
onItemPress(event) {
|
|
521
883
|
const pressedItem = event.detail.item;
|
|
522
884
|
|
|
523
|
-
this.fireEvent("itemPress", { item: pressedItem });
|
|
524
|
-
this.fireEvent("itemClick", { item: pressedItem });
|
|
525
|
-
|
|
526
885
|
if (!this._selectionRequested && this.mode !== ListMode.Delete) {
|
|
527
886
|
this._selectionRequested = true;
|
|
528
887
|
this.onSelectionRequested({
|
|
@@ -535,17 +894,33 @@ class List extends UI5Element {
|
|
|
535
894
|
});
|
|
536
895
|
}
|
|
537
896
|
|
|
897
|
+
this.fireEvent("item-press", { item: pressedItem });
|
|
898
|
+
this.fireEvent("item-click", { item: pressedItem });
|
|
899
|
+
|
|
538
900
|
this._selectionRequested = false;
|
|
539
901
|
}
|
|
540
902
|
|
|
903
|
+
// This is applicable to NoficationListItem
|
|
904
|
+
onItemClose(event) {
|
|
905
|
+
this.fireEvent("item-close", { item: event.detail.item });
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
onItemToggle(event) {
|
|
909
|
+
this.fireEvent("item-toggle", { item: event.detail.item });
|
|
910
|
+
}
|
|
911
|
+
|
|
541
912
|
onForwardBefore(event) {
|
|
542
913
|
this.setPreviouslyFocusedItem(event.target);
|
|
543
914
|
this.focusBeforeElement();
|
|
915
|
+
event.stopImmediatePropagation();
|
|
544
916
|
}
|
|
545
917
|
|
|
546
918
|
onForwardAfter(event) {
|
|
547
919
|
this.setPreviouslyFocusedItem(event.target);
|
|
548
|
-
|
|
920
|
+
|
|
921
|
+
if (!this.growsWithButton) {
|
|
922
|
+
this.focusAfterElement();
|
|
923
|
+
}
|
|
549
924
|
}
|
|
550
925
|
|
|
551
926
|
focusBeforeElement() {
|
|
@@ -559,7 +934,8 @@ class List extends UI5Element {
|
|
|
559
934
|
}
|
|
560
935
|
|
|
561
936
|
focusFirstItem() {
|
|
562
|
-
|
|
937
|
+
// only enabled items are focusable
|
|
938
|
+
const firstItem = this.getFirstItem(x => !x.disabled);
|
|
563
939
|
|
|
564
940
|
if (firstItem) {
|
|
565
941
|
firstItem.focus();
|
|
@@ -575,13 +951,31 @@ class List extends UI5Element {
|
|
|
575
951
|
}
|
|
576
952
|
|
|
577
953
|
focusFirstSelectedItem() {
|
|
578
|
-
|
|
954
|
+
// only enabled items are focusable
|
|
955
|
+
const firstSelectedItem = this.getFirstItem(x => x.selected && !x.disabled);
|
|
579
956
|
|
|
580
957
|
if (firstSelectedItem) {
|
|
581
958
|
firstSelectedItem.focus();
|
|
582
959
|
}
|
|
583
960
|
}
|
|
584
961
|
|
|
962
|
+
/**
|
|
963
|
+
* Focuses a list item and sets its tabindex to "0" via the ItemNavigation
|
|
964
|
+
* @protected
|
|
965
|
+
* @param item
|
|
966
|
+
*/
|
|
967
|
+
focusItem(item) {
|
|
968
|
+
this._itemNavigation.setCurrentItem(item);
|
|
969
|
+
item.focus();
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
focusUploadCollectionItem(event) {
|
|
973
|
+
setTimeout(() => {
|
|
974
|
+
this.setPreviouslyFocusedItem(event.target);
|
|
975
|
+
this.focusPreviouslyFocusedItem();
|
|
976
|
+
}, 0);
|
|
977
|
+
}
|
|
978
|
+
|
|
585
979
|
setForwardingFocus(forwardingFocus) {
|
|
586
980
|
this._forwardingFocus = forwardingFocus;
|
|
587
981
|
}
|
|
@@ -598,9 +992,22 @@ class List extends UI5Element {
|
|
|
598
992
|
return this._previouslyFocusedItem;
|
|
599
993
|
}
|
|
600
994
|
|
|
601
|
-
getFirstItem() {
|
|
995
|
+
getFirstItem(filter) {
|
|
602
996
|
const slottedItems = this.getSlottedNodes("items");
|
|
603
|
-
|
|
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;
|
|
604
1011
|
}
|
|
605
1012
|
|
|
606
1013
|
getAfterElement() {
|
|
@@ -631,32 +1038,16 @@ class List extends UI5Element {
|
|
|
631
1038
|
return focused;
|
|
632
1039
|
}
|
|
633
1040
|
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
return;
|
|
642
|
-
}
|
|
643
|
-
this.previousScrollPosition = scrollTop;
|
|
644
|
-
|
|
645
|
-
if (scrollHeight - BUSYINDICATOR_HEIGHT <= height + scrollTop) {
|
|
646
|
-
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
|
+
});
|
|
647
1048
|
}
|
|
648
|
-
}
|
|
649
1049
|
|
|
650
|
-
|
|
651
|
-
clearTimeout(this.debounceInterval);
|
|
652
|
-
this.debounceInterval = setTimeout(() => {
|
|
653
|
-
this.debounceInterval = null;
|
|
654
|
-
fn();
|
|
655
|
-
}, delay);
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
static async onDefine() {
|
|
659
|
-
await BusyIndicator.define();
|
|
1050
|
+
return this.growingIntersectionObserver;
|
|
660
1051
|
}
|
|
661
1052
|
}
|
|
662
1053
|
|