@ui5/webcomponents 2.7.3 → 2.7.5
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 +28 -0
- package/cypress/specs/Table.cy.tsx +255 -61
- package/cypress/specs/TableNavigation.cy.tsx +223 -0
- package/cypress/specs/TableNavigationFixedHeader.cy.tsx +199 -0
- package/cypress/specs/TableSelection.cy.tsx +243 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Calendar.d.ts +3 -0
- package/dist/Calendar.js +13 -8
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarHeaderTemplate.js +2 -1
- package/dist/CalendarHeaderTemplate.js.map +1 -1
- package/dist/Table.d.ts +14 -9
- package/dist/Table.js +36 -31
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.d.ts +1 -2
- package/dist/TableCell.js +13 -5
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCellBase.d.ts +1 -0
- package/dist/TableCellBase.js +4 -0
- package/dist/TableCellBase.js.map +1 -1
- package/dist/TableHeaderCell.d.ts +33 -0
- package/dist/TableHeaderCell.js +45 -2
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderCellActionAI.d.ts +27 -0
- package/dist/TableHeaderCellActionAI.js +44 -0
- package/dist/TableHeaderCellActionAI.js.map +1 -0
- package/dist/TableHeaderCellActionBase.d.ts +33 -0
- package/dist/TableHeaderCellActionBase.js +58 -0
- package/dist/TableHeaderCellActionBase.js.map +1 -0
- package/dist/TableHeaderRow.d.ts +1 -0
- package/dist/TableHeaderRow.js +7 -5
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableNavigation.js +1 -2
- package/dist/TableNavigation.js.map +1 -1
- package/dist/TableRow.js +1 -1
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowActionBase.d.ts +0 -2
- package/dist/TableRowActionBase.js +0 -4
- package/dist/TableRowActionBase.js.map +1 -1
- package/dist/TableRowActionNavigation.d.ts +11 -1
- package/dist/TableRowActionNavigation.js +17 -6
- package/dist/TableRowActionNavigation.js.map +1 -1
- package/dist/TableRowBase.js +1 -1
- package/dist/TableRowBase.js.map +1 -1
- package/dist/YearPickerTemplate.js +1 -1
- package/dist/YearPickerTemplate.js.map +1 -1
- package/dist/bundle.esm.js +1 -0
- package/dist/bundle.esm.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/TableCell.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableHeaderCell.css +1 -1
- package/dist/css/themes/TableHeaderCellActionBase.css +1 -0
- 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 +134 -162
- package/dist/custom-elements.json +115 -59
- 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/templates/TableCellTemplate.lit.js +3 -6
- package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.d.ts +3 -0
- package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.js +7 -0
- package/dist/generated/templates/TableHeaderCellActionBaseTemplate.lit.js.map +1 -0
- package/dist/generated/templates/TableHeaderCellTemplate.lit.js +2 -1
- package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TableRowActionBaseTemplate.lit.js +2 -2
- package/dist/generated/templates/TableRowActionBaseTemplate.lit.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/TableCell.css.d.ts +1 -1
- package/dist/generated/themes/TableCell.css.js +1 -1
- package/dist/generated/themes/TableCell.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/TableHeaderCell.css.d.ts +1 -1
- package/dist/generated/themes/TableHeaderCell.css.js +1 -1
- package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderCellActionBase.css.d.ts +2 -0
- package/dist/generated/themes/TableHeaderCellActionBase.css.js +8 -0
- package/dist/generated/themes/TableHeaderCellActionBase.css.js.map +1 -0
- 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/vscode.html-custom-data.json +29 -3
- package/dist/web-types.json +43 -40
- package/package.json +10 -10
- package/src/CalendarHeaderTemplate.tsx +12 -0
- package/src/TableCell.hbs +6 -11
- package/src/TableHeaderCell.hbs +5 -1
- package/src/TableHeaderCellActionBase.hbs +6 -0
- package/src/TableRowActionBase.hbs +1 -2
- package/src/YearPickerTemplate.tsx +1 -1
- package/src/i18n/messagebundle.properties +4 -0
- package/src/themes/CalendarHeader.css +8 -0
- package/src/themes/TableCell.css +1 -0
- package/src/themes/TableHeaderCell.css +20 -3
- package/src/themes/TableHeaderCellActionBase.css +23 -0
- package/src/themes/TableRowActionBase.css +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,34 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.7.5](https://github.com/SAP/ui5-webcomponents/compare/v2.7.4...v2.7.5) (2025-05-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **ui5-calendar:** show year range text in year view ([#11473](https://github.com/SAP/ui5-webcomponents/issues/11473)) ([3597cc3](https://github.com/SAP/ui5-webcomponents/commit/3597cc39eb461adc88332d5fc5d9d26f63e79ad9)), closes [#11468](https://github.com/SAP/ui5-webcomponents/issues/11468)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [2.7.4](https://github.com/SAP/ui5-webcomponents/compare/v2.7.3...v2.7.4) (2025-03-04)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **ui5-table:** update select all checkbox ([#10833](https://github.com/SAP/ui5-webcomponents/issues/10833)) ([1f063b6](https://github.com/SAP/ui5-webcomponents/commit/1f063b62f474bcb8b0bfb7f3c1af477934a31d24)), closes [#10658](https://github.com/SAP/ui5-webcomponents/issues/10658) [#10574](https://github.com/SAP/ui5-webcomponents/issues/10574) [#10804](https://github.com/SAP/ui5-webcomponents/issues/10804)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* **ui5-table-header-cell:** add popinHidden property ([#10834](https://github.com/SAP/ui5-webcomponents/issues/10834)) ([5928e95](https://github.com/SAP/ui5-webcomponents/commit/5928e953cc0a81e79f02c0a7b78be3111caa7ddf))
|
|
28
|
+
* **ui5-table:** action header cell is added ([#10698](https://github.com/SAP/ui5-webcomponents/issues/10698)) ([317fe96](https://github.com/SAP/ui5-webcomponents/commit/317fe966886b46cf2687cbec3349b2ab08a23cad))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
6
34
|
## [2.7.3](https://github.com/SAP/ui5-webcomponents/compare/v2.7.1...v2.7.3) (2025-02-13)
|
|
7
35
|
|
|
8
36
|
|
|
@@ -4,11 +4,13 @@ import TableCell from "../../src/TableCell.js";
|
|
|
4
4
|
import TableRow from "../../src/TableRow.js";
|
|
5
5
|
import TableSelection from "../../src/TableSelection.js";
|
|
6
6
|
import TableHeaderCell from "../../src/TableHeaderCell.js";
|
|
7
|
+
import TableHeaderCellActionAI from "../../src/TableHeaderCellActionAI.js";
|
|
7
8
|
import Label from "../../src/Label.js";
|
|
8
9
|
import Input from "../../src/Input.js";
|
|
9
10
|
import Bar from "../../src/Bar.js";
|
|
10
11
|
import Title from "../../src/Title.js";
|
|
11
12
|
import Slider from "../../src/Slider.js";
|
|
13
|
+
import Button from "../../src/Button.js";
|
|
12
14
|
|
|
13
15
|
// Porting Table.spec.js (wdio tests) to cypress tests
|
|
14
16
|
const ROLE_COLUMN_HEADER = "columnheader";
|
|
@@ -32,6 +34,7 @@ describe("Table - Rendering", () => {
|
|
|
32
34
|
cy.get("ui5-table-header-row").should("exist");
|
|
33
35
|
cy.get("ui5-table-row").should("exist");
|
|
34
36
|
cy.get("ui5-table-header-cell").should("have.length", 2);
|
|
37
|
+
cy.get("ui5-table-header-row").should("have.attr", "aria-roledescription", "Column Header Row");
|
|
35
38
|
});
|
|
36
39
|
|
|
37
40
|
it("tests if initial empty table renders without errors", () => {
|
|
@@ -57,38 +60,64 @@ describe("Table - Rendering", () => {
|
|
|
57
60
|
});
|
|
58
61
|
|
|
59
62
|
describe("Table - Popin Mode", () => {
|
|
60
|
-
|
|
63
|
+
function checkPopinState(expectedState: { poppedIn: string[], hidden: string[] }) {
|
|
64
|
+
cy.get("ui5-table-header-cell").each(($cell, index) => {
|
|
65
|
+
const id = $cell.attr("id") ?? "";
|
|
66
|
+
const shouldBePoppedIn = expectedState.poppedIn.includes(id);
|
|
67
|
+
const shouldBeHidden = expectedState.hidden.includes(id);
|
|
68
|
+
const roleCondition = shouldBePoppedIn || shouldBeHidden ? "not.have.attr" : "have.attr";
|
|
69
|
+
|
|
70
|
+
cy.wrap($cell)
|
|
71
|
+
.should(roleCondition, "role", ROLE_COLUMN_HEADER);
|
|
72
|
+
cy.get("ui5-table-header-row")
|
|
73
|
+
.shadow()
|
|
74
|
+
.find(`slot[name=default-${index + 1}]`)
|
|
75
|
+
.should(shouldBePoppedIn || shouldBeHidden ? "not.exist" : "exist");
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
cy.get("ui5-table-row").each($row => {
|
|
79
|
+
cy.wrap($row).find("ui5-table-cell").each(($cell, index) => {
|
|
80
|
+
const id = $cell.attr("id") ?? "NOT_FOUND";
|
|
81
|
+
const shouldBeHidden = expectedState.hidden.some(hiddenId => id.includes(hiddenId));
|
|
82
|
+
cy.wrap($row).shadow().find(`slot[name=default-${index + 1}]`)
|
|
83
|
+
.should(shouldBeHidden ? "not.exist" : "exist");
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function mounTable(popinHidden = false) {
|
|
61
89
|
cy.mount(
|
|
62
90
|
<Table id="table" overflowMode="Popin">
|
|
63
91
|
<TableHeaderRow slot="headerRow">
|
|
64
92
|
<TableHeaderCell id="colA" minWidth="300px"><span>ColumnA</span></TableHeaderCell>
|
|
65
93
|
<TableHeaderCell id="colB" minWidth="200px">Column B</TableHeaderCell>
|
|
66
94
|
<TableHeaderCell id="colC" minWidth="200px">Column C</TableHeaderCell>
|
|
67
|
-
<TableHeaderCell id="colD" minWidth="150px" popinText="Column ?">Column D</TableHeaderCell>
|
|
95
|
+
<TableHeaderCell id="colD" minWidth="150px" popinText="Column ?" popinHidden={popinHidden}>Column D</TableHeaderCell>
|
|
68
96
|
</TableHeaderRow>
|
|
69
97
|
<TableRow>
|
|
70
|
-
<TableCell><Label>Cell A</Label></TableCell>
|
|
71
|
-
<TableCell><Label>Cell B</Label></TableCell>
|
|
72
|
-
<TableCell><Label>Cell C</Label></TableCell>
|
|
73
|
-
<TableCell><Label>Cell D</Label></TableCell>
|
|
98
|
+
<TableCell id="row-1-colA"><Label>Cell A</Label></TableCell>
|
|
99
|
+
<TableCell id="row-1-colB"><Label>Cell B</Label></TableCell>
|
|
100
|
+
<TableCell id="row-1-colC"><Label>Cell C</Label></TableCell>
|
|
101
|
+
<TableCell id="row-1-colD"><Label>Cell D</Label></TableCell>
|
|
74
102
|
</TableRow>
|
|
75
103
|
<TableRow>
|
|
76
|
-
<TableCell><Label>Cell A</Label></TableCell>
|
|
77
|
-
<TableCell><Label>Cell B</Label></TableCell>
|
|
78
|
-
<TableCell><Label>Cell C</Label></TableCell>
|
|
79
|
-
<TableCell><Label>Cell D</Label></TableCell>
|
|
104
|
+
<TableCell id="row-2-colA"><Label>Cell A</Label></TableCell>
|
|
105
|
+
<TableCell id="row-2-colB"><Label>Cell B</Label></TableCell>
|
|
106
|
+
<TableCell id="row-2-colC"><Label>Cell C</Label></TableCell>
|
|
107
|
+
<TableCell id="row-2-colD"><Label>Cell D</Label></TableCell>
|
|
80
108
|
</TableRow>
|
|
81
109
|
<TableRow>
|
|
82
|
-
<TableCell><Label>Cell A</Label></TableCell>
|
|
83
|
-
<TableCell><Label>Cell B</Label></TableCell>
|
|
84
|
-
<TableCell><Label>Cell C</Label></TableCell>
|
|
85
|
-
<TableCell><Label>Cell D</Label></TableCell>
|
|
110
|
+
<TableCell id="row-3-colA"><Label>Cell A</Label></TableCell>
|
|
111
|
+
<TableCell id="row-3-colB"><Label>Cell B</Label></TableCell>
|
|
112
|
+
<TableCell id="row-3-colC"><Label>Cell C</Label></TableCell>
|
|
113
|
+
<TableCell id="row-3-colD"><Label>Cell D</Label></TableCell>
|
|
86
114
|
</TableRow>
|
|
87
115
|
</Table>
|
|
88
116
|
);
|
|
89
|
-
}
|
|
117
|
+
}
|
|
90
118
|
|
|
91
119
|
it("no pop-in width 'optimal' table width", () => {
|
|
120
|
+
mounTable();
|
|
92
121
|
cy.get("ui5-table").then($table => {
|
|
93
122
|
$table.css("width", "850px");
|
|
94
123
|
});
|
|
@@ -100,17 +129,11 @@ describe("Table - Popin Mode", () => {
|
|
|
100
129
|
cy.get("ui5-table-header-cell")
|
|
101
130
|
.should("have.length", 4);
|
|
102
131
|
|
|
103
|
-
|
|
104
|
-
cy.wrap($cell)
|
|
105
|
-
.should("have.attr", "role", ROLE_COLUMN_HEADER);
|
|
106
|
-
cy.get("ui5-table-header-row")
|
|
107
|
-
.shadow()
|
|
108
|
-
.find(`slot[name=default-${index + 1}]`)
|
|
109
|
-
.should("exist");
|
|
110
|
-
});
|
|
132
|
+
checkPopinState({ poppedIn: [], hidden: [] });
|
|
111
133
|
});
|
|
112
134
|
|
|
113
135
|
it("test with one by one popping in", () => {
|
|
136
|
+
mounTable();
|
|
114
137
|
const testWidths = [
|
|
115
138
|
{ width: 850, poppedIn: [] },
|
|
116
139
|
{ width: 700, poppedIn: ["colD"] },
|
|
@@ -124,22 +147,12 @@ describe("Table - Popin Mode", () => {
|
|
|
124
147
|
$table.css("width", `${width}px`);
|
|
125
148
|
});
|
|
126
149
|
|
|
127
|
-
|
|
128
|
-
const id = $cell.attr("id") ?? "";
|
|
129
|
-
const shouldBePoppedIn = poppedIn.includes(id);
|
|
130
|
-
const roleCondition = shouldBePoppedIn ? "not.have.attr" : "have.attr";
|
|
131
|
-
|
|
132
|
-
cy.wrap($cell)
|
|
133
|
-
.should(roleCondition, "role", ROLE_COLUMN_HEADER);
|
|
134
|
-
cy.get("ui5-table-header-row")
|
|
135
|
-
.shadow()
|
|
136
|
-
.find(`slot[name=default-${index + 1}]`)
|
|
137
|
-
.should(shouldBePoppedIn ? "not.exist" : "exist");
|
|
138
|
-
});
|
|
150
|
+
checkPopinState({ poppedIn, hidden: [] });
|
|
139
151
|
});
|
|
140
152
|
});
|
|
141
153
|
|
|
142
154
|
it("test with one by one popping out", () => {
|
|
155
|
+
mounTable();
|
|
143
156
|
const testWidths = [
|
|
144
157
|
{ width: 150, poppedIn: ["colD", "colC", "colB"] },
|
|
145
158
|
{ width: 300, poppedIn: ["colD", "colC", "colB"] },
|
|
@@ -153,22 +166,12 @@ describe("Table - Popin Mode", () => {
|
|
|
153
166
|
$table.css("width", `${width}px`);
|
|
154
167
|
});
|
|
155
168
|
|
|
156
|
-
|
|
157
|
-
const id = $cell.attr("id") ?? "";
|
|
158
|
-
const shouldBePoppedIn = poppedIn.includes(id);
|
|
159
|
-
const roleCondition = shouldBePoppedIn ? "not.have.attr" : "have.attr";
|
|
160
|
-
|
|
161
|
-
cy.wrap($cell)
|
|
162
|
-
.should(roleCondition, "role", ROLE_COLUMN_HEADER);
|
|
163
|
-
cy.get("ui5-table-header-row")
|
|
164
|
-
.shadow()
|
|
165
|
-
.find(`slot[name=default-${index + 1}]`)
|
|
166
|
-
.should(shouldBePoppedIn ? "not.exist" : "exist");
|
|
167
|
-
});
|
|
169
|
+
checkPopinState({ poppedIn, hidden: [] });
|
|
168
170
|
});
|
|
169
171
|
});
|
|
170
172
|
|
|
171
173
|
it("test with random widths", () => {
|
|
174
|
+
mounTable();
|
|
172
175
|
const expectedStates = [
|
|
173
176
|
{ width: 500, poppedIn: ["colD", "colC", "colB"] },
|
|
174
177
|
{ width: 700, poppedIn: ["colD", "colC"] },
|
|
@@ -184,24 +187,12 @@ describe("Table - Popin Mode", () => {
|
|
|
184
187
|
});
|
|
185
188
|
|
|
186
189
|
const expectedState = expectedStates.find(state => state.width >= randomWidth);
|
|
187
|
-
|
|
188
|
-
cy.get("ui5-table-header-cell").each(($cell, index) => {
|
|
189
|
-
const id = $cell.attr("id") ?? "";
|
|
190
|
-
const shouldBePoppedIn = expectedState?.poppedIn.includes(id);
|
|
191
|
-
const roleCondition = shouldBePoppedIn ? "not.have.attr" : "have.attr";
|
|
192
|
-
|
|
193
|
-
cy.wrap($cell)
|
|
194
|
-
.should(roleCondition, "role", ROLE_COLUMN_HEADER);
|
|
195
|
-
|
|
196
|
-
cy.get("ui5-table-header-row")
|
|
197
|
-
.shadow()
|
|
198
|
-
.find(`slot[name=default-${index + 1}]`)
|
|
199
|
-
.should(shouldBePoppedIn ? "not.exist" : "exist");
|
|
200
|
-
});
|
|
190
|
+
checkPopinState({ poppedIn: expectedState?.poppedIn ?? [], hidden: [] });
|
|
201
191
|
}
|
|
202
192
|
});
|
|
203
193
|
|
|
204
194
|
it("should show the popin-text in the popin area", () => {
|
|
195
|
+
mounTable();
|
|
205
196
|
cy.get("ui5-table").then($table => {
|
|
206
197
|
$table.css("width", "150px");
|
|
207
198
|
});
|
|
@@ -229,6 +220,40 @@ describe("Table - Popin Mode", () => {
|
|
|
229
220
|
return popinCellCount && popinCellCount === validPopinTextCount;
|
|
230
221
|
}).should("be.true");
|
|
231
222
|
});
|
|
223
|
+
|
|
224
|
+
it("should hide column in popin if popinHidden is set", () => {
|
|
225
|
+
mounTable(true);
|
|
226
|
+
|
|
227
|
+
const testWidths = [
|
|
228
|
+
{ width: 150, poppedIn: ["colC", "colB"], hidden: ["colD"] },
|
|
229
|
+
{ width: 300, poppedIn: ["colC", "colB"], hidden: ["colD"] },
|
|
230
|
+
{ width: 500, poppedIn: ["colC"], hidden: ["colD"] },
|
|
231
|
+
{ width: 700, poppedIn: [], hidden: ["colD"] },
|
|
232
|
+
{ width: 850, poppedIn: [], hidden: [] },
|
|
233
|
+
];
|
|
234
|
+
|
|
235
|
+
testWidths.forEach(({ width, poppedIn, hidden }) => {
|
|
236
|
+
cy.get("ui5-table").then($table => {
|
|
237
|
+
$table.css("width", `${width}px`);
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
checkPopinState({ poppedIn, hidden });
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
it("should hide popin if popinHidden, shows it if changed on runtime", () => {
|
|
245
|
+
mounTable(true);
|
|
246
|
+
cy.get("ui5-table").then($table => {
|
|
247
|
+
$table.css("width", "150px");
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
checkPopinState({ poppedIn: ["colC", "colB"], hidden: ["colD"] });
|
|
251
|
+
|
|
252
|
+
cy.get("#colD")
|
|
253
|
+
.invoke("removeAttr", "popin-hidden");
|
|
254
|
+
|
|
255
|
+
checkPopinState({ poppedIn: ["colC", "colB", "colD"], hidden: [] });
|
|
256
|
+
});
|
|
232
257
|
});
|
|
233
258
|
|
|
234
259
|
describe("Table - Horizontal alignment of cells", () => {
|
|
@@ -663,3 +688,172 @@ describe("Table - Navigated Rows", () => {
|
|
|
663
688
|
});
|
|
664
689
|
});
|
|
665
690
|
});
|
|
691
|
+
|
|
692
|
+
describe("Table - Interactive Rows", () => {
|
|
693
|
+
it("fires the row-click event", () => {
|
|
694
|
+
cy.mount(
|
|
695
|
+
<Table id="table1">
|
|
696
|
+
<TableSelection id="selection" selected="1 2" slot="features"></TableSelection>
|
|
697
|
+
<TableHeaderRow id="headerRow" slot="headerRow">
|
|
698
|
+
<TableHeaderCell>ColumnA</TableHeaderCell>
|
|
699
|
+
<TableHeaderCell>ColumnB</TableHeaderCell>
|
|
700
|
+
</TableHeaderRow>
|
|
701
|
+
<TableRow id="row1" rowKey="1">
|
|
702
|
+
<TableCell><Label>Cell A</Label></TableCell>
|
|
703
|
+
<TableCell><Button>Cell B</Button></TableCell>
|
|
704
|
+
</TableRow>
|
|
705
|
+
<TableRow id="row2" rowKey="2" interactive={true}>
|
|
706
|
+
<TableCell><Label>Cell A</Label></TableCell>
|
|
707
|
+
<TableCell><Button>Cell B</Button></TableCell>
|
|
708
|
+
</TableRow>
|
|
709
|
+
</Table>
|
|
710
|
+
);
|
|
711
|
+
|
|
712
|
+
cy.get("#table1").invoke("on", "row-click", cy.stub().as("rowClickHandler"));
|
|
713
|
+
cy.get("#row1").realClick();
|
|
714
|
+
cy.get("@rowClickHandler").should("not.have.been.called");
|
|
715
|
+
cy.get("#row1").realPress("Enter");
|
|
716
|
+
cy.get("@rowClickHandler").should("not.have.been.called");
|
|
717
|
+
|
|
718
|
+
cy.get("#row2").realClick();
|
|
719
|
+
cy.get("@rowClickHandler").invoke("getCall", 0).its("args.0.detail.row").as("clickedRow");
|
|
720
|
+
cy.get("@clickedRow").should("have.attr", "id", "row2");
|
|
721
|
+
cy.get("#row2").realPress("Enter");
|
|
722
|
+
cy.get("@rowClickHandler").should("have.been.calledTwice");
|
|
723
|
+
|
|
724
|
+
cy.get("#row2").find("ui5-label").realClick();
|
|
725
|
+
cy.get("@rowClickHandler").should("have.been.calledThrice");
|
|
726
|
+
|
|
727
|
+
cy.get("#row2").find("ui5-button").as("row2button");
|
|
728
|
+
cy.get("@row2button").invoke("on", "click", cy.stub().as("buttonClickHandler"));
|
|
729
|
+
cy.get("@row2button").realClick();
|
|
730
|
+
cy.get("@buttonClickHandler").should("have.been.calledOnce");
|
|
731
|
+
cy.get("@rowClickHandler").should("have.been.calledThrice");
|
|
732
|
+
|
|
733
|
+
cy.get("@row2button").realPress("Enter");
|
|
734
|
+
cy.get("@buttonClickHandler").should("have.been.calledTwice");
|
|
735
|
+
cy.get("@rowClickHandler").should("have.been.calledThrice");
|
|
736
|
+
|
|
737
|
+
cy.get("@row2button").realPress("Space");
|
|
738
|
+
cy.get("@buttonClickHandler").should("have.been.calledThrice");
|
|
739
|
+
cy.get("@rowClickHandler").should("have.been.calledThrice");
|
|
740
|
+
|
|
741
|
+
// move the following tests to the TableSelection.cy.tsx
|
|
742
|
+
cy.get("#headerRow").shadow().find("#selection-cell").as("headerRowSelectionCell");
|
|
743
|
+
cy.get("@headerRowSelectionCell").find("#selection-component").as("headerRowCheckBox");
|
|
744
|
+
cy.get("@headerRowCheckBox").should("have.attr", "checked");
|
|
745
|
+
cy.get("#table1").then($table => {
|
|
746
|
+
$table.append(
|
|
747
|
+
`<ui5-table-row id="row3" row-key="3">
|
|
748
|
+
<ui5-table-cell>Cell A</ui5-table-cell>
|
|
749
|
+
<ui5-table-cell>Cell B</ui5-table-cell>
|
|
750
|
+
</ui5-table-row>`
|
|
751
|
+
);
|
|
752
|
+
});
|
|
753
|
+
cy.get("@headerRowCheckBox").should("not.have.attr", "checked");
|
|
754
|
+
cy.get("#row3").invoke("remove");
|
|
755
|
+
cy.get("@headerRowCheckBox").should("have.attr", "checked");
|
|
756
|
+
cy.get("#row2").invoke("remove");
|
|
757
|
+
cy.get("#row1").invoke("remove");
|
|
758
|
+
cy.get("@headerRowCheckBox").should("not.have.attr", "checked");
|
|
759
|
+
});
|
|
760
|
+
});
|
|
761
|
+
|
|
762
|
+
describe("Table - HeaderCell", () => {
|
|
763
|
+
beforeEach(() => {
|
|
764
|
+
cy.mount(
|
|
765
|
+
<Table overflow-mode="Popin">
|
|
766
|
+
<TableHeaderRow slot="headerRow">
|
|
767
|
+
<TableHeaderCell min-width="300px">Column A</TableHeaderCell>
|
|
768
|
+
<TableHeaderCell min-width="200px" sort-indicator="Ascending">
|
|
769
|
+
<Label required wrappingType="None">Column B</Label>
|
|
770
|
+
<TableHeaderCellActionAI slot="action"></TableHeaderCellActionAI>
|
|
771
|
+
</TableHeaderCell>
|
|
772
|
+
<TableHeaderCell min-width="150px" popin-text="Popin Text">
|
|
773
|
+
<Label required>Column C</Label>
|
|
774
|
+
</TableHeaderCell>
|
|
775
|
+
</TableHeaderRow>
|
|
776
|
+
<TableRow>
|
|
777
|
+
<TableCell>Cell A</TableCell>
|
|
778
|
+
<TableCell>Cell B</TableCell>
|
|
779
|
+
<TableCell>Cell C</TableCell>
|
|
780
|
+
</TableRow>
|
|
781
|
+
<TableRow>
|
|
782
|
+
<TableCell>Cell A</TableCell>
|
|
783
|
+
<TableCell>Cell B</TableCell>
|
|
784
|
+
<TableCell>Cell C</TableCell>
|
|
785
|
+
</TableRow>
|
|
786
|
+
</Table>
|
|
787
|
+
);
|
|
788
|
+
cy.get("[ui5-table]").as("table").children("ui5-table-row").as("rows");
|
|
789
|
+
cy.get("@table").children("ui5-table-header-row").first().as("headerRow");
|
|
790
|
+
cy.get("@headerRow").get("ui5-table-header-cell").each(($headerCell, index) => {
|
|
791
|
+
cy.wrap($headerCell).as(`headerCell${index + 1}`);
|
|
792
|
+
});
|
|
793
|
+
cy.get("@rows").each(($row, index) => {
|
|
794
|
+
cy.wrap($row).as(`row${index + 1}`);
|
|
795
|
+
});
|
|
796
|
+
});
|
|
797
|
+
|
|
798
|
+
it("should render header-cell correctly", () => {
|
|
799
|
+
cy.get("@headerCell1").contains("Column A");
|
|
800
|
+
cy.get("@headerCell2").should("have.attr", "aria-sort", "ascending");
|
|
801
|
+
cy.get("@headerCell2").find("ui5-table-header-cell-action-ai").as("actionB");
|
|
802
|
+
cy.get("@actionB").shadow().find("ui5-button").as("actionBbutton");
|
|
803
|
+
cy.get("@actionBbutton").should("have.attr", "icon", "ai");
|
|
804
|
+
cy.get("@actionBbutton").should("have.attr", "tooltip", "Generated by AI");
|
|
805
|
+
cy.get("@actionB").invoke("on", "click", cy.stub().as("actionBclick"));
|
|
806
|
+
cy.get("@actionBbutton").realClick();
|
|
807
|
+
cy.get("@actionBclick").should("have.been.calledOnce");
|
|
808
|
+
cy.get("@headerCell2").shadow().find("ui5-icon").as("actionBicon");
|
|
809
|
+
cy.get("@actionBicon").should("have.attr", "name", "sort-ascending");
|
|
810
|
+
|
|
811
|
+
cy.get("@headerCell2").invoke("attr", "sort-indicator", "Descending");
|
|
812
|
+
cy.get("@headerCell2").shadow().find("ui5-icon").should("have.attr", "name", "sort-descending");
|
|
813
|
+
cy.get("@actionBicon").should("have.attr", "name", "sort-descending");
|
|
814
|
+
cy.get("@headerCell2").should("have.attr", "aria-sort", "descending");
|
|
815
|
+
|
|
816
|
+
cy.get("@headerCell2").invoke("attr", "sort-indicator", "None");
|
|
817
|
+
cy.get("@headerCell2").shadow().find("ui5-icon").should("not.exist");
|
|
818
|
+
cy.get("@headerCell2").should("not.have.attr", "aria-sort");
|
|
819
|
+
|
|
820
|
+
cy.get("@table").invoke("css", "width", "250px");
|
|
821
|
+
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
822
|
+
cy.wait(50);
|
|
823
|
+
|
|
824
|
+
cy.get("@row1").find("ui5-table-cell[_popin]").as("row1popins");
|
|
825
|
+
cy.get("@row1popins").first().as("row1popinB");
|
|
826
|
+
cy.get("@row1popinB").shadow().find("ui5-table-header-cell-action-ai").as("row1popinBaction");
|
|
827
|
+
cy.get("@row1popinBaction").shadow().find("ui5-button").as("row1popinBbutton");
|
|
828
|
+
cy.get("@row1popinBbutton").should("have.attr", "icon", "ai");
|
|
829
|
+
cy.get("@row1popinBbutton").should("have.attr", "design", "Transparent");
|
|
830
|
+
cy.get("@row1popinBbutton").should("have.attr", "tooltip", "Generated by AI");
|
|
831
|
+
cy.get("@row1popinBbutton").realClick();
|
|
832
|
+
cy.get("@actionBclick").invoke("getCall", 1).its("args.0.detail.targetRef").as("actionBclickTarget");
|
|
833
|
+
cy.get("@actionBclickTarget").should("have.attr", "icon", "ai");
|
|
834
|
+
cy.get("@actionBclickTarget").should("have.attr", "design", "Transparent");
|
|
835
|
+
cy.get("@actionBclickTarget").should("have.attr", "tooltip", "Generated by AI");
|
|
836
|
+
|
|
837
|
+
cy.get("@row1popinB").shadow().find("ui5-label").as("row1popinBlabel");
|
|
838
|
+
cy.get("@row1popinBlabel").contains("Column B");
|
|
839
|
+
cy.get("@row1popinBlabel").should("have.attr", "wrapping-type", "None");
|
|
840
|
+
cy.get("@row1popinBlabel").should("have.attr", "required");
|
|
841
|
+
|
|
842
|
+
cy.get("@row1popins").last().as("row1popinC");
|
|
843
|
+
cy.get("@row1popinC").shadow().find("ui5-label").should("not.exist");
|
|
844
|
+
cy.get("@row1popinC").shadow().should("have.text", "Popin Text:");
|
|
845
|
+
cy.get("@row1popinC").should("have.text", "Cell C");
|
|
846
|
+
|
|
847
|
+
cy.get("@row2").find("ui5-table-cell[_popin]").as("row2popins");
|
|
848
|
+
cy.get("@row2popins").first().as("row2popinB");
|
|
849
|
+
cy.get("@row2popinB").shadow().find("ui5-table-header-cell-action-ai").as("row2popinBaction");
|
|
850
|
+
cy.get("@row2popinBaction").shadow().find("ui5-button").as("row2popinBbutton");
|
|
851
|
+
cy.get("@row2popinBbutton").should("have.attr", "icon", "ai");
|
|
852
|
+
cy.get("@row2popinBbutton").should("have.attr", "tooltip", "Generated by AI");
|
|
853
|
+
cy.get("@row2popinBbutton").realClick();
|
|
854
|
+
cy.get("@actionBclick").invoke("getCall", 2).its("args.0.detail.targetRef").as("actionBclickTarget");
|
|
855
|
+
cy.get("@actionBclickTarget").should("have.attr", "icon", "ai");
|
|
856
|
+
cy.get("@actionBclickTarget").should("have.attr", "design", "Transparent");
|
|
857
|
+
cy.get("@actionBclickTarget").should("have.attr", "tooltip", "Generated by AI");
|
|
858
|
+
});
|
|
859
|
+
});
|