@ui5/webcomponents 0.0.0-aeb93167c → 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 +343 -0
- 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 +189 -49
- package/dist/AvatarGroup.js +603 -0
- package/dist/Badge.js +45 -19
- package/dist/Breadcrumbs.js +563 -0
- package/dist/BreadcrumbsItem.js +109 -0
- package/dist/BusyIndicator.js +121 -34
- package/dist/Button.js +110 -66
- package/dist/Calendar.js +324 -648
- package/dist/CalendarDate.js +45 -0
- package/dist/CalendarHeader.js +110 -59
- package/dist/CalendarPart.js +111 -0
- package/dist/Card.js +38 -198
- package/dist/CardHeader.js +288 -0
- package/dist/Carousel.js +253 -94
- package/dist/CheckBox.js +138 -70
- 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 +348 -144
- package/dist/ComboBoxFilters.js +8 -1
- package/dist/ComboBoxGroupItem.js +70 -0
- package/dist/ComboBoxItem.js +11 -24
- package/dist/CustomListItem.js +36 -2
- package/dist/DateComponentBase.js +170 -0
- package/dist/DatePicker.js +264 -519
- package/dist/DateRangePicker.js +162 -426
- package/dist/DateTimePicker.js +94 -413
- package/dist/DayPicker.js +443 -648
- package/dist/Dialog.js +220 -58
- package/dist/DurationPicker.js +109 -511
- package/dist/FileUploader.js +70 -31
- package/dist/GroupHeaderListItem.js +22 -13
- package/dist/Icon.js +103 -41
- package/dist/Input.js +346 -155
- package/dist/Interfaces.js +192 -0
- package/dist/Label.js +27 -12
- package/dist/Link.js +105 -43
- package/dist/List.js +377 -104
- package/dist/ListItem.js +60 -13
- package/dist/ListItemBase.js +29 -2
- package/dist/MessageStrip.js +47 -46
- package/dist/MonthPicker.js +171 -225
- package/dist/MultiComboBox.js +356 -135
- package/dist/MultiComboBoxItem.js +7 -2
- package/dist/MultiInput.js +55 -24
- package/dist/Option.js +48 -5
- package/dist/Panel.js +63 -73
- package/dist/Popover.js +195 -80
- package/dist/Popup.js +151 -61
- package/dist/ProgressIndicator.js +28 -20
- package/dist/RadioButton.js +126 -43
- package/dist/RadioButtonGroup.js +53 -29
- package/dist/RangeSlider.js +769 -0
- package/dist/RatingIndicator.js +27 -37
- package/dist/ResponsivePopover.js +56 -42
- package/dist/SegmentedButton.js +102 -68
- package/dist/SegmentedButtonItem.js +109 -0
- package/dist/Select.js +275 -116
- package/dist/Slider.js +320 -0
- package/dist/SliderBase.js +842 -0
- package/dist/StandardListItem.js +35 -9
- package/dist/StepInput.js +681 -0
- package/dist/SuggestionGroupItem.js +64 -0
- package/dist/SuggestionItem.js +13 -26
- package/dist/SuggestionListItem.js +17 -6
- package/dist/Switch.js +52 -32
- package/dist/Tab.js +47 -26
- package/dist/TabContainer.js +94 -34
- package/dist/TabSeparator.js +1 -0
- package/dist/Table.js +474 -22
- package/dist/TableCell.js +11 -9
- package/dist/TableColumn.js +13 -3
- package/dist/TableGroupRow.js +160 -0
- package/dist/TableRow.js +210 -11
- package/dist/TextArea.js +86 -46
- package/dist/TimePicker.js +27 -743
- package/dist/TimePickerBase.js +463 -0
- package/dist/TimeSelection.js +493 -0
- package/dist/Title.js +16 -9
- package/dist/Toast.js +19 -8
- package/dist/ToggleButton.js +21 -8
- package/dist/Token.js +32 -16
- package/dist/Tokenizer.js +75 -42
- package/dist/Tree.js +97 -41
- package/dist/TreeItem.js +44 -9
- package/dist/TreeListItem.js +86 -2
- package/dist/WheelSlider.js +58 -58
- package/dist/YearPicker.js +188 -284
- 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 +131 -30
- 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 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -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 -19
- 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 -16
- package/dist/generated/templates/BadgeTemplate.lit.js +5 -13
- 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 -13
- package/dist/generated/templates/ButtonTemplate.lit.js +6 -13
- package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -11
- package/dist/generated/templates/CalendarTemplate.lit.js +4 -11
- package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
- package/dist/generated/templates/CardTemplate.lit.js +5 -17
- package/dist/generated/templates/CarouselTemplate.lit.js +13 -19
- package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -14
- 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 -25
- package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -14
- package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -20
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -13
- package/dist/generated/templates/DatePickerTemplate.lit.js +6 -13
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -19
- package/dist/generated/templates/DayPickerTemplate.lit.js +13 -19
- package/dist/generated/templates/DialogTemplate.lit.js +9 -15
- package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +7 -14
- package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -14
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -11
- package/dist/generated/templates/IconTemplate.lit.js +6 -13
- package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -31
- package/dist/generated/templates/InputTemplate.lit.js +9 -15
- package/dist/generated/templates/LabelTemplate.lit.js +4 -11
- package/dist/generated/templates/LinkTemplate.lit.js +5 -12
- package/dist/generated/templates/ListItemTemplate.lit.js +13 -20
- package/dist/generated/templates/ListTemplate.lit.js +12 -16
- package/dist/generated/templates/MessageStripTemplate.lit.js +8 -15
- package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -13
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -27
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -16
- package/dist/generated/templates/MultiInputTemplate.lit.js +13 -19
- package/dist/generated/templates/PanelTemplate.lit.js +9 -14
- package/dist/generated/templates/PopoverTemplate.lit.js +9 -16
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -11
- package/dist/generated/templates/PopupTemplate.lit.js +4 -11
- package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -17
- package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -14
- package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -16
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -21
- 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 -27
- package/dist/generated/templates/SelectTemplate.lit.js +6 -12
- 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 -28
- package/dist/generated/templates/StepInputTemplate.lit.js +8 -0
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -31
- package/dist/generated/templates/SwitchTemplate.lit.js +8 -13
- package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -13
- package/dist/generated/templates/TabContainerTemplate.lit.js +16 -23
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
- package/dist/generated/templates/TabInStripTemplate.lit.js +8 -17
- package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -11
- package/dist/generated/templates/TabTemplate.lit.js +4 -11
- package/dist/generated/templates/TableCellTemplate.lit.js +4 -11
- package/dist/generated/templates/TableColumnTemplate.lit.js +4 -11
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
- package/dist/generated/templates/TableRowTemplate.lit.js +12 -18
- package/dist/generated/templates/TableTemplate.lit.js +13 -15
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -15
- package/dist/generated/templates/TextAreaTemplate.lit.js +8 -15
- package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -15
- package/dist/generated/templates/TimePickerTemplate.lit.js +6 -13
- package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
- package/dist/generated/templates/TitleTemplate.lit.js +10 -17
- package/dist/generated/templates/ToastTemplate.lit.js +5 -11
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -13
- package/dist/generated/templates/TokenTemplate.lit.js +7 -14
- package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -16
- package/dist/generated/templates/TokenizerTemplate.lit.js +6 -13
- package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -24
- package/dist/generated/templates/TreeTemplate.lit.js +5 -12
- package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -14
- package/dist/generated/templates/YearPickerTemplate.lit.js +6 -13
- 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 +5 -5
- package/dist/generated/themes/DateTimePicker.css.js +5 -5
- package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
- package/dist/generated/themes/DayPicker.css.js +5 -5
- package/dist/generated/themes/Dialog.css.js +5 -5
- package/dist/generated/themes/FileUploader.css.js +5 -5
- package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
- package/dist/generated/themes/GrowingButton.css.js +8 -0
- package/dist/generated/themes/Icon.css.js +5 -5
- package/dist/generated/themes/Input.css.js +5 -5
- package/dist/generated/themes/InputIcon.css.js +5 -5
- package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
- package/dist/generated/themes/Label.css.js +5 -5
- package/dist/generated/themes/Link.css.js +5 -5
- package/dist/generated/themes/List.css.js +5 -5
- package/dist/generated/themes/ListItem.css.js +5 -5
- package/dist/generated/themes/ListItemBase.css.js +5 -5
- package/dist/generated/themes/MessageStrip.css.js +5 -5
- package/dist/generated/themes/MonthPicker.css.js +5 -5
- package/dist/generated/themes/MultiComboBox.css.js +5 -5
- package/dist/generated/themes/MultiInput.css.js +5 -5
- 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 +5 -5
- package/dist/generated/themes/ProgressIndicator.css.js +5 -5
- package/dist/generated/themes/RadioButton.css.js +5 -5
- package/dist/generated/themes/RatingIndicator.css.js +5 -5
- 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 +5 -5
- 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 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- 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 +1 -1
- package/dist/popup-utils/PopoverRegistry.js +2 -4
- package/dist/timepicker-utils/TimeSlider.js +15 -13
- package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
- package/dist/types/AvatarGroupType.js +43 -0
- package/dist/types/AvatarShape.js +1 -1
- package/dist/types/AvatarSize.js +1 -1
- package/dist/types/BreadcrumbsDesign.js +42 -0
- package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/dist/types/BusyIndicatorSize.js +1 -1
- package/dist/types/ButtonDesign.js +8 -1
- package/dist/types/CalendarSelectionMode.js +47 -0
- package/dist/types/CarouselArrowsPlacement.js +3 -3
- package/dist/types/GrowingMode.js +48 -0
- package/dist/types/InputType.js +7 -7
- package/dist/types/LinkDesign.js +1 -1
- package/dist/types/ListGrowingMode.js +15 -0
- package/dist/types/ListItemType.js +1 -1
- package/dist/types/ListMode.js +1 -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 +18 -7
- package/src/Assets-static.js +6 -0
- package/src/Assets.js +2 -1
- package/src/Avatar.hbs +14 -3
- package/src/Avatar.js +189 -49
- package/src/AvatarGroup.hbs +30 -0
- package/src/AvatarGroup.js +603 -0
- package/src/Badge.hbs +7 -4
- package/src/Badge.js +45 -19
- 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 +28 -14
- package/src/BusyIndicator.js +121 -34
- package/src/Button.hbs +5 -3
- package/src/Button.js +110 -66
- package/src/Calendar.hbs +53 -48
- package/src/Calendar.js +324 -648
- package/src/CalendarDate.js +45 -0
- package/src/CalendarHeader.hbs +29 -36
- package/src/CalendarHeader.js +110 -59
- package/src/CalendarPart.js +111 -0
- package/src/Card.hbs +7 -39
- package/src/Card.js +38 -198
- package/src/CardHeader.hbs +35 -0
- package/src/CardHeader.js +288 -0
- package/src/Carousel.hbs +23 -16
- package/src/Carousel.js +253 -94
- package/src/CheckBox.hbs +10 -7
- package/src/CheckBox.js +138 -70
- 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 +7 -2
- package/src/ComboBox.js +348 -144
- package/src/ComboBoxFilters.js +8 -1
- package/src/ComboBoxGroupItem.js +70 -0
- package/src/ComboBoxItem.js +11 -24
- package/src/ComboBoxPopover.hbs +26 -16
- package/src/CustomListItem.js +36 -2
- package/src/DateComponentBase.js +170 -0
- package/src/DatePicker.hbs +5 -4
- package/src/DatePicker.js +264 -519
- package/src/DatePickerPopover.hbs +22 -17
- package/src/DateRangePicker.js +162 -426
- package/src/DateTimePicker.js +94 -413
- package/src/DateTimePickerPopover.hbs +28 -52
- package/src/DayPicker.hbs +18 -12
- package/src/DayPicker.js +443 -648
- package/src/Dialog.hbs +14 -10
- package/src/Dialog.js +220 -58
- package/src/DurationPicker.js +109 -511
- package/src/FileUploader.hbs +3 -0
- package/src/FileUploader.js +70 -31
- package/src/FileUploaderPopover.hbs +2 -1
- package/src/GroupHeaderListItem.hbs +4 -4
- package/src/GroupHeaderListItem.js +22 -13
- package/src/Icon.hbs +4 -3
- package/src/Icon.js +103 -41
- package/src/Input.hbs +17 -6
- package/src/Input.js +346 -155
- package/src/InputPopover.hbs +11 -7
- package/src/Interfaces.js +192 -0
- package/src/Label.hbs +1 -1
- package/src/Label.js +27 -12
- package/src/Link.hbs +3 -2
- package/src/Link.js +105 -43
- package/src/List.hbs +76 -37
- package/src/List.js +377 -104
- package/src/ListItem.hbs +20 -7
- package/src/ListItem.js +60 -13
- package/src/ListItemBase.js +29 -2
- package/src/MessageStrip.hbs +10 -11
- package/src/MessageStrip.js +47 -46
- package/src/MonthPicker.hbs +6 -6
- package/src/MonthPicker.js +171 -225
- package/src/MultiComboBox.hbs +10 -6
- package/src/MultiComboBox.js +356 -135
- package/src/MultiComboBoxItem.js +7 -2
- package/src/MultiComboBoxPopover.hbs +42 -18
- package/src/MultiInput.hbs +2 -1
- package/src/MultiInput.js +55 -24
- package/src/Option.js +48 -5
- package/src/Panel.hbs +23 -16
- package/src/Panel.js +63 -73
- package/src/Popover.js +195 -80
- package/src/Popup.hbs +5 -0
- package/src/Popup.js +151 -61
- package/src/ProgressIndicator.hbs +7 -1
- package/src/ProgressIndicator.js +28 -20
- package/src/RadioButton.hbs +7 -4
- package/src/RadioButton.js +126 -43
- package/src/RadioButtonGroup.js +53 -29
- package/src/RangeSlider.hbs +70 -0
- package/src/RangeSlider.js +769 -0
- package/src/RatingIndicator.hbs +5 -3
- package/src/RatingIndicator.js +27 -37
- package/src/ResponsivePopover.hbs +13 -8
- package/src/ResponsivePopover.js +56 -42
- package/src/SegmentedButton.hbs +12 -5
- package/src/SegmentedButton.js +102 -68
- package/src/SegmentedButtonItem.hbs +42 -0
- package/src/SegmentedButtonItem.js +109 -0
- package/src/Select.hbs +26 -17
- package/src/Select.js +275 -116
- package/src/SelectPopover.hbs +27 -24
- 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 +7 -5
- package/src/StandardListItem.js +35 -9
- package/src/StepInput.hbs +77 -0
- package/src/StepInput.js +681 -0
- package/src/SuggestionGroupItem.js +64 -0
- package/src/SuggestionItem.js +13 -26
- package/src/SuggestionListItem.hbs +4 -4
- package/src/SuggestionListItem.js +17 -6
- package/src/Switch.hbs +19 -3
- package/src/Switch.js +52 -32
- package/src/Tab.js +47 -26
- package/src/TabContainer.hbs +43 -26
- package/src/TabContainer.js +94 -34
- package/src/TabContainerPopover.hbs +2 -1
- package/src/TabInStrip.hbs +1 -6
- package/src/TabSeparator.hbs +1 -1
- package/src/TabSeparator.js +1 -0
- package/src/Table.hbs +95 -25
- package/src/Table.js +474 -22
- package/src/TableCell.hbs +1 -0
- package/src/TableCell.js +11 -9
- package/src/TableColumn.hbs +2 -0
- package/src/TableColumn.js +13 -3
- package/src/TableGroupRow.hbs +12 -0
- package/src/TableGroupRow.js +160 -0
- package/src/TableRow.hbs +29 -2
- package/src/TableRow.js +210 -11
- package/src/TextArea.hbs +1 -3
- package/src/TextArea.js +86 -46
- package/src/TextAreaPopover.hbs +2 -1
- package/src/TimePicker.hbs +6 -3
- package/src/TimePicker.js +27 -743
- package/src/TimePickerBase.js +463 -0
- package/src/TimePickerPopover.hbs +28 -52
- package/src/TimeSelection.hbs +60 -0
- package/src/TimeSelection.js +493 -0
- package/src/Title.js +16 -9
- package/src/Toast.hbs +13 -11
- package/src/Toast.js +19 -8
- package/src/ToggleButton.js +21 -8
- package/src/Token.hbs +2 -0
- package/src/Token.js +32 -16
- package/src/Tokenizer.hbs +1 -0
- package/src/Tokenizer.js +75 -42
- package/src/TokenizerPopover.hbs +1 -1
- package/src/Tree.hbs +10 -2
- package/src/Tree.js +97 -41
- package/src/TreeItem.js +44 -9
- package/src/TreeListItem.hbs +15 -4
- package/src/TreeListItem.js +86 -2
- package/src/WheelSlider.hbs +17 -10
- package/src/WheelSlider.js +58 -58
- package/src/YearPicker.hbs +9 -7
- package/src/YearPicker.js +188 -284
- package/src/features/ColorPaletteMoreColors.js +42 -0
- package/src/features/InputElementsFormSupport.js +0 -1
- package/src/features/InputSuggestions.js +131 -30
- package/src/i18n/messagebundle.properties +144 -189
- package/src/i18n/messagebundle_ar.properties +99 -115
- package/src/i18n/messagebundle_bg.properties +99 -115
- package/src/i18n/messagebundle_ca.properties +99 -115
- package/src/i18n/messagebundle_cs.properties +99 -115
- package/src/i18n/messagebundle_cy.properties +224 -0
- package/src/i18n/messagebundle_da.properties +99 -115
- package/src/i18n/messagebundle_de.properties +99 -115
- package/src/i18n/messagebundle_el.properties +99 -115
- package/src/i18n/messagebundle_en.properties +99 -115
- package/src/i18n/messagebundle_en_GB.properties +224 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +99 -115
- package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +99 -115
- package/src/i18n/messagebundle_es.properties +99 -115
- package/src/i18n/messagebundle_es_MX.properties +224 -0
- package/src/i18n/messagebundle_et.properties +99 -115
- package/src/i18n/messagebundle_fi.properties +99 -115
- package/src/i18n/messagebundle_fr.properties +99 -115
- package/src/i18n/messagebundle_fr_CA.properties +224 -0
- package/src/i18n/messagebundle_hi.properties +99 -115
- package/src/i18n/messagebundle_hr.properties +99 -115
- package/src/i18n/messagebundle_hu.properties +99 -115
- package/src/i18n/messagebundle_id.properties +224 -0
- package/src/i18n/messagebundle_in.properties +172 -0
- package/src/i18n/messagebundle_it.properties +99 -115
- package/src/i18n/messagebundle_iw.properties +99 -115
- package/src/i18n/messagebundle_ja.properties +100 -116
- package/src/i18n/messagebundle_kk.properties +99 -115
- package/src/i18n/messagebundle_ko.properties +99 -115
- package/src/i18n/messagebundle_lt.properties +99 -115
- package/src/i18n/messagebundle_lv.properties +99 -115
- package/src/i18n/messagebundle_ms.properties +99 -115
- package/src/i18n/messagebundle_nl.properties +99 -115
- package/src/i18n/messagebundle_no.properties +99 -115
- package/src/i18n/messagebundle_pl.properties +99 -115
- package/src/i18n/messagebundle_pt.properties +99 -115
- package/src/i18n/messagebundle_pt_PT.properties +224 -0
- package/src/i18n/messagebundle_ro.properties +98 -114
- package/src/i18n/messagebundle_ru.properties +99 -115
- package/src/i18n/messagebundle_sh.properties +99 -115
- package/src/i18n/messagebundle_sk.properties +99 -115
- package/src/i18n/messagebundle_sl.properties +99 -115
- package/src/i18n/messagebundle_sv.properties +99 -115
- package/src/i18n/messagebundle_th.properties +99 -115
- package/src/i18n/messagebundle_tr.properties +99 -115
- package/src/i18n/messagebundle_uk.properties +101 -117
- package/src/i18n/messagebundle_vi.properties +99 -115
- package/src/i18n/messagebundle_zh_CN.properties +99 -115
- package/src/i18n/messagebundle_zh_TW.properties +99 -115
- package/src/popup-utils/OpenedPopupsRegistry.js +1 -1
- package/src/popup-utils/PopoverRegistry.js +2 -4
- package/src/timepicker-utils/TimeSlider.js +15 -13
- package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
- package/src/types/AvatarGroupType.js +43 -0
- package/src/types/AvatarShape.js +1 -1
- package/src/types/AvatarSize.js +1 -1
- package/src/types/BreadcrumbsDesign.js +42 -0
- package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/src/types/BusyIndicatorSize.js +1 -1
- package/src/types/ButtonDesign.js +8 -1
- package/src/types/CalendarSelectionMode.js +47 -0
- package/src/types/CarouselArrowsPlacement.js +3 -3
- package/src/types/GrowingMode.js +48 -0
- package/src/types/InputType.js +7 -7
- package/src/types/LinkDesign.js +1 -1
- package/src/types/ListGrowingMode.js +15 -0
- package/src/types/ListItemType.js +1 -1
- package/src/types/ListMode.js +1 -1
- package/src/types/ListSeparators.js +1 -1
- package/src/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
- package/src/types/PanelAccessibleRole.js +1 -1
- package/src/types/PopoverHorizontalAlign.js +1 -1
- package/src/types/PopoverPlacementType.js +2 -2
- package/src/types/PopoverVerticalAlign.js +1 -2
- package/src/types/Priority.js +1 -1
- package/src/types/SemanticColor.js +1 -1
- package/src/types/SwitchDesign.js +40 -0
- package/src/types/TabContainerTabsPlacement.js +5 -5
- package/src/types/TabLayout.js +1 -1
- 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 +1 -1
- package/src/types/ToastPlacement.js +1 -2
- package/src/types/WrappingType.js +41 -0
- package/dist/Timeline.js +0 -99
- package/dist/TimelineItem.js +0 -156
- package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -14
- package/dist/generated/templates/DateRangePickerTemplate.lit.js +0 -16
- package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -17
- package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -16
- package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -19
- package/dist/generated/templates/TimelineTemplate.lit.js +0 -15
- 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 -84
- package/dist/types/AvatarFitType.js +0 -40
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
- package/src/ComboBoxItem.hbs +0 -0
- package/src/DateRangePicker.hbs +0 -1
- package/src/DurationPicker.hbs +0 -29
- package/src/DurationPickerPopover.hbs +0 -48
- package/src/Timeline.hbs +0 -9
- package/src/Timeline.js +0 -99
- package/src/TimelineItem.hbs +0 -39
- package/src/TimelineItem.js +0 -156
- package/src/popup-utils/PopupUtils.js +0 -84
- package/src/types/AvatarFitType.js +0 -40
package/src/List.js
CHANGED
|
@@ -1,11 +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";
|
|
7
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";
|
|
8
15
|
import ListMode from "./types/ListMode.js";
|
|
16
|
+
import ListGrowingMode from "./types/ListGrowingMode.js";
|
|
9
17
|
import ListSeparators from "./types/ListSeparators.js";
|
|
10
18
|
import BusyIndicator from "./BusyIndicator.js";
|
|
11
19
|
|
|
@@ -15,9 +23,17 @@ import ListTemplate from "./generated/templates/ListTemplate.lit.js";
|
|
|
15
23
|
// Styles
|
|
16
24
|
import listCss from "./generated/themes/List.css.js";
|
|
17
25
|
|
|
18
|
-
|
|
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
|
+
|
|
19
33
|
const INFINITE_SCROLL_DEBOUNCE_RATE = 250; // ms
|
|
20
34
|
|
|
35
|
+
const PAGE_UP_DOWN_SIZE = 10;
|
|
36
|
+
|
|
21
37
|
/**
|
|
22
38
|
* @public
|
|
23
39
|
*/
|
|
@@ -27,7 +43,7 @@ const metadata = {
|
|
|
27
43
|
slots: /** @lends sap.ui.webcomponents.main.List.prototype */ {
|
|
28
44
|
|
|
29
45
|
/**
|
|
30
|
-
* Defines the
|
|
46
|
+
* Defines the component header.
|
|
31
47
|
* <br><br>
|
|
32
48
|
* <b>Note:</b> When <code>header</code> is set, the
|
|
33
49
|
* <code>headerText</code> property is ignored.
|
|
@@ -41,12 +57,12 @@ const metadata = {
|
|
|
41
57
|
},
|
|
42
58
|
|
|
43
59
|
/**
|
|
44
|
-
* Defines the items of the
|
|
60
|
+
* Defines the items of the component.
|
|
45
61
|
* <br><br>
|
|
46
62
|
* <b>Note:</b> Use <code>ui5-li</code>, <code>ui5-li-custom</code>, and <code>ui5-li-groupheader</code> for the intended design.
|
|
47
63
|
*
|
|
48
|
-
* @type {
|
|
49
|
-
* @slot
|
|
64
|
+
* @type {sap.ui.webcomponents.main.IListItem[]}
|
|
65
|
+
* @slot items
|
|
50
66
|
* @public
|
|
51
67
|
*/
|
|
52
68
|
"default": {
|
|
@@ -57,7 +73,7 @@ const metadata = {
|
|
|
57
73
|
properties: /** @lends sap.ui.webcomponents.main.List.prototype */ {
|
|
58
74
|
|
|
59
75
|
/**
|
|
60
|
-
* Defines the
|
|
76
|
+
* Defines the component header text.
|
|
61
77
|
* <br><br>
|
|
62
78
|
* <b>Note:</b> If <code>header</code> is set this property is ignored.
|
|
63
79
|
*
|
|
@@ -81,18 +97,18 @@ const metadata = {
|
|
|
81
97
|
},
|
|
82
98
|
|
|
83
99
|
/**
|
|
84
|
-
* Determines whether the
|
|
100
|
+
* Determines whether the component is indented.
|
|
85
101
|
*
|
|
86
102
|
* @type {boolean}
|
|
87
103
|
* @defaultvalue false
|
|
88
104
|
* @public
|
|
89
105
|
*/
|
|
90
|
-
|
|
106
|
+
indent: {
|
|
91
107
|
type: Boolean,
|
|
92
108
|
},
|
|
93
109
|
|
|
94
110
|
/**
|
|
95
|
-
* Defines the mode of the
|
|
111
|
+
* Defines the mode of the component.
|
|
96
112
|
* <br><br>
|
|
97
113
|
* <b>Note:</b> Available options are <code>None</code>, <code>SingleSelect</code>, <code>SingleSelectBegin</code>,
|
|
98
114
|
* <code>SingleSelectEnd</code>, <code>MultiSelect</code>, and <code>Delete</code>.
|
|
@@ -107,7 +123,7 @@ const metadata = {
|
|
|
107
123
|
},
|
|
108
124
|
|
|
109
125
|
/**
|
|
110
|
-
* Defines the text that is displayed when the
|
|
126
|
+
* Defines the text that is displayed when the component contains no items.
|
|
111
127
|
*
|
|
112
128
|
* @type {string}
|
|
113
129
|
* @defaultvalue ""
|
|
@@ -138,22 +154,34 @@ const metadata = {
|
|
|
138
154
|
},
|
|
139
155
|
|
|
140
156
|
/**
|
|
141
|
-
* Defines
|
|
142
|
-
*
|
|
143
|
-
*
|
|
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>
|
|
144
160
|
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
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
|
|
147
176
|
* @public
|
|
148
|
-
* @since 1.0.0-rc.6
|
|
149
177
|
*/
|
|
150
|
-
|
|
151
|
-
type:
|
|
178
|
+
growing: {
|
|
179
|
+
type: ListGrowingMode,
|
|
180
|
+
defaultValue: ListGrowingMode.None,
|
|
152
181
|
},
|
|
153
182
|
|
|
154
183
|
/**
|
|
155
|
-
* Defines if the component would display a loading indicator
|
|
156
|
-
* It's especially useful, when combined with <code>infiniteScroll</code>.
|
|
184
|
+
* Defines if the component would display a loading indicator over the list.
|
|
157
185
|
*
|
|
158
186
|
* @type {boolean}
|
|
159
187
|
* @defaultvalue false
|
|
@@ -165,39 +193,69 @@ const metadata = {
|
|
|
165
193
|
},
|
|
166
194
|
|
|
167
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
|
+
*
|
|
168
210
|
* @type {String}
|
|
169
211
|
* @defaultvalue ""
|
|
170
|
-
* @
|
|
171
|
-
* @since 1.0.0-rc.
|
|
212
|
+
* @public
|
|
213
|
+
* @since 1.0.0-rc.15
|
|
172
214
|
*/
|
|
173
|
-
|
|
215
|
+
accessibleName: {
|
|
174
216
|
type: String,
|
|
175
217
|
},
|
|
176
218
|
|
|
177
219
|
/**
|
|
178
|
-
*
|
|
220
|
+
* Defines the IDs of the elements that label the input.
|
|
179
221
|
*
|
|
180
222
|
* @type {String}
|
|
181
223
|
* @defaultvalue ""
|
|
182
|
-
* @
|
|
183
|
-
* @since 1.0.0-rc.
|
|
224
|
+
* @public
|
|
225
|
+
* @since 1.0.0-rc.15
|
|
184
226
|
*/
|
|
185
|
-
|
|
227
|
+
accessibleNameRef: {
|
|
186
228
|
type: String,
|
|
187
229
|
defaultValue: "",
|
|
188
230
|
},
|
|
189
231
|
|
|
190
232
|
/**
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
* @
|
|
233
|
+
* Defines the accessible role of the component.
|
|
234
|
+
* <br><br>
|
|
235
|
+
* @public
|
|
194
236
|
* @type {String}
|
|
195
|
-
* @defaultvalue "
|
|
196
|
-
* @since 1.0.0-rc.
|
|
237
|
+
* @defaultvalue "list"
|
|
238
|
+
* @since 1.0.0-rc.15
|
|
197
239
|
*/
|
|
198
|
-
|
|
240
|
+
accessibleRole: {
|
|
199
241
|
type: String,
|
|
200
|
-
defaultValue: "
|
|
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,
|
|
201
259
|
},
|
|
202
260
|
},
|
|
203
261
|
events: /** @lends sap.ui.webcomponents.main.List.prototype */ {
|
|
@@ -207,7 +265,7 @@ const metadata = {
|
|
|
207
265
|
* is set to <code>Inactive</code>.
|
|
208
266
|
*
|
|
209
267
|
* @event sap.ui.webcomponents.main.List#item-click
|
|
210
|
-
* @param {HTMLElement} item
|
|
268
|
+
* @param {HTMLElement} item The clicked item.
|
|
211
269
|
* @public
|
|
212
270
|
*/
|
|
213
271
|
"item-click": {
|
|
@@ -253,7 +311,7 @@ const metadata = {
|
|
|
253
311
|
* Fired when the Delete button of any item is pressed.
|
|
254
312
|
* <br><br>
|
|
255
313
|
* <b>Note:</b> A Delete button is displayed on each item,
|
|
256
|
-
* when the
|
|
314
|
+
* when the component <code>mode</code> property is set to <code>Delete</code>.
|
|
257
315
|
*
|
|
258
316
|
* @event sap.ui.webcomponents.main.List#item-delete
|
|
259
317
|
* @param {HTMLElement} item the deleted item.
|
|
@@ -285,7 +343,7 @@ const metadata = {
|
|
|
285
343
|
/**
|
|
286
344
|
* Fired when the user scrolls to the bottom of the list.
|
|
287
345
|
* <br><br>
|
|
288
|
-
* <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.
|
|
289
347
|
*
|
|
290
348
|
* @event sap.ui.webcomponents.main.List#load-more
|
|
291
349
|
* @public
|
|
@@ -303,7 +361,7 @@ const metadata = {
|
|
|
303
361
|
* The <code>ui5-list</code> component allows displaying a list of items, advanced keyboard
|
|
304
362
|
* handling support for navigating between items, and predefined modes to improve the development efficiency.
|
|
305
363
|
* <br><br>
|
|
306
|
-
* The <code>ui5-list</code> is
|
|
364
|
+
* The <code>ui5-list</code> is a container for the available list items:
|
|
307
365
|
* <ul>
|
|
308
366
|
* <li><code>ui5-li</code></li>
|
|
309
367
|
* <li><code>ui5-li-custom</code></li>
|
|
@@ -316,6 +374,27 @@ const metadata = {
|
|
|
316
374
|
* <br><br>
|
|
317
375
|
* Additionally, the <code>ui5-list</code> provides header, footer, and customization for the list item separators.
|
|
318
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
|
+
*
|
|
319
398
|
* <h3>ES6 Module Import</h3>
|
|
320
399
|
*
|
|
321
400
|
* <code>import "@ui5/webcomponents/dist/List.js";</code>
|
|
@@ -351,6 +430,14 @@ class List extends UI5Element {
|
|
|
351
430
|
return listCss;
|
|
352
431
|
}
|
|
353
432
|
|
|
433
|
+
static async onDefine() {
|
|
434
|
+
List.i18nBundle = await getI18nBundle("@ui5/webcomponents");
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
static get dependencies() {
|
|
438
|
+
return [BusyIndicator];
|
|
439
|
+
}
|
|
440
|
+
|
|
354
441
|
constructor() {
|
|
355
442
|
super();
|
|
356
443
|
this.initItemNavigation();
|
|
@@ -363,6 +450,12 @@ class List extends UI5Element {
|
|
|
363
450
|
|
|
364
451
|
this._previouslySelectedItem = null;
|
|
365
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
|
+
|
|
366
459
|
this.addEventListener("ui5-_press", this.onItemPress.bind(this));
|
|
367
460
|
this.addEventListener("ui5-close", this.onItemClose.bind(this));
|
|
368
461
|
this.addEventListener("ui5-toggle", this.onItemToggle.bind(this));
|
|
@@ -371,6 +464,42 @@ class List extends UI5Element {
|
|
|
371
464
|
this.addEventListener("ui5-_forward-before", this.onForwardBefore.bind(this));
|
|
372
465
|
this.addEventListener("ui5-_selection-requested", this.onSelectionRequested.bind(this));
|
|
373
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
|
+
}
|
|
374
503
|
}
|
|
375
504
|
|
|
376
505
|
get shouldRenderH1() {
|
|
@@ -381,12 +510,33 @@ class List extends UI5Element {
|
|
|
381
510
|
return `${this._id}-header`;
|
|
382
511
|
}
|
|
383
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
|
+
|
|
384
525
|
get showNoDataText() {
|
|
385
|
-
return this.
|
|
526
|
+
return !this.hasData && this.noDataText;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
get isDelete() {
|
|
530
|
+
return this.mode === ListMode.Delete;
|
|
386
531
|
}
|
|
387
532
|
|
|
388
|
-
get
|
|
389
|
-
return
|
|
533
|
+
get isSingleSelect() {
|
|
534
|
+
return [
|
|
535
|
+
ListMode.SingleSelect,
|
|
536
|
+
ListMode.SingleSelectBegin,
|
|
537
|
+
ListMode.SingleSelectEnd,
|
|
538
|
+
ListMode.SingleSelectAuto,
|
|
539
|
+
].includes(this.mode);
|
|
390
540
|
}
|
|
391
541
|
|
|
392
542
|
get isMultiSelect() {
|
|
@@ -394,27 +544,83 @@ class List extends UI5Element {
|
|
|
394
544
|
}
|
|
395
545
|
|
|
396
546
|
get ariaLabelledBy() {
|
|
397
|
-
if (this.
|
|
547
|
+
if (this.accessibleNameRef || this.accessibleName) {
|
|
398
548
|
return undefined;
|
|
399
549
|
}
|
|
550
|
+
const ids = [];
|
|
551
|
+
|
|
552
|
+
if (this.isMultiSelect || this.isSingleSelect || this.isDelete) {
|
|
553
|
+
ids.push(this.modeLabelID);
|
|
554
|
+
}
|
|
400
555
|
|
|
401
|
-
|
|
556
|
+
if (this.shouldRenderH1) {
|
|
557
|
+
ids.push(this.headerID);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
return ids.length ? ids.join(" ") : undefined;
|
|
402
561
|
}
|
|
403
562
|
|
|
404
|
-
get
|
|
563
|
+
get ariaLabelTxt() {
|
|
405
564
|
return getEffectiveAriaLabelText(this);
|
|
406
565
|
}
|
|
407
566
|
|
|
408
|
-
|
|
409
|
-
this.
|
|
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
|
+
};
|
|
410
616
|
}
|
|
411
617
|
|
|
412
618
|
initItemNavigation() {
|
|
413
619
|
this._itemNavigation = new ItemNavigation(this, {
|
|
620
|
+
skipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items
|
|
414
621
|
navigationMode: NavigationMode.Vertical,
|
|
622
|
+
getItemsCallback: () => this.getEnabledItems(),
|
|
415
623
|
});
|
|
416
|
-
|
|
417
|
-
this._itemNavigation.getItemsCallback = () => this.getSlottedNodes("items");
|
|
418
624
|
}
|
|
419
625
|
|
|
420
626
|
prepareListItems() {
|
|
@@ -432,6 +638,34 @@ class List extends UI5Element {
|
|
|
432
638
|
this._previouslySelectedItem = null;
|
|
433
639
|
}
|
|
434
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
|
+
|
|
435
669
|
/*
|
|
436
670
|
* ITEM SELECTION BASED ON THE CURRENT MODE
|
|
437
671
|
*/
|
|
@@ -494,18 +728,8 @@ class List extends UI5Element {
|
|
|
494
728
|
return this.getSlottedNodes("items").filter(item => item.selected);
|
|
495
729
|
}
|
|
496
730
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
let firstSelectedItem = null;
|
|
500
|
-
|
|
501
|
-
for (let i = 0; i < slottedItems.length; i++) {
|
|
502
|
-
if (slottedItems[i].selected) {
|
|
503
|
-
firstSelectedItem = slottedItems[i];
|
|
504
|
-
break;
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
return firstSelectedItem;
|
|
731
|
+
getEnabledItems() {
|
|
732
|
+
return this.getSlottedNodes("items").filter(item => !item.disabled);
|
|
509
733
|
}
|
|
510
734
|
|
|
511
735
|
_onkeydown(event) {
|
|
@@ -514,6 +738,50 @@ class List extends UI5Element {
|
|
|
514
738
|
}
|
|
515
739
|
}
|
|
516
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
|
+
|
|
517
785
|
/*
|
|
518
786
|
* KEYBOARD SUPPORT
|
|
519
787
|
*/
|
|
@@ -533,7 +801,7 @@ class List extends UI5Element {
|
|
|
533
801
|
}
|
|
534
802
|
|
|
535
803
|
if (lastTabbableEl === target) {
|
|
536
|
-
if (this.
|
|
804
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
537
805
|
this.focusFirstSelectedItem();
|
|
538
806
|
} else if (this.getPreviouslyFocusedItem()) {
|
|
539
807
|
this.focusPreviouslyFocusedItem();
|
|
@@ -546,13 +814,6 @@ class List extends UI5Element {
|
|
|
546
814
|
}
|
|
547
815
|
}
|
|
548
816
|
|
|
549
|
-
_onScroll(event) {
|
|
550
|
-
if (!this.infiniteScroll) {
|
|
551
|
-
return;
|
|
552
|
-
}
|
|
553
|
-
this.debounce(this.loadMore.bind(this, event.target), INFINITE_SCROLL_DEBOUNCE_RATE);
|
|
554
|
-
}
|
|
555
|
-
|
|
556
817
|
_onfocusin(event) {
|
|
557
818
|
// If the focusin event does not origin from one of the 'triggers' - ignore it.
|
|
558
819
|
if (!this.isForwardElement(this.getNormalizedTarget(event.target))) {
|
|
@@ -563,7 +824,7 @@ class List extends UI5Element {
|
|
|
563
824
|
// The focus arrives in the List for the first time.
|
|
564
825
|
// If there is selected item - focus it or focus the first item.
|
|
565
826
|
if (!this.getPreviouslyFocusedItem()) {
|
|
566
|
-
if (this.
|
|
827
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
567
828
|
this.focusFirstSelectedItem();
|
|
568
829
|
} else {
|
|
569
830
|
this.focusFirstItem();
|
|
@@ -576,11 +837,13 @@ class List extends UI5Element {
|
|
|
576
837
|
// The focus returns to the List,
|
|
577
838
|
// focus the first selected item or the previously focused element.
|
|
578
839
|
if (!this.getForwardingFocus()) {
|
|
579
|
-
if (this.
|
|
840
|
+
if (this.getFirstItem(x => x.selected && !x.disabled)) {
|
|
580
841
|
this.focusFirstSelectedItem();
|
|
581
842
|
} else {
|
|
582
843
|
this.focusPreviouslyFocusedItem();
|
|
583
844
|
}
|
|
845
|
+
|
|
846
|
+
event.stopImmediatePropagation();
|
|
584
847
|
}
|
|
585
848
|
|
|
586
849
|
this.setForwardingFocus(false);
|
|
@@ -588,18 +851,20 @@ class List extends UI5Element {
|
|
|
588
851
|
|
|
589
852
|
isForwardElement(node) {
|
|
590
853
|
const nodeId = node.id;
|
|
854
|
+
const afterElement = this.getAfterElement();
|
|
855
|
+
const beforeElement = this.getBeforeElement();
|
|
591
856
|
|
|
592
|
-
if (this._id === nodeId ||
|
|
857
|
+
if (this._id === nodeId || (beforeElement && beforeElement.id === nodeId)) {
|
|
593
858
|
return true;
|
|
594
859
|
}
|
|
595
860
|
|
|
596
|
-
return
|
|
861
|
+
return afterElement && afterElement.id === nodeId;
|
|
597
862
|
}
|
|
598
863
|
|
|
599
864
|
onItemFocused(event) {
|
|
600
865
|
const target = event.target;
|
|
601
866
|
|
|
602
|
-
this._itemNavigation.
|
|
867
|
+
this._itemNavigation.setCurrentItem(target);
|
|
603
868
|
this.fireEvent("item-focused", { item: target });
|
|
604
869
|
|
|
605
870
|
if (this.mode === ListMode.SingleSelectAuto) {
|
|
@@ -647,11 +912,15 @@ class List extends UI5Element {
|
|
|
647
912
|
onForwardBefore(event) {
|
|
648
913
|
this.setPreviouslyFocusedItem(event.target);
|
|
649
914
|
this.focusBeforeElement();
|
|
915
|
+
event.stopImmediatePropagation();
|
|
650
916
|
}
|
|
651
917
|
|
|
652
918
|
onForwardAfter(event) {
|
|
653
919
|
this.setPreviouslyFocusedItem(event.target);
|
|
654
|
-
|
|
920
|
+
|
|
921
|
+
if (!this.growsWithButton) {
|
|
922
|
+
this.focusAfterElement();
|
|
923
|
+
}
|
|
655
924
|
}
|
|
656
925
|
|
|
657
926
|
focusBeforeElement() {
|
|
@@ -665,7 +934,8 @@ class List extends UI5Element {
|
|
|
665
934
|
}
|
|
666
935
|
|
|
667
936
|
focusFirstItem() {
|
|
668
|
-
|
|
937
|
+
// only enabled items are focusable
|
|
938
|
+
const firstItem = this.getFirstItem(x => !x.disabled);
|
|
669
939
|
|
|
670
940
|
if (firstItem) {
|
|
671
941
|
firstItem.focus();
|
|
@@ -681,18 +951,24 @@ class List extends UI5Element {
|
|
|
681
951
|
}
|
|
682
952
|
|
|
683
953
|
focusFirstSelectedItem() {
|
|
684
|
-
|
|
954
|
+
// only enabled items are focusable
|
|
955
|
+
const firstSelectedItem = this.getFirstItem(x => x.selected && !x.disabled);
|
|
685
956
|
|
|
686
957
|
if (firstSelectedItem) {
|
|
687
958
|
firstSelectedItem.focus();
|
|
688
959
|
}
|
|
689
960
|
}
|
|
690
961
|
|
|
962
|
+
/**
|
|
963
|
+
* Focuses a list item and sets its tabindex to "0" via the ItemNavigation
|
|
964
|
+
* @protected
|
|
965
|
+
* @param item
|
|
966
|
+
*/
|
|
691
967
|
focusItem(item) {
|
|
968
|
+
this._itemNavigation.setCurrentItem(item);
|
|
692
969
|
item.focus();
|
|
693
970
|
}
|
|
694
971
|
|
|
695
|
-
|
|
696
972
|
focusUploadCollectionItem(event) {
|
|
697
973
|
setTimeout(() => {
|
|
698
974
|
this.setPreviouslyFocusedItem(event.target);
|
|
@@ -716,9 +992,22 @@ class List extends UI5Element {
|
|
|
716
992
|
return this._previouslyFocusedItem;
|
|
717
993
|
}
|
|
718
994
|
|
|
719
|
-
getFirstItem() {
|
|
995
|
+
getFirstItem(filter) {
|
|
720
996
|
const slottedItems = this.getSlottedNodes("items");
|
|
721
|
-
|
|
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;
|
|
722
1011
|
}
|
|
723
1012
|
|
|
724
1013
|
getAfterElement() {
|
|
@@ -749,32 +1038,16 @@ class List extends UI5Element {
|
|
|
749
1038
|
return focused;
|
|
750
1039
|
}
|
|
751
1040
|
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
return;
|
|
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
|
+
});
|
|
760
1048
|
}
|
|
761
|
-
this.previousScrollPosition = scrollTop;
|
|
762
1049
|
|
|
763
|
-
|
|
764
|
-
this.fireEvent("load-more");
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
debounce(fn, delay) {
|
|
769
|
-
clearTimeout(this.debounceInterval);
|
|
770
|
-
this.debounceInterval = setTimeout(() => {
|
|
771
|
-
this.debounceInterval = null;
|
|
772
|
-
fn();
|
|
773
|
-
}, delay);
|
|
774
|
-
}
|
|
775
|
-
|
|
776
|
-
static get dependencies() {
|
|
777
|
-
return [BusyIndicator];
|
|
1050
|
+
return this.growingIntersectionObserver;
|
|
778
1051
|
}
|
|
779
1052
|
}
|
|
780
1053
|
|