@ui5/webcomponents 2.8.1-rc.0 → 2.9.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +54 -0
- package/cypress/specs/AvatarGroup.cy.tsx +15 -0
- package/cypress/specs/Carousel.cy.tsx +27 -0
- package/cypress/specs/ComboBox.cy.tsx +150 -0
- package/cypress/specs/DateControlsWithTimezone.cy.tsx +75 -0
- package/cypress/specs/DatePicker.cy.tsx +1693 -0
- package/cypress/specs/DateRangePicker.cy.tsx +588 -0
- package/cypress/specs/Input.cy.tsx +99 -1
- package/cypress/specs/List.cy.tsx +26 -0
- package/cypress/specs/Menu.cy.tsx +3 -1
- package/cypress/specs/MultiComboBox.cy.tsx +104 -0
- package/cypress/specs/MultiInput.cy.tsx +4 -1
- package/cypress/specs/RatingIndicator.cy.tsx +176 -0
- package/cypress/specs/SegmentedButton.cy.tsx +215 -0
- package/cypress/specs/Select.cy.tsx +18 -0
- package/cypress/specs/Slider.cy.tsx +26 -0
- package/cypress/specs/TabContainer.cy.tsx +49 -0
- package/cypress/specs/Table.cy.tsx +2 -0
- package/cypress/specs/Tag.cy.tsx +22 -0
- package/cypress/specs/base/AccessibilityTextsHelper.cy.tsx +141 -0
- package/cypress/specs/base/Events.cy.tsx +10 -1
- package/cypress/specs/base/Tooltips.cy.tsx +5 -3
- package/cypress/support/commands/DatePicker.commands.ts +218 -0
- package/cypress/support/commands/SegmentedButton.commands.ts +32 -0
- package/cypress/support/commands.ts +17 -0
- package/cypress/support/component-index.html +12 -0
- package/cypress/support/component.ts +35 -2
- package/cypress/tsconfig.json +0 -1
- package/cypress.config.js +11 -6
- package/dist/.tsbuildinfo +1 -1
- package/dist/AvatarGroup.js +3 -0
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Carousel.d.ts +1 -0
- package/dist/Carousel.js +4 -1
- package/dist/Carousel.js.map +1 -1
- package/dist/CarouselTemplate.js +2 -2
- package/dist/CarouselTemplate.js.map +1 -1
- package/dist/ComboBox.d.ts +4 -2
- package/dist/ComboBox.js +26 -4
- package/dist/ComboBox.js.map +1 -1
- package/dist/DayPicker.js +3 -3
- package/dist/DayPicker.js.map +1 -1
- package/dist/Icon.d.ts +1 -1
- package/dist/Icon.js +3 -4
- package/dist/Icon.js.map +1 -1
- package/dist/Input.d.ts +26 -1
- package/dist/Input.js +41 -4
- package/dist/Input.js.map +1 -1
- package/dist/InputTemplate.js +3 -2
- package/dist/InputTemplate.js.map +1 -1
- package/dist/List.d.ts +2 -0
- package/dist/List.js +10 -2
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +1 -0
- package/dist/ListItem.js +9 -1
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemGroupHeader.js +1 -1
- package/dist/ListItemGroupHeader.js.map +1 -1
- package/dist/ListItemTemplate.js +1 -1
- package/dist/ListItemTemplate.js.map +1 -1
- package/dist/Menu.d.ts +1 -0
- package/dist/Menu.js +6 -3
- package/dist/Menu.js.map +1 -1
- package/dist/MenuItem.d.ts +1 -0
- package/dist/MenuItem.js +3 -13
- package/dist/MenuItem.js.map +1 -1
- package/dist/MenuItemTemplate.d.ts +1 -5
- package/dist/MenuItemTemplate.js +1 -1
- package/dist/MenuItemTemplate.js.map +1 -1
- package/dist/MultiComboBox.d.ts +4 -3
- package/dist/MultiComboBox.js +26 -25
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxPopoverTemplate.js +1 -1
- package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
- package/dist/MultiInput.d.ts +2 -1
- package/dist/OptionCustom.d.ts +1 -3
- package/dist/OptionCustom.js.map +1 -1
- package/dist/Popup.js +1 -4
- package/dist/Popup.js.map +1 -1
- package/dist/Select.d.ts +12 -0
- package/dist/Select.js +3 -0
- package/dist/Select.js.map +1 -1
- package/dist/SelectTemplate.js +6 -2
- package/dist/SelectTemplate.js.map +1 -1
- package/dist/Slider.d.ts +1 -0
- package/dist/Slider.js +8 -0
- package/dist/Slider.js.map +1 -1
- package/dist/SliderTemplate.js +1 -1
- package/dist/SliderTemplate.js.map +1 -1
- package/dist/Switch.js +0 -1
- package/dist/Switch.js.map +1 -1
- package/dist/TabContainer.js +2 -2
- package/dist/TabContainer.js.map +1 -1
- package/dist/Table.d.ts +14 -16
- package/dist/Table.js +37 -45
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.js +0 -2
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCellBase.d.ts +1 -0
- package/dist/TableCellBase.js +3 -10
- package/dist/TableCellBase.js.map +1 -1
- package/dist/TableDragAndDrop.d.ts +1 -1
- package/dist/TableDragAndDrop.js.map +1 -1
- package/dist/TableGrowing.d.ts +2 -2
- package/dist/TableGrowing.js +5 -11
- package/dist/TableGrowing.js.map +1 -1
- package/dist/TableHeaderCell.js +2 -6
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderCellActionAI.d.ts +1 -0
- package/dist/TableHeaderCellActionAI.js +4 -0
- package/dist/TableHeaderCellActionAI.js.map +1 -1
- package/dist/TableHeaderCellActionBaseTemplate.js +2 -1
- package/dist/TableHeaderCellActionBaseTemplate.js.map +1 -1
- package/dist/TableHeaderCellTemplate.js.map +1 -1
- package/dist/TableHeaderRow.d.ts +0 -1
- package/dist/TableHeaderRow.js +0 -3
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableHeaderRowTemplate.js +1 -1
- package/dist/TableHeaderRowTemplate.js.map +1 -1
- package/dist/TableNavigation.d.ts +2 -2
- package/dist/TableNavigation.js +1 -1
- package/dist/TableNavigation.js.map +1 -1
- package/dist/TableRow.d.ts +2 -4
- package/dist/TableRow.js +6 -35
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowActionBaseTemplate.js +4 -2
- package/dist/TableRowActionBaseTemplate.js.map +1 -1
- package/dist/TableRowActionNavigation.d.ts +1 -1
- package/dist/TableRowActionNavigation.js +4 -4
- package/dist/TableRowActionNavigation.js.map +1 -1
- package/dist/TableRowBase.d.ts +4 -2
- package/dist/TableRowBase.js +15 -16
- package/dist/TableRowBase.js.map +1 -1
- package/dist/TableRowTemplate.js +3 -2
- package/dist/TableRowTemplate.js.map +1 -1
- package/dist/TableUtils.d.ts +2 -1
- package/dist/TableUtils.js +14 -1
- package/dist/TableUtils.js.map +1 -1
- package/dist/TableVirtualizer.js +1 -1
- package/dist/TableVirtualizer.js.map +1 -1
- package/dist/Tag.d.ts +1 -1
- package/dist/Tag.js +2 -1
- package/dist/Tag.js.map +1 -1
- package/dist/Token.d.ts +1 -0
- package/dist/Token.js +6 -0
- package/dist/Token.js.map +1 -1
- package/dist/TokenTemplate.js +1 -1
- package/dist/TokenTemplate.js.map +1 -1
- package/dist/Toolbar.d.ts +2 -2
- package/dist/Toolbar.js +5 -8
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarButton.d.ts +6 -0
- package/dist/ToolbarButton.js +9 -0
- package/dist/ToolbarButton.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/ButtonBadge.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/CalendarLegend.css +1 -1
- package/dist/css/themes/CalendarLegendItem.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/ComboBoxItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormItemSpan.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemCustom.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -1
- package/dist/css/themes/ListItemGroupHeader.css +1 -1
- package/dist/css/themes/ListItemIcon.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxItem.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/OptionBase.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/SuggestionItem.css +1 -1
- package/dist/css/themes/SuggestionItemCustom.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableHeaderRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TableRowActionBase.css +1 -1
- package/dist/css/themes/TableRowBase.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +241 -11
- package/dist/custom-elements.json +188 -10
- 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_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.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_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
- package/dist/generated/i18n/i18n-defaults.js +3 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Avatar.css.d.ts +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Bar.css.d.ts +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
- package/dist/generated/themes/ButtonBadge.css.js +1 -1
- package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.d.ts +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.d.ts +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.d.ts +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.d.ts +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.d.ts +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.d.ts +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.d.ts +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.d.ts +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.d.ts +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.d.ts +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Form.css.d.ts +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.d.ts +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
- package/dist/generated/themes/FormItemSpan.css.js +1 -1
- package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.d.ts +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.d.ts +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.d.ts +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.d.ts +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.d.ts +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.d.ts +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuItem.css.d.ts +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.d.ts +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/OptionBase.css.d.ts +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.d.ts +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.d.ts +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.d.ts +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.d.ts +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.d.ts +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.d.ts +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItem.css.js +1 -1
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.d.ts +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.d.ts +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Table.css.d.ts +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.d.ts +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.d.ts +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.d.ts +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.d.ts +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.d.ts +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.d.ts +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.d.ts +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.d.ts +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.d.ts +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.d.ts +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/types/SearchPopupMode.d.ts +22 -0
- package/dist/types/SearchPopupMode.js +24 -0
- package/dist/types/SearchPopupMode.js.map +1 -0
- package/dist/vscode.html-custom-data.json +38 -3
- package/dist/web-types.json +95 -9
- package/package.json +11 -10
- package/src/CarouselTemplate.tsx +3 -2
- package/src/InputTemplate.tsx +7 -1
- package/src/ListItemTemplate.tsx +1 -2
- package/src/MenuItemTemplate.tsx +3 -8
- package/src/MultiComboBoxPopoverTemplate.tsx +1 -1
- package/src/SelectTemplate.tsx +11 -3
- package/src/SliderTemplate.tsx +1 -0
- package/src/TableHeaderCellActionBaseTemplate.tsx +2 -1
- package/src/TableHeaderCellTemplate.tsx +1 -2
- package/src/TableHeaderRowTemplate.tsx +1 -1
- package/src/TableRowActionBaseTemplate.tsx +4 -2
- package/src/TableRowTemplate.tsx +4 -3
- package/src/TokenTemplate.tsx +1 -0
- package/src/i18n/messagebundle.properties +6 -0
- package/src/i18n/messagebundle_ar.properties +6 -0
- package/src/i18n/messagebundle_bg.properties +7 -1
- package/src/i18n/messagebundle_ca.properties +6 -0
- package/src/i18n/messagebundle_cnr.properties +6 -0
- package/src/i18n/messagebundle_cs.properties +6 -0
- package/src/i18n/messagebundle_cy.properties +6 -0
- package/src/i18n/messagebundle_da.properties +6 -0
- package/src/i18n/messagebundle_de.properties +7 -1
- package/src/i18n/messagebundle_el.properties +6 -0
- package/src/i18n/messagebundle_en.properties +6 -0
- package/src/i18n/messagebundle_en_GB.properties +6 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +8 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +4 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +8 -0
- package/src/i18n/messagebundle_es.properties +7 -1
- package/src/i18n/messagebundle_es_MX.properties +6 -0
- package/src/i18n/messagebundle_et.properties +6 -0
- package/src/i18n/messagebundle_fi.properties +6 -0
- package/src/i18n/messagebundle_fr.properties +6 -0
- package/src/i18n/messagebundle_fr_CA.properties +6 -0
- package/src/i18n/messagebundle_hi.properties +6 -0
- package/src/i18n/messagebundle_hr.properties +6 -0
- package/src/i18n/messagebundle_hu.properties +6 -0
- package/src/i18n/messagebundle_id.properties +6 -0
- package/src/i18n/messagebundle_it.properties +6 -0
- package/src/i18n/messagebundle_iw.properties +6 -0
- package/src/i18n/messagebundle_ja.properties +6 -0
- package/src/i18n/messagebundle_kk.properties +6 -0
- package/src/i18n/messagebundle_ko.properties +6 -0
- package/src/i18n/messagebundle_lt.properties +6 -0
- package/src/i18n/messagebundle_lv.properties +6 -0
- package/src/i18n/messagebundle_mk.properties +6 -0
- package/src/i18n/messagebundle_ms.properties +6 -0
- package/src/i18n/messagebundle_nl.properties +6 -0
- package/src/i18n/messagebundle_no.properties +6 -0
- package/src/i18n/messagebundle_pl.properties +11 -5
- package/src/i18n/messagebundle_pt.properties +7 -1
- package/src/i18n/messagebundle_pt_PT.properties +6 -0
- package/src/i18n/messagebundle_ro.properties +7 -1
- package/src/i18n/messagebundle_ru.properties +7 -1
- package/src/i18n/messagebundle_sh.properties +6 -0
- package/src/i18n/messagebundle_sk.properties +7 -1
- package/src/i18n/messagebundle_sl.properties +7 -1
- package/src/i18n/messagebundle_sr.properties +6 -0
- package/src/i18n/messagebundle_sv.properties +7 -1
- package/src/i18n/messagebundle_th.properties +6 -0
- package/src/i18n/messagebundle_tr.properties +6 -0
- package/src/i18n/messagebundle_uk.properties +6 -0
- package/src/i18n/messagebundle_vi.properties +6 -0
- package/src/i18n/messagebundle_zh_CN.properties +6 -0
- package/src/i18n/messagebundle_zh_TW.properties +6 -0
- package/src/themes/List.css +3 -2
- package/src/themes/Select.css +14 -0
- package/src/themes/Switch.css +0 -2
- package/src/themes/TabInStrip.css +48 -28
- package/src/themes/TabSemanticIcon.css +3 -3
- package/src/themes/base/TabContainer-parameters.css +2 -22
- package/src/themes/sap_fiori_3/TabContainer-parameters.css +0 -3
- package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +0 -3
- package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +0 -20
- package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +0 -20
- package/src/themes/sap_horizon/TabContainer-parameters.css +4 -9
- package/src/themes/sap_horizon/Tag-parameters.css +32 -0
- package/src/themes/sap_horizon_dark/TabContainer-parameters.css +4 -9
- package/src/themes/sap_horizon_dark/Tag-parameters.css +32 -0
- package/src/themes/sap_horizon_hcb/TabContainer-parameters.css +4 -23
- package/src/themes/sap_horizon_hcb/Tag-parameters.css +20 -20
- package/src/themes/sap_horizon_hcw/TabContainer-parameters.css +4 -23
- package/src/themes/sap_horizon_hcw/Tag-parameters.css +20 -20
package/dist/TableRowBase.js
CHANGED
|
@@ -6,13 +6,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
var TableRowBase_1;
|
|
8
8
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
|
+
import { customElement, property, i18n } from "@ui5/webcomponents-base/dist/decorators.js";
|
|
9
10
|
import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
11
|
+
import { isInstanceOfTable, toggleAttribute } from "./TableUtils.js";
|
|
10
12
|
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
11
|
-
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
12
|
-
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
13
|
-
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
14
13
|
import TableRowBaseCss from "./generated/themes/TableRowBase.css.js";
|
|
15
|
-
import
|
|
14
|
+
import query from "@ui5/webcomponents-base/dist/decorators/query.js";
|
|
16
15
|
import { TABLE_ROW_SELECTOR, } from "./generated/i18n/i18n-defaults.js";
|
|
17
16
|
/**
|
|
18
17
|
* @class
|
|
@@ -28,18 +27,14 @@ let TableRowBase = TableRowBase_1 = class TableRowBase extends UI5Element {
|
|
|
28
27
|
super(...arguments);
|
|
29
28
|
this._invalidate = 0;
|
|
30
29
|
this._rowActionCount = 0;
|
|
30
|
+
this._renderNavigated = false;
|
|
31
31
|
}
|
|
32
32
|
onEnterDOM() {
|
|
33
33
|
this.setAttribute("role", "row");
|
|
34
34
|
this.toggleAttribute("ui5-table-row-base", true);
|
|
35
35
|
}
|
|
36
36
|
onBeforeRendering() {
|
|
37
|
-
|
|
38
|
-
this.setAttribute("aria-selected", `${this._isSelected}`);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.removeAttribute("aria-selected");
|
|
42
|
-
}
|
|
37
|
+
toggleAttribute(this, "aria-selected", this._isSelectable, `${this._isSelected}`);
|
|
43
38
|
}
|
|
44
39
|
getFocusDomRef() {
|
|
45
40
|
return this;
|
|
@@ -80,9 +75,6 @@ let TableRowBase = TableRowBase_1 = class TableRowBase extends UI5Element {
|
|
|
80
75
|
get _hasRowSelector() {
|
|
81
76
|
return !!this._tableSelection?.isRowSelectorRequired();
|
|
82
77
|
}
|
|
83
|
-
get _selectionCell() {
|
|
84
|
-
return this.shadowRoot.getElementById("selection-cell");
|
|
85
|
-
}
|
|
86
78
|
get _visibleCells() {
|
|
87
79
|
return this.cells.filter(c => !c._popin);
|
|
88
80
|
}
|
|
@@ -90,9 +82,7 @@ let TableRowBase = TableRowBase_1 = class TableRowBase extends UI5Element {
|
|
|
90
82
|
return this.cells.filter(c => c._popin && !c._popinHidden);
|
|
91
83
|
}
|
|
92
84
|
get _stickyCells() {
|
|
93
|
-
|
|
94
|
-
// filter out null/undefined
|
|
95
|
-
return [selectionCell, ...this.cells, navigatedCell].filter(cell => cell?.hasAttribute("fixed"));
|
|
85
|
+
return [this._selectionCell, ...this.cells, this._navigatedCell].filter(cell => cell?.hasAttribute("fixed"));
|
|
96
86
|
}
|
|
97
87
|
get _i18nRowSelector() {
|
|
98
88
|
return TableRowBase_1.i18nBundle.getText(TABLE_ROW_SELECTOR);
|
|
@@ -104,6 +94,15 @@ __decorate([
|
|
|
104
94
|
__decorate([
|
|
105
95
|
property({ type: Number, noAttribute: true })
|
|
106
96
|
], TableRowBase.prototype, "_rowActionCount", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
property({ type: Boolean, noAttribute: true })
|
|
99
|
+
], TableRowBase.prototype, "_renderNavigated", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
query("#selection-cell")
|
|
102
|
+
], TableRowBase.prototype, "_selectionCell", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
query("#navigated-cell")
|
|
105
|
+
], TableRowBase.prototype, "_navigatedCell", void 0);
|
|
107
106
|
__decorate([
|
|
108
107
|
i18n("@ui5/webcomponents")
|
|
109
108
|
], TableRowBase, "i18nBundle", void 0);
|
package/dist/TableRowBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRowBase.js","sourceRoot":"","sources":["../src/TableRowBase.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TableRowBase.js","sourceRoot":"","sources":["../src/TableRowBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { customElement, property, i18n } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isInstanceOfTable, toggleAttribute } from \"./TableUtils.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport TableRowBaseCss from \"./generated/themes/TableRowBase.css.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type TableCellBase from \"./TableCellBase.js\";\nimport type Table from \"./Table.js\";\nimport {\n\tTABLE_ROW_SELECTOR,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n * A class to serve as a foundation for the `TableRow` and `TableHeaderRow` classes.\n * @constructor\n * @abstract\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\trenderer: jsxRenderer,\n\tstyles: TableRowBaseCss,\n})\nabstract class TableRowBase extends UI5Element {\n\tcells!: Array<TableCellBase>;\n\n\t@property({ type: Number, noAttribute: true })\n\t_invalidate = 0;\n\n\t@property({ type: Number, noAttribute: true })\n\t_rowActionCount = 0;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_renderNavigated = false;\n\n\t@query(\"#selection-cell\")\n\t_selectionCell?: HTMLElement;\n\n\t@query(\"#navigated-cell\")\n\t_navigatedCell?: HTMLElement;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"role\", \"row\");\n\t\tthis.toggleAttribute(\"ui5-table-row-base\", true);\n\t}\n\n\tonBeforeRendering() {\n\t\ttoggleAttribute(this, \"aria-selected\", this._isSelectable, `${this._isSelected}`);\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this;\n\t}\n\n\tisHeaderRow(): boolean {\n\t\treturn false;\n\t}\n\n\t_onSelectionChange() {\n\t\tconst tableSelection = this._tableSelection!;\n\t\tconst selected = tableSelection.isMultiSelectable() ? !this._isSelected : true;\n\t\ttableSelection.setSelected(this, selected, true);\n\t}\n\n\t_onkeydown(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif ((eventOrigin === this && this._isSelectable && isSpace(e)) || (eventOrigin === this._selectionCell && (isSpace(e) || isEnter(e)))) {\n\t\t\tthis._onSelectionChange();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget _table(): Table | undefined {\n\t\tconst element = this.parentElement;\n\t\treturn isInstanceOfTable(element) ? element : undefined;\n\t}\n\n\tget _tableId() {\n\t\treturn this._table?._id;\n\t}\n\n\tget _tableSelection() {\n\t\treturn this._table?._getSelection();\n\t}\n\n\tget _isSelected() {\n\t\treturn this._tableSelection?.isSelected(this);\n\t}\n\n\tget _isSelectable() {\n\t\treturn this._tableSelection?.isSelectable();\n\t}\n\n\tget _isMultiSelect() {\n\t\treturn !!this._tableSelection?.isMultiSelectable();\n\t}\n\n\tget _hasRowSelector() {\n\t\treturn !!this._tableSelection?.isRowSelectorRequired();\n\t}\n\n\tget _visibleCells() {\n\t\treturn this.cells.filter(c => !c._popin);\n\t}\n\n\tget _popinCells() {\n\t\treturn this.cells.filter(c => c._popin && !c._popinHidden);\n\t}\n\n\tget _stickyCells() {\n\t\treturn [this._selectionCell, ...this.cells, this._navigatedCell].filter(cell => cell?.hasAttribute(\"fixed\"));\n\t}\n\n\tget _i18nRowSelector(): string {\n\t\treturn TableRowBase.i18nBundle.getText(TABLE_ROW_SELECTOR);\n\t}\n}\n\nexport default TableRowBase;\n"]}
|
package/dist/TableRowTemplate.js
CHANGED
|
@@ -3,14 +3,15 @@ import TableCell from "./TableCell.js";
|
|
|
3
3
|
import CheckBox from "./CheckBox.js";
|
|
4
4
|
import RadioButton from "./RadioButton.js";
|
|
5
5
|
import Button from "./Button.js";
|
|
6
|
+
import ButtonDesign from "./types/ButtonDesign.js";
|
|
6
7
|
export default function TableRowTemplate() {
|
|
7
8
|
return (_jsxs(_Fragment, { children: [this._hasRowSelector &&
|
|
8
9
|
_jsx(TableCell, { id: "selection-cell", "aria-selected": this._isSelected, "data-ui5-table-cell-fixed": true, "data-ui5-table-selection-component": true, children: this._isMultiSelect ?
|
|
9
10
|
_jsx(CheckBox, { id: "selection-component", tabindex: -1, checked: this._isSelected, onChange: this._onSelectionChange, accessibleName: this._i18nRowSelector })
|
|
10
11
|
:
|
|
11
|
-
_jsx(RadioButton, { id: "selection-component", tabindex: -1, name: this._tableId, checked: this._isSelected, onChange: this._onSelectionChange, accessibleName: this._i18nRowSelector }) }), this._visibleCells.map(cell => (_jsx("slot", { name: cell._individualSlot }))), this.
|
|
12
|
+
_jsx(RadioButton, { id: "selection-component", tabindex: -1, name: this._tableId, checked: this._isSelected, onChange: this._onSelectionChange, accessibleName: this._i18nRowSelector }) }), this._visibleCells.map(cell => (_jsx("slot", { name: cell._individualSlot }))), this._rowActionCount > 0 &&
|
|
12
13
|
_jsxs(TableCell, { id: "actions-cell", children: [this._flexibleActions.map(action => (_jsx("slot", { name: action._individualSlot }))), this._hasOverflowActions &&
|
|
13
|
-
_jsx(Button, { id: "overflow", icon: "overflow", design:
|
|
14
|
+
_jsx(Button, { id: "overflow", icon: "overflow", design: ButtonDesign.Transparent, onClick: this._onOverflowButtonClick }), this._fixedActions.map(action => (_jsx("slot", { name: action._individualSlot })))] }), this._renderNavigated &&
|
|
14
15
|
_jsx(TableCell, { id: "navigated-cell", "data-excluded-from-navigation": true, children: _jsx("div", { id: "navigated" }) }), this._popinCells.length > 0 &&
|
|
15
16
|
_jsx(TableCell, { id: "popin-cell", children: this._popinCells.map(cell => (_jsx("slot", { name: cell._individualSlot }))) })] }));
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRowTemplate.js","sourceRoot":"","sources":["../src/TableRowTemplate.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"TableRowTemplate.js","sourceRoot":"","sources":["../src/TableRowTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACvC,OAAO,CACN,8BACG,IAAI,CAAC,eAAe;gBACrB,KAAC,SAAS,IACT,EAAE,EAAC,gBAAgB,mBACJ,IAAI,CAAC,WAAW,2FAI7B,IAAI,CAAC,cAAc,CAAC,CAAC;wBACtB,KAAC,QAAQ,IAAC,EAAE,EAAC,qBAAqB,EACjC,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,cAAc,EAAE,IAAI,CAAC,gBAAgB,GAC1B;wBACZ,CAAC;4BACD,KAAC,WAAW,IAAC,EAAE,EAAC,qBAAqB,EACpC,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,cAAc,EAAE,IAAI,CAAC,gBAAgB,GACvB,GAEL,EAGX,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAChC,eAAM,IAAI,EAAE,IAAI,CAAC,eAAe,GAAS,CACzC,CAAC,EAEA,IAAI,CAAC,eAAe,GAAG,CAAC;gBACzB,MAAC,SAAS,IAAC,EAAE,EAAC,cAAc,aACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACrC,eAAM,IAAI,EAAE,MAAM,CAAC,eAAe,GAAS,CAC3C,CAAC,EAEA,IAAI,CAAC,mBAAmB;4BACzB,KAAC,MAAM,IACN,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,MAAM,EAAE,YAAY,CAAC,WAAW,EAChC,OAAO,EAAE,IAAI,CAAC,sBAAsB,GAC3B,EAGT,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAClC,eAAM,IAAI,EAAE,MAAM,CAAC,eAAe,GAAS,CAC3C,CAAC,IACS,EAGX,IAAI,CAAC,gBAAgB;gBACtB,KAAC,SAAS,IAAC,EAAE,EAAC,gBAAgB,mCAAgC,IAAI,YACjE,cAAK,EAAE,EAAC,WAAW,GAAO,GACf,EAGX,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC5B,KAAC,SAAS,IAAC,EAAE,EAAC,YAAY,YACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC9B,eAAM,IAAI,EAAE,IAAI,CAAC,eAAe,GAAS,CACzC,CAAC,GACS,IAEX,CACH,CAAC;AACH,CAAC","sourcesContent":["import TableCell from \"./TableCell.js\";\nimport CheckBox from \"./CheckBox.js\";\nimport RadioButton from \"./RadioButton.js\";\nimport Button from \"./Button.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport type TableRow from \"./TableRow.js\";\n\nexport default function TableRowTemplate(this: TableRow) {\n\treturn (\n\t\t<>\n\t\t\t{ this._hasRowSelector &&\n\t\t\t\t<TableCell\n\t\t\t\t\tid=\"selection-cell\"\n\t\t\t\t\taria-selected={this._isSelected}\n\t\t\t\t\tdata-ui5-table-cell-fixed\n\t\t\t\t\tdata-ui5-table-selection-component\n\t\t\t\t>\n\t\t\t\t\t{ this._isMultiSelect ?\n\t\t\t\t\t\t<CheckBox id=\"selection-component\"\n\t\t\t\t\t\t\ttabindex={-1}\n\t\t\t\t\t\t\tchecked={this._isSelected}\n\t\t\t\t\t\t\tonChange={this._onSelectionChange}\n\t\t\t\t\t\t\taccessibleName={this._i18nRowSelector}\n\t\t\t\t\t\t></CheckBox>\n\t\t\t\t\t\t:\n\t\t\t\t\t\t<RadioButton id=\"selection-component\"\n\t\t\t\t\t\t\ttabindex={-1}\n\t\t\t\t\t\t\tname={this._tableId}\n\t\t\t\t\t\t\tchecked={this._isSelected}\n\t\t\t\t\t\t\tonChange={this._onSelectionChange}\n\t\t\t\t\t\t\taccessibleName={this._i18nRowSelector}\n\t\t\t\t\t\t></RadioButton>\n\t\t\t\t\t}\n\t\t\t\t</TableCell>\n\t\t\t}\n\n\t\t\t{ this._visibleCells.map(cell => (\n\t\t\t\t<slot name={cell._individualSlot}></slot>\n\t\t\t))}\n\n\t\t\t{ this._rowActionCount > 0 &&\n\t\t\t\t<TableCell id=\"actions-cell\">\n\t\t\t\t\t{ this._flexibleActions.map(action => (\n\t\t\t\t\t\t<slot name={action._individualSlot}></slot>\n\t\t\t\t\t))}\n\n\t\t\t\t\t{ this._hasOverflowActions &&\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tid=\"overflow\"\n\t\t\t\t\t\t\ticon=\"overflow\"\n\t\t\t\t\t\t\tdesign={ButtonDesign.Transparent}\n\t\t\t\t\t\t\tonClick={this._onOverflowButtonClick}\n\t\t\t\t\t\t></Button>\n\t\t\t\t\t}\n\n\t\t\t\t\t{ this._fixedActions.map(action => (\n\t\t\t\t\t\t<slot name={action._individualSlot}></slot>\n\t\t\t\t\t))}\n\t\t\t\t</TableCell>\n\t\t\t}\n\n\t\t\t{ this._renderNavigated &&\n\t\t\t\t<TableCell id=\"navigated-cell\" data-excluded-from-navigation={true}>\n\t\t\t\t\t<div id=\"navigated\"></div>\n\t\t\t\t</TableCell>\n\t\t\t}\n\n\t\t\t{ this._popinCells.length > 0 &&\n\t\t\t\t<TableCell id=\"popin-cell\">\n\t\t\t\t\t{ this._popinCells.map(cell => (\n\t\t\t\t\t\t<slot name={cell._individualSlot}></slot>\n\t\t\t\t\t))}\n\t\t\t\t</TableCell>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
|
package/dist/TableUtils.d.ts
CHANGED
|
@@ -8,4 +8,5 @@ declare const findVerticalScrollContainer: (element: HTMLElement) => HTMLElement
|
|
|
8
8
|
declare const scrollElementIntoView: (scrollContainer: HTMLElement, element: HTMLElement, stickyElements: HTMLElement[], isRtl: boolean) => void;
|
|
9
9
|
declare const isFeature: <T>(element: any, identifier: string) => element is T;
|
|
10
10
|
declare const throttle: (callback: () => void) => () => void;
|
|
11
|
-
|
|
11
|
+
declare const toggleAttribute: (element: HTMLElement, attribute: string, condition: boolean | undefined, value?: string) => void;
|
|
12
|
+
export { isInstanceOfTable, isSelectionCheckbox, isHeaderSelector, findRowInPath, findVerticalScrollContainer, scrollElementIntoView, isFeature, throttle, toggleAttribute, };
|
package/dist/TableUtils.js
CHANGED
|
@@ -70,5 +70,18 @@ const throttle = (callback) => {
|
|
|
70
70
|
});
|
|
71
71
|
};
|
|
72
72
|
};
|
|
73
|
-
|
|
73
|
+
const toggleAttribute = (element, attribute, condition, value) => {
|
|
74
|
+
if (condition) {
|
|
75
|
+
if (value === undefined) {
|
|
76
|
+
element.toggleAttribute(attribute, true);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
element.setAttribute(attribute, value);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (element.hasAttribute(attribute)) {
|
|
83
|
+
element.removeAttribute(attribute);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
export { isInstanceOfTable, isSelectionCheckbox, isHeaderSelector, findRowInPath, findVerticalScrollContainer, scrollElementIntoView, isFeature, throttle, toggleAttribute, };
|
|
74
87
|
//# sourceMappingURL=TableUtils.js.map
|
package/dist/TableUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableUtils.js","sourceRoot":"","sources":["../src/TableUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TableUtils.js","sourceRoot":"","sources":["../src/TableUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import type Table from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\n\nconst isInstanceOfTable = (obj: any): obj is Table => {\n\treturn !!obj && \"isTable\" in obj && !!obj.isTable;\n};\n\nconst isSelectionCheckbox = (e: Event) => {\n\treturn e.composedPath().some((el: EventTarget) => (el as HTMLElement).hasAttribute?.(\"data-ui5-table-selection-component\"));\n};\n\nconst isHeaderSelector = (e: Event) => {\n\treturn isSelectionCheckbox(e) && e.composedPath().some((el: EventTarget) => el instanceof HTMLElement && el.hasAttribute(\"ui5-table-header-row\"));\n};\n\nconst findRowInPath = (composedPath: Array<EventTarget>) => {\n\treturn composedPath.find((el: EventTarget) => el instanceof HTMLElement && el.hasAttribute(\"ui5-table-row\")) as TableRow;\n};\n\nconst findVerticalScrollContainer = (element: HTMLElement): HTMLElement => {\n\twhile (element) {\n\t\tconst { overflowY } = window.getComputedStyle(element);\n\t\tif (overflowY === \"auto\" || overflowY === \"scroll\") {\n\t\t\treturn element;\n\t\t}\n\n\t\tif (element.parentNode instanceof ShadowRoot) {\n\t\t\telement = element.parentNode.host as HTMLElement;\n\t\t} else {\n\t\t\telement = element.parentElement as HTMLElement;\n\t\t}\n\t}\n\n\treturn document.scrollingElement as HTMLElement || document.documentElement;\n};\n\nconst scrollElementIntoView = (scrollContainer: HTMLElement, element: HTMLElement, stickyElements: HTMLElement[], isRtl: boolean) => {\n\tif (stickyElements.length === 0) {\n\t\treturn;\n\t}\n\n\tconst elementRect = element.getBoundingClientRect();\n\tconst inline = isRtl ? \"right\" : \"left\";\n\n\tconst { x: stickyX, y: stickyY } = stickyElements.reduce(({ x, y }, stickyElement) => {\n\t\tconst { top, [inline]: inlineStart } = getComputedStyle(stickyElement);\n\t\tconst stickyElementRect = stickyElement.getBoundingClientRect();\n\t\tif (top !== \"auto\" && stickyElementRect.bottom > elementRect.top) {\n\t\t\ty = Math.max(y, stickyElementRect.bottom);\n\t\t}\n\t\tif (inlineStart !== \"auto\") {\n\t\t\tif (!isRtl && stickyElementRect.right > elementRect.left) {\n\t\t\t\tx = Math.max(x, stickyElementRect.right);\n\t\t\t} else if (isRtl && stickyElementRect.left < elementRect.right) {\n\t\t\t\tx = Math.min(x, stickyElementRect.left);\n\t\t\t}\n\t\t}\n\n\t\treturn { x, y };\n\t}, { x: elementRect[inline], y: elementRect.top });\n\n\tconst scrollX = elementRect[inline] - stickyX;\n\tconst scrollY = elementRect.top - stickyY;\n\n\tif (scrollX === 0 && scrollY === 0) {\n\t\t// avoid unnecessary scroll call, when nothing changes\n\t\treturn;\n\t}\n\n\tscrollContainer.scrollBy({\n\t\ttop: scrollY,\n\t\tleft: scrollX,\n\t});\n};\n\nconst isFeature = <T>(element: any, identifier: string): element is T => {\n\treturn element.identifier === identifier;\n};\n\nconst throttle = (callback: () => void) => {\n\tlet timer: number;\n\treturn () => {\n\t\tcancelAnimationFrame(timer);\n\t\ttimer = requestAnimationFrame(() => {\n\t\t\tcallback();\n\t\t});\n\t};\n};\n\nconst toggleAttribute = (element: HTMLElement, attribute: string, condition: boolean | undefined, value?: string) => {\n\tif (condition) {\n\t\tif (value === undefined) {\n\t\t\telement.toggleAttribute(attribute, true);\n\t\t} else {\n\t\t\telement.setAttribute(attribute, value);\n\t\t}\n\t} else if (element.hasAttribute(attribute)) {\n\t\telement.removeAttribute(attribute);\n\t}\n};\n\nexport {\n\tisInstanceOfTable,\n\tisSelectionCheckbox,\n\tisHeaderSelector,\n\tfindRowInPath,\n\tfindVerticalScrollContainer,\n\tscrollElementIntoView,\n\tisFeature,\n\tthrottle,\n\ttoggleAttribute,\n};\n"]}
|
package/dist/TableVirtualizer.js
CHANGED
|
@@ -163,7 +163,7 @@ let TableVirtualizer = class TableVirtualizer extends UI5Element {
|
|
|
163
163
|
return;
|
|
164
164
|
}
|
|
165
165
|
const firstRow = this._table.rows[0];
|
|
166
|
-
if (firstRow && firstRow.position > 0) {
|
|
166
|
+
if (firstRow && firstRow.position !== undefined && firstRow.position > 0) {
|
|
167
167
|
const transform = firstRow.position * this.rowHeight;
|
|
168
168
|
return `translateY(${transform}px)`;
|
|
169
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableVirtualizer.js","sourceRoot":"","sources":["../src/TableVirtualizer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-bitwise */\nimport {\n\tisUp,\n\tisUpShift,\n\tisDown,\n\tisDownShift,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { InvalidationInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { getTabbableElements } from \"@ui5/webcomponents-base/dist/util/TabbableElements.js\";\nimport { throttle } from \"./TableUtils.js\";\nimport type { ITableFeature } from \"./Table.js\";\nimport type Table from \"./Table.js\";\n\nenum TabBlocking {\n\tNone = 0,\n\tNext = 1,\n\tPrevious = 2,\n\tReleased = 4,\n\tNextReleased = Next | Released,\n\tPreviousReleased = Previous | Released,\n}\n\n/**\n * Fired when the virtualizer is changed by user interaction e.g. on scrolling.\n * @param number {first} The 0-based index of the first children currently rendered\n * @param number {last} The 0-based index of the last children currently rendered\n * @public\n */\ntype RangeChangeEventDetail = {\n\tfirst: number,\n\tlast: number,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-virtualizer` component is used inside the `ui5-table` to virtualize the table rows, if the `overflowMode` property of the table is set to 'Scroll'.\n * It is responsible for rendering only the rows that are visible in the viewport and updating them on scroll.\n * This allows large numbers of rows to exist, but maintain high performance by only paying the cost for those that are currently visible.\n *\n * **Note:** The maximum number of virtualized rows is limited by browser constraints, specifically the maximum supported height for a DOM element.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/TableVirtualizer.js\";`\n *\n * @constructor\n * @since 2.5.0\n * @extends UI5Element\n * @public\n * @experimental This component is not intended to be used in a productive enviroment. The API is under development and may be changed in the future.\n */\n@customElement({ tag: \"ui5-table-virtualizer\" })\n\n/**\n * Fired when the virtualizer is changed by user interaction e.g. on scrolling.\n *\n * @param {number} first The 0-based index of the first children currently rendered\n * @param {number} last The 0-based index of the last children currently rendered\n * @public\n */\n@event(\"range-change\")\n\nclass TableVirtualizer extends UI5Element implements ITableFeature {\n\teventDetails!: {\n\t\t\"range-change\": RangeChangeEventDetail\n\t}\n\t/**\n\t * Defines the height of the rows in the table.\n\t *\n\t * **Note:** For virtualization to work properly, this property is mandatory.\n\t *\n\t * @default 45\n\t * @public\n\t */\n\t@property({ type: Number })\n\trowHeight = 45;\n\n\t/**\n\t * Defines the total count of rows in the table.\n\t *\n\t * **Note:** For virtualization to work properly, this property is mandatory.\n\t *\n\t * @default 100\n\t * @public\n\t */\n\t@property({ type: Number })\n\trowCount = 100;\n\n\t/**\n\t * Defines the count of extra rows to be rendered at the top and bottom of the table.\n\t *\n\t * **Note:** This property is experimental and may be changed or deleted in the future.\n\t *\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\textraRows = 0;\n\n\treadonly identifier = \"TableVirtualizer\";\n\n\t_table?: Table;\n\t_lastRowPosition: number = 0;\n\t_firstRowPosition: number = 0;\n\t_visibleRowCount: number = 0;\n\t_tabBlockingState: TabBlocking = TabBlocking.None;\n\t_onRowInvalidateBound: (invalidationInfo: InvalidationInfo) => void;\n\t_onScrollBound: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._onScrollBound = throttle(this._onScroll.bind(this));\n\t\tthis._onRowInvalidateBound = this._onRowInvalidate.bind(this);\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis._table && this._table._invalidate++;\n\t}\n\n\tonTableAfterRendering(table: Table): void {\n\t\tif (!this._table) {\n\t\t\tthis._table = table;\n\t\t\tthis._scrollContainer.addEventListener(\"scroll\", this._onScrollBound, { passive: true });\n\t\t\tthis._updateRowsHeight();\n\t\t\tthis._onScroll();\n\t\t} else {\n\t\t\tthis._updateRowsHeight();\n\t\t}\n\n\t\tif (this._tabBlockingState & TabBlocking.Released) {\n\t\t\tconst tabBlockingRow = this._table.rows.at(this._tabBlockingState & TabBlocking.Next ? -1 : 0) as HTMLElement;\n\t\t\tconst tabForwardingElement = getTabbableElements(tabBlockingRow).at(this._tabBlockingState & TabBlocking.Next ? 0 : -1);\n\t\t\tthis._tabBlockingState = TabBlocking.None;\n\t\t\t(tabForwardingElement || tabBlockingRow).focus();\n\t\t}\n\t}\n\n\tonExitDOM(): void {\n\t\tif (this._table) {\n\t\t\tthis._scrollContainer.removeEventListener(\"scroll\", this._onScrollBound);\n\t\t\tthis._table = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the virtualizer to its initial state and triggers the `range-change` event.\n\t * @public\n\t */\n\treset(): void {\n\t\tthis._lastRowPosition = -1;\n\t\tthis._firstRowPosition = -1;\n\t\tif (this._table) {\n\t\t\tif (this._scrollContainer.scrollTop > 0) {\n\t\t\t\tthis._scrollContainer.scrollTop = 0;\n\t\t\t} else {\n\t\t\t\tthis._onScroll();\n\t\t\t}\n\t\t}\n\t}\n\n\tget _scrollContainer() {\n\t\treturn this._table!._tableElement;\n\t}\n\n\tget _rowsContainer() {\n\t\treturn this._table!.shadowRoot!.getElementById(\"rows\")!;\n\t}\n\n\t_onScroll(): void {\n\t\tconst headerRow = this._table!.headerRow[0];\n\t\tconst headerHeight = headerRow.offsetHeight;\n\t\tlet scrollTop = this._scrollContainer.scrollTop;\n\t\tlet scrollableHeight = this._scrollContainer.clientHeight;\n\t\tif (headerRow.sticky) {\n\t\t\tscrollableHeight = Math.max(0, scrollableHeight - headerHeight);\n\t\t} else {\n\t\t\tscrollTop = Math.max(0, scrollTop - headerHeight);\n\t\t}\n\n\t\tthis._visibleRowCount = Math.ceil(scrollableHeight / this.rowHeight);\n\t\tlet firstRowPosition = Math.floor(scrollTop / this.rowHeight) - this.extraRows;\n\t\tfirstRowPosition = Math.max(0, firstRowPosition);\n\t\tlet lastRowPosition = Math.max(0, firstRowPosition + this._visibleRowCount + 2 * this.extraRows);\n\t\tlastRowPosition = Math.min(lastRowPosition, this.rowCount);\n\n\t\tif (this._firstRowPosition === firstRowPosition && this._lastRowPosition === lastRowPosition) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._lastRowPosition = lastRowPosition;\n\t\tthis._firstRowPosition = firstRowPosition;\n\t\tthis.fireDecoratorEvent(\"range-change\", {\n\t\t\tfirst: firstRowPosition,\n\t\t\tlast: lastRowPosition,\n\t\t});\n\t}\n\n\t_updateRowsHeight() {\n\t\tconst rowsHeight = this.rowCount * this.rowHeight;\n\t\tthis._rowsContainer.style.height = `${rowsHeight}px`;\n\t}\n\n\t_getTransform() {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst firstRow = this._table.rows[0];\n\t\tif (firstRow && firstRow.position > 0) {\n\t\t\tconst transform = firstRow.position * this.rowHeight;\n\t\t\treturn `translateY(${transform}px)`;\n\t\t}\n\t}\n\n\t_onRowInvalidate(invalidationInfo: InvalidationInfo) {\n\t\tif (invalidationInfo.name === \"position\") {\n\t\t\tinvalidationInfo.target.detachInvalidate(this._onRowInvalidateBound);\n\t\t\tthis._tabBlockingState |= TabBlocking.Released;\n\t\t}\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet scrollTopChange = 0;\n\t\tconst rows = this._table.rows;\n\t\tconst firstRow = rows[0];\n\t\tconst lastRow = rows[rows.length - 1];\n\t\tconst hasDataBeforeFirstRow = firstRow.position !== 0;\n\t\tconst hasDataAfterLastRow = lastRow.position !== this.rowCount - 1;\n\t\tconst tableNavigation = this._table._tableNavigation!;\n\t\tconst activeElement = getActiveElement() as HTMLElement;\n\n\t\tif (isTabNext(e) && hasDataAfterLastRow && getTabbableElements(this._rowsContainer).pop() === activeElement) {\n\t\t\tthis._tabBlockingState = TabBlocking.Next;\n\t\t\tlastRow.attachInvalidate(this._onRowInvalidateBound);\n\t\t\tscrollTopChange = this.rowHeight;\n\t\t} else if (isTabPrevious(e) && hasDataBeforeFirstRow && getTabbableElements(this._rowsContainer).shift() === activeElement) {\n\t\t\tthis._tabBlockingState = TabBlocking.Previous;\n\t\t\tfirstRow.attachInvalidate(this._onRowInvalidateBound);\n\t\t\tscrollTopChange = this.rowHeight * -1;\n\t\t} else if (hasDataAfterLastRow && tableNavigation._getNavigationItemsOfRow(lastRow).includes(activeElement)) {\n\t\t\tif (isDown(e) || isDownShift(e)) {\n\t\t\t\tscrollTopChange = this.rowHeight;\n\t\t\t} else if (isPageDown(e)) {\n\t\t\t\tscrollTopChange = this._visibleRowCount * this.rowHeight;\n\t\t\t} else if (isEnd(e) && activeElement === lastRow) {\n\t\t\t\tscrollTopChange = this.rowCount * this.rowHeight;\n\t\t\t}\n\t\t} else if (hasDataBeforeFirstRow && tableNavigation._getNavigationItemsOfRow(firstRow).includes(activeElement)) {\n\t\t\tif (isUp(e) || isUpShift(e)) {\n\t\t\t\tscrollTopChange = this.rowHeight * -1;\n\t\t\t} else if (isPageUp(e)) {\n\t\t\t\tscrollTopChange = this._visibleRowCount * this.rowHeight * -1;\n\t\t\t} else if (isHome(e) && activeElement === firstRow) {\n\t\t\t\tscrollTopChange = this.rowCount * this.rowHeight * -1;\n\t\t\t}\n\t\t}\n\n\t\tif (scrollTopChange) {\n\t\t\tconst scrollTop = this._table.scrollTop;\n\t\t\tthis._scrollContainer.scrollTop += scrollTopChange;\n\t\t\tif (this._scrollContainer.scrollTop !== scrollTop) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n}\n\nTableVirtualizer.define();\n\nexport default TableVirtualizer;\n\nexport type {\n\tRangeChangeEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"TableVirtualizer.js","sourceRoot":"","sources":["../src/TableVirtualizer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-bitwise */\nimport {\n\tisUp,\n\tisUpShift,\n\tisDown,\n\tisDownShift,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { InvalidationInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { getTabbableElements } from \"@ui5/webcomponents-base/dist/util/TabbableElements.js\";\nimport { throttle } from \"./TableUtils.js\";\nimport type { ITableFeature } from \"./Table.js\";\nimport type Table from \"./Table.js\";\n\nenum TabBlocking {\n\tNone = 0,\n\tNext = 1,\n\tPrevious = 2,\n\tReleased = 4,\n\tNextReleased = Next | Released,\n\tPreviousReleased = Previous | Released,\n}\n\n/**\n * Fired when the virtualizer is changed by user interaction e.g. on scrolling.\n * @param number {first} The 0-based index of the first children currently rendered\n * @param number {last} The 0-based index of the last children currently rendered\n * @public\n */\ntype RangeChangeEventDetail = {\n\tfirst: number,\n\tlast: number,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-virtualizer` component is used inside the `ui5-table` to virtualize the table rows, if the `overflowMode` property of the table is set to 'Scroll'.\n * It is responsible for rendering only the rows that are visible in the viewport and updating them on scroll.\n * This allows large numbers of rows to exist, but maintain high performance by only paying the cost for those that are currently visible.\n *\n * **Note:** The maximum number of virtualized rows is limited by browser constraints, specifically the maximum supported height for a DOM element.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/TableVirtualizer.js\";`\n *\n * @constructor\n * @since 2.5.0\n * @extends UI5Element\n * @public\n * @experimental This component is not intended to be used in a productive enviroment. The API is under development and may be changed in the future.\n */\n@customElement({ tag: \"ui5-table-virtualizer\" })\n\n/**\n * Fired when the virtualizer is changed by user interaction e.g. on scrolling.\n *\n * @param {number} first The 0-based index of the first children currently rendered\n * @param {number} last The 0-based index of the last children currently rendered\n * @public\n */\n@event(\"range-change\")\n\nclass TableVirtualizer extends UI5Element implements ITableFeature {\n\teventDetails!: {\n\t\t\"range-change\": RangeChangeEventDetail\n\t}\n\t/**\n\t * Defines the height of the rows in the table.\n\t *\n\t * **Note:** For virtualization to work properly, this property is mandatory.\n\t *\n\t * @default 45\n\t * @public\n\t */\n\t@property({ type: Number })\n\trowHeight = 45;\n\n\t/**\n\t * Defines the total count of rows in the table.\n\t *\n\t * **Note:** For virtualization to work properly, this property is mandatory.\n\t *\n\t * @default 100\n\t * @public\n\t */\n\t@property({ type: Number })\n\trowCount = 100;\n\n\t/**\n\t * Defines the count of extra rows to be rendered at the top and bottom of the table.\n\t *\n\t * **Note:** This property is experimental and may be changed or deleted in the future.\n\t *\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\textraRows = 0;\n\n\treadonly identifier = \"TableVirtualizer\";\n\n\t_table?: Table;\n\t_lastRowPosition: number = 0;\n\t_firstRowPosition: number = 0;\n\t_visibleRowCount: number = 0;\n\t_tabBlockingState: TabBlocking = TabBlocking.None;\n\t_onRowInvalidateBound: (invalidationInfo: InvalidationInfo) => void;\n\t_onScrollBound: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._onScrollBound = throttle(this._onScroll.bind(this));\n\t\tthis._onRowInvalidateBound = this._onRowInvalidate.bind(this);\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis._table && this._table._invalidate++;\n\t}\n\n\tonTableAfterRendering(table: Table): void {\n\t\tif (!this._table) {\n\t\t\tthis._table = table;\n\t\t\tthis._scrollContainer.addEventListener(\"scroll\", this._onScrollBound, { passive: true });\n\t\t\tthis._updateRowsHeight();\n\t\t\tthis._onScroll();\n\t\t} else {\n\t\t\tthis._updateRowsHeight();\n\t\t}\n\n\t\tif (this._tabBlockingState & TabBlocking.Released) {\n\t\t\tconst tabBlockingRow = this._table.rows.at(this._tabBlockingState & TabBlocking.Next ? -1 : 0) as HTMLElement;\n\t\t\tconst tabForwardingElement = getTabbableElements(tabBlockingRow).at(this._tabBlockingState & TabBlocking.Next ? 0 : -1);\n\t\t\tthis._tabBlockingState = TabBlocking.None;\n\t\t\t(tabForwardingElement || tabBlockingRow).focus();\n\t\t}\n\t}\n\n\tonExitDOM(): void {\n\t\tif (this._table) {\n\t\t\tthis._scrollContainer.removeEventListener(\"scroll\", this._onScrollBound);\n\t\t\tthis._table = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the virtualizer to its initial state and triggers the `range-change` event.\n\t * @public\n\t */\n\treset(): void {\n\t\tthis._lastRowPosition = -1;\n\t\tthis._firstRowPosition = -1;\n\t\tif (this._table) {\n\t\t\tif (this._scrollContainer.scrollTop > 0) {\n\t\t\t\tthis._scrollContainer.scrollTop = 0;\n\t\t\t} else {\n\t\t\t\tthis._onScroll();\n\t\t\t}\n\t\t}\n\t}\n\n\tget _scrollContainer() {\n\t\treturn this._table!._tableElement;\n\t}\n\n\tget _rowsContainer() {\n\t\treturn this._table!.shadowRoot!.getElementById(\"rows\")!;\n\t}\n\n\t_onScroll(): void {\n\t\tconst headerRow = this._table!.headerRow[0];\n\t\tconst headerHeight = headerRow.offsetHeight;\n\t\tlet scrollTop = this._scrollContainer.scrollTop;\n\t\tlet scrollableHeight = this._scrollContainer.clientHeight;\n\t\tif (headerRow.sticky) {\n\t\t\tscrollableHeight = Math.max(0, scrollableHeight - headerHeight);\n\t\t} else {\n\t\t\tscrollTop = Math.max(0, scrollTop - headerHeight);\n\t\t}\n\n\t\tthis._visibleRowCount = Math.ceil(scrollableHeight / this.rowHeight);\n\t\tlet firstRowPosition = Math.floor(scrollTop / this.rowHeight) - this.extraRows;\n\t\tfirstRowPosition = Math.max(0, firstRowPosition);\n\t\tlet lastRowPosition = Math.max(0, firstRowPosition + this._visibleRowCount + 2 * this.extraRows);\n\t\tlastRowPosition = Math.min(lastRowPosition, this.rowCount);\n\n\t\tif (this._firstRowPosition === firstRowPosition && this._lastRowPosition === lastRowPosition) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._lastRowPosition = lastRowPosition;\n\t\tthis._firstRowPosition = firstRowPosition;\n\t\tthis.fireDecoratorEvent(\"range-change\", {\n\t\t\tfirst: firstRowPosition,\n\t\t\tlast: lastRowPosition,\n\t\t});\n\t}\n\n\t_updateRowsHeight() {\n\t\tconst rowsHeight = this.rowCount * this.rowHeight;\n\t\tthis._rowsContainer.style.height = `${rowsHeight}px`;\n\t}\n\n\t_getTransform() {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst firstRow = this._table.rows[0];\n\t\tif (firstRow && firstRow.position !== undefined && firstRow.position > 0) {\n\t\t\tconst transform = firstRow.position * this.rowHeight;\n\t\t\treturn `translateY(${transform}px)`;\n\t\t}\n\t}\n\n\t_onRowInvalidate(invalidationInfo: InvalidationInfo) {\n\t\tif (invalidationInfo.name === \"position\") {\n\t\t\tinvalidationInfo.target.detachInvalidate(this._onRowInvalidateBound);\n\t\t\tthis._tabBlockingState |= TabBlocking.Released;\n\t\t}\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet scrollTopChange = 0;\n\t\tconst rows = this._table.rows;\n\t\tconst firstRow = rows[0];\n\t\tconst lastRow = rows[rows.length - 1];\n\t\tconst hasDataBeforeFirstRow = firstRow.position !== 0;\n\t\tconst hasDataAfterLastRow = lastRow.position !== this.rowCount - 1;\n\t\tconst tableNavigation = this._table._tableNavigation!;\n\t\tconst activeElement = getActiveElement() as HTMLElement;\n\n\t\tif (isTabNext(e) && hasDataAfterLastRow && getTabbableElements(this._rowsContainer).pop() === activeElement) {\n\t\t\tthis._tabBlockingState = TabBlocking.Next;\n\t\t\tlastRow.attachInvalidate(this._onRowInvalidateBound);\n\t\t\tscrollTopChange = this.rowHeight;\n\t\t} else if (isTabPrevious(e) && hasDataBeforeFirstRow && getTabbableElements(this._rowsContainer).shift() === activeElement) {\n\t\t\tthis._tabBlockingState = TabBlocking.Previous;\n\t\t\tfirstRow.attachInvalidate(this._onRowInvalidateBound);\n\t\t\tscrollTopChange = this.rowHeight * -1;\n\t\t} else if (hasDataAfterLastRow && tableNavigation._getNavigationItemsOfRow(lastRow).includes(activeElement)) {\n\t\t\tif (isDown(e) || isDownShift(e)) {\n\t\t\t\tscrollTopChange = this.rowHeight;\n\t\t\t} else if (isPageDown(e)) {\n\t\t\t\tscrollTopChange = this._visibleRowCount * this.rowHeight;\n\t\t\t} else if (isEnd(e) && activeElement === lastRow) {\n\t\t\t\tscrollTopChange = this.rowCount * this.rowHeight;\n\t\t\t}\n\t\t} else if (hasDataBeforeFirstRow && tableNavigation._getNavigationItemsOfRow(firstRow).includes(activeElement)) {\n\t\t\tif (isUp(e) || isUpShift(e)) {\n\t\t\t\tscrollTopChange = this.rowHeight * -1;\n\t\t\t} else if (isPageUp(e)) {\n\t\t\t\tscrollTopChange = this._visibleRowCount * this.rowHeight * -1;\n\t\t\t} else if (isHome(e) && activeElement === firstRow) {\n\t\t\t\tscrollTopChange = this.rowCount * this.rowHeight * -1;\n\t\t\t}\n\t\t}\n\n\t\tif (scrollTopChange) {\n\t\t\tconst scrollTop = this._table.scrollTop;\n\t\t\tthis._scrollContainer.scrollTop += scrollTopChange;\n\t\t\tif (this._scrollContainer.scrollTop !== scrollTop) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n}\n\nTableVirtualizer.define();\n\nexport default TableVirtualizer;\n\nexport type {\n\tRangeChangeEventDetail,\n};\n"]}
|
package/dist/Tag.d.ts
CHANGED
|
@@ -116,6 +116,6 @@ declare class Tag extends UI5Element {
|
|
|
116
116
|
get _title(): string | undefined;
|
|
117
117
|
get tagDescription(): string | undefined;
|
|
118
118
|
get _semanticIconName(): "alert" | "sys-help-2" | "sys-enter-2" | "error" | "information" | null;
|
|
119
|
-
_onclick(): void;
|
|
119
|
+
_onclick(e: Event): void;
|
|
120
120
|
}
|
|
121
121
|
export default Tag;
|
package/dist/Tag.js
CHANGED
package/dist/Tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { IIcon } from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-help-2.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport TagDesign from \"./types/TagDesign.js\";\nimport type TagSize from \"./types/TagSize.js\";\n// Template\nimport TagTemplate from \"./TagTemplate.js\";\n\nimport {\n\tTAG_DESCRIPTION_TAG,\n\tTAG_ROLE_DESCRIPTION,\n\tTAG_ERROR,\n\tTAG_WARNING,\n\tTAG_SUCCESS,\n\tTAG_INFORMATION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport tagCss from \"./generated/themes/Tag.css.js\";\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-tag` is a component which serves\n * the purpose to attract the user attention to some piece\n * of information (state, quantity, condition, etc.).\n * It can contain icon and text information, and its design can be chosen from specific design types.\n *\n * ### Usage Guidelines\n *\n * - If the text is longer than the width of the component, it can wrap, or it can show ellipsis, depending on the `wrappingType` property.\n * - Colors can be semantic or not semantic.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Tag.js\";`\n * @csspart root - Used to style the root element.\n * @constructor\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-tag\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: TagTemplate,\n\tstyles: tagCss,\n})\n\n/**\n * Fired when the user clicks on an interactive tag.\n *\n * **Note:** The event will be fired if the `interactive` property is `true`\n * @public\n * @since 1.22.0\n */\n@event(\"click\", {\n\tbubbles: true,\n})\nclass Tag extends UI5Element {\n\teventDetails!: {\n\t\tclick: void;\n\t}\n\t/**\n\t * Defines the design type of the component.\n\t * @default \"Neutral\"\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property()\n\tdesign: `${TagDesign}` = \"Neutral\"\n\n\t/**\n\t * Defines the color scheme of the component.\n\t * There are 10 predefined schemes.\n\t * To use one you can set a number from `\"1\"` to `\"10\"`. The `colorScheme` `\"1\"` will be set by default.\n\t * @default \"1\"\n\t * @public\n\t */\n\t@property()\n\tcolorScheme = \"1\";\n\n\t/**\n\t * Defines if the default state icon is shown.\n\t * @default false\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: Boolean })\n\thideStateIcon = false;\n\n\t/**\n\t * Defines if the component is interactive (focusable and pressable).\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** For option \"Normal\" the text will wrap and the\n\t * words will not be broken based on hyphenation.\n\t * @default \"Normal\"\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines predefined size of the component.\n\t * @default \"S\"\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tsize: `${TagSize}` = \"S\";\n\n\t/**\n\t * Defines if the tag has an icon.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasIcon = false;\n\n\t/**\n\t * Defines if the tag has only an icon (and no text).\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_iconOnly = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t/**\n\t * Defines the icon to be displayed in the component.\n\t * @public\n\t */\n\t@slot()\n\ticon!: Array<IIcon>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._hasIcon = this.hasIcon || !!this._semanticIconName;\n\t\tthis._iconOnly = this.iconOnly;\n\t}\n\n\tget _roleDescription() {\n\t\treturn Tag.i18nBundle.getText(TAG_ROLE_DESCRIPTION);\n\t}\n\n\tget _valueState() {\n\t\tswitch (this.design) {\n\t\tcase TagDesign.Positive:\n\t\t\treturn Tag.i18nBundle.getText(TAG_SUCCESS);\n\t\tcase TagDesign.Negative:\n\t\t\treturn Tag.i18nBundle.getText(TAG_ERROR);\n\t\tcase TagDesign.Critical:\n\t\t\treturn Tag.i18nBundle.getText(TAG_WARNING);\n\t\tcase TagDesign.Information:\n\t\t\treturn Tag.i18nBundle.getText(TAG_INFORMATION);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget hasText() {\n\t\treturn willShowContent(this.text);\n\t}\n\n\tget hasIcon() {\n\t\treturn !!this.icon.length;\n\t}\n\n\tget iconOnly() {\n\t\treturn this.hasIcon && !this.hasText;\n\t}\n\n\tget _title() {\n\t\treturn this.title || undefined;\n\t}\n\n\tget tagDescription() {\n\t\tif (this.interactive) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst valueState = this._valueState;\n\t\tlet description = Tag.i18nBundle.getText(TAG_DESCRIPTION_TAG);\n\n\t\tif (valueState) {\n\t\t\tdescription = `${description} ${valueState}`;\n\t\t}\n\n\t\treturn description;\n\t}\n\n\tget _semanticIconName() {\n\t\tif (this.hideStateIcon || this.hasIcon) {\n\t\t\treturn null;\n\t\t}\n\n\t\tswitch (this.design) {\n\t\tcase TagDesign.Neutral:\n\t\t\treturn \"sys-help-2\";\n\t\tcase TagDesign.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase TagDesign.Negative:\n\t\t\treturn \"error\";\n\t\tcase TagDesign.Critical:\n\t\t\treturn \"alert\";\n\t\tcase TagDesign.Information:\n\t\t\treturn \"information\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.fireDecoratorEvent(\"click\");\n\t}\n}\n\nTag.define();\n\nexport default Tag;\n"]}
|
|
1
|
+
{"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { IIcon } from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-help-2.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport TagDesign from \"./types/TagDesign.js\";\nimport type TagSize from \"./types/TagSize.js\";\n// Template\nimport TagTemplate from \"./TagTemplate.js\";\n\nimport {\n\tTAG_DESCRIPTION_TAG,\n\tTAG_ROLE_DESCRIPTION,\n\tTAG_ERROR,\n\tTAG_WARNING,\n\tTAG_SUCCESS,\n\tTAG_INFORMATION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport tagCss from \"./generated/themes/Tag.css.js\";\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-tag` is a component which serves\n * the purpose to attract the user attention to some piece\n * of information (state, quantity, condition, etc.).\n * It can contain icon and text information, and its design can be chosen from specific design types.\n *\n * ### Usage Guidelines\n *\n * - If the text is longer than the width of the component, it can wrap, or it can show ellipsis, depending on the `wrappingType` property.\n * - Colors can be semantic or not semantic.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Tag.js\";`\n * @csspart root - Used to style the root element.\n * @constructor\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-tag\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: TagTemplate,\n\tstyles: tagCss,\n})\n\n/**\n * Fired when the user clicks on an interactive tag.\n *\n * **Note:** The event will be fired if the `interactive` property is `true`\n * @public\n * @since 1.22.0\n */\n@event(\"click\", {\n\tbubbles: true,\n})\nclass Tag extends UI5Element {\n\teventDetails!: {\n\t\tclick: void;\n\t}\n\t/**\n\t * Defines the design type of the component.\n\t * @default \"Neutral\"\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property()\n\tdesign: `${TagDesign}` = \"Neutral\"\n\n\t/**\n\t * Defines the color scheme of the component.\n\t * There are 10 predefined schemes.\n\t * To use one you can set a number from `\"1\"` to `\"10\"`. The `colorScheme` `\"1\"` will be set by default.\n\t * @default \"1\"\n\t * @public\n\t */\n\t@property()\n\tcolorScheme = \"1\";\n\n\t/**\n\t * Defines if the default state icon is shown.\n\t * @default false\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: Boolean })\n\thideStateIcon = false;\n\n\t/**\n\t * Defines if the component is interactive (focusable and pressable).\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** For option \"Normal\" the text will wrap and the\n\t * words will not be broken based on hyphenation.\n\t * @default \"Normal\"\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines predefined size of the component.\n\t * @default \"S\"\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tsize: `${TagSize}` = \"S\";\n\n\t/**\n\t * Defines if the tag has an icon.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasIcon = false;\n\n\t/**\n\t * Defines if the tag has only an icon (and no text).\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_iconOnly = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t/**\n\t * Defines the icon to be displayed in the component.\n\t * @public\n\t */\n\t@slot()\n\ticon!: Array<IIcon>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._hasIcon = this.hasIcon || !!this._semanticIconName;\n\t\tthis._iconOnly = this.iconOnly;\n\t}\n\n\tget _roleDescription() {\n\t\treturn Tag.i18nBundle.getText(TAG_ROLE_DESCRIPTION);\n\t}\n\n\tget _valueState() {\n\t\tswitch (this.design) {\n\t\tcase TagDesign.Positive:\n\t\t\treturn Tag.i18nBundle.getText(TAG_SUCCESS);\n\t\tcase TagDesign.Negative:\n\t\t\treturn Tag.i18nBundle.getText(TAG_ERROR);\n\t\tcase TagDesign.Critical:\n\t\t\treturn Tag.i18nBundle.getText(TAG_WARNING);\n\t\tcase TagDesign.Information:\n\t\t\treturn Tag.i18nBundle.getText(TAG_INFORMATION);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget hasText() {\n\t\treturn willShowContent(this.text);\n\t}\n\n\tget hasIcon() {\n\t\treturn !!this.icon.length;\n\t}\n\n\tget iconOnly() {\n\t\treturn this.hasIcon && !this.hasText;\n\t}\n\n\tget _title() {\n\t\treturn this.title || undefined;\n\t}\n\n\tget tagDescription() {\n\t\tif (this.interactive) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst valueState = this._valueState;\n\t\tlet description = Tag.i18nBundle.getText(TAG_DESCRIPTION_TAG);\n\n\t\tif (valueState) {\n\t\t\tdescription = `${description} ${valueState}`;\n\t\t}\n\n\t\treturn description;\n\t}\n\n\tget _semanticIconName() {\n\t\tif (this.hideStateIcon || this.hasIcon) {\n\t\t\treturn null;\n\t\t}\n\n\t\tswitch (this.design) {\n\t\tcase TagDesign.Neutral:\n\t\t\treturn \"sys-help-2\";\n\t\tcase TagDesign.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase TagDesign.Negative:\n\t\t\treturn \"error\";\n\t\tcase TagDesign.Critical:\n\t\t\treturn \"alert\";\n\t\tcase TagDesign.Information:\n\t\t\treturn \"information\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t_onclick(e: Event) {\n\t\te.stopPropagation();\n\t\tthis.fireDecoratorEvent(\"click\");\n\t}\n}\n\nTag.define();\n\nexport default Tag;\n"]}
|
package/dist/Token.d.ts
CHANGED
|
@@ -85,6 +85,7 @@ declare class Token extends UI5Element implements IToken {
|
|
|
85
85
|
_focusin(): void;
|
|
86
86
|
_focusout(): void;
|
|
87
87
|
_delete(): void;
|
|
88
|
+
_onmousedown(e: MouseEvent): void;
|
|
88
89
|
_keydown(e: KeyboardEvent): void;
|
|
89
90
|
onBeforeRendering(): void;
|
|
90
91
|
get tokenDeletableText(): string;
|
package/dist/Token.js
CHANGED
|
@@ -97,6 +97,12 @@ let Token = Token_1 = class Token extends UI5Element {
|
|
|
97
97
|
this.toBeDeleted = true;
|
|
98
98
|
this.fireDecoratorEvent("delete");
|
|
99
99
|
}
|
|
100
|
+
_onmousedown(e) {
|
|
101
|
+
const target = e.currentTarget;
|
|
102
|
+
if (target === this.shadowRoot?.querySelector("[ui5-icon]")) {
|
|
103
|
+
this.toBeDeleted = true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
100
106
|
_keydown(e) {
|
|
101
107
|
const isBackSpacePressed = isBackSpace(e);
|
|
102
108
|
const isDeletePressed = isDelete(e);
|
package/dist/Token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../src/Token.ts"],"names":[],"mappings":";;;;;;;AAAA,gDAAgD;AAChD,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,WAAW,GACX,MAAM,sCAAsC,CAAC;AAE9C,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAI3F,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,SAAS;AACT,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAO1D;;;;;;;;;;;;;;;GAeG;AAyBH,IAAM,KAAK,aAAX,MAAM,KAAM,SAAQ,UAAU;IAA9B;;QAaC;;;;WAIG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;;;;WAOG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;WAIG;QAEH,cAAS,GAAG,KAAK,CAAC;QAGlB,gBAAW,GAAG,KAAK,CAAC;QAEpB;;;;WAIG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;;;;WAKG;QAEH,gBAAW,GAAG,KAAK,CAAC;QAEpB;;;WAGG;QAEH,mBAAc,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../src/Token.ts"],"names":[],"mappings":"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","sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisBackSpace,\n\tisSpace,\n\tisDelete,\n\tisSpaceCtrl,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { TOKEN_ARIA_DELETABLE, TOKEN_ARIA_LABEL } from \"./generated/i18n/i18n-defaults.js\";\n\nimport type { IIcon } from \"./Icon.js\";\nimport type { IToken } from \"./MultiInput.js\";\nimport TokenTemplate from \"./TokenTemplate.js\";\n\n// Styles\nimport tokenStyles from \"./generated/themes/Token.css.js\";\n\ntype TokenDeleteEventDetail = {\n\tbackSpace?: boolean;\n\tdelete?: boolean;\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * Tokens are small items of information (similar to tags) that mainly serve to visualize previously selected items.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Token.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.9\n * @implements {IToken}\n * @public\n */\n@customElement({\n\ttag: \"ui5-token\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: TokenTemplate,\n\tstyles: tokenStyles,\n})\n/**\n * Fired when the the component is selected by user interaction with mouse or by clicking space.\n * @private\n */\n@event(\"select\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the backspace, delete or close icon of the token is pressed\n * @param {Boolean} backSpace Indicates whether token is deleted by backspace key.\n * @param {Boolean} delete Indicates whether token is deleted by delete key.\n * @private\n */\n@event(\"delete\", {\n\tbubbles: true,\n})\nclass Token extends UI5Element implements IToken {\n\teventDetails!: {\n\t\t\"select\": void\n\t\t\"delete\": TokenDeleteEventDetail\n\t}\n\t/**\n\t * Defines the text of the token.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines whether the component is selected or not.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component can not be deleted or selected,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Set by the tokenizer when a token is in the \"more\" area (overflowing)\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\toverflows = false;\n\n\t@property({ type: Boolean })\n\tsingleToken = false;\n\n\t/**\n\t * Defines whether the component is focused or not.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t/**\n\t * Defines whether the token is being deleted\n\t * This flag is used in the ui5-multi-combobox\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttoBeDeleted = false;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex = \"-1\";\n\n\t/**\n\t * Defines the close icon for the token. If nothing is provided to this slot, the default close icon will be used.\n\t * Accepts `ui5-icon`.\n\t * @public\n\t * @since 1.0.0-rc.9\n\t */\n\t@slot()\n\tcloseIcon!: Array<IIcon>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_handleSelect() {\n\t\tif (!this.toBeDeleted) {\n\t\t\tthis.selected = !this.selected;\n\t\t\tthis.fireDecoratorEvent(\"select\");\n\t\t}\n\t}\n\n\t_focusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_focusout() {\n\t\tthis.focused = !this.focused;\n\t}\n\n\t_delete() {\n\t\tthis.toBeDeleted = true;\n\t\tthis.fireDecoratorEvent(\"delete\");\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst target = e.currentTarget as HTMLElement;\n\n\t\tif (target === this.shadowRoot?.querySelector(\"[ui5-icon]\")) {\n\t\t\tthis.toBeDeleted = true;\n\t\t}\n\t}\n\n\t_keydown(e: KeyboardEvent) {\n\t\tconst isBackSpacePressed = isBackSpace(e);\n\t\tconst isDeletePressed = isDelete(e);\n\n\t\tif (!this.readonly && (isBackSpacePressed || isDeletePressed)) {\n\t\t\te.preventDefault();\n\n\t\t\tthis.fireDecoratorEvent(\"delete\", {\n\t\t\t\tbackSpace: isBackSpacePressed,\n\t\t\t\t\"delete\": isDeletePressed,\n\t\t\t});\n\t\t}\n\n\t\tif (isSpace(e) || isSpaceCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._handleSelect();\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.toBeDeleted = false;\n\t\t// this.fireMyEvent(\"select\");\n\t}\n\n\tget tokenDeletableText() {\n\t\treturn Token.i18nBundle.getText(TOKEN_ARIA_DELETABLE);\n\t}\n\n\tget textDom() {\n\t\treturn this.getDomRef()?.querySelector(\".ui5-token--text\");\n\t}\n\n\tget isTruncatable() {\n\t\tif (!this.textDom) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn Math.ceil(this.textDom.getBoundingClientRect().width) < Math.ceil(this.textDom.scrollWidth);\n\t}\n\n\tget ariaDescription() {\n\t\tlet description = Token.i18nBundle.getText(TOKEN_ARIA_LABEL);\n\n\t\tif (!this.readonly) {\n\t\t\tdescription += ` ${Token.i18nBundle.getText(TOKEN_ARIA_DELETABLE)}`;\n\t\t}\n\n\t\treturn description;\n\t}\n\n\t// fireMyEvent(name: keyof this[\"_events\"]) {\n\t// \tconsole.log(name);\n\t// }\n}\n\nToken.define();\n\nexport default Token;\nexport type { TokenDeleteEventDetail };\n"]}
|
package/dist/TokenTemplate.js
CHANGED
|
@@ -6,6 +6,6 @@ export default function TokenTemplate() {
|
|
|
6
6
|
_jsx("div", { class: "ui5-token--icon", children: this.closeIcon.length > 0 ?
|
|
7
7
|
_jsx("slot", { name: "closeIcon", onClick: this._delete })
|
|
8
8
|
:
|
|
9
|
-
_jsx(Icon, { name: decline, mode: "Decorative", accessibleName: this.tokenDeletableText, showTooltip: true, onClick: this._delete }) })] }));
|
|
9
|
+
_jsx(Icon, { name: decline, mode: "Decorative", accessibleName: this.tokenDeletableText, showTooltip: true, onClick: this._delete, onMouseDown: this._onmousedown }) })] }));
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=TokenTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenTemplate.js","sourceRoot":"","sources":["../src/TokenTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAE/D,MAAM,CAAC,OAAO,UAAU,aAAa;IACpC,OAAO,CACN,eACC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClE,KAAK,EAAC,oBAAoB,sBACR,IAAI,CAAC,eAAe,mBACvB,IAAI,CAAC,QAAQ,EAC5B,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,SAAS,EAAE,IAAI,CAAC,QAAQ,EACxB,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,SAAS,EAAE,IAAI,CAAC,QAAQ,aAExB,eAAM,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,IAAI,GAAQ,EAE/C,CAAC,IAAI,CAAC,QAAQ;gBACd,cAAK,KAAK,EAAC,iBAAiB,YAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC3B,eAAM,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAS;wBACrD,CAAC;4BACD,KAAC,IAAI,IACJ,IAAI,EAAE,OAAO,EACb,IAAI,EAAC,YAAY,EACjB,cAAc,EAAE,IAAI,CAAC,kBAAkB,EACvC,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"TokenTemplate.js","sourceRoot":"","sources":["../src/TokenTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAE/D,MAAM,CAAC,OAAO,UAAU,aAAa;IACpC,OAAO,CACN,eACC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClE,KAAK,EAAC,oBAAoB,sBACR,IAAI,CAAC,eAAe,mBACvB,IAAI,CAAC,QAAQ,EAC5B,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,SAAS,EAAE,IAAI,CAAC,QAAQ,EACxB,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,SAAS,EAAE,IAAI,CAAC,QAAQ,aAExB,eAAM,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,IAAI,GAAQ,EAE/C,CAAC,IAAI,CAAC,QAAQ;gBACd,cAAK,KAAK,EAAC,iBAAiB,YAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC3B,eAAM,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAS;wBACrD,CAAC;4BACD,KAAC,IAAI,IACJ,IAAI,EAAE,OAAO,EACb,IAAI,EAAC,YAAY,EACjB,cAAc,EAAE,IAAI,CAAC,kBAAkB,EACvC,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,YAAY,GAC7B,GAEE,IAEF,CACN,CAAC;AACH,CAAC","sourcesContent":["import type Token from \"./Token.js\";\nimport Icon from \"./Icon.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\n\nexport default function TokenTemplate(this: Token) {\n\treturn (\n\t\t<div\n\t\t\trole=\"option\"\n\t\t\ttabindex={this.forcedTabIndex ? parseInt(this.forcedTabIndex) : -1}\n\t\t\tclass=\"ui5-token--wrapper\"\n\t\t\taria-description={this.ariaDescription}\n\t\t\taria-selected={this.selected}\n\t\t\tonClick={this._handleSelect}\n\t\t\tonFocusIn={this._focusin}\n\t\t\tonFocusOut={this._focusout}\n\t\t\tonKeyDown={this._keydown}\n\t\t>\n\t\t\t<span class=\"ui5-token--text\">{this.text}</span>\n\n\t\t\t{!this.readonly &&\n\t\t\t\t<div class=\"ui5-token--icon\">\n\t\t\t\t\t{this.closeIcon.length > 0 ?\n\t\t\t\t\t\t<slot name=\"closeIcon\" onClick={this._delete}></slot>\n\t\t\t\t\t\t:\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname={decline}\n\t\t\t\t\t\t\tmode=\"Decorative\"\n\t\t\t\t\t\t\taccessibleName={this.tokenDeletableText}\n\t\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\t\tonClick={this._delete}\n\t\t\t\t\t\t\tonMouseDown={this._onmousedown}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t);\n}\n"]}
|
package/dist/Toolbar.d.ts
CHANGED
|
@@ -80,6 +80,7 @@ declare class Toolbar extends UI5Element {
|
|
|
80
80
|
* @since 2.0.0
|
|
81
81
|
*/
|
|
82
82
|
design: `${ToolbarDesign}`;
|
|
83
|
+
popoverOpen: boolean;
|
|
83
84
|
/**
|
|
84
85
|
* Defines the items of the component.
|
|
85
86
|
*
|
|
@@ -92,7 +93,6 @@ declare class Toolbar extends UI5Element {
|
|
|
92
93
|
itemsToOverflow: Array<ToolbarItem>;
|
|
93
94
|
itemsWidth: number;
|
|
94
95
|
minContentWidth: number;
|
|
95
|
-
popoverOpen: boolean;
|
|
96
96
|
itemsWidthMeasured: boolean;
|
|
97
97
|
ITEMS_WIDTH_MAP: Map<string, number>;
|
|
98
98
|
static get styles(): import("@ui5/webcomponents-base").ComponentStylesData[];
|
|
@@ -131,7 +131,7 @@ declare class Toolbar extends UI5Element {
|
|
|
131
131
|
accessibleName: string;
|
|
132
132
|
tooltip: string;
|
|
133
133
|
accessibilityAttributes: {
|
|
134
|
-
expanded: boolean
|
|
134
|
+
expanded: boolean;
|
|
135
135
|
hasPopup: "menu";
|
|
136
136
|
};
|
|
137
137
|
};
|
package/dist/Toolbar.js
CHANGED
|
@@ -79,10 +79,10 @@ let Toolbar = Toolbar_1 = class Toolbar extends UI5Element {
|
|
|
79
79
|
* @since 2.0.0
|
|
80
80
|
*/
|
|
81
81
|
this.design = "Solid";
|
|
82
|
+
this.popoverOpen = false;
|
|
82
83
|
this.itemsToOverflow = [];
|
|
83
84
|
this.itemsWidth = 0;
|
|
84
85
|
this.minContentWidth = 0;
|
|
85
|
-
this.popoverOpen = false;
|
|
86
86
|
this.itemsWidthMeasured = false;
|
|
87
87
|
this.ITEMS_WIDTH_MAP = new Map();
|
|
88
88
|
this._onResize = this.onResize.bind(this);
|
|
@@ -141,7 +141,7 @@ let Toolbar = Toolbar_1 = class Toolbar extends UI5Element {
|
|
|
141
141
|
accessibleName: Toolbar_1.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),
|
|
142
142
|
tooltip: Toolbar_1.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),
|
|
143
143
|
accessibilityAttributes: {
|
|
144
|
-
expanded: this.
|
|
144
|
+
expanded: this.popoverOpen,
|
|
145
145
|
hasPopup: "menu",
|
|
146
146
|
},
|
|
147
147
|
},
|
|
@@ -313,18 +313,12 @@ let Toolbar = Toolbar_1 = class Toolbar extends UI5Element {
|
|
|
313
313
|
*/
|
|
314
314
|
onOverflowPopoverClosed() {
|
|
315
315
|
this.popoverOpen = false;
|
|
316
|
-
if (this.overflowButtonDOM) {
|
|
317
|
-
this.overflowButtonDOM.accessibilityAttributes.expanded = false;
|
|
318
|
-
}
|
|
319
316
|
}
|
|
320
317
|
onBeforeClose(e) {
|
|
321
318
|
e.preventDefault();
|
|
322
319
|
}
|
|
323
320
|
onOverflowPopoverOpened() {
|
|
324
321
|
this.popoverOpen = true;
|
|
325
|
-
if (this.overflowButtonDOM) {
|
|
326
|
-
this.overflowButtonDOM.accessibilityAttributes.expanded = true;
|
|
327
|
-
}
|
|
328
322
|
}
|
|
329
323
|
onResize() {
|
|
330
324
|
if (!this.itemsWidth) {
|
|
@@ -418,6 +412,9 @@ __decorate([
|
|
|
418
412
|
__decorate([
|
|
419
413
|
property()
|
|
420
414
|
], Toolbar.prototype, "design", void 0);
|
|
415
|
+
__decorate([
|
|
416
|
+
property({ type: Boolean })
|
|
417
|
+
], Toolbar.prototype, "popoverOpen", void 0);
|
|
421
418
|
__decorate([
|
|
422
419
|
slot({ "default": true, type: HTMLElement, invalidateOnChildChange: true })
|
|
423
420
|
], Toolbar.prototype, "items", void 0);
|