@ui5/webcomponents 2.9.0 → 2.10.0-rc.0
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 +25 -0
- package/cypress/specs/Avatar.cy.tsx +1 -1
- package/cypress/specs/Calendar.cy.tsx +3 -3
- package/cypress/specs/ComboBox.cy.tsx +1 -1
- package/cypress/specs/DateTimePicker.cy.tsx +38 -37
- package/cypress/specs/F6.cy.tsx +4 -4
- package/cypress/specs/Form.cy.tsx +73 -10
- package/cypress/specs/FormSupport.cy.tsx +4 -4
- package/cypress/specs/Input.cy.tsx +1 -1
- package/cypress/specs/Link.cy.tsx +3 -3
- package/cypress/specs/MessageStrip.cy.tsx +9 -2
- package/cypress/specs/RadioButton.cy.tsx +499 -0
- package/cypress/specs/RatingIndicator.cy.tsx +1 -1
- package/cypress/specs/Select.cy.tsx +1 -1
- package/cypress/specs/TabContainer.cy.tsx +1 -1
- package/cypress/specs/Table.cy.tsx +4 -4
- package/cypress/specs/TableNavigationFixedHeader.cy.tsx +17 -17
- package/cypress/specs/TableSelection.cy.tsx +1 -6
- package/cypress/specs/TableSelections.cy.tsx +42 -6
- package/cypress/specs/TextArea.cy.tsx +3 -3
- package/cypress/specs/Toolbar.cy.tsx +1 -1
- package/cypress/specs/Tree.cy.tsx +24 -0
- package/cypress/specs/base/Events.cy.tsx +10 -1
- package/cypress/support/commands/Dialog.commands.ts +16 -0
- package/cypress/support/commands/Popover.commands.ts +16 -0
- package/cypress/support/commands/ResponsivePopover.commands.ts +42 -0
- package/cypress/support/commands/utils/popup-open.ts +35 -0
- package/cypress/support/commands.ts +4 -1
- package/cypress/support/component.ts +0 -16
- package/cypress/tsconfig.json +7 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/Form.d.ts +1 -0
- package/dist/Form.js +5 -2
- package/dist/Form.js.map +1 -1
- package/dist/MessageStripTemplate.js +3 -3
- package/dist/MessageStripTemplate.js.map +1 -1
- package/dist/Table.js +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/TableGrowing.js +5 -1
- package/dist/TableGrowing.js.map +1 -1
- package/dist/TableSelection.d.ts +1 -1
- package/dist/TableSelection.js +6 -9
- package/dist/TableSelection.js.map +1 -1
- package/dist/TableSelectionMulti.d.ts +1 -1
- package/dist/TableSelectionMulti.js +5 -8
- package/dist/TableSelectionMulti.js.map +1 -1
- package/dist/TreeItemBase.d.ts +15 -0
- package/dist/TreeItemBase.js +14 -0
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/TreeItemBaseTemplate.js +5 -1
- package/dist/TreeItemBaseTemplate.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 +35 -0
- package/dist/custom-elements.json +20 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.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/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/vscode.html-custom-data.json +3 -3
- package/dist/web-types.json +11 -3
- package/package.json +10 -10
- package/src/MessageStripTemplate.tsx +4 -3
- package/src/TreeItemBaseTemplate.tsx +7 -1
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/src/i18n/messagebundle_vi.properties +1 -1
- package/src/themes/ListItem.css +16 -9
- package/src/themes/TreeItem.css +9 -0
- package/src/themes/base/RadioButton-parameters.css +1 -1
- package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +0 -1
- package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +0 -1
- package/src/themes/sap_horizon/RadioButton-parameters.css +1 -0
- package/src/themes/sap_horizon_dark/RadioButton-parameters.css +1 -0
- package/src/themes/sap_horizon_hcb/RadioButton-parameters.css +0 -1
- package/src/themes/sap_horizon_hcw/RadioButton-parameters.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableSelection.js","sourceRoot":"","sources":["../src/TableSelection.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tisUpShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport UI5Element 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 TableSelectionMode from \"./types/TableSelectionMode.js\";\nimport type Table from \"./Table.js\";\nimport type { ITableFeature } from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\nimport { isSelectionCheckbox, isHeaderSelector, findRowInPath } from \"./TableUtils.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-selection` component is used inside the `ui5-table` to add key-based selection capabilities to the `ui5-table`.\n *\n * The component offers three selection modes:\n * * Single - select a single row.\n * * Multiple - select multiple rows.\n * * None - no selection active.\n *\n * As the selection is key-based, `ui5-table-row` components need to define a unique `row-key` property.\n *\n * ### Usage\n *\n * The `ui5-table-selection` component is only used inside the `ui5-table` component as a feature.\n * It has to be slotted inside the `ui5-table` in the `features` slot.\n * The component is not intended to be used as a standalone component.\n *\n * ```html\n * <ui5-table>\n * \t<ui5-table-selection mode=\"Multiple\" slot=\"features\"></ui5-table-selection>\n * </ui5-table>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableSelection.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @since 2.0.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n * @deprecated This component is deprecated and will be removed in future releases. Use the `ui5-table-selection-single` or `ui5-table-selection-multi` components instead.\n */\n@customElement({ tag: \"ui5-table-selection\" })\n\n/**\n * Fired when the selection is changed by user interaction.\n *\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n\nclass TableSelection extends UI5Element implements ITableFeature {\n\teventDetails!: {\n\t\tchange: void,\n\t}\n\t/**\n\t * Defines the selection mode.\n\t *\n\t * @default \"Multiple\"\n\t * @public\n\t */\n\t@property()\n\tmode: `${TableSelectionMode}` = \"Multiple\";\n\n\t/**\n\t * Defines the selected rows separated by a space.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tselected = \"\";\n\n\treadonly identifier = \"TableSelection\";\n\t_table?: Table;\n\t_rowsLength = 0;\n\t_rangeSelection?: {selected: boolean, isUp: boolean | null, rows: TableRow[], isMouse: boolean, shiftPressed: boolean} | null;\n\n\tonTableActivate(table: Table) {\n\t\tthis._table = table;\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tonExitDOM() {\n\t\tthis.mode = TableSelectionMode.None;\n\t\tthis._invalidateTableAndRows();\n\t\tthis._table = undefined;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tonTableBeforeRendering() {\n\t\tif (this.isMultiSelectable() && this._table && this._table.headerRow[0] && this._rowsLength !== this._table.rows.length) {\n\t\t\tthis._rowsLength = this._table.rows.length;\n\t\t\tthis._table.headerRow[0]._invalidate++;\n\t\t}\n\t}\n\n\tisSelectable(): boolean {\n\t\treturn this.mode !== TableSelectionMode.None;\n\t}\n\n\tisMultiSelectable(): boolean {\n\t\treturn this.mode === TableSelectionMode.Multiple;\n\t}\n\n\tisRowSelectorRequired(): boolean {\n\t\treturn this.mode !== TableSelectionMode.None;\n\t}\n\n\tgetRowKey(row: TableRow): string {\n\t\treturn row.rowKey || \"\";\n\t}\n\n\tisSelected(row: TableRowBase): boolean {\n\t\tif (!this._table || !this.isSelectable()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (row.isHeaderRow()) {\n\t\t\treturn this.areAllRowsSelected();\n\t\t}\n\n\t\tconst rowKey = this.getRowKey(row as TableRow);\n\t\treturn this.selectedAsArray.includes(rowKey);\n\t}\n\n\thasSelectedRow(): boolean {\n\t\tif (!this._table || !this.isSelectable()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedArray = this.selectedAsArray;\n\t\treturn this._table.rows.some(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\treturn selectedArray.includes(rowKey);\n\t\t});\n\t}\n\n\tareAllRowsSelected(): boolean {\n\t\tif (!this._table || !this._table.rows.length || this.mode !== TableSelectionMode.Multiple) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedArray = this.selectedAsArray;\n\t\treturn this._table.rows.every(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\treturn selectedArray.includes(rowKey);\n\t\t});\n\t}\n\n\tsetSelected(row: TableRowBase, selected: boolean, fireEvent = false) {\n\t\tif (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (row.isHeaderRow()) {\n\t\t\tthis._selectHeaderRow(selected);\n\t\t} else {\n\t\t\tthis._selectRow(row as TableRow, selected);\n\t\t}\n\n\t\tif (fireEvent) {\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\t}\n\n\tget selectedAsArray(): string[] {\n\t\treturn this.selected.split(\" \").filter(String);\n\t}\n\n\tset selectedAsArray(selectedArray: string[]) {\n\t\tthis.selected = selectedArray.filter(String).join(\" \");\n\t}\n\n\tget selectedAsSet(): Set<string> {\n\t\treturn new Set(this.selectedAsArray);\n\t}\n\n\tset selectedAsSet(selectedSet: Set<string>) {\n\t\tthis.selectedAsArray = [...selectedSet];\n\t}\n\n\t_selectRow(row: TableRow, selected: boolean) {\n\t\tconst rowKey = this.getRowKey(row);\n\t\tif (this.mode === TableSelectionMode.Multiple) {\n\t\t\tconst selectedSet = this.selectedAsSet;\n\t\t\tselectedSet[selected ? \"add\" : \"delete\"](rowKey);\n\t\t\tthis.selectedAsSet = selectedSet;\n\t\t} else {\n\t\t\tthis.selected = selected ? rowKey : \"\";\n\t\t}\n\t}\n\n\t_selectHeaderRow(selected: boolean) {\n\t\tconst selectedSet = this.selectedAsSet;\n\t\tthis._table!.rows.forEach(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\tselectedSet[selected ? \"add\" : \"delete\"](rowKey);\n\t\t});\n\t\tthis.selectedAsSet = selectedSet;\n\t}\n\n\t_invalidateTableAndRows() {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.isSelectable()) {\n\t\t\tthis.selected = \"\";\n\t\t} else if (!this.isMultiSelectable()) {\n\t\t\tthis.selected = this.selectedAsArray.shift() || \"\";\n\t\t}\n\n\t\tthis._table._invalidate++;\n\t\tthis._table.headerRow[0]._invalidate++;\n\t\tthis._table.rows.forEach(row => row._invalidate++);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this.isMultiSelectable() || !this._table || !e.shiftKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusedElement = getActiveElement(); // Assumption: The focused element is always the \"next\" row after navigation.\n\n\t\tif (!(focusedElement?.hasAttribute(\"ui5-table-row\") || this._rangeSelection?.isMouse || focusedElement?.hasAttribute(\"ui5-growing-row\"))) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._rangeSelection) {\n\t\t\t// If no range selection is active, start one\n\t\t\tthis._startRangeSelection(focusedElement as TableRow);\n\t\t} else if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n\t\t\tconst change = isUpShift(e) ? -1 : 1;\n\t\t\tthis._handleRangeSelection(focusedElement as TableRow, change);\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!eventOrigin.hasAttribute(\"ui5-table-row\") || !this._rangeSelection || !e.shiftKey) {\n\t\t\t// Stop range selection if a) Shift is relased or b) the event target is not a row\n\t\t\tthis._stopRangeSelection();\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHeaderSelector(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isSelectionCheckbox(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = findRowInPath(e.composedPath());\n\n\t\tif (e.shiftKey && this._rangeSelection?.isMouse) {\n\t\t\tconst startRow = this._rangeSelection.rows[0];\n\t\t\tconst startIndex = this._table.rows.indexOf(startRow);\n\t\t\tconst endIndex = this._table.rows.indexOf(row);\n\n\t\t\t// When doing a range selection and clicking on an already selected row, the checked status should not change\n\t\t\t// Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to\n\t\t\t// a visual inconsistency.\n\t\t\trow.shadowRoot?.querySelector(\"#selection-component\")?.toggleAttribute(\"checked\", true);\n\n\t\t\tif (startIndex === -1 || endIndex === -1 || row.rowKey === startRow.rowKey || row.rowKey === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].rowKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst change = endIndex - startIndex;\n\t\t\tthis._handleRangeSelection(row, change);\n\t\t} else if (row) {\n\t\t\tthis._startRangeSelection(row, true);\n\t\t}\n\t}\n\n\t/**\n\t * Start the range selection and initialises the range selection state\n\t * @param row starting row\n\t * @private\n\t */\n\t_startRangeSelection(row: TableRow, isMouse = false) {\n\t\tconst selected = this.isSelected(row);\n\t\tif (isMouse && !selected) {\n\t\t\t// Do not initiate range selection if the row is not selected\n\t\t\treturn;\n\t\t}\n\n\t\tthis._rangeSelection = {\n\t\t\tselected,\n\t\t\tisUp: null,\n\t\t\trows: [row],\n\t\t\tisMouse,\n\t\t\tshiftPressed: false,\n\t\t};\n\t}\n\n\t/**\n\t * Handles the range selection\n\t * @param targetRow row that is currently focused\n\t * @param change indicates direction\n\t * @private\n\t */\n\t_handleRangeSelection(targetRow: TableRow, change: number) {\n\t\tif (!this._rangeSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isUp = change > 0;\n\t\tthis._rangeSelection.isUp ??= isUp;\n\n\t\tconst shouldReverseSelection = isUp !== this._rangeSelection.isUp && !this._rangeSelection.isMouse;\n\t\tlet selectionChanged = shouldReverseSelection && this.isSelected(targetRow);\n\n\t\tif (shouldReverseSelection) {\n\t\t\tthis._reverseRangeSelection();\n\t\t} else {\n\t\t\tconst rowIndex = this._table!.rows.indexOf(targetRow);\n\t\t\tconst [startIndex, endIndex] = [rowIndex, rowIndex - change].sort((a, b) => a - b);\n\n\t\t\tselectionChanged = this._table?.rows.slice(startIndex, endIndex + 1).reduce((changed, row) => {\n\t\t\t\tconst isRowNotInSelection = !this._rangeSelection?.rows.includes(row);\n\t\t\t\tconst isRowSelectionDifferent = this.isSelected(row) !== this._rangeSelection!.selected;\n\n\t\t\t\tif (isRowNotInSelection) {\n\t\t\t\t\tthis._rangeSelection?.rows.push(row);\n\t\t\t\t}\n\n\t\t\t\tthis._selectRow(row, this._rangeSelection!.selected);\n\n\t\t\t\treturn changed || isRowSelectionDifferent;\n\t\t\t}, selectionChanged) || false;\n\t\t}\n\n\t\tselectionChanged && this.fireDecoratorEvent(\"change\");\n\t}\n\n\t_stopRangeSelection() {\n\t\tthis._rangeSelection = null;\n\t}\n\n\t_reverseRangeSelection() {\n\t\tconst row = this._rangeSelection?.rows.pop();\n\t\tif (row) {\n\t\t\tthis._selectRow(row, false);\n\t\t}\n\n\t\tif (this._rangeSelection?.rows.length === 1) {\n\t\t\tthis._rangeSelection.isUp = null;\n\t\t}\n\t}\n}\n\nTableSelection.define();\n\nexport default TableSelection;\n"]}
|
|
1
|
+
{"version":3,"file":"TableSelection.js","sourceRoot":"","sources":["../src/TableSelection.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tisUpShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport UI5Element 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 TableSelectionMode from \"./types/TableSelectionMode.js\";\nimport type Table from \"./Table.js\";\nimport type { ITableFeature } from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\nimport { isSelectionCheckbox, isHeaderSelector, findRowInPath } from \"./TableUtils.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-selection` component is used inside the `ui5-table` to add key-based selection capabilities to the `ui5-table`.\n *\n * The component offers three selection modes:\n * * Single - select a single row.\n * * Multiple - select multiple rows.\n * * None - no selection active.\n *\n * As the selection is key-based, `ui5-table-row` components need to define a unique `row-key` property.\n *\n * ### Usage\n *\n * The `ui5-table-selection` component is only used inside the `ui5-table` component as a feature.\n * It has to be slotted inside the `ui5-table` in the `features` slot.\n * The component is not intended to be used as a standalone component.\n *\n * ```html\n * <ui5-table>\n * \t<ui5-table-selection mode=\"Multiple\" slot=\"features\"></ui5-table-selection>\n * </ui5-table>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableSelection.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @since 2.0.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n * @deprecated This component is deprecated and will be removed in future releases. Use the `ui5-table-selection-single` or `ui5-table-selection-multi` components instead.\n */\n@customElement({ tag: \"ui5-table-selection\" })\n\n/**\n * Fired when the selection is changed by user interaction.\n *\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n\nclass TableSelection extends UI5Element implements ITableFeature {\n\teventDetails!: {\n\t\tchange: void,\n\t}\n\t/**\n\t * Defines the selection mode.\n\t *\n\t * @default \"Multiple\"\n\t * @public\n\t */\n\t@property()\n\tmode: `${TableSelectionMode}` = \"Multiple\";\n\n\t/**\n\t * Defines the selected rows separated by a space.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tselected = \"\";\n\n\treadonly identifier = \"TableSelection\";\n\t_table?: Table;\n\t_rowsLength = 0;\n\t_rangeSelection?: {selected: boolean, isUp: boolean | null, rows: TableRow[], isMouse: boolean, shiftPressed: boolean} | null;\n\n\tonTableActivate(table: Table) {\n\t\tthis._table = table;\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tonExitDOM() {\n\t\tthis.mode = TableSelectionMode.None;\n\t\tthis._invalidateTableAndRows();\n\t\tthis._table = undefined;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tonTableBeforeRendering() {\n\t\tif (this.isMultiSelectable() && this._table && this._table.headerRow[0] && this._rowsLength !== this._table.rows.length) {\n\t\t\tthis._rowsLength = this._table.rows.length;\n\t\t\tthis._table.headerRow[0]._invalidate++;\n\t\t}\n\t}\n\n\tisSelectable(): boolean {\n\t\treturn this.mode !== TableSelectionMode.None;\n\t}\n\n\tisMultiSelectable(): boolean {\n\t\treturn this.mode === TableSelectionMode.Multiple;\n\t}\n\n\tisRowSelectorRequired(): boolean {\n\t\treturn this.mode !== TableSelectionMode.None;\n\t}\n\n\tgetRowKey(row: TableRow): string {\n\t\treturn row.rowKey || \"\";\n\t}\n\n\tisSelected(row: TableRowBase): boolean {\n\t\tif (!this._table || !this.isSelectable()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (row.isHeaderRow()) {\n\t\t\treturn this.areAllRowsSelected();\n\t\t}\n\n\t\tconst rowKey = this.getRowKey(row as TableRow);\n\t\treturn this.selectedAsArray.includes(rowKey);\n\t}\n\n\thasSelectedRow(): boolean {\n\t\tif (!this._table || !this.isSelectable()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedArray = this.selectedAsArray;\n\t\treturn this._table.rows.some(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\treturn selectedArray.includes(rowKey);\n\t\t});\n\t}\n\n\tareAllRowsSelected(): boolean {\n\t\tif (!this._table || !this._table.rows.length || this.mode !== TableSelectionMode.Multiple) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedArray = this.selectedAsArray;\n\t\treturn this._table.rows.every(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\treturn selectedArray.includes(rowKey);\n\t\t});\n\t}\n\n\tsetSelected(row: TableRowBase, selected: boolean, fireEvent = false) {\n\t\tif (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (row.isHeaderRow()) {\n\t\t\tthis._selectHeaderRow(selected);\n\t\t} else {\n\t\t\tthis._selectRow(row as TableRow, selected);\n\t\t}\n\n\t\tif (fireEvent) {\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\t}\n\n\tget selectedAsArray(): string[] {\n\t\treturn this.selected.split(\" \").filter(String);\n\t}\n\n\tset selectedAsArray(selectedArray: string[]) {\n\t\tthis.selected = selectedArray.filter(String).join(\" \");\n\t}\n\n\tget selectedAsSet(): Set<string> {\n\t\treturn new Set(this.selectedAsArray);\n\t}\n\n\tset selectedAsSet(selectedSet: Set<string>) {\n\t\tthis.selectedAsArray = [...selectedSet];\n\t}\n\n\t_selectRow(row: TableRow, selected: boolean) {\n\t\tconst rowKey = this.getRowKey(row);\n\t\tif (this.mode === TableSelectionMode.Multiple) {\n\t\t\tconst selectedSet = this.selectedAsSet;\n\t\t\tselectedSet[selected ? \"add\" : \"delete\"](rowKey);\n\t\t\tthis.selectedAsSet = selectedSet;\n\t\t} else {\n\t\t\tthis.selected = selected ? rowKey : \"\";\n\t\t}\n\t}\n\n\t_selectHeaderRow(selected: boolean) {\n\t\tconst selectedSet = this.selectedAsSet;\n\t\tthis._table!.rows.forEach(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\tselectedSet[selected ? \"add\" : \"delete\"](rowKey);\n\t\t});\n\t\tthis.selectedAsSet = selectedSet;\n\t}\n\n\t_invalidateTableAndRows() {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.isSelectable()) {\n\t\t\tthis.selected = \"\";\n\t\t} else if (!this.isMultiSelectable()) {\n\t\t\tthis.selected = this.selectedAsArray.shift() || \"\";\n\t\t}\n\n\t\tthis._table._invalidate++;\n\t\tthis._table.headerRow[0]._invalidate++;\n\t\tthis._table.rows.forEach(row => row._invalidate++);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this.isMultiSelectable() || !this._table || !e.shiftKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusedElement = getActiveElement(); // Assumption: The focused element is always the \"next\" row after navigation.\n\n\t\tif (!(focusedElement?.hasAttribute(\"ui5-table-row\") || this._rangeSelection?.isMouse || focusedElement?.hasAttribute(\"ui5-growing-row\"))) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._rangeSelection) {\n\t\t\t// If no range selection is active, start one\n\t\t\tconst row = focusedElement as TableRow;\n\t\t\tthis._startRangeSelection(row, this.isSelected(row));\n\t\t} else if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n\t\t\tconst change = isUpShift(e) ? -1 : 1;\n\t\t\tthis._handleRangeSelection(focusedElement as TableRow, change);\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!eventOrigin.hasAttribute(\"ui5-table-row\") || !this._rangeSelection || !e.shiftKey) {\n\t\t\t// Stop range selection if a) Shift is relased or b) the event target is not a row\n\t\t\tthis._stopRangeSelection();\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this._table || this.mode !== TableSelectionMode.Multiple) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHeaderSelector(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isSelectionCheckbox(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = findRowInPath(e.composedPath());\n\n\t\tif (e.shiftKey && this._rangeSelection?.isMouse) {\n\t\t\tconst startRow = this._rangeSelection.rows[0];\n\t\t\tconst startIndex = this._table.rows.indexOf(startRow);\n\t\t\tconst endIndex = this._table.rows.indexOf(row);\n\n\t\t\t// When doing a range selection and clicking on an already selected row, the checked status should not change\n\t\t\t// Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to\n\t\t\t// a visual inconsistency.\n\t\t\trow.shadowRoot?.querySelector(\"#selection-component\")?.toggleAttribute(\"checked\", true);\n\t\t\te.stopImmediatePropagation();\n\n\t\t\tif (startIndex === -1 || endIndex === -1 || row.rowKey === startRow.rowKey || row.rowKey === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].rowKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst change = endIndex - startIndex;\n\t\t\tthis._handleRangeSelection(row, change);\n\t\t} else if (row) {\n\t\t\tthis._startRangeSelection(row, !this.isSelected(row), true);\n\t\t}\n\t}\n\n\t/**\n\t * Start the range selection and initialises the range selection state\n\t * @param row starting row\n\t * @private\n\t */\n\t_startRangeSelection(row: TableRow, selected: boolean, isMouse = false) {\n\t\tthis._rangeSelection = {\n\t\t\tselected,\n\t\t\tisUp: null,\n\t\t\trows: [row],\n\t\t\tisMouse,\n\t\t\tshiftPressed: false,\n\t\t};\n\t}\n\n\t/**\n\t * Handles the range selection\n\t * @param targetRow row that is currently focused\n\t * @param change indicates direction\n\t * @private\n\t */\n\t_handleRangeSelection(targetRow: TableRow, change: number) {\n\t\tif (!this._rangeSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isUp = change > 0;\n\t\tthis._rangeSelection.isUp ??= isUp;\n\n\t\tconst shouldReverseSelection = isUp !== this._rangeSelection.isUp && !this._rangeSelection.isMouse;\n\t\tlet selectionChanged = shouldReverseSelection && this.isSelected(targetRow);\n\n\t\tif (shouldReverseSelection) {\n\t\t\tthis._reverseRangeSelection();\n\t\t} else {\n\t\t\tconst rowIndex = this._table!.rows.indexOf(targetRow);\n\t\t\tconst [startIndex, endIndex] = [rowIndex, rowIndex - change].sort((a, b) => a - b);\n\n\t\t\tselectionChanged = this._table?.rows.slice(startIndex, endIndex + 1).reduce((changed, row) => {\n\t\t\t\tconst isRowNotInSelection = !this._rangeSelection?.rows.includes(row);\n\t\t\t\tconst isRowSelectionDifferent = this.isSelected(row) !== this._rangeSelection!.selected;\n\n\t\t\t\tif (isRowNotInSelection) {\n\t\t\t\t\tthis._rangeSelection?.rows.push(row);\n\t\t\t\t}\n\n\t\t\t\tthis._selectRow(row, this._rangeSelection!.selected);\n\n\t\t\t\treturn changed || isRowSelectionDifferent;\n\t\t\t}, selectionChanged) || false;\n\t\t}\n\n\t\tselectionChanged && this.fireDecoratorEvent(\"change\");\n\t}\n\n\t_stopRangeSelection() {\n\t\tthis._rangeSelection = null;\n\t}\n\n\t_reverseRangeSelection() {\n\t\tconst row = this._rangeSelection?.rows.pop();\n\t\tif (row) {\n\t\t\tthis._selectRow(row, false);\n\t\t}\n\n\t\tif (this._rangeSelection?.rows.length === 1) {\n\t\t\tthis._rangeSelection.isUp = null;\n\t\t}\n\t}\n}\n\nTableSelection.define();\n\nexport default TableSelection;\n"]}
|
|
@@ -76,7 +76,7 @@ declare class TableSelectionMulti extends TableSelectionBase {
|
|
|
76
76
|
* @param row starting row
|
|
77
77
|
* @private
|
|
78
78
|
*/
|
|
79
|
-
_startRangeSelection(row: TableRow, isMouse?: boolean): void;
|
|
79
|
+
_startRangeSelection(row: TableRow, selected: boolean, isMouse?: boolean): void;
|
|
80
80
|
/**
|
|
81
81
|
* Handles the range selection
|
|
82
82
|
* @param targetRow Row that is currently focused
|
|
@@ -128,7 +128,8 @@ let TableSelectionMulti = class TableSelectionMulti extends TableSelectionBase {
|
|
|
128
128
|
}
|
|
129
129
|
if (!this._rangeSelection) {
|
|
130
130
|
// If no range selection is active, start one
|
|
131
|
-
|
|
131
|
+
const row = focusedElement;
|
|
132
|
+
this._startRangeSelection(row, this.isSelected(row));
|
|
132
133
|
}
|
|
133
134
|
else if (e.key === "ArrowUp" || e.key === "ArrowDown") {
|
|
134
135
|
const change = isUpShift(e) ? -1 : 1;
|
|
@@ -171,6 +172,7 @@ let TableSelectionMulti = class TableSelectionMulti extends TableSelectionBase {
|
|
|
171
172
|
// Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to
|
|
172
173
|
// a visual inconsistency.
|
|
173
174
|
row.shadowRoot?.querySelector("#selection-component")?.toggleAttribute("checked", true);
|
|
175
|
+
e.stopImmediatePropagation();
|
|
174
176
|
if (startIndex === -1 || endIndex === -1 || row.rowKey === startRow.rowKey || row.rowKey === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].rowKey) {
|
|
175
177
|
return;
|
|
176
178
|
}
|
|
@@ -178,7 +180,7 @@ let TableSelectionMulti = class TableSelectionMulti extends TableSelectionBase {
|
|
|
178
180
|
this._handleRangeSelection(row, change);
|
|
179
181
|
}
|
|
180
182
|
else if (row) {
|
|
181
|
-
this._startRangeSelection(row, true);
|
|
183
|
+
this._startRangeSelection(row, !this.isSelected(row), true);
|
|
182
184
|
}
|
|
183
185
|
}
|
|
184
186
|
/**
|
|
@@ -186,12 +188,7 @@ let TableSelectionMulti = class TableSelectionMulti extends TableSelectionBase {
|
|
|
186
188
|
* @param row starting row
|
|
187
189
|
* @private
|
|
188
190
|
*/
|
|
189
|
-
_startRangeSelection(row, isMouse = false) {
|
|
190
|
-
const selected = this.isSelected(row);
|
|
191
|
-
if (isMouse && !selected) {
|
|
192
|
-
// Do not initiate range selection if the row is not selected
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
191
|
+
_startRangeSelection(row, selected, isMouse = false) {
|
|
195
192
|
this._rangeSelection = {
|
|
196
193
|
selected,
|
|
197
194
|
isUp: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableSelectionMulti.js","sourceRoot":"","sources":["../src/TableSelectionMulti.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableSelectionBase from \"./TableSelectionBase.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { isSelectionCheckbox, isHeaderSelector, findRowInPath } from \"./TableUtils.js\";\nimport { isUpShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-selection-multi` component is used inside the `ui5-table` to add multi-selection capabilities to the `ui5-table`.\n * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property.\n *\n * ### Usage\n *\n * The `ui5-table-selection-multi` component is a feature designed exclusively for use within the `ui5-table` component.\n * It must be placed inside the `features` slot of `ui5-table`.\n * This component is not intended for standalone use.\n *\n * ```html\n * <ui5-table>\n * \t<ui5-table-selection-multi slot=\"features\" selected=\"Row1 Row3\"></ui5-table-selection-multi>\n * </ui5-table>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableSelectionMulti.js\";`\n *\n * @constructor\n * @extends TableSelectionBase\n * @since 2.8.0\n * @public\n */\n@customElement({ tag: \"ui5-table-selection-multi\" })\n\nclass TableSelectionMulti extends TableSelectionBase {\n\t/**\n\t * Defines the `row-key` values of selected rows, with each value separated by a space.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tselected?: string;\n\n\tprivate _rowsLength = 0;\n\tprivate _rangeSelection?: {\n\t\tselected: boolean,\n\t\tisUp: boolean | null,\n\t\trows: TableRow[],\n\t\tisMouse: boolean,\n\t\tshiftPressed: boolean\n\t} | null;\n\n\tonTableBeforeRendering() {\n\t\tif (this._table && this._table.headerRow[0] && this._rowsLength !== this._table.rows.length) {\n\t\t\tthis._rowsLength = this._table.rows.length;\n\t\t\tthis._table.headerRow[0]._invalidate++;\n\t\t}\n\t}\n\n\tisMultiSelectable(): boolean {\n\t\treturn true;\n\t}\n\n\tisSelected(row: TableRowBase): boolean {\n\t\tif (row.isHeaderRow()) {\n\t\t\treturn this.areAllRowsSelected();\n\t\t}\n\n\t\tconst rowKey = this.getRowKey(row as TableRow);\n\t\treturn this.getSelectedAsSet().has(rowKey);\n\t}\n\n\tsetSelected(row: TableRowBase, selected: boolean, fireEvent: boolean = false) {\n\t\tif (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tableRows = row.isHeaderRow() ? this._table!.rows : [row as TableRow];\n\t\tconst selectedSet = this.getSelectedAsSet();\n\t\ttableRows.forEach(tableRow => {\n\t\t\tconst rowKey = this.getRowKey(tableRow);\n\t\t\tselectedSet[selected ? \"add\" : \"delete\"](rowKey);\n\t\t});\n\n\t\tthis.setSelectedAsSet(selectedSet);\n\t\tfireEvent && this.fireDecoratorEvent(\"change\");\n\t}\n\n\t/**\n\t * Returns an array of the selected rows.\n\t *\n\t * @public\n\t */\n\tgetSelectedRows(): TableRow[] {\n\t\treturn this._table ? this._table.rows.filter(row => this.isSelected(row)) : [];\n\t}\n\n\t/**\n\t * Determines whether all rows are selected.\n\t */\n\tareAllRowsSelected(): boolean {\n\t\tif (!this._table || !this._table.rows.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedSet = this.getSelectedAsSet();\n\t\treturn this._table.rows.every(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\treturn selectedSet.has(rowKey);\n\t\t});\n\t}\n\n\t/**\n\t * Returns the `selected` property as a set of unique `row-key` values.\n\t *\n\t * @public\n\t */\n\tgetSelectedAsSet(): Set<string> {\n\t\tconst selected = this.selected || \"\";\n\t\tconst selectedArray = selected.split(\" \").filter(String);\n\t\treturn new Set(selectedArray);\n\t}\n\n\t/**\n\t * Sets the `selected` property using the provided set of unique `row-key` values.\n\t *\n\t * @param selectedSet A set of `row-key` values\n\t * @public\n\t */\n\tsetSelectedAsSet(selectedSet: Set<string>): void {\n\t\tthis.selected = [...selectedSet].join(\" \");\n\t}\n\n\t_invalidateTableAndRows() {\n\t\tsuper._invalidateTableAndRows();\n\t\tconst headerRow = this._table?.headerRow[0];\n\t\theaderRow && headerRow._invalidate++;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this._table || !e.shiftKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusedElement = getActiveElement(); // Assumption: The focused element is always the \"next\" row after navigation.\n\n\t\tif (!(focusedElement?.hasAttribute(\"ui5-table-row\") || this._rangeSelection?.isMouse || focusedElement?.hasAttribute(\"ui5-growing-row\"))) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._rangeSelection) {\n\t\t\t// If no range selection is active, start one\n\t\t\tthis._startRangeSelection(focusedElement as TableRow);\n\t\t} else if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n\t\t\tconst change = isUpShift(e) ? -1 : 1;\n\t\t\tthis._handleRangeSelection(focusedElement as TableRow, change);\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!eventOrigin.hasAttribute(\"ui5-table-row\") || !this._rangeSelection || !e.shiftKey) {\n\t\t\t// Stop range selection if a) Shift is relased or b) the event target is not a row\n\t\t\tthis._stopRangeSelection();\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHeaderSelector(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isSelectionCheckbox(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = findRowInPath(e.composedPath());\n\n\t\tif (e.shiftKey && this._rangeSelection?.isMouse) {\n\t\t\tconst startRow = this._rangeSelection.rows[0];\n\t\t\tconst startIndex = this._table.rows.indexOf(startRow);\n\t\t\tconst endIndex = this._table.rows.indexOf(row);\n\n\t\t\t// When doing a range selection and clicking on an already selected row, the checked status should not change\n\t\t\t// Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to\n\t\t\t// a visual inconsistency.\n\t\t\trow.shadowRoot?.querySelector(\"#selection-component\")?.toggleAttribute(\"checked\", true);\n\n\t\t\tif (startIndex === -1 || endIndex === -1 || row.rowKey === startRow.rowKey || row.rowKey === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].rowKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst change = endIndex - startIndex;\n\t\t\tthis._handleRangeSelection(row, change);\n\t\t} else if (row) {\n\t\t\tthis._startRangeSelection(row, true);\n\t\t}\n\t}\n\n\t/**\n\t * Start the range selection and initialises the range selection state\n\t * @param row starting row\n\t * @private\n\t */\n\t_startRangeSelection(row: TableRow, isMouse = false) {\n\t\tconst selected = this.isSelected(row);\n\t\tif (isMouse && !selected) {\n\t\t\t// Do not initiate range selection if the row is not selected\n\t\t\treturn;\n\t\t}\n\n\t\tthis._rangeSelection = {\n\t\t\tselected,\n\t\t\tisUp: null,\n\t\t\trows: [row],\n\t\t\tisMouse,\n\t\t\tshiftPressed: false,\n\t\t};\n\t}\n\n\t/**\n\t * Handles the range selection\n\t * @param targetRow Row that is currently focused\n\t * @param change indicates direction\n\t * @private\n\t */\n\t_handleRangeSelection(targetRow: TableRow, change: number) {\n\t\tif (!this._rangeSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isUp = change > 0;\n\t\tthis._rangeSelection.isUp ??= isUp;\n\n\t\tconst shouldReverseSelection = isUp !== this._rangeSelection.isUp && !this._rangeSelection.isMouse;\n\t\tlet selectionChanged = shouldReverseSelection && this.isSelected(targetRow);\n\n\t\tif (shouldReverseSelection) {\n\t\t\tthis._reverseRangeSelection();\n\t\t} else {\n\t\t\tconst rowIndex = this._table!.rows.indexOf(targetRow);\n\t\t\tconst [startIndex, endIndex] = [rowIndex, rowIndex - change].sort((a, b) => a - b);\n\t\t\tconst selectedSet = this.getSelectedAsSet();\n\n\t\t\tselectionChanged = this._table?.rows.slice(startIndex, endIndex + 1).reduce((changed, row) => {\n\t\t\t\tconst isRowNotInSelection = !this._rangeSelection?.rows.includes(row);\n\t\t\t\tconst isRowSelectionDifferent = this.isSelected(row) !== this._rangeSelection!.selected;\n\n\t\t\t\tif (isRowNotInSelection) {\n\t\t\t\t\tthis._rangeSelection?.rows.push(row);\n\t\t\t\t}\n\n\t\t\t\tselectedSet[this._rangeSelection!.selected ? \"add\" : \"delete\"](this.getRowKey(row));\n\n\t\t\t\treturn changed || isRowSelectionDifferent;\n\t\t\t}, selectionChanged) || false;\n\n\t\t\tthis.setSelectedAsSet(selectedSet);\n\t\t}\n\n\t\tselectionChanged && this.fireDecoratorEvent(\"change\");\n\t}\n\n\t_stopRangeSelection() {\n\t\tthis._rangeSelection = null;\n\t}\n\n\t_reverseRangeSelection() {\n\t\tconst row = this._rangeSelection?.rows.pop();\n\t\tif (row) {\n\t\t\tthis.setSelected(row, false);\n\t\t}\n\n\t\tif (this._rangeSelection?.rows.length === 1) {\n\t\t\tthis._rangeSelection.isUp = null;\n\t\t}\n\t}\n}\n\nTableSelectionMulti.define();\n\nexport default TableSelectionMulti;\n"]}
|
|
1
|
+
{"version":3,"file":"TableSelectionMulti.js","sourceRoot":"","sources":["../src/TableSelectionMulti.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport TableSelectionBase from \"./TableSelectionBase.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { isSelectionCheckbox, isHeaderSelector, findRowInPath } from \"./TableUtils.js\";\nimport { isUpShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-selection-multi` component is used inside the `ui5-table` to add multi-selection capabilities to the `ui5-table`.\n * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property.\n *\n * ### Usage\n *\n * The `ui5-table-selection-multi` component is a feature designed exclusively for use within the `ui5-table` component.\n * It must be placed inside the `features` slot of `ui5-table`.\n * This component is not intended for standalone use.\n *\n * ```html\n * <ui5-table>\n * \t<ui5-table-selection-multi slot=\"features\" selected=\"Row1 Row3\"></ui5-table-selection-multi>\n * </ui5-table>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableSelectionMulti.js\";`\n *\n * @constructor\n * @extends TableSelectionBase\n * @since 2.8.0\n * @public\n */\n@customElement({ tag: \"ui5-table-selection-multi\" })\n\nclass TableSelectionMulti extends TableSelectionBase {\n\t/**\n\t * Defines the `row-key` values of selected rows, with each value separated by a space.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tselected?: string;\n\n\tprivate _rowsLength = 0;\n\tprivate _rangeSelection?: {\n\t\tselected: boolean,\n\t\tisUp: boolean | null,\n\t\trows: TableRow[],\n\t\tisMouse: boolean,\n\t\tshiftPressed: boolean\n\t} | null;\n\n\tonTableBeforeRendering() {\n\t\tif (this._table && this._table.headerRow[0] && this._rowsLength !== this._table.rows.length) {\n\t\t\tthis._rowsLength = this._table.rows.length;\n\t\t\tthis._table.headerRow[0]._invalidate++;\n\t\t}\n\t}\n\n\tisMultiSelectable(): boolean {\n\t\treturn true;\n\t}\n\n\tisSelected(row: TableRowBase): boolean {\n\t\tif (row.isHeaderRow()) {\n\t\t\treturn this.areAllRowsSelected();\n\t\t}\n\n\t\tconst rowKey = this.getRowKey(row as TableRow);\n\t\treturn this.getSelectedAsSet().has(rowKey);\n\t}\n\n\tsetSelected(row: TableRowBase, selected: boolean, fireEvent: boolean = false) {\n\t\tif (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tableRows = row.isHeaderRow() ? this._table!.rows : [row as TableRow];\n\t\tconst selectedSet = this.getSelectedAsSet();\n\t\ttableRows.forEach(tableRow => {\n\t\t\tconst rowKey = this.getRowKey(tableRow);\n\t\t\tselectedSet[selected ? \"add\" : \"delete\"](rowKey);\n\t\t});\n\n\t\tthis.setSelectedAsSet(selectedSet);\n\t\tfireEvent && this.fireDecoratorEvent(\"change\");\n\t}\n\n\t/**\n\t * Returns an array of the selected rows.\n\t *\n\t * @public\n\t */\n\tgetSelectedRows(): TableRow[] {\n\t\treturn this._table ? this._table.rows.filter(row => this.isSelected(row)) : [];\n\t}\n\n\t/**\n\t * Determines whether all rows are selected.\n\t */\n\tareAllRowsSelected(): boolean {\n\t\tif (!this._table || !this._table.rows.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedSet = this.getSelectedAsSet();\n\t\treturn this._table.rows.every(row => {\n\t\t\tconst rowKey = this.getRowKey(row);\n\t\t\treturn selectedSet.has(rowKey);\n\t\t});\n\t}\n\n\t/**\n\t * Returns the `selected` property as a set of unique `row-key` values.\n\t *\n\t * @public\n\t */\n\tgetSelectedAsSet(): Set<string> {\n\t\tconst selected = this.selected || \"\";\n\t\tconst selectedArray = selected.split(\" \").filter(String);\n\t\treturn new Set(selectedArray);\n\t}\n\n\t/**\n\t * Sets the `selected` property using the provided set of unique `row-key` values.\n\t *\n\t * @param selectedSet A set of `row-key` values\n\t * @public\n\t */\n\tsetSelectedAsSet(selectedSet: Set<string>): void {\n\t\tthis.selected = [...selectedSet].join(\" \");\n\t}\n\n\t_invalidateTableAndRows() {\n\t\tsuper._invalidateTableAndRows();\n\t\tconst headerRow = this._table?.headerRow[0];\n\t\theaderRow && headerRow._invalidate++;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this._table || !e.shiftKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusedElement = getActiveElement(); // Assumption: The focused element is always the \"next\" row after navigation.\n\n\t\tif (!(focusedElement?.hasAttribute(\"ui5-table-row\") || this._rangeSelection?.isMouse || focusedElement?.hasAttribute(\"ui5-growing-row\"))) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._rangeSelection) {\n\t\t\t// If no range selection is active, start one\n\t\t\tconst row = focusedElement as TableRow;\n\t\t\tthis._startRangeSelection(row, this.isSelected(row));\n\t\t} else if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n\t\t\tconst change = isUpShift(e) ? -1 : 1;\n\t\t\tthis._handleRangeSelection(focusedElement as TableRow, change);\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!eventOrigin.hasAttribute(\"ui5-table-row\") || !this._rangeSelection || !e.shiftKey) {\n\t\t\t// Stop range selection if a) Shift is relased or b) the event target is not a row\n\t\t\tthis._stopRangeSelection();\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHeaderSelector(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isSelectionCheckbox(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = findRowInPath(e.composedPath());\n\n\t\tif (e.shiftKey && this._rangeSelection?.isMouse) {\n\t\t\tconst startRow = this._rangeSelection.rows[0];\n\t\t\tconst startIndex = this._table.rows.indexOf(startRow);\n\t\t\tconst endIndex = this._table.rows.indexOf(row);\n\n\t\t\t// When doing a range selection and clicking on an already selected row, the checked status should not change\n\t\t\t// Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to\n\t\t\t// a visual inconsistency.\n\t\t\trow.shadowRoot?.querySelector(\"#selection-component\")?.toggleAttribute(\"checked\", true);\n\t\t\te.stopImmediatePropagation();\n\n\t\t\tif (startIndex === -1 || endIndex === -1 || row.rowKey === startRow.rowKey || row.rowKey === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].rowKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst change = endIndex - startIndex;\n\t\t\tthis._handleRangeSelection(row, change);\n\t\t} else if (row) {\n\t\t\tthis._startRangeSelection(row, !this.isSelected(row), true);\n\t\t}\n\t}\n\n\t/**\n\t * Start the range selection and initialises the range selection state\n\t * @param row starting row\n\t * @private\n\t */\n\t_startRangeSelection(row: TableRow, selected: boolean, isMouse = false) {\n\t\tthis._rangeSelection = {\n\t\t\tselected,\n\t\t\tisUp: null,\n\t\t\trows: [row],\n\t\t\tisMouse,\n\t\t\tshiftPressed: false,\n\t\t};\n\t}\n\n\t/**\n\t * Handles the range selection\n\t * @param targetRow Row that is currently focused\n\t * @param change indicates direction\n\t * @private\n\t */\n\t_handleRangeSelection(targetRow: TableRow, change: number) {\n\t\tif (!this._rangeSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isUp = change > 0;\n\t\tthis._rangeSelection.isUp ??= isUp;\n\n\t\tconst shouldReverseSelection = isUp !== this._rangeSelection.isUp && !this._rangeSelection.isMouse;\n\t\tlet selectionChanged = shouldReverseSelection && this.isSelected(targetRow);\n\n\t\tif (shouldReverseSelection) {\n\t\t\tthis._reverseRangeSelection();\n\t\t} else {\n\t\t\tconst rowIndex = this._table!.rows.indexOf(targetRow);\n\t\t\tconst [startIndex, endIndex] = [rowIndex, rowIndex - change].sort((a, b) => a - b);\n\t\t\tconst selectedSet = this.getSelectedAsSet();\n\n\t\t\tselectionChanged = this._table?.rows.slice(startIndex, endIndex + 1).reduce((changed, row) => {\n\t\t\t\tconst isRowNotInSelection = !this._rangeSelection?.rows.includes(row);\n\t\t\t\tconst isRowSelectionDifferent = this.isSelected(row) !== this._rangeSelection!.selected;\n\n\t\t\t\tif (isRowNotInSelection) {\n\t\t\t\t\tthis._rangeSelection?.rows.push(row);\n\t\t\t\t}\n\n\t\t\t\tselectedSet[this._rangeSelection!.selected ? \"add\" : \"delete\"](this.getRowKey(row));\n\n\t\t\t\treturn changed || isRowSelectionDifferent;\n\t\t\t}, selectionChanged) || false;\n\n\t\t\tthis.setSelectedAsSet(selectedSet);\n\t\t}\n\n\t\tselectionChanged && this.fireDecoratorEvent(\"change\");\n\t}\n\n\t_stopRangeSelection() {\n\t\tthis._rangeSelection = null;\n\t}\n\n\t_reverseRangeSelection() {\n\t\tconst row = this._rangeSelection?.rows.pop();\n\t\tif (row) {\n\t\t\tthis.setSelected(row, false);\n\t\t}\n\n\t\tif (this._rangeSelection?.rows.length === 1) {\n\t\t\tthis._rangeSelection.isUp = null;\n\t\t}\n\t}\n}\n\nTableSelectionMulti.define();\n\nexport default TableSelectionMulti;\n"]}
|
package/dist/TreeItemBase.d.ts
CHANGED
|
@@ -115,6 +115,10 @@ declare class TreeItemBase extends ListItem {
|
|
|
115
115
|
* @since 1.10.0
|
|
116
116
|
*/
|
|
117
117
|
_fixed: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* @private
|
|
120
|
+
*/
|
|
121
|
+
_hasImage: boolean;
|
|
118
122
|
/**
|
|
119
123
|
* Defines the items of the component.
|
|
120
124
|
*
|
|
@@ -122,6 +126,16 @@ declare class TreeItemBase extends ListItem {
|
|
|
122
126
|
* @public
|
|
123
127
|
*/
|
|
124
128
|
items: Array<TreeItemBase>;
|
|
129
|
+
/**
|
|
130
|
+
* **Note:** While the slot allows option for setting custom avatar, to match the
|
|
131
|
+
* design guidelines, please use the `ui5-avatar` with size XS.
|
|
132
|
+
*
|
|
133
|
+
* **Note:** If bigger `ui5-avatar` needs to be used, then the size of the
|
|
134
|
+
* `ui5-tree-item` should be customized in order to fit.
|
|
135
|
+
* @since 2.10.0
|
|
136
|
+
* @public
|
|
137
|
+
*/
|
|
138
|
+
image: Array<HTMLElement>;
|
|
125
139
|
static i18nBundle: I18nBundle;
|
|
126
140
|
onBeforeRendering(): void;
|
|
127
141
|
get classes(): ClassMap;
|
|
@@ -133,6 +147,7 @@ declare class TreeItemBase extends ListItem {
|
|
|
133
147
|
get requiresToggleButton(): boolean;
|
|
134
148
|
get effectiveLevel(): number;
|
|
135
149
|
get hasParent(): boolean;
|
|
150
|
+
get hasImage(): boolean;
|
|
136
151
|
get _toggleIconName(): "navigation-right-arrow" | "navigation-down-arrow";
|
|
137
152
|
get _ariaLabel(): string;
|
|
138
153
|
get _accInfo(): {
|
package/dist/TreeItemBase.js
CHANGED
|
@@ -93,9 +93,14 @@ let TreeItemBase = TreeItemBase_1 = class TreeItemBase extends ListItem {
|
|
|
93
93
|
* @since 1.10.0
|
|
94
94
|
*/
|
|
95
95
|
this._fixed = false;
|
|
96
|
+
/**
|
|
97
|
+
* @private
|
|
98
|
+
*/
|
|
99
|
+
this._hasImage = false;
|
|
96
100
|
}
|
|
97
101
|
onBeforeRendering() {
|
|
98
102
|
this.showToggleButton = this.requiresToggleButton;
|
|
103
|
+
this._hasImage = this.hasImage;
|
|
99
104
|
}
|
|
100
105
|
get classes() {
|
|
101
106
|
const allClasses = super.classes;
|
|
@@ -118,6 +123,9 @@ let TreeItemBase = TreeItemBase_1 = class TreeItemBase extends ListItem {
|
|
|
118
123
|
get hasParent() {
|
|
119
124
|
return this.level > 1;
|
|
120
125
|
}
|
|
126
|
+
get hasImage() {
|
|
127
|
+
return !!this.image.length;
|
|
128
|
+
}
|
|
121
129
|
get _toggleIconName() {
|
|
122
130
|
return this.expanded ? "navigation-down-arrow" : "navigation-right-arrow";
|
|
123
131
|
}
|
|
@@ -216,6 +224,9 @@ __decorate([
|
|
|
216
224
|
__decorate([
|
|
217
225
|
property({ type: Boolean })
|
|
218
226
|
], TreeItemBase.prototype, "_fixed", void 0);
|
|
227
|
+
__decorate([
|
|
228
|
+
property({ type: Boolean })
|
|
229
|
+
], TreeItemBase.prototype, "_hasImage", void 0);
|
|
219
230
|
__decorate([
|
|
220
231
|
slot({
|
|
221
232
|
type: HTMLElement,
|
|
@@ -226,6 +237,9 @@ __decorate([
|
|
|
226
237
|
"default": true,
|
|
227
238
|
})
|
|
228
239
|
], TreeItemBase.prototype, "items", void 0);
|
|
240
|
+
__decorate([
|
|
241
|
+
slot()
|
|
242
|
+
], TreeItemBase.prototype, "image", void 0);
|
|
229
243
|
__decorate([
|
|
230
244
|
i18n("@ui5/webcomponents")
|
|
231
245
|
], TreeItemBase, "i18nBundle", void 0);
|
package/dist/TreeItemBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeItemBase.js","sourceRoot":"","sources":["../src/TreeItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { isLeft, isRight } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport ListItem from \"./ListItem.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport {\n\tTREE_ITEM_ARIA_LABEL,\n\tTREE_ITEM_EXPAND_NODE,\n\tTREE_ITEM_COLLAPSE_NODE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport TreeItemBaseTemplate from \"./TreeItemBaseTemplate.js\";\n\n// Styles\nimport treeItemCss from \"./generated/themes/TreeItem.css.js\";\n\ntype TreeItemBaseEventDetail = {\n\titem: TreeItemBase,\n}\ntype TreeItemBaseToggleEventDetail = TreeItemBaseEventDetail;\ntype TreeItemBaseStepInEventDetail = TreeItemBaseEventDetail;\ntype TreeItemBaseStepOutEventDetail = TreeItemBaseEventDetail;\n\n/**\n * A class to serve as a foundation\n * for the `TreeItem` and `TreeItemCustom` classes.\n * @abstract\n * @constructor\n * @extends ListItem\n * @public\n */\n@customElement({\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: TreeItemBaseTemplate,\n\tstyles: [\n\t\tListItem.styles,\n\t\ttreeItemCss,\n\t],\n})\n/**\n * Fired when the user interacts with the expand/collapse button of the tree list item.\n * @param {HTMLElement} item the toggled item.\n * @protected\n */\n@event(\"toggle\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user drills down into the tree hierarchy by pressing the right arrow on the tree node.\n * @param {HTMLElement} item the item on which right arrow was pressed.\n * @protected\n */\n@event(\"step-in\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user goes up the tree hierarchy by pressing the left arrow on the tree node.\n * @param {HTMLElement} item the item on which left arrow was pressed.\n * @protected\n */\n@event(\"step-out\", {\n\tbubbles: true,\n})\nclass TreeItemBase extends ListItem {\n\teventDetails!: ListItem[\"eventDetails\"] & {\n\t\ttoggle: TreeItemBaseToggleEventDetail;\n\t\t\"step-in\": TreeItemBaseStepInEventDetail;\n\t\t\"step-out\": TreeItemBaseStepOutEventDetail;\n\t}\n\t/**\n\t * Defines the indentation of the tree list item. Use level 1 for tree list items, representing top-level tree nodes.\n\t * @protected\n\t * @default 1\n\t */\n\t@property({ type: Number })\n\tlevel = 1;\n\n\t/**\n\t * If set, an icon will be displayed before the text of the tree list item.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines whether the tree list item should display an expand/collapse button.\n\t * @default false\n\t * @protected\n\t */\n\t@property({ type: Boolean })\n\tshowToggleButton = false;\n\n\t/**\n\t * Defines whether the tree list item will show a collapse or expand icon inside its toggle button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Defines whether the item is movable.\n\t * @default false\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tmovable = false;\n\n\t/**\n\t* Defines whether the selection of a tree node is displayed as partially selected.\n\t*\n\t* **Note:** The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction, meaning that the resulting visual state depends on the values of the `indeterminate`\n\t* and `selected` properties:\n\t*\n\t* - If a tree node has both `selected` and `indeterminate` set to `true`, it is displayed as partially selected.\n\t* - If a tree node has `selected` set to `true` and `indeterminate` set to `false`, it is displayed as selected.\n\t* - If a tree node has `selected` set to `false`, it is displayed as not selected regardless of the value of the `indeterminate` property.\n\t*\n\t* **Note:** This property takes effect only when the `ui5-tree` is in `Multiple` mode.\n\t* @default false\n\t* @public\n\t* @since 1.1.0\n\t*/\n\t@property({ type: Boolean })\n\tdeclare indeterminate: boolean;\n\n\t/**\n\t * Defines whether the tree node has children, even if currently no other tree nodes are slotted inside.\n\t *\n\t * **Note:** This property is useful for showing big tree structures where not all nodes are initially loaded due to performance reasons.\n\t * Set this to `true` for nodes you intend to load lazily, when the user clicks the expand button.\n\t * It is not necessary to set this property otherwise. If a tree item has children, the expand button will be displayed anyway.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thasChildren = false;\n\n\t/**\n\t * Defines the state of the `additionalText`.\n\t *\n\t * Available options are: `\"None\"` (by default), `\"Positive\"`, `\"Critical\"`, `\"Information\"` and `\"Negative\"`.\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tadditionalTextState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines the accessible name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.8.0\n\t */\n\t@property()\n\tdeclare accessibleName?: string;\n\n\t/**\n\t * @private\n\t * @since 1.0.0-rc.11\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tforcedSetsize = 1;\n\n\t/**\n\t * @private\n\t * @since 1.0.0-rc.11\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tforcedPosinset = 1;\n\n\t/**\n\t * Defines if the item should be collapsible or not.\n\t * @private\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\t_fixed = false;\n\n\t/**\n\t * Defines the items of the component.\n\t *\n\t * **Note:** Use `ui5-tree-item` or `ui5-tree-item-custom`\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: false,\n\t\t\tslots: [\"default\"],\n\t\t},\n\t\t\"default\": true,\n\t})\n\titems!: Array<TreeItemBase>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tthis.showToggleButton = this.requiresToggleButton;\n\t}\n\n\tget classes(): ClassMap {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.main[\"ui5-li-root-tree\"] = true;\n\t\treturn allClasses;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpreContent: {\n\t\t\t\t\"padding-inline-start\": `calc(var(${getScopedVarName(\"--_ui5-tree-indent-step\")}) * ${this.effectiveLevel})`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget requiresToggleButton() {\n\t\treturn !this._fixed ? (this.hasChildren || this.items.length > 0) : false;\n\t}\n\n\tget effectiveLevel() {\n\t\treturn this.level - 1;\n\t}\n\n\tget hasParent() {\n\t\treturn this.level > 1;\n\t}\n\n\tget _toggleIconName() {\n\t\treturn this.expanded ? \"navigation-down-arrow\" : \"navigation-right-arrow\";\n\t}\n\n\tget _ariaLabel() {\n\t\treturn TreeItemBase.i18nBundle.getText(TREE_ITEM_ARIA_LABEL);\n\t}\n\n\tget _accInfo() {\n\t\tconst accInfoSettings = {\n\t\t\trole: \"treeitem\" as const,\n\t\t\tariaExpanded: this.showToggleButton ? this.expanded : undefined,\n\t\t\tariaLevel: this.level,\n\t\t\tposinset: this.forcedPosinset,\n\t\t\tsetsize: this.forcedSetsize,\n\t\t\tariaSelectedText: this.ariaSelectedText,\n\t\t\tlistItemAriaLabel: !this.accessibleName ? this._ariaLabel : undefined,\n\t\t\tariaOwns: this.expanded ? `${this._id}-subtree` : undefined,\n\t\t\tariaHaspopup: this.accessibilityAttributes.hasPopup,\n\t\t};\n\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n\n\t/**\n\t * Used to duck-type TreeItem elements without using instanceof\n\t * @default true\n\t * @protected\n\t */\n\tget isTreeItem(): boolean {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Call this method to manually switch the `expanded` state of a tree item.\n\t * @public\n\t */\n\ttoggle(): void {\n\t\tthis.expanded = !this.expanded;\n\t}\n\n\t_toggleClick(e: MouseEvent | KeyboardEvent) {\n\t\te.stopPropagation();\n\t\tthis.fireDecoratorEvent(\"toggle\", { item: this });\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tawait super._onkeydown(e);\n\n\t\tif (!this._fixed && this.showToggleButton && isRight(e)) {\n\t\t\tif (!this.expanded) {\n\t\t\t\tthis.fireDecoratorEvent(\"toggle\", { item: this });\n\t\t\t} else {\n\t\t\t\tthis.fireDecoratorEvent(\"step-in\", { item: this });\n\t\t\t}\n\t\t}\n\n\t\tif (!this._fixed && isLeft(e)) {\n\t\t\tif (this.expanded) {\n\t\t\t\tthis.fireDecoratorEvent(\"toggle\", { item: this });\n\t\t\t} else if (this.hasParent) {\n\t\t\t\tthis.fireDecoratorEvent(\"step-out\", { item: this });\n\t\t\t}\n\t\t}\n\t}\n\n\tget iconAccessibleName(): string {\n\t\treturn this.expanded ? TreeItemBase.i18nBundle.getText(TREE_ITEM_COLLAPSE_NODE) : TreeItemBase.i18nBundle.getText(TREE_ITEM_EXPAND_NODE);\n\t}\n}\n\nexport default TreeItemBase;\nexport type {\n\tTreeItemBaseToggleEventDetail,\n\tTreeItemBaseStepInEventDetail,\n\tTreeItemBaseStepOutEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"TreeItemBase.js","sourceRoot":"","sources":["../src/TreeItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { isLeft, isRight } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport ListItem from \"./ListItem.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport {\n\tTREE_ITEM_ARIA_LABEL,\n\tTREE_ITEM_EXPAND_NODE,\n\tTREE_ITEM_COLLAPSE_NODE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport TreeItemBaseTemplate from \"./TreeItemBaseTemplate.js\";\n\n// Styles\nimport treeItemCss from \"./generated/themes/TreeItem.css.js\";\n\ntype TreeItemBaseEventDetail = {\n\titem: TreeItemBase,\n}\ntype TreeItemBaseToggleEventDetail = TreeItemBaseEventDetail;\ntype TreeItemBaseStepInEventDetail = TreeItemBaseEventDetail;\ntype TreeItemBaseStepOutEventDetail = TreeItemBaseEventDetail;\n\n/**\n * A class to serve as a foundation\n * for the `TreeItem` and `TreeItemCustom` classes.\n * @abstract\n * @constructor\n * @extends ListItem\n * @public\n */\n@customElement({\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: TreeItemBaseTemplate,\n\tstyles: [\n\t\tListItem.styles,\n\t\ttreeItemCss,\n\t],\n})\n/**\n * Fired when the user interacts with the expand/collapse button of the tree list item.\n * @param {HTMLElement} item the toggled item.\n * @protected\n */\n@event(\"toggle\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user drills down into the tree hierarchy by pressing the right arrow on the tree node.\n * @param {HTMLElement} item the item on which right arrow was pressed.\n * @protected\n */\n@event(\"step-in\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user goes up the tree hierarchy by pressing the left arrow on the tree node.\n * @param {HTMLElement} item the item on which left arrow was pressed.\n * @protected\n */\n@event(\"step-out\", {\n\tbubbles: true,\n})\nclass TreeItemBase extends ListItem {\n\teventDetails!: ListItem[\"eventDetails\"] & {\n\t\ttoggle: TreeItemBaseToggleEventDetail;\n\t\t\"step-in\": TreeItemBaseStepInEventDetail;\n\t\t\"step-out\": TreeItemBaseStepOutEventDetail;\n\t}\n\t/**\n\t * Defines the indentation of the tree list item. Use level 1 for tree list items, representing top-level tree nodes.\n\t * @protected\n\t * @default 1\n\t */\n\t@property({ type: Number })\n\tlevel = 1;\n\n\t/**\n\t * If set, an icon will be displayed before the text of the tree list item.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines whether the tree list item should display an expand/collapse button.\n\t * @default false\n\t * @protected\n\t */\n\t@property({ type: Boolean })\n\tshowToggleButton = false;\n\n\t/**\n\t * Defines whether the tree list item will show a collapse or expand icon inside its toggle button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Defines whether the item is movable.\n\t * @default false\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tmovable = false;\n\n\t/**\n\t* Defines whether the selection of a tree node is displayed as partially selected.\n\t*\n\t* **Note:** The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction, meaning that the resulting visual state depends on the values of the `indeterminate`\n\t* and `selected` properties:\n\t*\n\t* - If a tree node has both `selected` and `indeterminate` set to `true`, it is displayed as partially selected.\n\t* - If a tree node has `selected` set to `true` and `indeterminate` set to `false`, it is displayed as selected.\n\t* - If a tree node has `selected` set to `false`, it is displayed as not selected regardless of the value of the `indeterminate` property.\n\t*\n\t* **Note:** This property takes effect only when the `ui5-tree` is in `Multiple` mode.\n\t* @default false\n\t* @public\n\t* @since 1.1.0\n\t*/\n\t@property({ type: Boolean })\n\tdeclare indeterminate: boolean;\n\n\t/**\n\t * Defines whether the tree node has children, even if currently no other tree nodes are slotted inside.\n\t *\n\t * **Note:** This property is useful for showing big tree structures where not all nodes are initially loaded due to performance reasons.\n\t * Set this to `true` for nodes you intend to load lazily, when the user clicks the expand button.\n\t * It is not necessary to set this property otherwise. If a tree item has children, the expand button will be displayed anyway.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thasChildren = false;\n\n\t/**\n\t * Defines the state of the `additionalText`.\n\t *\n\t * Available options are: `\"None\"` (by default), `\"Positive\"`, `\"Critical\"`, `\"Information\"` and `\"Negative\"`.\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tadditionalTextState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines the accessible name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.8.0\n\t */\n\t@property()\n\tdeclare accessibleName?: string;\n\n\t/**\n\t * @private\n\t * @since 1.0.0-rc.11\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tforcedSetsize = 1;\n\n\t/**\n\t * @private\n\t * @since 1.0.0-rc.11\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tforcedPosinset = 1;\n\n\t/**\n\t * Defines if the item should be collapsible or not.\n\t * @private\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\t_fixed = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasImage = false;\n\n\t/**\n\t * Defines the items of the component.\n\t *\n\t * **Note:** Use `ui5-tree-item` or `ui5-tree-item-custom`\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: false,\n\t\t\tslots: [\"default\"],\n\t\t},\n\t\t\"default\": true,\n\t})\n\titems!: Array<TreeItemBase>;\n\n\t/**\n\t * **Note:** While the slot allows option for setting custom avatar, to match the\n\t * design guidelines, please use the `ui5-avatar` with size XS.\n\t *\n\t * **Note:** If bigger `ui5-avatar` needs to be used, then the size of the\n\t * `ui5-tree-item` should be customized in order to fit.\n\t * @since 2.10.0\n\t * @public\n\t */\n\t@slot()\n\timage!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tthis.showToggleButton = this.requiresToggleButton;\n\t\tthis._hasImage = this.hasImage;\n\t}\n\n\tget classes(): ClassMap {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.main[\"ui5-li-root-tree\"] = true;\n\t\treturn allClasses;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpreContent: {\n\t\t\t\t\"padding-inline-start\": `calc(var(${getScopedVarName(\"--_ui5-tree-indent-step\")}) * ${this.effectiveLevel})`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget requiresToggleButton() {\n\t\treturn !this._fixed ? (this.hasChildren || this.items.length > 0) : false;\n\t}\n\n\tget effectiveLevel() {\n\t\treturn this.level - 1;\n\t}\n\n\tget hasParent() {\n\t\treturn this.level > 1;\n\t}\n\n\tget hasImage(): boolean {\n\t\treturn !!this.image.length;\n\t}\n\n\tget _toggleIconName() {\n\t\treturn this.expanded ? \"navigation-down-arrow\" : \"navigation-right-arrow\";\n\t}\n\n\tget _ariaLabel() {\n\t\treturn TreeItemBase.i18nBundle.getText(TREE_ITEM_ARIA_LABEL);\n\t}\n\n\tget _accInfo() {\n\t\tconst accInfoSettings = {\n\t\t\trole: \"treeitem\" as const,\n\t\t\tariaExpanded: this.showToggleButton ? this.expanded : undefined,\n\t\t\tariaLevel: this.level,\n\t\t\tposinset: this.forcedPosinset,\n\t\t\tsetsize: this.forcedSetsize,\n\t\t\tariaSelectedText: this.ariaSelectedText,\n\t\t\tlistItemAriaLabel: !this.accessibleName ? this._ariaLabel : undefined,\n\t\t\tariaOwns: this.expanded ? `${this._id}-subtree` : undefined,\n\t\t\tariaHaspopup: this.accessibilityAttributes.hasPopup,\n\t\t};\n\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n\n\t/**\n\t * Used to duck-type TreeItem elements without using instanceof\n\t * @default true\n\t * @protected\n\t */\n\tget isTreeItem(): boolean {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Call this method to manually switch the `expanded` state of a tree item.\n\t * @public\n\t */\n\ttoggle(): void {\n\t\tthis.expanded = !this.expanded;\n\t}\n\n\t_toggleClick(e: MouseEvent | KeyboardEvent) {\n\t\te.stopPropagation();\n\t\tthis.fireDecoratorEvent(\"toggle\", { item: this });\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tawait super._onkeydown(e);\n\n\t\tif (!this._fixed && this.showToggleButton && isRight(e)) {\n\t\t\tif (!this.expanded) {\n\t\t\t\tthis.fireDecoratorEvent(\"toggle\", { item: this });\n\t\t\t} else {\n\t\t\t\tthis.fireDecoratorEvent(\"step-in\", { item: this });\n\t\t\t}\n\t\t}\n\n\t\tif (!this._fixed && isLeft(e)) {\n\t\t\tif (this.expanded) {\n\t\t\t\tthis.fireDecoratorEvent(\"toggle\", { item: this });\n\t\t\t} else if (this.hasParent) {\n\t\t\t\tthis.fireDecoratorEvent(\"step-out\", { item: this });\n\t\t\t}\n\t\t}\n\t}\n\n\tget iconAccessibleName(): string {\n\t\treturn this.expanded ? TreeItemBase.i18nBundle.getText(TREE_ITEM_COLLAPSE_NODE) : TreeItemBase.i18nBundle.getText(TREE_ITEM_EXPAND_NODE);\n\t}\n}\n\nexport default TreeItemBase;\nexport type {\n\tTreeItemBaseToggleEventDetail,\n\tTreeItemBaseStepInEventDetail,\n\tTreeItemBaseStepOutEventDetail,\n};\n"]}
|
|
@@ -25,7 +25,11 @@ function listItemPostContent() {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
function listItemContent() { }
|
|
28
|
-
function imageBegin() {
|
|
28
|
+
function imageBegin() {
|
|
29
|
+
if (this.hasImage) {
|
|
30
|
+
return _jsx("div", { class: "ui5-tree-item-image", children: _jsx("slot", { name: "image" }) });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
29
33
|
function iconBegin() {
|
|
30
34
|
return this.icon ? _jsx(Icon, { part: "icon", name: this.icon, class: "ui5-li-icon" }) : _jsx(_Fragment, {});
|
|
31
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeItemBaseTemplate.js","sourceRoot":"","sources":["../src/TreeItemBaseTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,mBAAmB,MAAM,wDAAwD,CAAC;AACzF,OAAO,mBAAmB,MAAM,yDAAyD,CAAC;AAG1F,MAAM,eAAe,GAA2B;IAC/C,kBAAkB;IAClB,eAAe;IACf,UAAU;IACV,SAAS;CACT,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAqB,KAA8B;IAC9F,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,EAAE,CAAC;IAEtD,OAAO,0BAEL,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAGzC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAC1B,CAAC;AACR,CAAC;AAED,SAAS,kBAAkB;IAC1B,OAAO,CACN,cAAK,KAAK,EAAC,wBAAwB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,YAC/D,IAAI,CAAC,gBAAgB;YACrB,KAAC,IAAI,IACJ,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,yBAAyB,EAC/B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,EAC/D,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,kBAAkB;gBACvC,mBAAmB;gBACnB,OAAO,EAAE,IAAI,CAAC,YAAY,GACzB,GAEG,CAAC,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB;IAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CACN,aACC,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EACzB,KAAK,EAAC,qBAAqB,YAC3B,gBAAa,GACT,CAAC,CAAC;IACT,CAAC;AACF,CAAC;AAED,SAAS,eAAe,KAAK,CAAC;AAC9B,SAAS,UAAU,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"TreeItemBaseTemplate.js","sourceRoot":"","sources":["../src/TreeItemBaseTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,mBAAmB,MAAM,wDAAwD,CAAC;AACzF,OAAO,mBAAmB,MAAM,yDAAyD,CAAC;AAG1F,MAAM,eAAe,GAA2B;IAC/C,kBAAkB;IAClB,eAAe;IACf,UAAU;IACV,SAAS;CACT,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAqB,KAA8B;IAC9F,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,EAAE,CAAC;IAEtD,OAAO,0BAEL,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAGzC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAC1B,CAAC;AACR,CAAC;AAED,SAAS,kBAAkB;IAC1B,OAAO,CACN,cAAK,KAAK,EAAC,wBAAwB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,YAC/D,IAAI,CAAC,gBAAgB;YACrB,KAAC,IAAI,IACJ,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,yBAAyB,EAC/B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,EAC/D,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,kBAAkB;gBACvC,mBAAmB;gBACnB,OAAO,EAAE,IAAI,CAAC,YAAY,GACzB,GAEG,CAAC,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB;IAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CACN,aACC,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EACzB,KAAK,EAAC,qBAAqB,YAC3B,gBAAa,GACT,CAAC,CAAC;IACT,CAAC;AACF,CAAC;AAED,SAAS,eAAe,KAAK,CAAC;AAC9B,SAAS,UAAU;IAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,cAAK,KAAK,EAAC,qBAAqB,YACtC,eAAM,IAAI,EAAC,OAAO,GAAQ,GACrB,CAAC;IACR,CAAC;AACF,CAAC;AACD,SAAS,SAAS;IACjB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,aAAa,GAAG,CAAC,CAAC,CAAC,mBAAK,CAAC;AACtF,CAAC","sourcesContent":["import type TreeItemBase from \"./TreeItemBase.js\";\nimport ListItemTemplate from \"./ListItemTemplate.js\";\nimport Icon from \"./Icon.js\";\nimport navigationDownArrow from \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport navigatioRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport type { ListItemHooks } from \"./ListItemTemplate.js\";\n\nconst predefinedHooks: Partial<ListItemHooks> = {\n\tlistItemPreContent,\n\tlistItemContent,\n\timageBegin,\n\ticonBegin,\n};\n\nexport default function TreeItemBaseTemplate(this: TreeItemBase, hooks?: Partial<ListItemHooks>) {\n\tconst currentHooks = { ...predefinedHooks, ...hooks };\n\n\treturn <div>\n\t\t{\n\t\t\tListItemTemplate.call(this, currentHooks)\n\t\t}\n\n\t\t{listItemPostContent.call(this)}\n\t</div>;\n}\n\nfunction listItemPreContent(this: TreeItemBase) {\n\treturn (\n\t\t<div class=\"ui5-li-tree-toggle-box\" style={this.styles.preContent}>\n\t\t\t{this.showToggleButton &&\n\t\t\t\t<Icon\n\t\t\t\t\tpart=\"toggle-icon\"\n\t\t\t\t\tclass=\"ui5-li-tree-toggle-icon\"\n\t\t\t\t\tname={this.expanded ? navigationDownArrow : navigatioRightArrow}\n\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\taccessibleName={this.iconAccessibleName}\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\tonClick={this._toggleClick}\n\t\t\t\t/>\n\t\t\t}\n\t\t</div >);\n}\n\nfunction listItemPostContent(this: TreeItemBase) {\n\tif (this.expanded) {\n\t\treturn (\n\t\t\t<ul\n\t\t\t\trole=\"group\"\n\t\t\t\tid={`${this._id}-subtree`}\n\t\t\t\tclass=\"ui5-tree-li-subtree\">\n\t\t\t\t<slot></slot>\n\t\t\t</ul>);\n\t}\n}\n\nfunction listItemContent() { }\nfunction imageBegin(this: TreeItemBase) {\n\tif (this.hasImage) {\n\t\treturn <div class=\"ui5-tree-item-image\">\n\t\t\t<slot name=\"image\"></slot>\n\t\t</div>;\n\t}\n}\nfunction iconBegin(this: TreeItemBase) {\n\treturn this.icon ? <Icon part=\"icon\" name={this.icon} class=\"ui5-li-icon\" /> : <></>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host(:not([hidden])){display:inline-block;box-sizing:border-box;position:relative;font-family:"72override",var(--sapFontFamily)}:host(:not([hidden]).ui5_hovered){opacity:.7}:host([interactive]:not([disabled])){cursor:pointer}:host([interactive]:not([hidden]):active){background-color:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host([interactive]:not([hidden]):not([disabled]):not(:active):not([focused]):hover){box-shadow:var(--ui5-v2-
|
|
1
|
+
:host(:not([hidden])){display:inline-block;box-sizing:border-box;position:relative;font-family:"72override",var(--sapFontFamily)}:host(:not([hidden]).ui5_hovered){opacity:.7}:host([interactive]:not([disabled])){cursor:pointer}:host([interactive]:not([hidden]):active){background-color:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host([interactive]:not([hidden]):not([disabled]):not(:active):not([focused]):hover){box-shadow:var(--ui5-v2-10-0-rc-0-avatar-hover-box-shadow-offset)}:host([interactive][desktop]:not([hidden])) .ui5-avatar-root:focus,:host([interactive]:not([hidden])) .ui5-avatar-root:focus-visible{outline:var(--_ui5-v2-10-0-rc-0_avatar_outline);outline-offset:var(--_ui5-v2-10-0-rc-0_avatar_focus_offset)}:host([disabled]){opacity:var(--sapContent_DisabledOpacity)}:host{height:3rem;width:3rem;border-radius:50%;border:var(--ui5-v2-10-0-rc-0-avatar-initials-border);outline:none;color:var(--ui5-v2-10-0-rc-0-avatar-initials-color)}.ui5-avatar-root{display:flex;align-items:center;justify-content:center;outline:none;height:100%;width:100%;border-radius:inherit}:host([_size="XS"]),:host([size="XS"]){height:2rem;width:2rem;min-height:2rem;min-width:2rem;font-size:var(--_ui5-v2-10-0-rc-0_avatar_fontsize_XS)}:host(:not([size])),:host([_size="S"]),:host([size="S"]){min-height:3rem;min-width:3rem;font-size:var(--_ui5-v2-10-0-rc-0_avatar_fontsize_S)}:host([_size="M"]),:host([size="M"]){min-height:4rem;min-width:4rem;font-size:var(--_ui5-v2-10-0-rc-0_avatar_fontsize_M)}:host([_size="L"]),:host([size="L"]){min-height:5rem;min-width:5rem;font-size:var(--_ui5-v2-10-0-rc-0_avatar_fontsize_L)}:host([_size="XL"]),:host([size="XL"]){min-height:7rem;min-width:7rem;font-size:var(--_ui5-v2-10-0-rc-0_avatar_fontsize_XL)}:host .ui5-avatar-icon{height:var(--_ui5-v2-10-0-rc-0_avatar_fontsize_S);width:var(--_ui5-v2-10-0-rc-0_avatar_fontsize_S);color:inherit}:host([_size="XS"]) .ui5-avatar-icon,:host([size="XS"]) .ui5-avatar-icon{height:var(--_ui5-v2-10-0-rc-0_avatar_icon_XS);width:var(--_ui5-v2-10-0-rc-0_avatar_icon_XS)}:host([_size="S"]) .ui5-avatar-icon,:host([size="S"]) .ui5-avatar-icon{height:var(--_ui5-v2-10-0-rc-0_avatar_icon_S);width:var(--_ui5-v2-10-0-rc-0_avatar_icon_S)}:host([_size="M"]) .ui5-avatar-icon,:host([size="M"]) .ui5-avatar-icon{height:var(--_ui5-v2-10-0-rc-0_avatar_icon_M);width:var(--_ui5-v2-10-0-rc-0_avatar_icon_M)}:host([_size="L"]) .ui5-avatar-icon,:host([size="L"]) .ui5-avatar-icon{height:var(--_ui5-v2-10-0-rc-0_avatar_icon_L);width:var(--_ui5-v2-10-0-rc-0_avatar_icon_L)}:host([_size="XL"]) .ui5-avatar-icon,:host([size="XL"]) .ui5-avatar-icon{height:var(--_ui5-v2-10-0-rc-0_avatar_icon_XL);width:var(--_ui5-v2-10-0-rc-0_avatar_icon_XL)}::slotted(*){border-radius:50%;width:100%;height:100%;pointer-events:none}:host([shape="Square"]){border-radius:var(--ui5-v2-10-0-rc-0-avatar-border-radius)}:host([shape="Square"]) ::slotted(*){border-radius:calc(var(--ui5-v2-10-0-rc-0-avatar-border-radius) - var(--ui5-v2-10-0-rc-0-avatar-border-radius-img-deduction))}:host(:not([color-scheme])),:host(:not([_has-image])),:host([color-scheme="Auto"]),:host([_color-scheme="Accent6"]),:host([ui5-avatar][color-scheme="Accent6"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent6);color:var(--ui5-v2-10-0-rc-0-avatar-accent6-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent6-border-color)}:host([_color-scheme="Accent6"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent6"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_6_Hover_Background)}:host([_color-scheme="Accent1"]),:host([ui5-avatar][color-scheme="Accent1"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent1);color:var(--ui5-v2-10-0-rc-0-avatar-accent1-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent1-border-color)}:host([_color-scheme="Accent1"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent1"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_1_Hover_Background)}:host([_color-scheme="Accent2"]),:host([ui5-avatar][color-scheme="Accent2"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent2);color:var(--ui5-v2-10-0-rc-0-avatar-accent2-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent2-border-color)}:host([_color-scheme="Accent2"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent2"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_2_Hover_Background)}:host([_color-scheme="Accent3"]),:host([ui5-avatar][color-scheme="Accent3"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent3);color:var(--ui5-v2-10-0-rc-0-avatar-accent3-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent3-border-color)}:host([_color-scheme="Accent3"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent3"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_3_Hover_Background)}:host([_color-scheme="Accent4"]),:host([ui5-avatar][color-scheme="Accent4"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent4);color:var(--ui5-v2-10-0-rc-0-avatar-accent4-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent4-border-color)}:host([_color-scheme="Accent4"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent4"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_4_Hover_Background)}:host([_color-scheme="Accent5"]),:host([ui5-avatar][color-scheme="Accent5"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent5);color:var(--ui5-v2-10-0-rc-0-avatar-accent5-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent5-border-color)}:host([_color-scheme="Accent5"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent5"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_5_Hover_Background)}:host([_color-scheme="Accent7"]),:host([ui5-avatar][color-scheme="Accent7"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent7);color:var(--ui5-v2-10-0-rc-0-avatar-accent7-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent7-border-color)}:host([_color-scheme="Accent7"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent7"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_7_Hover_Background)}:host([_color-scheme="Accent8"]),:host([ui5-avatar][color-scheme="Accent8"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent8);color:var(--ui5-v2-10-0-rc-0-avatar-accent8-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent8-border-color)}:host([_color-scheme="Accent8"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent8"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_8_Hover_Background)}:host([_color-scheme="Accent9"]),:host([ui5-avatar][color-scheme="Accent9"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent9);color:var(--ui5-v2-10-0-rc-0-avatar-accent9-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent9-border-color)}:host([_color-scheme="Accent9"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent9"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_9_Hover_Background)}:host([_color-scheme="Accent10"]),:host([ui5-avatar][color-scheme="Accent10"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-accent10);color:var(--ui5-v2-10-0-rc-0-avatar-accent10-color);border-color:var(--ui5-v2-10-0-rc-0-avatar-accent10-border-color)}:host([_color-scheme="Accent10"][interactive]:not([hidden]):not([disabled]):not(:active):hover),:host([ui5-avatar][color-scheme="Accent10"][interactive]:not([hidden]):not([disabled]):not(:active):hover){background-color:var(--sapAvatar_10_Hover_Background)}:host([_color-scheme="Placeholder"]),:host([ui5-avatar][color-scheme="Placeholder"]){background-color:var(--ui5-v2-10-0-rc-0-avatar-placeholder);color:var(--ui5-v2-10-0-rc-0-avatar-placeholder-color);border-color:var(--sapAvatar_Lite_BorderColor)}:host([_has-image]){color:var(--ui5-v2-10-0-rc-0-avatar-accent10-color);background-color:transparent;vertical-align:middle}.ui5-avatar-initials{color:inherit}.ui5-avatar-icon~.ui5-avatar-initials,.ui5-avatar-icon~.ui5-avatar-icon-fallback{display:none}.ui5-avatar-fallback-icon-hidden{display:none}.ui5-avatar-initials-hidden{position:absolute;visibility:hidden;z-index:0;pointer-events:none}::slotted([slot="badge"]){pointer-events:initial;position:absolute;bottom:0;right:0;width:1.125rem;height:1.125rem;font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSmallSize);color:var(--sapBackgroundColor);--_ui5-v2-10-0-rc-0-tag-height: 1.125rem;--_ui5-v2-10-0-rc-0-tag-border-radius: 50%}:host([_size="L"]) ::slotted([slot="badge"]),:host([size="L"]) ::slotted([slot="badge"]){width:1.25rem;height:1.25rem;--_ui5-v2-10-0-rc-0-tag-height: 1.25rem;--_ui5-v2-10-0-rc-0-tag-icon-width: .875rem}:host([_size="XL"]) ::slotted([slot="badge"]),:host([size="XL"]) ::slotted([slot="badge"]){width:1.75rem;height:1.75rem;--_ui5-v2-10-0-rc-0-tag-height: 1.75rem;--_ui5-v2-10-0-rc-0-tag-icon-width: 1rem}:host([shape="Square"]) ::slotted([slot="badge"]){bottom:-.125rem;right:-.125rem}:host([_size="L"][shape="Square"]) ::slotted([slot="badge"]),:host([size="L"][shape="Square"]) ::slotted([slot="badge"]){bottom:-.1875rem;right:-.1875rem}:host([_size="XL"][shape="Square"]) ::slotted([slot="badge"]),:host([size="XL"][shape="Square"]) ::slotted([slot="badge"]){bottom:-.25rem;right:-.25rem}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{-webkit-tap-highlight-color:rgba(0,0,0,0)}:host(:not([hidden])){display:block;width:100%}:host{--_ui5-v2-
|
|
1
|
+
:host{-webkit-tap-highlight-color:rgba(0,0,0,0)}:host(:not([hidden])){display:block;width:100%}:host{--_ui5-v2-10-0-rc-0_button_focused_border: var(--_ui5-v2-10-0-rc-0_avatar_group_button_focus_border)}.ui5-avatar-group-items:focus{outline:none}:host([type="Group"][desktop]) .ui5-avatar-group-items:focus,:host([type="Group"]) .ui5-avatar-group-items:focus-visible{outline:var(--_ui5-v2-10-0-rc-0_avatar_outline);outline-offset:var(--_ui5-v2-10-0-rc-0_avatar_focus_offset);border-radius:var(--_ui5-v2-10-0-rc-0_avatar_group_focus_border_radius)}.ui5-avatar-group-root{display:flex}.ui5-avatar-group-items{white-space:nowrap;position:relative;display:inline-flex}:host([type="Group"]) .ui5-avatar-group-items{cursor:pointer}:host([type="Group"]) ::slotted([ui5-button]),:host([type="Group"]) ::slotted([ui5-avatar]){pointer-events:none}.ui5-avatar-group-overflow-btn{overflow:visible}.ui5-avatar-group-overflow-btn::part(button){min-width:auto}::slotted([ui5-button]:not([hidden])),.ui5-avatar-group-overflow-btn:not([hidden]){--_ui5-v2-10-0-rc-0_button_base_padding: 0;border-radius:50%;display:inline-flex;text-overflow:initial;z-index:0}::slotted([ui5-button][desktop]:focus),.ui5-avatar-group-overflow-btn[desktop]:focus{outline:var(--_ui5-v2-10-0-rc-0_avatar_outline);outline-offset:var(--_ui5-v2-10-0-rc-0_avatar_overflow_button_focus_offset)}.ui5-avatar-group-overflow-btn::part(button):focus-visible:after{outline:var(--_ui5-v2-10-0-rc-0_avatar_outline);outline-offset:var(--_ui5-v2-10-0-rc-0_avatar_focus_offset);border-radius:50%}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-xs{height:2rem;width:2rem;min-width:2rem;font-size:.75rem}::slotted([ui5-button]),.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-s{height:3rem;width:3rem;min-width:3rem;font-size:1.125rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-m{height:4rem;width:4rem;min-width:4rem;font-size:1.625rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-l{height:5rem;width:5rem;min-width:5rem;font-size:2rem}.ui5-avatar-group-overflow-btn.ui5-avatar-group-overflow-btn-xl{height:7rem;width:7rem;min-width:7rem;font-size:2.75rem}
|
package/dist/css/themes/Bar.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{background-color:var(--sapPageHeader_Background);height:var(--_ui5-v2-
|
|
1
|
+
:host{background-color:var(--sapPageHeader_Background);height:var(--_ui5-v2-10-0-rc-0_bar_base_height);width:100%;box-shadow:var(--sapContent_HeaderShadow);display:block}.ui5-bar-root{display:flex;align-items:center;justify-content:space-between;height:100%;width:100%;background-color:inherit;box-shadow:inherit;border-radius:inherit}.ui5-bar-root .ui5-bar-startcontent-container{padding-inline-start:var(--_ui5-v2-10-0-rc-0_bar-start-container-padding-start);display:flex;flex-direction:row;align-items:center;justify-content:flex-start}.ui5-bar-root .ui5-bar-content-container{min-width:calc(30% - calc(var(--_ui5-v2-10-0-rc-0_bar-start-container-padding-start) + var(--_ui5-v2-10-0-rc-0_bar-end-container-padding-end) + (2*var(--_ui5-v2-10-0-rc-0_bar-mid-container-padding-start-end))))}.ui5-bar-root.ui5-bar-root-shrinked .ui5-bar-content-container{min-width:0px;overflow:hidden;height:100%}.ui5-bar-root .ui5-bar-endcontent-container{padding-inline-end:var(--_ui5-v2-10-0-rc-0_bar-end-container-padding-end);display:flex;flex-direction:row;align-items:center;justify-content:flex-end}.ui5-bar-root .ui5-bar-midcontent-container{padding:0 var(--_ui5-v2-10-0-rc-0_bar-mid-container-padding-start-end);display:flex;flex-direction:row;align-items:center;justify-content:center}:host([design="Footer"]){background-color:var(--sapPageFooter_Background);border-top:.0625rem solid var(--sapPageFooter_BorderColor);box-shadow:none}:host([design="Subheader"]){height:var(--_ui5-v2-10-0-rc-0_bar_subheader_height);margin-top:var(--_ui5-v2-10-0-rc-0_bar_subheader_margin-top)}:host([design="FloatingFooter"]){border-radius:var(--sapElement_BorderCornerRadius);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow1);border:none}::slotted(*){margin:0 .25rem}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host(:not([hidden])){display:block;width:100%}.ui5-breadcrumbs-root{white-space:nowrap;outline:none;margin:var(--_ui5-v2-
|
|
1
|
+
:host(:not([hidden])){display:block;width:100%}.ui5-breadcrumbs-root{white-space:nowrap;outline:none;margin:var(--_ui5-v2-10-0-rc-0_breadcrumbs_margin)}.ui5-breadcrumbs-root>ol{margin:0;padding:0;list-style-type:none;display:-webkit-box;display:-webkit-flex;display:flex}.ui5-breadcrumbs-root>ol>li{display:inline}.ui5-breadcrumbs-current-location{min-width:1%;flex:1 1 auto;font-size:0;align-self:center}.ui5-breadcrumbs-current-location>span:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);border-radius:var(--_ui5-v2-10-0-rc-0_breadcrumbs_current_location_focus_border_radius)}.ui5-breadcrumbs-dropdown-arrow-link-wrapper[hidden]{display:none}.ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-icon]{width:var(--sapFontSize);height:var(--sapFontSize);padding-left:.675rem;vertical-align:text-top;color:var(--sapLinkColor)}.ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-link][focused] [ui5-icon]{color:var(--_ui5-v2-10-0-rc-0_link_focus_color)}.ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-icon]:before{content:"...";vertical-align:middle;position:absolute;left:0;bottom:0}.ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-link]::part(root),.ui5-breadcrumbs-link-wrapper [ui5-link]::part(root){padding-top:.25rem;padding-bottom:.25rem}.ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-link][focused] [ui5-icon]:after,.ui5-breadcrumbs-dropdown-arrow-link-wrapper:hover [ui5-icon]:after{content:"";position:absolute;border-bottom:.0625rem solid;inset:0 0 1px}.ui5-breadcrumbs-popover{margin-top:.25rem}.ui5-breadcrumbs-popover-footer{display:flex;justify-content:flex-end;width:100%}.ui5-breadcrumbs-separator:after{content:"/";padding:0 .25rem;cursor:auto;color:var(--sapContent_LabelColor);display:inline-block;font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSize)}:host([separators="DoubleSlash"]) .ui5-breadcrumbs-separator:after{content:"//"}:host([separators="BackSlash"]) .ui5-breadcrumbs-separator:after{content:"\\\\"}:host([separators="DoubleBackSlash"]) .ui5-breadcrumbs-separator:after{content:"\\\\\\\\"}:host([separators="GreaterThan"]) .ui5-breadcrumbs-separator:after{content:">"}:host([separators="DoubleGreaterThan"]) .ui5-breadcrumbs-separator:after{content:">>"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host(:not([hidden])){display:inline-block}:host([_is-busy]){color:var(--_ui5-v2-
|
|
1
|
+
:host(:not([hidden])){display:inline-block}:host([_is-busy]){color:var(--_ui5-v2-10-0-rc-0_busy_indicator_color)}:host([size="S"]) .ui5-busy-indicator-root{min-width:1.625rem;min-height:.5rem}:host([size="S"][text]:not([text=""])) .ui5-busy-indicator-root{min-height:1.75rem}:host([size="S"]) .ui5-busy-indicator-circle{width:.5rem;height:.5rem}:host([size="S"]) .ui5-busy-indicator-circle:first-child,:host([size="S"]) .ui5-busy-indicator-circle:nth-child(2){margin-inline-end:.0625rem}:host(:not([size])) .ui5-busy-indicator-root,:host([size="M"]) .ui5-busy-indicator-root{min-width:3.375rem;min-height:1rem}:host([size="M"]) .ui5-busy-indicator-circle:first-child,:host([size="M"]) .ui5-busy-indicator-circle:nth-child(2){margin-inline-end:.1875rem}:host(:not([size])[text]:not([text=""])) .ui5-busy-indicator-root,:host([size="M"][text]:not([text=""])) .ui5-busy-indicator-root{min-height:2.25rem}:host(:not([size])) .ui5-busy-indicator-circle,:host([size="M"]) .ui5-busy-indicator-circle{width:1rem;height:1rem}:host([size="L"]) .ui5-busy-indicator-root{min-width:6.5rem;min-height:2rem}:host([size="L"]) .ui5-busy-indicator-circle:first-child,:host([size="L"]) .ui5-busy-indicator-circle:nth-child(2){margin-inline-end:.25rem}:host([size="L"][text]:not([text=""])) .ui5-busy-indicator-root{min-height:3.25rem}:host([size="L"]) .ui5-busy-indicator-circle{width:2rem;height:2rem}.ui5-busy-indicator-root{display:flex;justify-content:center;align-items:center;position:relative;background-color:inherit;height:inherit;border-radius:inherit}.ui5-busy-indicator-busy-area{position:absolute;z-index:99;inset:0;display:flex;justify-content:center;align-items:center;background-color:inherit;flex-direction:column;border-radius:inherit}:host(:not(:empty)) .ui5-busy-indicator-busy-area{background-color:var(--_ui5-v2-10-0-rc-0_busy_indicator_block_layer)}:host([desktop]) .ui5-busy-indicator-busy-area:focus,.ui5-busy-indicator-busy-area:focus-visible{outline:var(--_ui5-v2-10-0-rc-0_busy_indicator_focus_outline);outline-offset:-2px}.ui5-busy-indicator-circles-wrapper{line-height:0}.ui5-busy-indicator-circle{display:inline-block;background-color:currentColor;border-radius:50%}.ui5-busy-indicator-circle:before{content:"";width:100%;height:100%;border-radius:100%}.circle-animation-0{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11)}.circle-animation-1{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.2s}.circle-animation-2{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.4s}.ui5-busy-indicator-text{width:100%;text-align:center}:host([text-placement="Top"]) .ui5-busy-indicator-text{margin-bottom:.5rem}:host(:not([text-placement])) .ui5-busy-indicator-text,:host([text-placement="Bottom"]) .ui5-busy-indicator-text{margin-top:.5rem}@keyframes grow{0%,50%,to{-webkit-transform:scale(.5);-moz-transform:scale(.5);transform:scale(.5)}25%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{vertical-align:middle}.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:inline-block}:host{min-width:var(--_ui5-v2-9-0_button_base_min_width);height:var(--_ui5-v2-9-0_button_base_height);line-height:normal;font-family:var(--_ui5-v2-9-0_button_fontFamily);font-size:var(--sapFontSize);text-shadow:var(--_ui5-v2-9-0_button_text_shadow);border-radius:var(--_ui5-v2-9-0_button_border_radius);cursor:pointer;background-color:var(--sapButton_Background);border:var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);color:var(--sapButton_TextColor);box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-tap-highlight-color:transparent}.ui5-button-root{min-width:inherit;cursor:inherit;height:100%;width:100%;box-sizing:border-box;display:flex;justify-content:center;align-items:center;outline:none;padding:0 var(--_ui5-v2-9-0_button_base_padding);position:relative;background:transparent;border:none;color:inherit;text-shadow:inherit;font:inherit;white-space:inherit;overflow:inherit;text-overflow:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host(:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host(:not([hidden]):not([disabled]).ui5_hovered){background:var(--sapButton_Hover_Background);border:1px solid var(--sapButton_Hover_BorderColor);color:var(--sapButton_Hover_TextColor)}.ui5-button-icon,.ui5-button-end-icon{color:inherit;flex-shrink:0}.ui5-button-end-icon{margin-inline-start:var(--_ui5-v2-9-0_button_base_icon_margin)}:host([icon-only]:not([has-end-icon])) .ui5-button-root{min-width:auto;padding:0}:host([icon-only]) .ui5-button-text{display:none}.ui5-button-text{outline:none;position:relative;white-space:inherit;overflow:inherit;text-overflow:inherit}:host([has-icon]:not(:empty)) .ui5-button-text{margin-inline-start:var(--_ui5-v2-9-0_button_base_icon_margin)}:host([has-end-icon]:not([has-icon]):empty) .ui5-button-end-icon{margin-inline-start:0}:host([disabled]){opacity:var(--sapContent_DisabledOpacity);pointer-events:unset;cursor:default}:host([has-icon]:not([icon-only]):not([has-end-icon])) .ui5-button-text{min-width:calc(var(--_ui5-v2-9-0_button_base_min_width) - var(--_ui5-v2-9-0_button_base_icon_margin) - 1rem)}:host([disabled]:active){pointer-events:none}:host([desktop]:not([active])) .ui5-button-root:focus-within:after,:host(:not([active])) .ui5-button-root:focus-visible:after,:host([desktop][active][design="Emphasized"]) .ui5-button-root:focus-within:after,:host([active][design="Emphasized"]) .ui5-button-root:focus-visible:after,:host([desktop][active]) .ui5-button-root:focus-within:before,:host([active]) .ui5-button-root:focus-visible:before{content:"";position:absolute;box-sizing:border-box;inset:.0625rem;border:var(--_ui5-v2-9-0_button_focused_border);border-radius:var(--_ui5-v2-9-0_button_focused_border_radius)}:host([desktop][active]) .ui5-button-root:focus-within:before,:host([active]) .ui5-button-root:focus-visible:before{border-color:var(--_ui5-v2-9-0_button_pressed_focused_border_color)}:host([design="Emphasized"][desktop]) .ui5-button-root:focus-within:after,:host([design="Emphasized"]) .ui5-button-root:focus-visible:after{border-color:var(--_ui5-v2-9-0_button_emphasized_focused_border_color)}:host([design="Emphasized"][desktop]) .ui5-button-root:focus-within:before,:host([design="Emphasized"]) .ui5-button-root:focus-visible:before{content:"";position:absolute;box-sizing:border-box;inset:.0625rem;border:var(--_ui5-v2-9-0_button_emphasized_focused_border_before);border-radius:var(--_ui5-v2-9-0_button_focused_border_radius)}.ui5-button-root::-moz-focus-inner{border:0}bdi{display:block;white-space:inherit;overflow:inherit;text-overflow:inherit}:host([ui5-button][active]:not([disabled]):not([non-interactive])){background-image:none;background-color:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host([design="Positive"]){background-color:var(--sapButton_Accept_Background);border-color:var(--sapButton_Accept_BorderColor);color:var(--sapButton_Accept_TextColor)}:host([design="Positive"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Positive"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Accept_Hover_Background);border-color:var(--sapButton_Accept_Hover_BorderColor);color:var(--sapButton_Accept_Hover_TextColor)}:host([ui5-button][design="Positive"][active]:not([non-interactive])){background-color:var(--sapButton_Accept_Active_Background);border-color:var(--sapButton_Accept_Active_BorderColor);color:var(--sapButton_Accept_Active_TextColor)}:host([design="Negative"]){background-color:var(--sapButton_Reject_Background);border-color:var(--sapButton_Reject_BorderColor);color:var(--sapButton_Reject_TextColor)}:host([design="Negative"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Negative"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Reject_Hover_Background);border-color:var(--sapButton_Reject_Hover_BorderColor);color:var(--sapButton_Reject_Hover_TextColor)}:host([ui5-button][design="Negative"][active]:not([non-interactive])){background-color:var(--sapButton_Reject_Active_Background);border-color:var(--sapButton_Reject_Active_BorderColor);color:var(--sapButton_Reject_Active_TextColor)}:host([design="Attention"]){background-color:var(--sapButton_Attention_Background);border-color:var(--sapButton_Attention_BorderColor);color:var(--sapButton_Attention_TextColor)}:host([design="Attention"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Attention"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Attention_Hover_Background);border-color:var(--sapButton_Attention_Hover_BorderColor);color:var(--sapButton_Attention_Hover_TextColor)}:host([ui5-button][design="Attention"][active]:not([non-interactive])){background-color:var(--sapButton_Attention_Active_Background);border-color:var(--sapButton_Attention_Active_BorderColor);color:var(--sapButton_Attention_Active_TextColor)}:host([design="Emphasized"]){background-color:var(--sapButton_Emphasized_Background);border-color:var(--sapButton_Emphasized_BorderColor);border-width:var(--_ui5-v2-9-0_button_emphasized_border_width);color:var(--sapButton_Emphasized_TextColor);font-family:var(--sapFontBoldFamily )}:host([design="Emphasized"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Emphasized"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Emphasized_Hover_Background);border-color:var(--sapButton_Emphasized_Hover_BorderColor);border-width:var(--_ui5-v2-9-0_button_emphasized_border_width);color:var(--sapButton_Emphasized_Hover_TextColor)}:host([ui5-button][design="Empasized"][active]:not([non-interactive])){background-color:var(--sapButton_Emphasized_Active_Background);border-color:var(--sapButton_Emphasized_Active_BorderColor);color:var(--sapButton_Emphasized_Active_TextColor)}:host([design="Emphasized"][desktop]) .ui5-button-root:focus-within:after,:host([design="Emphasized"]) .ui5-button-root:focus-visible:after{border-color:var(--_ui5-v2-9-0_button_emphasized_focused_border_color);outline:none}:host([design="Emphasized"][desktop][active]:not([non-interactive])) .ui5-button-root:focus-within:after,:host([design="Emphasized"][active]:not([non-interactive])) .ui5-button-root:focus-visible:after{border-color:var(--_ui5-v2-9-0_button_emphasized_focused_active_border_color)}:host([design="Transparent"]){background-color:var(--sapButton_Lite_Background);color:var(--sapButton_Lite_TextColor);border-color:var(--sapButton_Lite_BorderColor)}:host([design="Transparent"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Transparent"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Lite_Hover_Background);border-color:var(--sapButton_Lite_Hover_BorderColor);color:var(--sapButton_Lite_Hover_TextColor)}:host([ui5-button][design="Transparent"][active]:not([non-interactive])){background-color:var(--sapButton_Lite_Active_Background);border-color:var(--sapButton_Lite_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host([ui5-segmented-button-item][active][desktop]) .ui5-button-root:focus-within:after,:host([ui5-segmented-button-item][active]) .ui5-button-root:focus-visible:after,:host([pressed][desktop]) .ui5-button-root:focus-within:after,:host([pressed]) .ui5-button-root:focus-visible:after{border-color:var(--_ui5-v2-9-0_button_pressed_focused_border_color);outline:none}:host([ui5-segmented-button-item][desktop]:not(:last-child)) .ui5-button-root:focus-within:after,:host([ui5-segmented-button-item]:not(:last-child)) .ui5-button-root:focus-visible:after{border-top-right-radius:var(--_ui5-v2-9-0_button_focused_inner_border_radius);border-bottom-right-radius:var(--_ui5-v2-9-0_button_focused_inner_border_radius)}:host([ui5-segmented-button-item][desktop]:not(:first-child)) .ui5-button-root:focus-within:after,:host([ui5-segmented-button-item]:not(:first-child)) .ui5-button-root:focus-visible:after{border-top-left-radius:var(--_ui5-v2-9-0_button_focused_inner_border_radius);border-bottom-left-radius:var(--_ui5-v2-9-0_button_focused_inner_border_radius)}::slotted([slot="badge"][design="InlineText"]){pointer-events:initial;font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSmallSize);padding-inline-start:.25rem;--_ui5-v2-9-0-tag-height: .625rem}::slotted([slot="badge"][design="OverlayText"]){pointer-events:initial;position:absolute;top:0;inset-inline-end:0;margin:-.5rem;z-index:1000;font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSmallSize);--_ui5-v2-9-0-tag-height: .625rem}::slotted([slot="badge"][design="AttentionDot"]){pointer-events:initial;content:"";position:absolute;top:0;inset-inline-end:0;margin:-.25rem;z-index:1000}:host(:state(has-overlay-badge)){overflow:visible;margin-right:5px}
|
|
1
|
+
:host{vertical-align:middle}.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:inline-block}:host{min-width:var(--_ui5-v2-10-0-rc-0_button_base_min_width);height:var(--_ui5-v2-10-0-rc-0_button_base_height);line-height:normal;font-family:var(--_ui5-v2-10-0-rc-0_button_fontFamily);font-size:var(--sapFontSize);text-shadow:var(--_ui5-v2-10-0-rc-0_button_text_shadow);border-radius:var(--_ui5-v2-10-0-rc-0_button_border_radius);cursor:pointer;background-color:var(--sapButton_Background);border:var(--sapButton_BorderWidth) solid var(--sapButton_BorderColor);color:var(--sapButton_TextColor);box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-tap-highlight-color:transparent}.ui5-button-root{min-width:inherit;cursor:inherit;height:100%;width:100%;box-sizing:border-box;display:flex;justify-content:center;align-items:center;outline:none;padding:0 var(--_ui5-v2-10-0-rc-0_button_base_padding);position:relative;background:transparent;border:none;color:inherit;text-shadow:inherit;font:inherit;white-space:inherit;overflow:inherit;text-overflow:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host(:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host(:not([hidden]):not([disabled]).ui5_hovered){background:var(--sapButton_Hover_Background);border:1px solid var(--sapButton_Hover_BorderColor);color:var(--sapButton_Hover_TextColor)}.ui5-button-icon,.ui5-button-end-icon{color:inherit;flex-shrink:0}.ui5-button-end-icon{margin-inline-start:var(--_ui5-v2-10-0-rc-0_button_base_icon_margin)}:host([icon-only]:not([has-end-icon])) .ui5-button-root{min-width:auto;padding:0}:host([icon-only]) .ui5-button-text{display:none}.ui5-button-text{outline:none;position:relative;white-space:inherit;overflow:inherit;text-overflow:inherit}:host([has-icon]:not(:empty)) .ui5-button-text{margin-inline-start:var(--_ui5-v2-10-0-rc-0_button_base_icon_margin)}:host([has-end-icon]:not([has-icon]):empty) .ui5-button-end-icon{margin-inline-start:0}:host([disabled]){opacity:var(--sapContent_DisabledOpacity);pointer-events:unset;cursor:default}:host([has-icon]:not([icon-only]):not([has-end-icon])) .ui5-button-text{min-width:calc(var(--_ui5-v2-10-0-rc-0_button_base_min_width) - var(--_ui5-v2-10-0-rc-0_button_base_icon_margin) - 1rem)}:host([disabled]:active){pointer-events:none}:host([desktop]:not([active])) .ui5-button-root:focus-within:after,:host(:not([active])) .ui5-button-root:focus-visible:after,:host([desktop][active][design="Emphasized"]) .ui5-button-root:focus-within:after,:host([active][design="Emphasized"]) .ui5-button-root:focus-visible:after,:host([desktop][active]) .ui5-button-root:focus-within:before,:host([active]) .ui5-button-root:focus-visible:before{content:"";position:absolute;box-sizing:border-box;inset:.0625rem;border:var(--_ui5-v2-10-0-rc-0_button_focused_border);border-radius:var(--_ui5-v2-10-0-rc-0_button_focused_border_radius)}:host([desktop][active]) .ui5-button-root:focus-within:before,:host([active]) .ui5-button-root:focus-visible:before{border-color:var(--_ui5-v2-10-0-rc-0_button_pressed_focused_border_color)}:host([design="Emphasized"][desktop]) .ui5-button-root:focus-within:after,:host([design="Emphasized"]) .ui5-button-root:focus-visible:after{border-color:var(--_ui5-v2-10-0-rc-0_button_emphasized_focused_border_color)}:host([design="Emphasized"][desktop]) .ui5-button-root:focus-within:before,:host([design="Emphasized"]) .ui5-button-root:focus-visible:before{content:"";position:absolute;box-sizing:border-box;inset:.0625rem;border:var(--_ui5-v2-10-0-rc-0_button_emphasized_focused_border_before);border-radius:var(--_ui5-v2-10-0-rc-0_button_focused_border_radius)}.ui5-button-root::-moz-focus-inner{border:0}bdi{display:block;white-space:inherit;overflow:inherit;text-overflow:inherit}:host([ui5-button][active]:not([disabled]):not([non-interactive])){background-image:none;background-color:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host([design="Positive"]){background-color:var(--sapButton_Accept_Background);border-color:var(--sapButton_Accept_BorderColor);color:var(--sapButton_Accept_TextColor)}:host([design="Positive"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Positive"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Accept_Hover_Background);border-color:var(--sapButton_Accept_Hover_BorderColor);color:var(--sapButton_Accept_Hover_TextColor)}:host([ui5-button][design="Positive"][active]:not([non-interactive])){background-color:var(--sapButton_Accept_Active_Background);border-color:var(--sapButton_Accept_Active_BorderColor);color:var(--sapButton_Accept_Active_TextColor)}:host([design="Negative"]){background-color:var(--sapButton_Reject_Background);border-color:var(--sapButton_Reject_BorderColor);color:var(--sapButton_Reject_TextColor)}:host([design="Negative"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Negative"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Reject_Hover_Background);border-color:var(--sapButton_Reject_Hover_BorderColor);color:var(--sapButton_Reject_Hover_TextColor)}:host([ui5-button][design="Negative"][active]:not([non-interactive])){background-color:var(--sapButton_Reject_Active_Background);border-color:var(--sapButton_Reject_Active_BorderColor);color:var(--sapButton_Reject_Active_TextColor)}:host([design="Attention"]){background-color:var(--sapButton_Attention_Background);border-color:var(--sapButton_Attention_BorderColor);color:var(--sapButton_Attention_TextColor)}:host([design="Attention"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Attention"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Attention_Hover_Background);border-color:var(--sapButton_Attention_Hover_BorderColor);color:var(--sapButton_Attention_Hover_TextColor)}:host([ui5-button][design="Attention"][active]:not([non-interactive])){background-color:var(--sapButton_Attention_Active_Background);border-color:var(--sapButton_Attention_Active_BorderColor);color:var(--sapButton_Attention_Active_TextColor)}:host([design="Emphasized"]){background-color:var(--sapButton_Emphasized_Background);border-color:var(--sapButton_Emphasized_BorderColor);border-width:var(--_ui5-v2-10-0-rc-0_button_emphasized_border_width);color:var(--sapButton_Emphasized_TextColor);font-family:var(--sapFontBoldFamily )}:host([design="Emphasized"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Emphasized"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Emphasized_Hover_Background);border-color:var(--sapButton_Emphasized_Hover_BorderColor);border-width:var(--_ui5-v2-10-0-rc-0_button_emphasized_border_width);color:var(--sapButton_Emphasized_Hover_TextColor)}:host([ui5-button][design="Empasized"][active]:not([non-interactive])){background-color:var(--sapButton_Emphasized_Active_Background);border-color:var(--sapButton_Emphasized_Active_BorderColor);color:var(--sapButton_Emphasized_Active_TextColor)}:host([design="Emphasized"][desktop]) .ui5-button-root:focus-within:after,:host([design="Emphasized"]) .ui5-button-root:focus-visible:after{border-color:var(--_ui5-v2-10-0-rc-0_button_emphasized_focused_border_color);outline:none}:host([design="Emphasized"][desktop][active]:not([non-interactive])) .ui5-button-root:focus-within:after,:host([design="Emphasized"][active]:not([non-interactive])) .ui5-button-root:focus-visible:after{border-color:var(--_ui5-v2-10-0-rc-0_button_emphasized_focused_active_border_color)}:host([design="Transparent"]){background-color:var(--sapButton_Lite_Background);color:var(--sapButton_Lite_TextColor);border-color:var(--sapButton_Lite_BorderColor)}:host([design="Transparent"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]):hover),:host([design="Transparent"]:not([active]):not([non-interactive]):not([_is-touch]):not([disabled]).ui5_hovered){background-color:var(--sapButton_Lite_Hover_Background);border-color:var(--sapButton_Lite_Hover_BorderColor);color:var(--sapButton_Lite_Hover_TextColor)}:host([ui5-button][design="Transparent"][active]:not([non-interactive])){background-color:var(--sapButton_Lite_Active_Background);border-color:var(--sapButton_Lite_Active_BorderColor);color:var(--sapButton_Active_TextColor)}:host([ui5-segmented-button-item][active][desktop]) .ui5-button-root:focus-within:after,:host([ui5-segmented-button-item][active]) .ui5-button-root:focus-visible:after,:host([pressed][desktop]) .ui5-button-root:focus-within:after,:host([pressed]) .ui5-button-root:focus-visible:after{border-color:var(--_ui5-v2-10-0-rc-0_button_pressed_focused_border_color);outline:none}:host([ui5-segmented-button-item][desktop]:not(:last-child)) .ui5-button-root:focus-within:after,:host([ui5-segmented-button-item]:not(:last-child)) .ui5-button-root:focus-visible:after{border-top-right-radius:var(--_ui5-v2-10-0-rc-0_button_focused_inner_border_radius);border-bottom-right-radius:var(--_ui5-v2-10-0-rc-0_button_focused_inner_border_radius)}:host([ui5-segmented-button-item][desktop]:not(:first-child)) .ui5-button-root:focus-within:after,:host([ui5-segmented-button-item]:not(:first-child)) .ui5-button-root:focus-visible:after{border-top-left-radius:var(--_ui5-v2-10-0-rc-0_button_focused_inner_border_radius);border-bottom-left-radius:var(--_ui5-v2-10-0-rc-0_button_focused_inner_border_radius)}::slotted([slot="badge"][design="InlineText"]){pointer-events:initial;font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSmallSize);padding-inline-start:.25rem;--_ui5-v2-10-0-rc-0-tag-height: .625rem}::slotted([slot="badge"][design="OverlayText"]){pointer-events:initial;position:absolute;top:0;inset-inline-end:0;margin:-.5rem;z-index:1000;font-family:"72override",var(--sapFontFamily);font-size:var(--sapFontSmallSize);--_ui5-v2-10-0-rc-0-tag-height: .625rem}::slotted([slot="badge"][design="AttentionDot"]){pointer-events:initial;content:"";position:absolute;top:0;inset-inline-end:0;margin:-.25rem;z-index:1000}:host(:state(has-overlay-badge)){overflow:visible;margin-right:5px}
|