@ui5/webcomponents 1.22.0-rc.0 → 1.22.0-rc.2
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 +43 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Calendar.js +1 -0
- package/dist/Calendar.js.map +1 -1
- package/dist/Card.d.ts +2 -0
- package/dist/Card.js +2 -0
- package/dist/Card.js.map +1 -1
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.d.ts +17 -0
- package/dist/CheckBox.js +22 -3
- package/dist/CheckBox.js.map +1 -1
- package/dist/ColorPalette.d.ts +2 -1
- package/dist/ColorPalette.js +5 -2
- package/dist/ColorPalette.js.map +1 -1
- package/dist/ColorPalettePopover.js.map +1 -1
- package/dist/ComboBox.d.ts +14 -0
- package/dist/ComboBox.js +57 -17
- package/dist/ComboBox.js.map +1 -1
- package/dist/CustomListItem.js.map +1 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateTimePicker.d.ts +1 -0
- package/dist/DateTimePicker.js +4 -0
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/FileUploader.js.map +1 -1
- package/dist/Input.d.ts +3 -3
- package/dist/Input.js +6 -5
- package/dist/Input.js.map +1 -1
- package/dist/Interfaces.d.ts +5 -0
- package/dist/Interfaces.js.map +1 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.js +13 -1
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +2 -7
- package/dist/ListItem.js +1 -8
- package/dist/ListItem.js.map +1 -1
- package/dist/Menu.js.map +1 -1
- package/dist/MultiComboBox.d.ts +31 -6
- package/dist/MultiComboBox.js +173 -35
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxGroupItem.d.ts +1 -0
- package/dist/MultiComboBoxGroupItem.js +1 -0
- package/dist/MultiComboBoxGroupItem.js.map +1 -1
- package/dist/MultiComboBoxItem.js.map +1 -1
- package/dist/MultiInput.js.map +1 -1
- package/dist/NavigationMenu.d.ts +12 -7
- package/dist/NavigationMenu.js +7 -10
- package/dist/NavigationMenu.js.map +1 -1
- package/dist/NavigationMenuItem.d.ts +4 -12
- package/dist/NavigationMenuItem.js +2 -6
- package/dist/NavigationMenuItem.js.map +1 -1
- package/dist/Panel.d.ts +0 -2
- package/dist/Panel.js.map +1 -1
- package/dist/Popup.js.map +1 -1
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.js.map +1 -1
- package/dist/SelectMenu.js.map +1 -1
- package/dist/SelectMenuOption.js.map +1 -1
- package/dist/StandardListItem.js.map +1 -1
- package/dist/SuggestionItem.d.ts +0 -2
- package/dist/SuggestionItem.js.map +1 -1
- package/dist/Switch.js +1 -0
- package/dist/Switch.js.map +1 -1
- package/dist/TabContainer.js.map +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/TableGroupRow.d.ts +1 -9
- package/dist/TableGroupRow.js +1 -0
- package/dist/TableGroupRow.js.map +1 -1
- package/dist/TableRow.d.ts +2 -8
- package/dist/TableRow.js.map +1 -1
- package/dist/TimePickerBase.js.map +1 -1
- package/dist/TimePickerClock.js.map +1 -1
- package/dist/TimePickerInternals.js.map +1 -1
- package/dist/TimeSelection.d.ts +1 -0
- package/dist/TimeSelection.js +3 -0
- package/dist/TimeSelection.js.map +1 -1
- package/dist/Token.js.map +1 -1
- package/dist/Tokenizer.d.ts +1 -1
- package/dist/Tokenizer.js +5 -4
- package/dist/Tokenizer.js.map +1 -1
- package/dist/ToolbarSelect.js.map +1 -1
- package/dist/Tree.d.ts +1 -1
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItem.d.ts +0 -10
- package/dist/TreeItem.js +0 -4
- package/dist/TreeItem.js.map +1 -1
- package/dist/TreeItemBase.d.ts +0 -14
- package/dist/TreeItemBase.js +0 -7
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/WheelSlider.d.ts +1 -0
- package/dist/WheelSlider.js +4 -2
- package/dist/WheelSlider.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Badge.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/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.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/CustomListItem.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/GroupHeaderListItem.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/Menu.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/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/NavigationMenu.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/Select.css +1 -1
- package/dist/css/themes/SelectMenu.css +1 -1
- package/dist/css/themes/SelectPopover.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/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableColumn.css +1 -1
- package/dist/css/themes/TableGroupRow.css +1 -1
- package/dist/css/themes/TableRow.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/WheelSlider.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.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_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +799 -1612
- package/dist/custom-elements.json +768 -1505
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/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_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
- package/dist/generated/i18n/i18n-defaults.js +4 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/CardTemplate.lit.js +1 -1
- package/dist/generated/templates/CardTemplate.lit.js.map +1 -1
- package/dist/generated/templates/CheckBoxTemplate.lit.js +6 -4
- package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ColorPaletteTemplate.lit.js +2 -2
- package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -19
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxTemplate.lit.js +4 -3
- package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/InputTemplate.lit.js +1 -1
- package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +27 -24
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -3
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
- package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TimeSelectionTemplate.lit.js +4 -4
- package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +1 -1
- package/dist/generated/templates/WheelSliderTemplate.lit.js +1 -1
- package/dist/generated/templates/WheelSliderTemplate.lit.js.map +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.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.js.map +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.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +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/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +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/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +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.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +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.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +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.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +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.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/CustomListItem.css.js +1 -1
- package/dist/generated/themes/CustomListItem.css.js.map +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.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +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.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +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/GroupHeaderListItem.css.js +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js.map +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.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +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.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +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.js +1 -1
- package/dist/generated/themes/Link.css.js.map +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.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +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/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +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.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +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/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +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/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +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.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +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.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +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.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +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.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +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.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +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/SelectMenu.css.js +1 -1
- package/dist/generated/themes/SelectMenu.css.js.map +1 -1
- package/dist/generated/themes/SelectPopover.css.js +1 -1
- package/dist/generated/themes/SelectPopover.css.js.map +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.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +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/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +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.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +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.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +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.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCell.css.js +1 -1
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableColumn.css.js +1 -1
- package/dist/generated/themes/TableColumn.css.js.map +1 -1
- package/dist/generated/themes/TableGroupRow.css.js +1 -1
- package/dist/generated/themes/TableGroupRow.css.js.map +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/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +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.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +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.js +1 -1
- package/dist/generated/themes/Token.css.js.map +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.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +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.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +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.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/WheelSlider.css.js +1 -1
- package/dist/generated/themes/WheelSlider.css.js.map +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_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +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.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.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.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.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.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +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_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +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/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/package-scripts.cjs +1 -0
- package/package.json +9 -9
- package/src/Breadcrumbs.hbs +2 -0
- package/src/Card.hbs +3 -2
- package/src/CheckBox.hbs +25 -18
- package/src/ColorPalette.hbs +2 -2
- package/src/ComboBox.hbs +6 -0
- package/src/ComboBoxPopover.hbs +11 -15
- package/src/DateTimePickerPopover.hbs +1 -0
- package/src/Input.hbs +1 -1
- package/src/MultiComboBox.hbs +6 -0
- package/src/MultiComboBoxPopover.hbs +26 -17
- package/src/SplitButton.hbs +1 -7
- package/src/TimeSelection.hbs +4 -0
- package/src/WheelSlider.hbs +1 -0
- package/src/i18n/messagebundle.properties +10 -1
- package/src/i18n/messagebundle_ar.properties +17 -1
- package/src/i18n/messagebundle_bg.properties +17 -1
- package/src/i18n/messagebundle_ca.properties +17 -1
- package/src/i18n/messagebundle_cnr.properties +17 -1
- package/src/i18n/messagebundle_cs.properties +17 -1
- package/src/i18n/messagebundle_cy.properties +17 -1
- package/src/i18n/messagebundle_da.properties +17 -1
- package/src/i18n/messagebundle_de.properties +17 -1
- package/src/i18n/messagebundle_el.properties +17 -1
- package/src/i18n/messagebundle_en.properties +17 -1
- package/src/i18n/messagebundle_en_GB.properties +17 -1
- package/src/i18n/messagebundle_en_US_saprigi.properties +17 -1
- package/src/i18n/messagebundle_es.properties +17 -1
- package/src/i18n/messagebundle_es_MX.properties +17 -1
- package/src/i18n/messagebundle_et.properties +17 -1
- package/src/i18n/messagebundle_fi.properties +17 -1
- package/src/i18n/messagebundle_fr.properties +17 -1
- package/src/i18n/messagebundle_fr_CA.properties +17 -1
- package/src/i18n/messagebundle_hi.properties +17 -1
- package/src/i18n/messagebundle_hr.properties +17 -1
- package/src/i18n/messagebundle_hu.properties +17 -1
- package/src/i18n/messagebundle_id.properties +17 -1
- package/src/i18n/messagebundle_it.properties +17 -1
- package/src/i18n/messagebundle_iw.properties +17 -1
- package/src/i18n/messagebundle_ja.properties +17 -1
- package/src/i18n/messagebundle_kk.properties +17 -1
- package/src/i18n/messagebundle_ko.properties +19 -3
- package/src/i18n/messagebundle_lt.properties +17 -1
- package/src/i18n/messagebundle_lv.properties +17 -1
- package/src/i18n/messagebundle_mk.properties +17 -1
- package/src/i18n/messagebundle_ms.properties +17 -1
- package/src/i18n/messagebundle_nl.properties +17 -1
- package/src/i18n/messagebundle_no.properties +20 -4
- package/src/i18n/messagebundle_pl.properties +17 -1
- package/src/i18n/messagebundle_pt.properties +17 -1
- package/src/i18n/messagebundle_pt_PT.properties +17 -1
- package/src/i18n/messagebundle_ro.properties +17 -1
- package/src/i18n/messagebundle_ru.properties +23 -7
- package/src/i18n/messagebundle_sh.properties +17 -1
- package/src/i18n/messagebundle_sk.properties +17 -1
- package/src/i18n/messagebundle_sl.properties +17 -1
- package/src/i18n/messagebundle_sr.properties +17 -1
- package/src/i18n/messagebundle_sv.properties +17 -1
- package/src/i18n/messagebundle_th.properties +17 -1
- package/src/i18n/messagebundle_tr.properties +17 -1
- package/src/i18n/messagebundle_uk.properties +17 -1
- package/src/i18n/messagebundle_vi.properties +17 -1
- package/src/i18n/messagebundle_zh_CN.properties +17 -1
- package/src/i18n/messagebundle_zh_TW.properties +17 -1
- package/src/themes/Breadcrumbs.css +22 -22
- package/src/themes/CheckBox.css +18 -1
- package/src/themes/List.css +5 -0
- package/src/themes/MultiComboBoxPopover.css +31 -0
- package/src/themes/SplitButton.css +62 -162
- package/src/themes/TextArea.css +1 -0
- package/src/themes/ValueStateMessage.css +1 -1
- package/src/themes/base/SplitButton-parameters.css +3 -24
- package/src/themes/base/rtl-parameters.css +0 -14
- package/src/themes/base/sizes-parameters.css +1 -2
- package/src/themes/sap_fiori_3_dark/Badge-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +3 -0
- package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +10 -11
- package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +3 -0
- package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +10 -10
- package/src/themes/sap_horizon/SplitButton-parameters.css +1 -14
- package/src/themes/sap_horizon_dark/SplitButton-parameters.css +1 -15
- package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +0 -15
- package/src/themes/sap_horizon_exp/SplitButton-parameters.css +0 -15
- package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +10 -10
- package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +10 -10
- package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +10 -10
- package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +10 -10
- package/tsconfig.json +1 -0
package/dist/AvatarGroup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../src/AvatarGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\n\nimport {\n\tisEnter,\n\tisSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Button from \"./Button.js\";\nimport type IAvatar from \"./Avatar.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport AvatarGroupType from \"./types/AvatarGroupType.js\";\nimport AvatarColorScheme from \"./types/AvatarColorScheme.js\";\n\nimport {\n\tAVATAR_GROUP_DISPLAYED_HIDDEN_LABEL,\n\tAVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL,\n\tAVATAR_GROUP_ARIA_LABEL_INDIVIDUAL,\n\tAVATAR_GROUP_ARIA_LABEL_GROUP,\n\tAVATAR_GROUP_MOVE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarGroupCss from \"./generated/themes/AvatarGroup.css.js\";\n\n// Template\nimport AvatarGroupTemplate from \"./generated/templates/AvatarGroupTemplate.lit.js\";\nimport { IButton } from \"./Interfaces.js\";\n\nconst OVERFLOW_BTN_CLASS = \"ui5-avatar-group-overflow-btn\";\nconst AVATAR_GROUP_OVERFLOW_BTN_SELECTOR = `.${OVERFLOW_BTN_CLASS}`;\n\n// based on RTL/LTR a margin-left/right is set respectfully\nconst offsets = {\n\t[AvatarSize.XS]: {\n\t\t[AvatarGroupType.Individual]: \"0.0625rem\",\n\t\t[AvatarGroupType.Group]: \"-0.75rem\",\n\t},\n\t[AvatarSize.S]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \"-1.25rem\",\n\t},\n\t[AvatarSize.M]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \"-1.625rem\",\n\t},\n\t[AvatarSize.L]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \" -2rem\",\n\t},\n\t[AvatarSize.XL]: {\n\t\t[AvatarGroupType.Individual]: \"0.25rem\",\n\t\t[AvatarGroupType.Group]: \"-2.75rem\",\n\t},\n};\n\ntype AvatarGroupClickEventDetail = {\n\ttargetRef: HTMLElement,\n\toverflowButtonClicked: boolean,\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * Displays a group of avatars arranged horizontally. It is useful to visually\n * showcase a group of related avatars, such as, project team members or employees.\n *\n * The component allows you to display the avatars in different sizes,\n * depending on your use case.\n *\n * The <code>AvatarGroup</code> component has two group types:\n * <ul>\n * <li><code>Group</code> type: The avatars are displayed as partially overlapped on\n * top of each other and the entire group has one click/tap area.</li>\n * <li><code>Individual</code> type: The avatars are displayed side-by-side and each\n * avatar has its own click/tap area.</li>\n * </ul>\n *\n * <h3>Responsive Behavior</h3>\n *\n * When the available space is less than the width required to display all avatars,\n * an overflow visualization appears as a button placed at the end with the same shape\n * and size as the avatars. The visualization displays the number of avatars that have overflowed\n * and are not currently visible.\n *\n * <h3>Usage</h3>\n *\n * Use the <code>AvatarGroup</code> if:\n * <ul>\n * <li>You want to display a group of avatars.</li>\n * <li>You want to display several avatars which have something in common.</li>\n * </ul>\n *\n * Do not use the <code>AvatarGroup</code> if:\n * <ul>\n * <li>You want to display a single avatar.</li>\n * <li>You want to display a gallery for simple images.</li>\n * <li>You want to use it for other visual content than avatars.</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n * The component provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * <br>\n * <code>type</code> Individual:\n * <br>\n * <ul>\n * <li>[TAB] - Move focus to the overflow button</li>\n * <li>[LEFT] - Navigate one avatar to the left</li>\n * <li>[RIGHT] - Navigate one avatar to the right</li>\n * <li>[HOME] - Navigate to the first avatar</li>\n * <li>[END] - Navigate to the last avatar</li>\n * <li>[SPACE],[ENTER],[RETURN] - Trigger <code>ui5-click</code> event</li>\n * </ul>\n * <br>\n * <code>type</code> Group:\n * <br>\n * <ul>\n * <li>[TAB] - Move focus to the next interactive element after the component</li>\n * <li>[SPACE],[ENTER],[RETURN] - Trigger <code>ui5-click</code> event</li>\n * </ul>\n * <br>\n *\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.11\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-avatar-group\",\n\trenderer: litRender,\n\ttemplate: AvatarGroupTemplate,\n\tstyles: AvatarGroupCss,\n\tdependencies: [Button],\n})\n/**\n* Fired when the component is activated either with a\n* click/tap or by using the Enter or Space key.\n* @param {HTMLElement} targetRef The DOM ref of the clicked item.\n* @param {boolean} overflowButtonClicked indicates if the overflow button is clicked\n* @public\n* @since 1.0.0-rc.11\n*/\n@event(\"click\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\ttargetRef: { type: HTMLElement },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\toverflowButtonClicked: { type: Boolean },\n\t},\n})\n\n/**\n* Fired when the count of visible <code>ui5-avatar</code> elements in the\n* component has changed\n* @public\n* @since 1.0.0-rc.13\n*/\n@event(\"overflow\")\nclass AvatarGroup extends UI5Element {\n\t/**\n\t * Defines the mode of the <code>AvatarGroup</code>.\n\t *\n\t * @default \"Group\"\n\t * @public\n\t */\n\t@property({ type: AvatarGroupType, defaultValue: AvatarGroupType.Group })\n\ttype!: `${AvatarGroupType}`;\n\n\t/**\n\t * Defines the aria-haspopup value of the component on:\n\t * <br><br>\n\t * <ul>\n\t * <li> the whole container when <code>type</code> property is <code>Group</code></li>\n\t * <li> the default \"More\" overflow button when <code>type</code> is <code>Individual</code></li>\n\t * </ul>\n\t * <br><br>\n\t * @since 1.0.0-rc.15\n\t * @protected\n\t */\n\t@property()\n\tariaHaspopup!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_overflowButtonText!: string;\n\n\t/**\n\t * Defines the items of the component. Use the <code>ui5-avatar</code> component as an item.\n\t * <br><br>\n\t * <b>Note:</b> The UX guidelines recommends using avatars with \"Circle\" shape.\n\t * Moreover, if you use avatars with \"Square\" shape, there will be visual inconsistency\n\t * as the built-in overflow action has \"Circle\" shape.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<IAvatar>;\n\n\t/**\n\t * Defines the overflow button of the component.\n\t * <b>Note:</b> We recommend using the <code>ui5-button</code> component.\n\t * <br><br>\n\t * <b>Note:</b> If this slot is not used, the component will\n\t * display the built-in overflow button.\n\t * @public\n\t * @since 1.0.0-rc.13\n\t */\n\t@slot()\n\toverflowButton!: Array<IButton>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_onResizeHandler: () => void;\n\t_colorIndex: number;\n\t_hiddenItems: number;\n\t_itemNavigation: ItemNavigation;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => {\n\t\t\t\treturn this._isGroup ? [] : this.items.slice(0, this._hiddenStartIndex);\n\t\t\t},\n\t\t});\n\t\tthis._colorIndex = 0;\n\t\tthis._hiddenItems = 0;\n\t\tthis._onResizeHandler = this._onResize.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tAvatarGroup.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t/**\n\t * Returns an array containing the <code>ui5-avatar</code> instances that are currently not displayed due to lack of space.\n\t * @default []\n\t * @public\n\t */\n\tget hiddenItems(): IAvatar[] {\n\t\treturn this.items.slice(this._hiddenStartIndex);\n\t}\n\n\t/**\n\t * Returns an array containing the <code>AvatarColorScheme</code> values that correspond to the avatars in the component.\n\t * @default []\n\t * @public\n\t */\n\tget colorScheme(): AvatarColorScheme[] {\n\t\treturn this.items.map(avatar => avatar._effectiveBackgroundColor);\n\t}\n\n\tget _customOverflowButton() {\n\t\treturn this.overflowButton.length ? this.overflowButton[0] : undefined;\n\t}\n\n\tget _ariaLabelText() {\n\t\tconst hiddenItemsCount = this.hiddenItems.length;\n\t\tconst typeLabelKey = this._isGroup ? AVATAR_GROUP_ARIA_LABEL_GROUP : AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL;\n\n\t\t// avatar type label\n\t\tlet text = AvatarGroup.i18nBundle.getText(typeLabelKey);\n\n\t\t// add displayed-hidden avatars label\n\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL, this._itemsCount - hiddenItemsCount, hiddenItemsCount)}`;\n\n\t\tif (this._isGroup) {\n\t\t\t// the container role is \"button\", add the message for complete list activation\n\t\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL)}`;\n\t\t} else {\n\t\t\t// the container role is \"group\", add the \"how to navigate\" message\n\t\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_MOVE)}`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget _overflowButtonAriaLabelText() {\n\t\treturn this._isGroup ? undefined : AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL);\n\t}\n\n\tget _containerAriaHasPopup() {\n\t\treturn this._isGroup ? this._getAriaHasPopup() : undefined;\n\t}\n\n\tget _overflowButtonAccAttributes() {\n\t\treturn {\n\t\t\thasPopup: this._isGroup ? undefined : this._getAriaHasPopup(),\n\t\t};\n\t}\n\n\tget _role() {\n\t\treturn this._isGroup ? \"button\" : \"group\";\n\t}\n\n\tget _hiddenStartIndex() {\n\t\treturn this._itemsCount - this._hiddenItems;\n\t}\n\n\tget _overflowBtnHidden() {\n\t\treturn this._hiddenItems === 0;\n\t}\n\n\tget _isGroup() {\n\t\treturn this.type === AvatarGroupType.Group;\n\t}\n\n\tget _itemsCount() {\n\t\treturn this.items.length;\n\t}\n\n\tget _groupTabIndex() {\n\t\treturn this._isGroup ? \"0\" : \"-1\";\n\t}\n\n\tget _overflowButton() {\n\t\treturn this.shadowRoot!.querySelector<Button>(AVATAR_GROUP_OVERFLOW_BTN_SELECTOR);\n\t}\n\n\t/**\n\t * Return the effective overflow button width\n\t * Differences are that when in \"Group\" type the button is offset and overlaps the avatars\n\t *\n\t * 1) In case of \"Group\", (LTR/RTL aware) button width is qual to second item offset left/right\n\t * 2) In case of \"Individual\" group type width is directly taken from button element\n\t * @private\n\t */\n\tget _overflowButtonEffectiveWidth() {\n\t\tconst button = this._customOverflowButton ? this._customOverflowButton : this._overflowButton;\n\t\t// if in \"Group\" mode overflow button size is equal to the offset from second item\n\n\t\tif (!button) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (this._isGroup) {\n\t\t\tlet item: HTMLElement = this.items[1];\n\t\t\tconst ltrEffectiveWidth = item.offsetLeft - this.offsetLeft;\n\n\t\t\t// in some cases when second avatar is overflowed the offset of the button is the right one\n\t\t\tif (!item || item.hidden) {\n\t\t\t\titem = button;\n\t\t\t}\n\n\t\t\treturn this.effectiveDir === \"rtl\" ? this._getWidthToItem(item) : ltrEffectiveWidth;\n\t\t}\n\n\t\treturn button.offsetWidth;\n\t}\n\n\tget firstAvatarSize() {\n\t\treturn this.items[0].size;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\toverflowButton: {\n\t\t\t\t\"ui5-avatar-group-overflow-btn\": true,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-xs\": this.firstAvatarSize === \"XS\",\n\t\t\t\t\"ui5-avatar-group-overflow-btn-s\": this.firstAvatarSize === \"S\",\n\t\t\t\t\"ui5-avatar-group-overflow-btn-m\": this.firstAvatarSize === \"M\",\n\t\t\t\t\"ui5-avatar-group-overflow-btn-l\": this.firstAvatarSize === \"L\",\n\t\t\t\t\"ui5-avatar-group-overflow-btn-xl\": this.firstAvatarSize === \"XL\",\n\t\t\t},\n\t\t};\n\t}\n\n\tonAfterRendering() {\n\t\tthis._overflowItems();\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._customOverflowButton) {\n\t\t\tthis._customOverflowButton.nonInteractive = this._isGroup;\n\t\t}\n\n\t\tthis._prepareAvatars();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeHandler);\n\t}\n\n\t_onResize() {\n\t\tthis._overflowItems();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t// when type is \"Individual\" the ui5-avatar and ui5-button both\n\t\t// fire \"click\" event when SPACE or ENTER are pressed and\n\t\t// AvatarGroup \"click\" is fired in their handlers (_onClick, _onUI5Click).\n\t\tif (this._isGroup) {\n\t\t\tif (isEnter(e)) {\n\t\t\t\tthis._fireGroupEvent(e.target as HTMLElement);\n\t\t\t} else if (isSpace(e)) {\n\t\t\t\t// prevent scrolling\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!e.shiftKey && isSpace(e) && this._isGroup) {\n\t\t\tthis._fireGroupEvent(e.target as HTMLElement);\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_fireGroupEvent(targetRef: HTMLElement) {\n\t\tconst isOverflowButtonClicked = targetRef.classList.contains(OVERFLOW_BTN_CLASS) || targetRef === this._customOverflowButton;\n\n\t\tthis.fireEvent<AvatarGroupClickEventDetail>(\"click\", {\n\t\t\ttargetRef,\n\t\t\toverflowButtonClicked: isOverflowButtonClicked,\n\t\t});\n\t}\n\n\t_onClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// no matter the value of noConflict, the ui5-button and the group container (div) always fire a native click event\n\t\tconst isButton = target.hasAttribute(\"ui5-button\");\n\t\te.stopPropagation();\n\n\t\tif (this._isGroup || isButton) {\n\t\t\tthis._fireGroupEvent(target);\n\t\t}\n\t}\n\n\t_onUI5Click(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// when noConflict=true only ui5-avatar will fire ui5-click event\n\t\tconst isAvatar = target.hasAttribute(\"ui5-avatar\");\n\t\te.stopPropagation();\n\n\t\tif (isAvatar) {\n\t\t\tthis._fireGroupEvent(target);\n\t\t}\n\t}\n\n\t/**\n\t * Modifies avatars to the needs of avatar group properties. Respects already set size and background color.\n\t * Set the margins (offsets) based on RTL/LTR.\n\t * @private\n\t */\n\t_prepareAvatars() {\n\t\tthis._colorIndex = 0;\n\n\t\tthis.items.forEach((avatar, index) => {\n\t\t\tconst colorIndex = this._getNextBackgroundColor();\n\t\t\tavatar.interactive = !this._isGroup;\n\n\t\t\tif (!avatar.getAttribute(\"_color-scheme\")) {\n\t\t\t\t// AvatarGroup respects colors set to ui5-avatar\n\t\t\t\tavatar.setAttribute(\"_color-scheme\", AvatarColorScheme[`Accent${colorIndex}` as keyof typeof AvatarColorScheme]);\n\t\t\t}\n\n\t\t\t// last avatar should not be offset as it breaks the container width and focus styles are no set correctly\n\t\t\tif (index !== this._itemsCount - 1 || this._customOverflowButton) {\n\t\t\t\t// based on RTL the browser automatically sets left or right margin to avatars\n\t\t\t\tavatar.style.marginInlineEnd = offsets[avatar._effectiveSize][this.type];\n\t\t\t}\n\t\t});\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis._itemNavigation.setCurrentItem(e.target as IAvatar);\n\t}\n\n\t/**\n\t * Returns the total width to item excluding the item width\n\t * RTL/LTR aware\n\t * @private\n\t * @param item\n\t */\n\t_getWidthToItem(item: HTMLElement) {\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\t\tconst ltrWidthToItem = item.offsetLeft - this.offsetLeft;\n\n\t\tif (isRTL) {\n\t\t\tconst itemOffsetParent = item.offsetParent as HTMLElement;\n\n\t\t\t// in RTL the total width is equal to difference of the parent container width and\n\t\t\t// how much is the item offset to the left minus its offsetWidth\n\n\t\t\tif (!itemOffsetParent) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\treturn itemOffsetParent.offsetWidth - item.offsetLeft - item.offsetWidth;\n\t\t}\n\n\t\treturn ltrWidthToItem;\n\t}\n\n\t/**\n\t * Overflows items that were not able to fit the container\n\t * @private\n\t */\n\t_overflowItems() {\n\t\tif (this.items.length < 2) {\n\t\t\t// no need to overflow avatars\n\t\t\treturn;\n\t\t}\n\n\t\tlet hiddenItems = 0;\n\n\t\tfor (let index = 0; index < this._itemsCount; index++) {\n\t\t\tconst item: IAvatar = this.items[index];\n\n\t\t\t// show item to determine if it will fit the new container size\n\t\t\titem.hidden = false;\n\n\t\t\t// container width to current item + item width (avatar)\n\t\t\t// used to determine whether the following items will fit the container or not\n\t\t\tlet totalWidth = this._getWidthToItem(item) + item.offsetWidth;\n\n\t\t\tif (index !== this._itemsCount - 1 || this._customOverflowButton) {\n\t\t\t\ttotalWidth += this._overflowButtonEffectiveWidth;\n\t\t\t}\n\n\t\t\tif (totalWidth > this.offsetWidth) {\n\t\t\t\thiddenItems = this._itemsCount - index;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// hide the items that did not fit the container size\n\t\tthis._setHiddenItems(hiddenItems);\n\t}\n\n\t_getNextBackgroundColor() {\n\t\t// counter is to automatically assign background colors to avatars, `Accent10` is the highest color value\n\t\tif (++this._colorIndex > 10) {\n\t\t\tthis._colorIndex = 1;\n\t\t}\n\t\treturn this._colorIndex;\n\t}\n\n\t_setHiddenItems(hiddenItems: number) {\n\t\tconst shouldFireEvent = this._hiddenItems !== hiddenItems;\n\n\t\tthis._hiddenItems = hiddenItems;\n\n\t\tthis.items.forEach((item, index) => {\n\t\t\titem.hidden = index >= this._hiddenStartIndex;\n\t\t});\n\n\t\tthis._overflowButtonText = `+${hiddenItems > 99 ? 99 : hiddenItems}`;\n\n\t\tif (shouldFireEvent) {\n\t\t\tthis.fireEvent(\"overflow\");\n\t\t}\n\t}\n\n\t_getAriaHasPopup() {\n\t\tif (this.ariaHaspopup === \"\") {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.ariaHaspopup;\n\t}\n}\n\nAvatarGroup.define();\n\nexport default AvatarGroup;\nexport type {\n\tAvatarGroupClickEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../src/AvatarGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\n\nimport {\n\tisEnter,\n\tisSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Button from \"./Button.js\";\nimport type IAvatar from \"./Avatar.js\";\nimport AvatarSize from \"./types/AvatarSize.js\";\nimport AvatarGroupType from \"./types/AvatarGroupType.js\";\nimport AvatarColorScheme from \"./types/AvatarColorScheme.js\";\n\nimport {\n\tAVATAR_GROUP_DISPLAYED_HIDDEN_LABEL,\n\tAVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL,\n\tAVATAR_GROUP_ARIA_LABEL_INDIVIDUAL,\n\tAVATAR_GROUP_ARIA_LABEL_GROUP,\n\tAVATAR_GROUP_MOVE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AvatarGroupCss from \"./generated/themes/AvatarGroup.css.js\";\n\n// Template\nimport AvatarGroupTemplate from \"./generated/templates/AvatarGroupTemplate.lit.js\";\nimport { IButton } from \"./Interfaces.js\";\n\nconst OVERFLOW_BTN_CLASS = \"ui5-avatar-group-overflow-btn\";\nconst AVATAR_GROUP_OVERFLOW_BTN_SELECTOR = `.${OVERFLOW_BTN_CLASS}`;\n\n// based on RTL/LTR a margin-left/right is set respectfully\nconst offsets = {\n\t[AvatarSize.XS]: {\n\t\t[AvatarGroupType.Individual]: \"0.0625rem\",\n\t\t[AvatarGroupType.Group]: \"-0.75rem\",\n\t},\n\t[AvatarSize.S]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \"-1.25rem\",\n\t},\n\t[AvatarSize.M]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \"-1.625rem\",\n\t},\n\t[AvatarSize.L]: {\n\t\t[AvatarGroupType.Individual]: \"0.125rem\",\n\t\t[AvatarGroupType.Group]: \" -2rem\",\n\t},\n\t[AvatarSize.XL]: {\n\t\t[AvatarGroupType.Individual]: \"0.25rem\",\n\t\t[AvatarGroupType.Group]: \"-2.75rem\",\n\t},\n};\n\ntype AvatarGroupClickEventDetail = {\n\ttargetRef: HTMLElement,\n\toverflowButtonClicked: boolean,\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * Displays a group of avatars arranged horizontally. It is useful to visually\n * showcase a group of related avatars, such as, project team members or employees.\n *\n * The component allows you to display the avatars in different sizes,\n * depending on your use case.\n *\n * The <code>AvatarGroup</code> component has two group types:\n * <ul>\n * <li><code>Group</code> type: The avatars are displayed as partially overlapped on\n * top of each other and the entire group has one click/tap area.</li>\n * <li><code>Individual</code> type: The avatars are displayed side-by-side and each\n * avatar has its own click/tap area.</li>\n * </ul>\n *\n * <h3>Responsive Behavior</h3>\n *\n * When the available space is less than the width required to display all avatars,\n * an overflow visualization appears as a button placed at the end with the same shape\n * and size as the avatars. The visualization displays the number of avatars that have overflowed\n * and are not currently visible.\n *\n * <h3>Usage</h3>\n *\n * Use the <code>AvatarGroup</code> if:\n * <ul>\n * <li>You want to display a group of avatars.</li>\n * <li>You want to display several avatars which have something in common.</li>\n * </ul>\n *\n * Do not use the <code>AvatarGroup</code> if:\n * <ul>\n * <li>You want to display a single avatar.</li>\n * <li>You want to display a gallery for simple images.</li>\n * <li>You want to use it for other visual content than avatars.</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n * The component provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * <br>\n * <code>type</code> Individual:\n * <br>\n * <ul>\n * <li>[TAB] - Move focus to the overflow button</li>\n * <li>[LEFT] - Navigate one avatar to the left</li>\n * <li>[RIGHT] - Navigate one avatar to the right</li>\n * <li>[HOME] - Navigate to the first avatar</li>\n * <li>[END] - Navigate to the last avatar</li>\n * <li>[SPACE],[ENTER],[RETURN] - Trigger <code>ui5-click</code> event</li>\n * </ul>\n * <br>\n * <code>type</code> Group:\n * <br>\n * <ul>\n * <li>[TAB] - Move focus to the next interactive element after the component</li>\n * <li>[SPACE],[ENTER],[RETURN] - Trigger <code>ui5-click</code> event</li>\n * </ul>\n * <br>\n *\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.11\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-avatar-group\",\n\trenderer: litRender,\n\ttemplate: AvatarGroupTemplate,\n\tstyles: AvatarGroupCss,\n\tdependencies: [Button],\n})\n/**\n* Fired when the component is activated either with a\n* click/tap or by using the Enter or Space key.\n* @param {HTMLElement} targetRef The DOM ref of the clicked item.\n* @param {boolean} overflowButtonClicked indicates if the overflow button is clicked\n* @public\n* @since 1.0.0-rc.11\n*/\n@event<AvatarGroupClickEventDetail>(\"click\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\ttargetRef: { type: HTMLElement },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\toverflowButtonClicked: { type: Boolean },\n\t},\n})\n\n/**\n* Fired when the count of visible <code>ui5-avatar</code> elements in the\n* component has changed\n* @public\n* @since 1.0.0-rc.13\n*/\n@event(\"overflow\")\nclass AvatarGroup extends UI5Element {\n\t/**\n\t * Defines the mode of the <code>AvatarGroup</code>.\n\t *\n\t * @default \"Group\"\n\t * @public\n\t */\n\t@property({ type: AvatarGroupType, defaultValue: AvatarGroupType.Group })\n\ttype!: `${AvatarGroupType}`;\n\n\t/**\n\t * Defines the aria-haspopup value of the component on:\n\t * <br><br>\n\t * <ul>\n\t * <li> the whole container when <code>type</code> property is <code>Group</code></li>\n\t * <li> the default \"More\" overflow button when <code>type</code> is <code>Individual</code></li>\n\t * </ul>\n\t * <br><br>\n\t * @since 1.0.0-rc.15\n\t * @protected\n\t */\n\t@property()\n\tariaHaspopup!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_overflowButtonText!: string;\n\n\t/**\n\t * Defines the items of the component. Use the <code>ui5-avatar</code> component as an item.\n\t * <br><br>\n\t * <b>Note:</b> The UX guidelines recommends using avatars with \"Circle\" shape.\n\t * Moreover, if you use avatars with \"Square\" shape, there will be visual inconsistency\n\t * as the built-in overflow action has \"Circle\" shape.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<IAvatar>;\n\n\t/**\n\t * Defines the overflow button of the component.\n\t * <b>Note:</b> We recommend using the <code>ui5-button</code> component.\n\t * <br><br>\n\t * <b>Note:</b> If this slot is not used, the component will\n\t * display the built-in overflow button.\n\t * @public\n\t * @since 1.0.0-rc.13\n\t */\n\t@slot()\n\toverflowButton!: Array<IButton>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_onResizeHandler: () => void;\n\t_colorIndex: number;\n\t_hiddenItems: number;\n\t_itemNavigation: ItemNavigation;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => {\n\t\t\t\treturn this._isGroup ? [] : this.items.slice(0, this._hiddenStartIndex);\n\t\t\t},\n\t\t});\n\t\tthis._colorIndex = 0;\n\t\tthis._hiddenItems = 0;\n\t\tthis._onResizeHandler = this._onResize.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tAvatarGroup.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t/**\n\t * Returns an array containing the <code>ui5-avatar</code> instances that are currently not displayed due to lack of space.\n\t * @default []\n\t * @public\n\t */\n\tget hiddenItems(): IAvatar[] {\n\t\treturn this.items.slice(this._hiddenStartIndex);\n\t}\n\n\t/**\n\t * Returns an array containing the <code>AvatarColorScheme</code> values that correspond to the avatars in the component.\n\t * @default []\n\t * @public\n\t */\n\tget colorScheme(): AvatarColorScheme[] {\n\t\treturn this.items.map(avatar => avatar._effectiveBackgroundColor);\n\t}\n\n\tget _customOverflowButton() {\n\t\treturn this.overflowButton.length ? this.overflowButton[0] : undefined;\n\t}\n\n\tget _ariaLabelText() {\n\t\tconst hiddenItemsCount = this.hiddenItems.length;\n\t\tconst typeLabelKey = this._isGroup ? AVATAR_GROUP_ARIA_LABEL_GROUP : AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL;\n\n\t\t// avatar type label\n\t\tlet text = AvatarGroup.i18nBundle.getText(typeLabelKey);\n\n\t\t// add displayed-hidden avatars label\n\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL, this._itemsCount - hiddenItemsCount, hiddenItemsCount)}`;\n\n\t\tif (this._isGroup) {\n\t\t\t// the container role is \"button\", add the message for complete list activation\n\t\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL)}`;\n\t\t} else {\n\t\t\t// the container role is \"group\", add the \"how to navigate\" message\n\t\t\ttext += ` ${AvatarGroup.i18nBundle.getText(AVATAR_GROUP_MOVE)}`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget _overflowButtonAriaLabelText() {\n\t\treturn this._isGroup ? undefined : AvatarGroup.i18nBundle.getText(AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL);\n\t}\n\n\tget _containerAriaHasPopup() {\n\t\treturn this._isGroup ? this._getAriaHasPopup() : undefined;\n\t}\n\n\tget _overflowButtonAccAttributes() {\n\t\treturn {\n\t\t\thasPopup: this._isGroup ? undefined : this._getAriaHasPopup(),\n\t\t};\n\t}\n\n\tget _role() {\n\t\treturn this._isGroup ? \"button\" : \"group\";\n\t}\n\n\tget _hiddenStartIndex() {\n\t\treturn this._itemsCount - this._hiddenItems;\n\t}\n\n\tget _overflowBtnHidden() {\n\t\treturn this._hiddenItems === 0;\n\t}\n\n\tget _isGroup() {\n\t\treturn this.type === AvatarGroupType.Group;\n\t}\n\n\tget _itemsCount() {\n\t\treturn this.items.length;\n\t}\n\n\tget _groupTabIndex() {\n\t\treturn this._isGroup ? \"0\" : \"-1\";\n\t}\n\n\tget _overflowButton() {\n\t\treturn this.shadowRoot!.querySelector<Button>(AVATAR_GROUP_OVERFLOW_BTN_SELECTOR);\n\t}\n\n\t/**\n\t * Return the effective overflow button width\n\t * Differences are that when in \"Group\" type the button is offset and overlaps the avatars\n\t *\n\t * 1) In case of \"Group\", (LTR/RTL aware) button width is qual to second item offset left/right\n\t * 2) In case of \"Individual\" group type width is directly taken from button element\n\t * @private\n\t */\n\tget _overflowButtonEffectiveWidth() {\n\t\tconst button = this._customOverflowButton ? this._customOverflowButton : this._overflowButton;\n\t\t// if in \"Group\" mode overflow button size is equal to the offset from second item\n\n\t\tif (!button) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (this._isGroup) {\n\t\t\tlet item: HTMLElement = this.items[1];\n\t\t\tconst ltrEffectiveWidth = item.offsetLeft - this.offsetLeft;\n\n\t\t\t// in some cases when second avatar is overflowed the offset of the button is the right one\n\t\t\tif (!item || item.hidden) {\n\t\t\t\titem = button;\n\t\t\t}\n\n\t\t\treturn this.effectiveDir === \"rtl\" ? this._getWidthToItem(item) : ltrEffectiveWidth;\n\t\t}\n\n\t\treturn button.offsetWidth;\n\t}\n\n\tget firstAvatarSize() {\n\t\treturn this.items[0].size;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\toverflowButton: {\n\t\t\t\t\"ui5-avatar-group-overflow-btn\": true,\n\t\t\t\t\"ui5-avatar-group-overflow-btn-xs\": this.firstAvatarSize === \"XS\",\n\t\t\t\t\"ui5-avatar-group-overflow-btn-s\": this.firstAvatarSize === \"S\",\n\t\t\t\t\"ui5-avatar-group-overflow-btn-m\": this.firstAvatarSize === \"M\",\n\t\t\t\t\"ui5-avatar-group-overflow-btn-l\": this.firstAvatarSize === \"L\",\n\t\t\t\t\"ui5-avatar-group-overflow-btn-xl\": this.firstAvatarSize === \"XL\",\n\t\t\t},\n\t\t};\n\t}\n\n\tonAfterRendering() {\n\t\tthis._overflowItems();\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._customOverflowButton) {\n\t\t\tthis._customOverflowButton.nonInteractive = this._isGroup;\n\t\t}\n\n\t\tthis._prepareAvatars();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeHandler);\n\t}\n\n\t_onResize() {\n\t\tthis._overflowItems();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t// when type is \"Individual\" the ui5-avatar and ui5-button both\n\t\t// fire \"click\" event when SPACE or ENTER are pressed and\n\t\t// AvatarGroup \"click\" is fired in their handlers (_onClick, _onUI5Click).\n\t\tif (this._isGroup) {\n\t\t\tif (isEnter(e)) {\n\t\t\t\tthis._fireGroupEvent(e.target as HTMLElement);\n\t\t\t} else if (isSpace(e)) {\n\t\t\t\t// prevent scrolling\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!e.shiftKey && isSpace(e) && this._isGroup) {\n\t\t\tthis._fireGroupEvent(e.target as HTMLElement);\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_fireGroupEvent(targetRef: HTMLElement) {\n\t\tconst isOverflowButtonClicked = targetRef.classList.contains(OVERFLOW_BTN_CLASS) || targetRef === this._customOverflowButton;\n\n\t\tthis.fireEvent<AvatarGroupClickEventDetail>(\"click\", {\n\t\t\ttargetRef,\n\t\t\toverflowButtonClicked: isOverflowButtonClicked,\n\t\t});\n\t}\n\n\t_onClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// no matter the value of noConflict, the ui5-button and the group container (div) always fire a native click event\n\t\tconst isButton = target.hasAttribute(\"ui5-button\");\n\t\te.stopPropagation();\n\n\t\tif (this._isGroup || isButton) {\n\t\t\tthis._fireGroupEvent(target);\n\t\t}\n\t}\n\n\t_onUI5Click(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\t// when noConflict=true only ui5-avatar will fire ui5-click event\n\t\tconst isAvatar = target.hasAttribute(\"ui5-avatar\");\n\t\te.stopPropagation();\n\n\t\tif (isAvatar) {\n\t\t\tthis._fireGroupEvent(target);\n\t\t}\n\t}\n\n\t/**\n\t * Modifies avatars to the needs of avatar group properties. Respects already set size and background color.\n\t * Set the margins (offsets) based on RTL/LTR.\n\t * @private\n\t */\n\t_prepareAvatars() {\n\t\tthis._colorIndex = 0;\n\n\t\tthis.items.forEach((avatar, index) => {\n\t\t\tconst colorIndex = this._getNextBackgroundColor();\n\t\t\tavatar.interactive = !this._isGroup;\n\n\t\t\tif (!avatar.getAttribute(\"_color-scheme\")) {\n\t\t\t\t// AvatarGroup respects colors set to ui5-avatar\n\t\t\t\tavatar.setAttribute(\"_color-scheme\", AvatarColorScheme[`Accent${colorIndex}` as keyof typeof AvatarColorScheme]);\n\t\t\t}\n\n\t\t\t// last avatar should not be offset as it breaks the container width and focus styles are no set correctly\n\t\t\tif (index !== this._itemsCount - 1 || this._customOverflowButton) {\n\t\t\t\t// based on RTL the browser automatically sets left or right margin to avatars\n\t\t\t\tavatar.style.marginInlineEnd = offsets[avatar._effectiveSize][this.type];\n\t\t\t}\n\t\t});\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis._itemNavigation.setCurrentItem(e.target as IAvatar);\n\t}\n\n\t/**\n\t * Returns the total width to item excluding the item width\n\t * RTL/LTR aware\n\t * @private\n\t * @param item\n\t */\n\t_getWidthToItem(item: HTMLElement) {\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\t\tconst ltrWidthToItem = item.offsetLeft - this.offsetLeft;\n\n\t\tif (isRTL) {\n\t\t\tconst itemOffsetParent = item.offsetParent as HTMLElement;\n\n\t\t\t// in RTL the total width is equal to difference of the parent container width and\n\t\t\t// how much is the item offset to the left minus its offsetWidth\n\n\t\t\tif (!itemOffsetParent) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\treturn itemOffsetParent.offsetWidth - item.offsetLeft - item.offsetWidth;\n\t\t}\n\n\t\treturn ltrWidthToItem;\n\t}\n\n\t/**\n\t * Overflows items that were not able to fit the container\n\t * @private\n\t */\n\t_overflowItems() {\n\t\tif (this.items.length < 2) {\n\t\t\t// no need to overflow avatars\n\t\t\treturn;\n\t\t}\n\n\t\tlet hiddenItems = 0;\n\n\t\tfor (let index = 0; index < this._itemsCount; index++) {\n\t\t\tconst item: IAvatar = this.items[index];\n\n\t\t\t// show item to determine if it will fit the new container size\n\t\t\titem.hidden = false;\n\n\t\t\t// container width to current item + item width (avatar)\n\t\t\t// used to determine whether the following items will fit the container or not\n\t\t\tlet totalWidth = this._getWidthToItem(item) + item.offsetWidth;\n\n\t\t\tif (index !== this._itemsCount - 1 || this._customOverflowButton) {\n\t\t\t\ttotalWidth += this._overflowButtonEffectiveWidth;\n\t\t\t}\n\n\t\t\tif (totalWidth > this.offsetWidth) {\n\t\t\t\thiddenItems = this._itemsCount - index;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// hide the items that did not fit the container size\n\t\tthis._setHiddenItems(hiddenItems);\n\t}\n\n\t_getNextBackgroundColor() {\n\t\t// counter is to automatically assign background colors to avatars, `Accent10` is the highest color value\n\t\tif (++this._colorIndex > 10) {\n\t\t\tthis._colorIndex = 1;\n\t\t}\n\t\treturn this._colorIndex;\n\t}\n\n\t_setHiddenItems(hiddenItems: number) {\n\t\tconst shouldFireEvent = this._hiddenItems !== hiddenItems;\n\n\t\tthis._hiddenItems = hiddenItems;\n\n\t\tthis.items.forEach((item, index) => {\n\t\t\titem.hidden = index >= this._hiddenStartIndex;\n\t\t});\n\n\t\tthis._overflowButtonText = `+${hiddenItems > 99 ? 99 : hiddenItems}`;\n\n\t\tif (shouldFireEvent) {\n\t\t\tthis.fireEvent(\"overflow\");\n\t\t}\n\t}\n\n\t_getAriaHasPopup() {\n\t\tif (this.ariaHaspopup === \"\") {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.ariaHaspopup;\n\t}\n}\n\nAvatarGroup.define();\n\nexport default AvatarGroup;\nexport type {\n\tAvatarGroupClickEventDetail,\n};\n"]}
|
package/dist/Breadcrumbs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisEnter,\n\tisSpace,\n\tisShow,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport BreadcrumbsDesign from \"./types/BreadcrumbsDesign.js\";\nimport BreadcrumbsSeparatorStyle from \"./types/BreadcrumbsSeparatorStyle.js\";\nimport BreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport {\n\tBREADCRUMB_ITEM_POS,\n\tBREADCRUMBS_ARIA_LABEL,\n\tBREADCRUMBS_OVERFLOW_ARIA_LABEL,\n\tBREADCRUMBS_CANCEL_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Link from \"./Link.js\";\nimport type { LinkClickEventDetail } from \"./Link.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport type { ListSelectionChangeEventDetail } from \"./List.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\n// Templates\nimport BreadcrumbsTemplate from \"./generated/templates/BreadcrumbsTemplate.lit.js\";\nimport BreadcrumbsPopoverTemplate from \"./generated/templates/BreadcrumbsPopoverTemplate.lit.js\";\n\n// Styles\nimport breadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport breadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\ntype BreadcrumbsItemClickEventDetail = {\n\titem: BreadcrumbsItem;\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype FocusAdaptor = ITabbable & {\n\tgetlabelWrapper: () => Element | null;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n * Enables users to navigate between items by providing a list of links to previous steps in the user's navigation path.\n * It helps the user to be aware of their location within the application and allows faster navigation.\n * <br><br>\n * The last three steps can be accessed as links directly, while the remaining links prior to them are available\n * in a drop-down menu.\n * <br><br>\n * You can choose the type of separator to be used from a number of predefined options.\n *\n * <h3>Keyboard Handling</h3>\n * The <code>ui5-breadcrumbs</code> provides advanced keyboard handling.\n * <br>\n * <ul>\n * <li>[F4, ALT+UP, ALT+DOWN, SPACE, ENTER] - If the dropdown arrow is focused - opens/closes the drop-down.</li>\n * <li>[SPACE, ENTER] - Activates the focused item and triggers the <code>item-click</code> event.</li>\n * <li>[ESC] - Closes the drop-down.</li>\n * <li>[LEFT] - If the drop-down is closed - navigates one item to the left.</li>\n * <li>[RIGHT] - If the drop-down is closed - navigates one item to the right.</li>\n * <li>[UP] - If the drop-down is open - moves focus to the next item.</li>\n * <li>[DOWN] - If the drop-down is open - moves focus to the previous item.</li>\n * <li>[HOME] - Navigates to the first item.</li>\n * <li>[END] - Navigates to the last item.</li>\n * </ul>\n * <br>\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-breadcrumbs\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: BreadcrumbsTemplate,\n\tstaticAreaTemplate: BreadcrumbsPopoverTemplate,\n\tstyles: breadcrumbsCss,\n\tstaticAreaStyles: breadcrumbsPopoverCss,\n\tdependencies: [\n\t\tBreadcrumbsItem,\n\t\tLink,\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fires when a <code>BreadcrumbsItem</code> is clicked.\n * <b>Note:</b> You can prevent browser location change by calling <code>event.preventDefault()</code>.\n *\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @param {Boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {Boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {Boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {Boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n * @public\n */\n@event(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\taltKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tctrlKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tmetaKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tshiftKey: { type: Boolean },\n\t},\n})\nclass Breadcrumbs extends UI5Element {\n\t/**\n\t * Defines the visual indication and behavior of the breadcrumbs.\n\t * <br><br>\n\t * <b>Note:</b> The <code>Standard</code> breadcrumbs show the current page as the last item in the trail.\n\t * The last item contains only plain text and is not a link.\n\t *\n\t * @default \"Standard\"\n\t * @public\n\t*/\n\t@property({ type: BreadcrumbsDesign, defaultValue: BreadcrumbsDesign.Standard })\n\tdesign!: `${BreadcrumbsDesign}`;\n\n\t/**\n\t * Determines the visual style of the separator between the breadcrumb items.\n\t *\n\t * @default \"Slash\"\n\t * @public\n\t */\n\t@property({ type: BreadcrumbsSeparatorStyle, defaultValue: BreadcrumbsSeparatorStyle.Slash })\n\tseparatorStyle!: `${BreadcrumbsSeparatorStyle}`;\n\n\t/**\n\t * Holds the number of items in the overflow.\n\t *\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true, defaultValue: 0 })\n\t_overflowSize!: number;\n\n\t/**\n\t * Defines the component items.\n\t *\n\t * <br><br>\n\t * <b>Note:</b> Use the <code>ui5-breadcrumbs-item</code> component to define the desired items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<BreadcrumbsItem>;\n\n\t_itemNavigation: ItemNavigation\n\t_onResizeHandler: ResizeObserverCallback;\n\n\t// maps items to their widths\n\t_breadcrumbItemWidths = new WeakMap<BreadcrumbsItem, number>();\n\t// the width of the interactive element that opens the overflow\n\t_dropdownArrowLinkWidth = 0;\n\tresponsivePopover?: ResponsivePopover;\n\t_labelFocusAdaptor: FocusAdaptor;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t});\n\n\t\tthis._onResizeHandler = this._updateOverflow.bind(this);\n\n\t\tthis._labelFocusAdaptor = {\n\t\t\tid: `${this._id}-labelWrapper`,\n\t\t\tgetlabelWrapper: this.getCurrentLocationLabelWrapper.bind(this),\n\t\t\tset _tabIndex(value: string) {\n\t\t\t\tconst wrapper = this.getlabelWrapper();\n\t\t\t\twrapper && wrapper.setAttribute(\"tabindex\", value);\n\t\t\t},\n\t\t\tget _tabIndex() {\n\t\t\t\tconst wrapper = this.getlabelWrapper();\n\t\t\t\treturn wrapper?.getAttribute(\"tabindex\") || \"\";\n\t\t\t},\n\t\t};\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tconst itemIndex = this._getItems().indexOf(changeInfo.child as BreadcrumbsItem),\n\t\t\t\tisInOverflow = itemIndex < this._overflowSize;\n\t\t\tif (isInOverflow) {\n\t\t\t\t// the content of an overflowing item has changed\n\t\t\t\t// => need to render the item outside the overflow to obtain its new width\n\t\t\t\t// => lower-down the <code>_overfowSize</code> to exclude that item from the overflow\n\t\t\t\tthis._overflowSize = itemIndex;\n\t\t\t}\n\t\t}\n\t}\n\n\t_getItems() {\n\t\treturn this.getSlottedNodes<BreadcrumbsItem>(\"items\");\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._preprocessItems();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._cacheWidths();\n\t\tthis._updateOverflow();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeHandler);\n\t}\n\n\t_initItemNavigation() {\n\t\tif (!this._itemNavigation) {\n\t\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Obtains the items for navigation via keyboard\n\t * @private\n\t */\n\t_getFocusableItems() {\n\t\tconst items: Array<ITabbable> = this._links;\n\n\t\tif (!this._isOverflowEmpty) {\n\t\t\titems.unshift(this._dropdownArrowLink);\n\t\t}\n\n\t\tif (this._endsWithCurrentLocationLabel) {\n\t\t\titems.push(this._labelFocusAdaptor);\n\t\t}\n\t\treturn items;\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target,\n\t\t\tlabelWrapper = this.getCurrentLocationLabelWrapper(),\n\t\t\tcurrentItem = (target === labelWrapper) ? this._labelFocusAdaptor : target as Link;\n\n\t\tthis._itemNavigation.setCurrentItem(currentItem);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isDropdownArrowFocused = this._isDropdownArrowFocused;\n\n\t\tif (isShow(e) && isDropdownArrowFocused && !this._isOverflowEmpty) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t\treturn;\n\t\t}\n\t\tif (isSpace(e) && isDropdownArrowFocused && !this._isOverflowEmpty && !this._isPickerOpen) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tif ((isEnter(e) || isSpace(e)) && this._isCurrentLocationLabelFocused) {\n\t\t\tthis._onLabelPress(e);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._isDropdownArrowFocused && isSpace(e) && !this._isOverflowEmpty && !this._isPickerOpen) {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Caches the space required to render the content\n\t * @private\n\t */\n\t_cacheWidths() {\n\t\tconst map = this._breadcrumbItemWidths,\n\t\t\titems = this._getItems(),\n\t\t\tlabel = this._currentLocationLabel;\n\n\t\tfor (let i = this._overflowSize; i < items.length; i++) {\n\t\t\tconst item = items[i],\n\t\t\t\tlink = this.shadowRoot!.querySelector<HTMLElement>(`#${item._id}-link-wrapper`)!;\n\t\t\tmap.set(item, this._getElementWidth(link));\n\t\t}\n\n\t\tif (items.length && this._endsWithCurrentLocationLabel && label) {\n\t\t\tconst item = items[items.length - 1];\n\n\t\t\tmap.set(item, this._getElementWidth(label));\n\t\t}\n\n\t\tif (!this._isOverflowEmpty) {\n\t\t\tconst arrow = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-dropdown-arrow-link-wrapper\")!;\n\t\t\tthis._dropdownArrowLinkWidth = this._getElementWidth(arrow);\n\t\t}\n\t}\n\n\t_updateOverflow() {\n\t\tconst items = this._getItems(),\n\t\t\tavailableWidth = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-root\")!.offsetWidth;\n\t\tlet requiredWidth = this._getTotalContentWidth(),\n\t\t\toverflowSize = 0;\n\n\t\tif (requiredWidth > availableWidth) {\n\t\t\t// need to show the component that opens the overflow\n\t\t\trequiredWidth += this._dropdownArrowLinkWidth;\n\t\t}\n\n\t\twhile ((requiredWidth >= availableWidth) && (overflowSize < this._maxAllowedOverflowSize)) {\n\t\t\tconst itemToOverflow = items[overflowSize];\n\t\t\tlet itemWidth = 0;\n\n\t\t\tif (this._isItemVisible(itemToOverflow)) {\n\t\t\t\titemWidth = this._breadcrumbItemWidths.get(itemToOverflow) || 0;\n\t\t\t}\n\n\t\t\t// move the item to the overflow\n\t\t\trequiredWidth -= itemWidth;\n\t\t\toverflowSize++;\n\t\t}\n\n\t\tthis._overflowSize = overflowSize;\n\n\t\t// if overflow was emptied while picker was open => close redundant popup\n\t\tif (this._isOverflowEmpty && this._isPickerOpen) {\n\t\t\tthis.responsivePopover!.close();\n\t\t}\n\n\t\t// if the last focused link has done into the overflow =>\n\t\t// ensure the first visible link is focusable\n\t\tconst focusableItems = this._getFocusableItems();\n\t\tif (!focusableItems.some(x => x._tabIndex === \"0\")) {\n\t\t\tthis._itemNavigation.setCurrentItem(focusableItems[0]);\n\t\t}\n\t}\n\n\t_getElementWidth(element: HTMLElement) {\n\t\tif (element) {\n\t\t\treturn Math.ceil(element.getBoundingClientRect().width);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t_getTotalContentWidth() {\n\t\tconst items = this._getItems(),\n\t\t\twidthsMap = this._breadcrumbItemWidths,\n\t\t\ttotalLinksWidth = items.reduce((sum, link) => sum + widthsMap.get(link)!, 0);\n\n\t\treturn totalLinksWidth;\n\t}\n\n\t_onLinkPress(e: CustomEvent<LinkClickEventDetail>) {\n\t\tconst link = e.target as Link,\n\t\t\titems = this._getItems(),\n\t\t\titem = items.find(x => `${x._id}-link` === link.id)!,\n\t\t\t{\n\t\t\t\taltKey,\n\t\t\t\tctrlKey,\n\t\t\t\tmetaKey,\n\t\t\t\tshiftKey,\n\t\t\t} = e.detail;\n\n\t\tif (!this.fireEvent<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\t\t\titem,\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t}, true)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onLabelPress(e: MouseEvent | KeyboardEvent) {\n\t\tconst items = this._getItems(),\n\t\t\titem = items[items.length - 1],\n\t\t\t{\n\t\t\t\taltKey,\n\t\t\t\tctrlKey,\n\t\t\t\tmetaKey,\n\t\t\t\tshiftKey,\n\t\t\t} = e;\n\n\t\tthis.fireEvent<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\t\t\titem,\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t});\n\t}\n\n\t_onOverflowListItemSelect(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst listItem = e.detail.selectedItems[0],\n\t\t\titems = this._getItems(),\n\t\t\titem = items.find(x => `${x._id}-li` === listItem.id)!;\n\n\t\tif (this.fireEvent(\"item-click\", { item }, true)) {\n\t\t\twindow.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n\t\t\tthis.responsivePopover!.close();\n\t\t}\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tif (this._isPickerOpen) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t_closeRespPopover() {\n\t\tthis.responsivePopover && this.responsivePopover.close();\n\t}\n\n\tasync _openRespPopover() {\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tthis.responsivePopover.showAt(this._dropdownArrowLink);\n\t}\n\n\t_isItemVisible(item: BreadcrumbsItem) {\n\t\treturn !item.hidden && this._hasVisibleContent(item);\n\t}\n\n\t_hasVisibleContent(item: BreadcrumbsItem) {\n\t\t// the check is not complete but may be extended in the future if needed to cover\n\t\t// cases besides the standard (UX-recommended) ones\n\t\treturn item.innerText || Array.from(item.children).some(child => !(child as HTMLElement).hidden);\n\t}\n\n\t_preprocessItems() {\n\t\tthis.items.forEach(item => {\n\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_getItemPositionText(position: number, size: number) {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMB_ITEM_POS, position, size);\n\t}\n\n\t_getItemAccessibleName(item: BreadcrumbsItem, position: number, size: number) {\n\t\tconst positionText = this._getItemPositionText(position, size);\n\t\tconst itemsText = item.textContent || \"\";\n\n\t\t// innerText is needed as it is no longer read out when label is set\n\t\tlet text = \"\";\n\t\tif (item.accessibleName) {\n\t\t\ttext = `${itemsText.trim()} ${item.accessibleName} ${positionText}`;\n\t\t} else {\n\t\t\ttext = `${itemsText.trim()} ${positionText}`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tgetCurrentLocationLabelWrapper() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-current-location > span\");\n\t}\n\n\tget _visibleItems() {\n\t\treturn this._getItems()\n\t\t\t.slice(this._overflowSize)\n\t\t\t.filter(i => this._isItemVisible(i));\n\t}\n\n\tget _endsWithCurrentLocationLabel() {\n\t\treturn this.design === BreadcrumbsDesign.Standard;\n\t}\n\n\tget _currentLocationText() {\n\t\tconst items = this._getItems();\n\t\tif (this._endsWithCurrentLocationLabel && items.length) {\n\t\t\tconst item = items[items.length - 1];\n\t\t\tif (this._isItemVisible(item)) {\n\t\t\t\treturn item.innerText;\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tget _currentLocationLabel() {\n\t\treturn this.shadowRoot!.querySelector<Label>(\".ui5-breadcrumbs-current-location [ui5-label]\");\n\t}\n\n\tget _isDropdownArrowFocused() {\n\t\treturn this._dropdownArrowLink._tabIndex === \"0\";\n\t}\n\n\tget _isCurrentLocationLabelFocused() {\n\t\tconst label = this.getCurrentLocationLabelWrapper();\n\t\treturn label && label.tabIndex === 0;\n\t}\n\n\t/**\n\t * Returns the maximum allowed count of items in the overflow\n\t * with respect to the UX requirement to never overflow the last visible item\n\t */\n\tget _maxAllowedOverflowSize() {\n\t\tconst items = this._getItems().filter(item => this._isItemVisible(item));\n\t\t// all items except tha last visible one are allowed to overflow by UX requirement\n\t\treturn items.length - 1;\n\t}\n\n\t/**\n\t * Getter for the interactive element that opens the overflow\n\t * @private\n\t */\n\tget _dropdownArrowLink() {\n\t\treturn this.shadowRoot!.querySelector<Link>(\".ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-link]\")!;\n\t}\n\n\t/**\n\t * Getter for the list of abstract breadcrumb items to be rendered as list-items inside the overflow\n\t */\n\tget _overflowItemsData() {\n\t\treturn this._getItems()\n\t\t\t.slice(0, this._overflowSize)\n\t\t\t.filter(item => this._isItemVisible(item))\n\t\t\t.reverse();\n\t}\n\n\t/**\n\t * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n\t */\n\tget _linksData() {\n\t\tconst items = this._visibleItems;\n\t\tconst itemsCount = items.length; // get size before removing of current location\n\n\t\tif (this._endsWithCurrentLocationLabel) {\n\t\t\titems.pop();\n\t\t}\n\n\t\treturn items\n\t\t\t.map((item, index) => {\n\t\t\t\titem._accessibleNameText = this._getItemAccessibleName(item, index + 1, itemsCount);\n\t\t\t\treturn item;\n\t\t\t});\n\t}\n\n\t/**\n\t * Getter for accessible name of the current location. Includes the position of the current location and the size of the breadcrumbs\n\t */\n\tget _currentLocationAccName() {\n\t\tconst items = this._visibleItems;\n\n\t\tconst positionText = this._getItemPositionText(items.length, items.length);\n\t\tconst lastItem = items[items.length - 1];\n\n\t\tif (!lastItem) {\n\t\t\treturn positionText;\n\t\t}\n\n\t\tconst lastItemText = lastItem.textContent || \"\";\n\n\t\tif (lastItem.accessibleName) {\n\t\t\treturn `${lastItemText.trim()} ${lastItem.accessibleName} ${positionText}`;\n\t\t}\n\n\t\treturn `${lastItemText.trim()} ${positionText}`;\n\t}\n\n\t/**\n\t * Getter for the list of links corresponding to the abstract breadcrumb items\n\t */\n\tget _links() {\n\t\treturn Array.from(this.shadowRoot!.querySelectorAll<Link>(\".ui5-breadcrumbs-link-wrapper [ui5-link]\"));\n\t}\n\n\tget _isOverflowEmpty() {\n\t\treturn this._overflowItemsData.length === 0;\n\t}\n\n\tget _ariaHasPopup() {\n\t\tif (!this._isOverflowEmpty) {\n\t\t\treturn \"listbox\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget _isPickerOpen() {\n\t\treturn !!this.responsivePopover && this.responsivePopover.opened;\n\t}\n\n\tget _accessibleNameText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n\t}\n\n\tget _dropdownArrowAccessibleNameText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_CANCEL_BUTTON);\n\t}\n\n\tstatic async onDefine() {\n\t\tBreadcrumbs.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nBreadcrumbs.define();\n\nexport default Breadcrumbs;\nexport type {\n\tBreadcrumbsItemClickEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisEnter,\n\tisSpace,\n\tisShow,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport BreadcrumbsDesign from \"./types/BreadcrumbsDesign.js\";\nimport BreadcrumbsSeparatorStyle from \"./types/BreadcrumbsSeparatorStyle.js\";\nimport BreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport {\n\tBREADCRUMB_ITEM_POS,\n\tBREADCRUMBS_ARIA_LABEL,\n\tBREADCRUMBS_OVERFLOW_ARIA_LABEL,\n\tBREADCRUMBS_CANCEL_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Link from \"./Link.js\";\nimport type { LinkClickEventDetail } from \"./Link.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport type { ListSelectionChangeEventDetail } from \"./List.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\n// Templates\nimport BreadcrumbsTemplate from \"./generated/templates/BreadcrumbsTemplate.lit.js\";\nimport BreadcrumbsPopoverTemplate from \"./generated/templates/BreadcrumbsPopoverTemplate.lit.js\";\n\n// Styles\nimport breadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport breadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\ntype BreadcrumbsItemClickEventDetail = {\n\titem: BreadcrumbsItem;\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype FocusAdaptor = ITabbable & {\n\tgetlabelWrapper: () => Element | null;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n * Enables users to navigate between items by providing a list of links to previous steps in the user's navigation path.\n * It helps the user to be aware of their location within the application and allows faster navigation.\n * <br><br>\n * The last three steps can be accessed as links directly, while the remaining links prior to them are available\n * in a drop-down menu.\n * <br><br>\n * You can choose the type of separator to be used from a number of predefined options.\n *\n * <h3>Keyboard Handling</h3>\n * The <code>ui5-breadcrumbs</code> provides advanced keyboard handling.\n * <br>\n * <ul>\n * <li>[F4, ALT+UP, ALT+DOWN, SPACE, ENTER] - If the dropdown arrow is focused - opens/closes the drop-down.</li>\n * <li>[SPACE, ENTER] - Activates the focused item and triggers the <code>item-click</code> event.</li>\n * <li>[ESC] - Closes the drop-down.</li>\n * <li>[LEFT] - If the drop-down is closed - navigates one item to the left.</li>\n * <li>[RIGHT] - If the drop-down is closed - navigates one item to the right.</li>\n * <li>[UP] - If the drop-down is open - moves focus to the next item.</li>\n * <li>[DOWN] - If the drop-down is open - moves focus to the previous item.</li>\n * <li>[HOME] - Navigates to the first item.</li>\n * <li>[END] - Navigates to the last item.</li>\n * </ul>\n * <br>\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-breadcrumbs\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: BreadcrumbsTemplate,\n\tstaticAreaTemplate: BreadcrumbsPopoverTemplate,\n\tstyles: breadcrumbsCss,\n\tstaticAreaStyles: breadcrumbsPopoverCss,\n\tdependencies: [\n\t\tBreadcrumbsItem,\n\t\tLink,\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fires when a <code>BreadcrumbsItem</code> is clicked.\n * <b>Note:</b> You can prevent browser location change by calling <code>event.preventDefault()</code>.\n *\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @param {Boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {Boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {Boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {Boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n * @public\n */\n@event<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\taltKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tctrlKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tmetaKey: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tshiftKey: { type: Boolean },\n\t},\n})\nclass Breadcrumbs extends UI5Element {\n\t/**\n\t * Defines the visual indication and behavior of the breadcrumbs.\n\t * <br><br>\n\t * <b>Note:</b> The <code>Standard</code> breadcrumbs show the current page as the last item in the trail.\n\t * The last item contains only plain text and is not a link.\n\t *\n\t * @default \"Standard\"\n\t * @public\n\t*/\n\t@property({ type: BreadcrumbsDesign, defaultValue: BreadcrumbsDesign.Standard })\n\tdesign!: `${BreadcrumbsDesign}`;\n\n\t/**\n\t * Determines the visual style of the separator between the breadcrumb items.\n\t *\n\t * @default \"Slash\"\n\t * @public\n\t */\n\t@property({ type: BreadcrumbsSeparatorStyle, defaultValue: BreadcrumbsSeparatorStyle.Slash })\n\tseparatorStyle!: `${BreadcrumbsSeparatorStyle}`;\n\n\t/**\n\t * Holds the number of items in the overflow.\n\t *\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true, defaultValue: 0 })\n\t_overflowSize!: number;\n\n\t/**\n\t * Defines the component items.\n\t *\n\t * <br><br>\n\t * <b>Note:</b> Use the <code>ui5-breadcrumbs-item</code> component to define the desired items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<BreadcrumbsItem>;\n\n\t_itemNavigation: ItemNavigation\n\t_onResizeHandler: ResizeObserverCallback;\n\n\t// maps items to their widths\n\t_breadcrumbItemWidths = new WeakMap<BreadcrumbsItem, number>();\n\t// the width of the interactive element that opens the overflow\n\t_dropdownArrowLinkWidth = 0;\n\tresponsivePopover?: ResponsivePopover;\n\t_labelFocusAdaptor: FocusAdaptor;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t});\n\n\t\tthis._onResizeHandler = this._updateOverflow.bind(this);\n\n\t\tthis._labelFocusAdaptor = {\n\t\t\tid: `${this._id}-labelWrapper`,\n\t\t\tgetlabelWrapper: this.getCurrentLocationLabelWrapper.bind(this),\n\t\t\tset _tabIndex(value: string) {\n\t\t\t\tconst wrapper = this.getlabelWrapper();\n\t\t\t\twrapper && wrapper.setAttribute(\"tabindex\", value);\n\t\t\t},\n\t\t\tget _tabIndex() {\n\t\t\t\tconst wrapper = this.getlabelWrapper();\n\t\t\t\treturn wrapper?.getAttribute(\"tabindex\") || \"\";\n\t\t\t},\n\t\t};\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tconst itemIndex = this._getItems().indexOf(changeInfo.child as BreadcrumbsItem),\n\t\t\t\tisInOverflow = itemIndex < this._overflowSize;\n\t\t\tif (isInOverflow) {\n\t\t\t\t// the content of an overflowing item has changed\n\t\t\t\t// => need to render the item outside the overflow to obtain its new width\n\t\t\t\t// => lower-down the <code>_overfowSize</code> to exclude that item from the overflow\n\t\t\t\tthis._overflowSize = itemIndex;\n\t\t\t}\n\t\t}\n\t}\n\n\t_getItems() {\n\t\treturn this.getSlottedNodes<BreadcrumbsItem>(\"items\");\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._preprocessItems();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._cacheWidths();\n\t\tthis._updateOverflow();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeHandler);\n\t}\n\n\t_initItemNavigation() {\n\t\tif (!this._itemNavigation) {\n\t\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\t\tgetItemsCallback: () => this._getFocusableItems(),\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Obtains the items for navigation via keyboard\n\t * @private\n\t */\n\t_getFocusableItems() {\n\t\tconst items: Array<ITabbable> = this._links;\n\n\t\tif (!this._isOverflowEmpty) {\n\t\t\titems.unshift(this._dropdownArrowLink);\n\t\t}\n\n\t\tif (this._endsWithCurrentLocationLabel) {\n\t\t\titems.push(this._labelFocusAdaptor);\n\t\t}\n\t\treturn items;\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target,\n\t\t\tlabelWrapper = this.getCurrentLocationLabelWrapper(),\n\t\t\tcurrentItem = (target === labelWrapper) ? this._labelFocusAdaptor : target as Link;\n\n\t\tthis._itemNavigation.setCurrentItem(currentItem);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isDropdownArrowFocused = this._isDropdownArrowFocused;\n\n\t\tif (isShow(e) && isDropdownArrowFocused && !this._isOverflowEmpty) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t\treturn;\n\t\t}\n\t\tif (isSpace(e) && isDropdownArrowFocused && !this._isOverflowEmpty && !this._isPickerOpen) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tif ((isEnter(e) || isSpace(e)) && this._isCurrentLocationLabelFocused) {\n\t\t\tthis._onLabelPress(e);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._isDropdownArrowFocused && isSpace(e) && !this._isOverflowEmpty && !this._isPickerOpen) {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Caches the space required to render the content\n\t * @private\n\t */\n\t_cacheWidths() {\n\t\tconst map = this._breadcrumbItemWidths,\n\t\t\titems = this._getItems(),\n\t\t\tlabel = this._currentLocationLabel;\n\n\t\tfor (let i = this._overflowSize; i < items.length; i++) {\n\t\t\tconst item = items[i],\n\t\t\t\tlink = this.shadowRoot!.querySelector<HTMLElement>(`#${item._id}-link-wrapper`)!;\n\t\t\tmap.set(item, this._getElementWidth(link));\n\t\t}\n\n\t\tif (items.length && this._endsWithCurrentLocationLabel && label) {\n\t\t\tconst item = items[items.length - 1];\n\n\t\t\tmap.set(item, this._getElementWidth(label));\n\t\t}\n\n\t\tif (!this._isOverflowEmpty) {\n\t\t\tconst arrow = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-dropdown-arrow-link-wrapper\")!;\n\t\t\tthis._dropdownArrowLinkWidth = this._getElementWidth(arrow);\n\t\t}\n\t}\n\n\t_updateOverflow() {\n\t\tconst items = this._getItems(),\n\t\t\tavailableWidth = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-root\")!.offsetWidth;\n\t\tlet requiredWidth = this._getTotalContentWidth(),\n\t\t\toverflowSize = 0;\n\n\t\tif (requiredWidth > availableWidth) {\n\t\t\t// need to show the component that opens the overflow\n\t\t\trequiredWidth += this._dropdownArrowLinkWidth;\n\t\t}\n\n\t\twhile ((requiredWidth >= availableWidth) && (overflowSize < this._maxAllowedOverflowSize)) {\n\t\t\tconst itemToOverflow = items[overflowSize];\n\t\t\tlet itemWidth = 0;\n\n\t\t\tif (this._isItemVisible(itemToOverflow)) {\n\t\t\t\titemWidth = this._breadcrumbItemWidths.get(itemToOverflow) || 0;\n\t\t\t}\n\n\t\t\t// move the item to the overflow\n\t\t\trequiredWidth -= itemWidth;\n\t\t\toverflowSize++;\n\t\t}\n\n\t\tthis._overflowSize = overflowSize;\n\n\t\t// if overflow was emptied while picker was open => close redundant popup\n\t\tif (this._isOverflowEmpty && this._isPickerOpen) {\n\t\t\tthis.responsivePopover!.close();\n\t\t}\n\n\t\t// if the last focused link has done into the overflow =>\n\t\t// ensure the first visible link is focusable\n\t\tconst focusableItems = this._getFocusableItems();\n\t\tif (!focusableItems.some(x => x._tabIndex === \"0\")) {\n\t\t\tthis._itemNavigation.setCurrentItem(focusableItems[0]);\n\t\t}\n\t}\n\n\t_getElementWidth(element: HTMLElement) {\n\t\tif (element) {\n\t\t\treturn Math.ceil(element.getBoundingClientRect().width);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t_getTotalContentWidth() {\n\t\tconst items = this._getItems(),\n\t\t\twidthsMap = this._breadcrumbItemWidths,\n\t\t\ttotalLinksWidth = items.reduce((sum, link) => sum + widthsMap.get(link)!, 0);\n\n\t\treturn totalLinksWidth;\n\t}\n\n\t_onLinkPress(e: CustomEvent<LinkClickEventDetail>) {\n\t\tconst link = e.target as Link,\n\t\t\titems = this._getItems(),\n\t\t\titem = items.find(x => `${x._id}-link` === link.id)!,\n\t\t\t{\n\t\t\t\taltKey,\n\t\t\t\tctrlKey,\n\t\t\t\tmetaKey,\n\t\t\t\tshiftKey,\n\t\t\t} = e.detail;\n\n\t\tif (!this.fireEvent<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\t\t\titem,\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t}, true)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onLabelPress(e: MouseEvent | KeyboardEvent) {\n\t\tconst items = this._getItems(),\n\t\t\titem = items[items.length - 1],\n\t\t\t{\n\t\t\t\taltKey,\n\t\t\t\tctrlKey,\n\t\t\t\tmetaKey,\n\t\t\t\tshiftKey,\n\t\t\t} = e;\n\n\t\tthis.fireEvent<BreadcrumbsItemClickEventDetail>(\"item-click\", {\n\t\t\titem,\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t});\n\t}\n\n\t_onOverflowListItemSelect(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst listItem = e.detail.selectedItems[0],\n\t\t\titems = this._getItems(),\n\t\t\titem = items.find(x => `${x._id}-li` === listItem.id)!;\n\n\t\tif (this.fireEvent(\"item-click\", { item }, true)) {\n\t\t\twindow.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n\t\t\tthis.responsivePopover!.close();\n\t\t}\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tif (this._isPickerOpen) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t_closeRespPopover() {\n\t\tthis.responsivePopover && this.responsivePopover.close();\n\t}\n\n\tasync _openRespPopover() {\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tthis.responsivePopover.showAt(this._dropdownArrowLink);\n\t}\n\n\t_isItemVisible(item: BreadcrumbsItem) {\n\t\treturn !item.hidden && this._hasVisibleContent(item);\n\t}\n\n\t_hasVisibleContent(item: BreadcrumbsItem) {\n\t\t// the check is not complete but may be extended in the future if needed to cover\n\t\t// cases besides the standard (UX-recommended) ones\n\t\treturn item.innerText || Array.from(item.children).some(child => !(child as HTMLElement).hidden);\n\t}\n\n\t_preprocessItems() {\n\t\tthis.items.forEach(item => {\n\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_getItemPositionText(position: number, size: number) {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMB_ITEM_POS, position, size);\n\t}\n\n\t_getItemAccessibleName(item: BreadcrumbsItem, position: number, size: number) {\n\t\tconst positionText = this._getItemPositionText(position, size);\n\t\tconst itemsText = item.textContent || \"\";\n\n\t\t// innerText is needed as it is no longer read out when label is set\n\t\tlet text = \"\";\n\t\tif (item.accessibleName) {\n\t\t\ttext = `${itemsText.trim()} ${item.accessibleName} ${positionText}`;\n\t\t} else {\n\t\t\ttext = `${itemsText.trim()} ${positionText}`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tgetCurrentLocationLabelWrapper() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-breadcrumbs-current-location > span\");\n\t}\n\n\tget _visibleItems() {\n\t\treturn this._getItems()\n\t\t\t.slice(this._overflowSize)\n\t\t\t.filter(i => this._isItemVisible(i));\n\t}\n\n\tget _endsWithCurrentLocationLabel() {\n\t\treturn this.design === BreadcrumbsDesign.Standard;\n\t}\n\n\tget _currentLocationText() {\n\t\tconst items = this._getItems();\n\t\tif (this._endsWithCurrentLocationLabel && items.length) {\n\t\t\tconst item = items[items.length - 1];\n\t\t\tif (this._isItemVisible(item)) {\n\t\t\t\treturn item.innerText;\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tget _currentLocationLabel() {\n\t\treturn this.shadowRoot!.querySelector<Label>(\".ui5-breadcrumbs-current-location [ui5-label]\");\n\t}\n\n\tget _isDropdownArrowFocused() {\n\t\treturn this._dropdownArrowLink._tabIndex === \"0\";\n\t}\n\n\tget _isCurrentLocationLabelFocused() {\n\t\tconst label = this.getCurrentLocationLabelWrapper();\n\t\treturn label && label.tabIndex === 0;\n\t}\n\n\t/**\n\t * Returns the maximum allowed count of items in the overflow\n\t * with respect to the UX requirement to never overflow the last visible item\n\t */\n\tget _maxAllowedOverflowSize() {\n\t\tconst items = this._getItems().filter(item => this._isItemVisible(item));\n\t\t// all items except tha last visible one are allowed to overflow by UX requirement\n\t\treturn items.length - 1;\n\t}\n\n\t/**\n\t * Getter for the interactive element that opens the overflow\n\t * @private\n\t */\n\tget _dropdownArrowLink() {\n\t\treturn this.shadowRoot!.querySelector<Link>(\".ui5-breadcrumbs-dropdown-arrow-link-wrapper [ui5-link]\")!;\n\t}\n\n\t/**\n\t * Getter for the list of abstract breadcrumb items to be rendered as list-items inside the overflow\n\t */\n\tget _overflowItemsData() {\n\t\treturn this._getItems()\n\t\t\t.slice(0, this._overflowSize)\n\t\t\t.filter(item => this._isItemVisible(item))\n\t\t\t.reverse();\n\t}\n\n\t/**\n\t * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n\t */\n\tget _linksData() {\n\t\tconst items = this._visibleItems;\n\t\tconst itemsCount = items.length; // get size before removing of current location\n\n\t\tif (this._endsWithCurrentLocationLabel) {\n\t\t\titems.pop();\n\t\t}\n\n\t\treturn items\n\t\t\t.map((item, index) => {\n\t\t\t\titem._accessibleNameText = this._getItemAccessibleName(item, index + 1, itemsCount);\n\t\t\t\treturn item;\n\t\t\t});\n\t}\n\n\t/**\n\t * Getter for accessible name of the current location. Includes the position of the current location and the size of the breadcrumbs\n\t */\n\tget _currentLocationAccName() {\n\t\tconst items = this._visibleItems;\n\n\t\tconst positionText = this._getItemPositionText(items.length, items.length);\n\t\tconst lastItem = items[items.length - 1];\n\n\t\tif (!lastItem) {\n\t\t\treturn positionText;\n\t\t}\n\n\t\tconst lastItemText = lastItem.textContent || \"\";\n\n\t\tif (lastItem.accessibleName) {\n\t\t\treturn `${lastItemText.trim()} ${lastItem.accessibleName} ${positionText}`;\n\t\t}\n\n\t\treturn `${lastItemText.trim()} ${positionText}`;\n\t}\n\n\t/**\n\t * Getter for the list of links corresponding to the abstract breadcrumb items\n\t */\n\tget _links() {\n\t\treturn Array.from(this.shadowRoot!.querySelectorAll<Link>(\".ui5-breadcrumbs-link-wrapper [ui5-link]\"));\n\t}\n\n\tget _isOverflowEmpty() {\n\t\treturn this._overflowItemsData.length === 0;\n\t}\n\n\tget _ariaHasPopup() {\n\t\tif (!this._isOverflowEmpty) {\n\t\t\treturn \"listbox\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget _isPickerOpen() {\n\t\treturn !!this.responsivePopover && this.responsivePopover.opened;\n\t}\n\n\tget _accessibleNameText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n\t}\n\n\tget _dropdownArrowAccessibleNameText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn Breadcrumbs.i18nBundle.getText(BREADCRUMBS_CANCEL_BUTTON);\n\t}\n\n\tstatic async onDefine() {\n\t\tBreadcrumbs.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nBreadcrumbs.define();\n\nexport default Breadcrumbs;\nexport type {\n\tBreadcrumbsItemClickEventDetail,\n};\n"]}
|
package/dist/Calendar.js
CHANGED
package/dist/Calendar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport convertMonthNumbersToMonthNames from \"@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js\";\nimport CalendarDateComponent from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisF4,\n\tisF4Shift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport CalendarDate from \"./CalendarDate.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport CalendarHeader from \"./CalendarHeader.js\";\nimport DayPicker from \"./DayPicker.js\";\nimport type { DayPickerChangeEventDetail } from \"./DayPicker.js\";\nimport MonthPicker from \"./MonthPicker.js\";\nimport type { MonthPickerChangeEventDetail } from \"./MonthPicker.js\";\nimport YearPicker from \"./YearPicker.js\";\nimport type { YearPickerChangeEventDetail } from \"./YearPicker.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\n\n// Default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Template\nimport CalendarTemplate from \"./generated/templates/CalendarTemplate.lit.js\";\n\n// Styles\nimport calendarCSS from \"./generated/themes/Calendar.css.js\";\n\ninterface ICalendarPicker {\n\t_showPreviousPage: () => void,\n\t_showNextPage: () => void,\n\t_hasPreviousPage: () => boolean,\n\t_hasNextPage: () => boolean,\n\t_autoFocus?: boolean,\n\t_firstYear?: number,\n\t_lastYear?: number,\n}\n\ntype CalendarSelectedDatesChangeEventDetail = {\n\tvalues: Array<string>,\n\tdates: Array<number>,\n\ttimestamp: number | undefined,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-calendar</code> component allows users to select one or more dates.\n * <br><br>\n * Currently selected dates are represented with instances of <code>ui5-date</code> as\n * children of the <code>ui5-calendar</code>. The value property of each <code>ui5-date</code> must be a\n * date string, correctly formatted according to the <code>ui5-calendar</code>'s <code>formatPattern</code> property.\n * Whenever the user changes the date selection, <code>ui5-calendar</code> will automatically create/remove instances\n * of <code>ui5-date</code> in itself, unless you prevent this behavior by calling <code>preventDefault()</code> for the\n * <code>selected-dates-change</code> event. This is useful if you want to control the selected dates externally.\n * <br><br>\n *\n * <h3>Usage</h3>\n *\n * The user can navigate to a particular date by:\n * <br>\n * <ul>\n * <li>Pressing over a month inside the months view</li>\n * <li>Pressing over an year inside the years view</li>\n * </ul>\n * <br>\n * The user can confirm a date selection by pressing over a date inside the days view.\n * <br><br>\n *\n * <h3>Keyboard Handling</h3>\n * The <code>ui5-calendar</code> provides advanced keyboard handling.\n * When a picker is showed and focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n * <br>\n * - Day picker: <br>\n * <ul>\n * <li>[F4] - Shows month picker</li>\n * <li>[SHIFT] + [F4] - Shows year picker</li>\n * <li>[PAGEUP] - Navigate to the previous month</li>\n * <li>[PAGEDOWN] - Navigate to the next month</li>\n * <li>[SHIFT] + [PAGEUP] - Navigate to the previous year</li>\n * <li>[SHIFT] + [PAGEDOWN] - Navigate to the next year</li>\n * <li>[CTRL] + [SHIFT] + [PAGEUP] - Navigate ten years backwards</li>\n * <li>[CTRL] + [SHIFT] + [PAGEDOWN] - Navigate ten years forwards</li>\n * <li>[HOME] - Navigate to the first day of the week</li>\n * <li>[END] - Navigate to the last day of the week</li>\n * <li>[CTRL] + [HOME] - Navigate to the first day of the month</li>\n * <li>[CTRL] + [END] - Navigate to the last day of the month</li>\n * </ul>\n * <br>\n * - Month picker: <br>\n * <ul>\n * <li>[PAGEUP] - Navigate to the previous year</li>\n * <li>[PAGEDOWN] - Navigate to the next year</li>\n * <li>[HOME] - Navigate to the first month of the current row</li>\n * <li>[END] - Navigate to the last month of the current row</li>\n * <li>[CTRL] + [HOME] - Navigate to the first month of the current year</li>\n * <li>[CTRL] + [END] - Navigate to the last month of the year</li>\n * </ul>\n * <br>\n * - Year picker: <br>\n * <ul>\n * <li>[PAGEUP] - Navigate to the previous year range</li>\n * <li>[PAGEDOWN] - Navigate the next year range</li>\n * <li>[HOME] - Navigate to the first year of the current row</li>\n * <li>[END] - Navigate to the last year of the current row</li>\n * <li>[CTRL] + [HOME] - Navigate to the first year of the current year range</li>\n * <li>[CTRL] + [END] - Navigate to the last year of the current year range</li>\n * </ul>\n * <br>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n * <br><br>\n *\n* <h3>Calendar types</h3>\n * The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.\n * By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,\n * you need to set the <code>primaryCalendarType</code> property and import one or more of the following modules:\n * <br><br>\n *\n * <code>import \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";</code>\n * <br><br>\n *\n * Or, you can use the global configuration and set the <code>calendarType</code> key:\n * <br>\n * <code>\n * <script data-id=\"sap-ui-config\" type=\"application/json\">\n * {\n *\t\"calendarType\": \"Japanese\"\n * }\n * </script>\n * </code>\n *\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Calendar\";</code>\n *\n * @constructor\n * @extends CalendarPart\n * @public\n * @since 1.0.0-rc.11\n */\n@customElement({\n\ttag: \"ui5-calendar\",\n\tfastNavigation: true,\n\ttemplate: CalendarTemplate,\n\tstyles: calendarCSS,\n\tdependencies: [\n\t\tCalendarDate,\n\t\tCalendarHeader,\n\t\tDayPicker,\n\t\tMonthPicker,\n\t\tYearPicker,\n\t],\n})\n/**\n * Fired when the selected dates change.\n * <b>Note:</b> If you call <code>preventDefault()</code> for this event, the component will not\n * create instances of <code>ui5-date</code> for the newly selected dates. In that case you should do this manually.\n *\n * @allowPreventDefault\n * @param {Array<string>} values The selected dates\n * @param {Array<number>} dates The selected dates as UTC timestamps\n * @public\n */\n@event(\"selected-dates-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tdates: { type: Array },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalues: { type: Array },\n\t},\n})\n\n@event(\"show-month-press\")\n@event(\"show-year-press\")\nclass Calendar extends CalendarPart {\n\t/**\n\t * Defines the type of selection used in the calendar component.\n\t * Accepted property values are:<br>\n\t * <ul>\n\t * <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>\n\t * <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>\n\t * <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>\n\t * </ul>\n\t * @default \"Single\"\n\t * @public\n\t */\n\t@property({\n\t\ttype: CalendarSelectionMode,\n\t\tdefaultValue: CalendarSelectionMode.Single,\n\t})\n\tselectionMode!: `${CalendarSelectionMode}`;\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers!: boolean;\n\n\t/**\n\t * Which picker is currently visible to the user: day/month/year\n\t * @private\n\t */\n\t@property({ defaultValue: \"day\" })\n\t_currentPicker!: string;\n\n\t@property({ type: Boolean })\n\t_previousButtonDisabled!: boolean;\n\n\t@property({ type: Boolean })\n\t_nextButtonDisabled!: boolean;\n\n\t@property()\n\t_headerMonthButtonText!: string;\n\n\t@property()\n\t_headerYearButtonText!: string;\n\n\t@property()\n\t_headerYearButtonTextSecType!: string;\n\n\t@property({ type: CalendarPickersMode, defaultValue: CalendarPickersMode.DAY_MONTH_YEAR, noAttribute: true })\n\t_pickersMode!: CalendarPickersMode;\n\n\t_valueIsProcessed!: boolean\n\n\t/**\n\t * Defines the selected date or dates (depending on the <code>selectionMode</code> property)\n\t * for this calendar as instances of <code>ui5-date</code>.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\tdates!: Array<CalendarDate>;\n\n\t/**\n\t * @private\n\t */\n\tget _selectedDatesTimestamps(): Array<number> {\n\t\treturn this.dates.map(date => {\n\t\t\tconst value = date.value;\n\t\t\tconst validValue = value && !!this.getFormat().parse(value);\n\t\t\treturn validValue ? this._getTimeStampFromString(value)! / 1000 : undefined;\n\t\t}).filter((date): date is number => !!date);\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._valueIsProcessed = false;\n\t}\n\t/**\n\t * @private\n\t */\n\t_setSelectedDates(selectedDates: Array<number>) {\n\t\tconst selectedValues = selectedDates.map(timestamp => this.getFormat().format(new Date(timestamp * 1000), true)); // Format as UTC\n\t\tconst valuesInDOM = [...this.dates].map(dateElement => dateElement.value);\n\n\t\t// Remove all elements for dates that are no longer selected\n\t\tthis.dates.filter(dateElement => !selectedValues.includes(dateElement.value)).forEach(dateElement => {\n\t\t\tthis.removeChild(dateElement);\n\t\t});\n\n\t\t// Create tags for the selected dates that don't already exist in DOM\n\t\tselectedValues.filter(value => !valuesInDOM.includes(value)).forEach(value => {\n\t\t\tconst dateElement = document.createElement(CalendarDate.getMetadata().getTag()) as CalendarDate;\n\t\t\tdateElement.value = value;\n\t\t\tthis.appendChild(dateElement);\n\t\t});\n\t}\n\n\t/**\n\t * Makes sure that _currentPicker is always set to a value, allowed by _pickersMode\n\t */\n\t_normalizeCurrentPicker() {\n\t\tif (this._currentPicker === \"day\" && this._pickersMode !== CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"month\";\n\t\t}\n\n\t\tif (this._currentPicker === \"month\" && this._pickersMode === CalendarPickersMode.YEAR) {\n\t\t\tthis._currentPicker = \"year\";\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._normalizeCurrentPicker();\n\n\t\tif (!this._valueIsProcessed) {\n\t\t\tif (this._selectedDatesTimestamps) {\n\t\t\t\tthis.timestamp = this._selectedDatesTimestamps[0];\n\t\t\t}\n\n\t\t\tthis._valueIsProcessed = true;\n\t\t}\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished(); // Await for the current picker to render and then ask if it has previous/next pages\n\t\tthis._previousButtonDisabled = !this._currentPickerDOM._hasPreviousPage();\n\t\tthis._nextButtonDisabled = !this._currentPickerDOM._hasNextPage();\n\n\t\tconst yearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this.primaryCalendarType });\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tthis._headerMonthButtonText = localeData.getMonthsStandAlone(\"wide\", this.primaryCalendarType)[this._calendarDate.getMonth()];\n\n\t\tif (this._currentPicker === \"year\") {\n\t\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\trangeStart.setYear(this._currentPickerDOM._firstYear!);\n\t\t\trangeEnd.setYear(this._currentPickerDOM._lastYear!);\n\n\t\t\tthis._headerYearButtonText = `${yearFormat.format(rangeStart.toLocalJSDate(), true)} - ${yearFormat.format(rangeEnd.toLocalJSDate(), true)}`;\n\t\t} else {\n\t\t\tthis._headerYearButtonText = String(yearFormat.format(this._localDate, true));\n\t\t}\n\n\t\tthis._secondaryCalendarType && this._setSecondaryCalendarTypeButtonText();\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tthis._valueIsProcessed = false;\n\t\t}\n\t}\n\n\t/**\n\t * The user clicked the \"month\" button in the header\n\t */\n\tonHeaderShowMonthPress(e: CustomEvent) {\n\t\tthis._currentPickerDOM._autoFocus = false;\n\t\tthis._currentPicker = \"month\";\n\t\tthis.fireEvent(\"show-month-press\", e);\n\t}\n\n\t/**\n\t * The user clicked the \"year\" button in the header\n\t */\n\tonHeaderShowYearPress(e: CustomEvent) {\n\t\tthis._currentPickerDOM._autoFocus = false;\n\t\tthis._currentPicker = \"year\";\n\t\tthis.fireEvent(\"show-year-press\", e);\n\t}\n\n\tget _currentPickerDOM() {\n\t\t// Calendar's shadowRoot and all the pickers are always present - the \"!\" is safe to be used.\n\t\treturn this.shadowRoot!.querySelector(`[ui5-${this._currentPicker}picker]`)! as unknown as ICalendarPicker;\n\t}\n\n\t/**\n\t * The year clicked the \"Previous\" button in the header\n\t */\n\tonHeaderPreviousPress() {\n\t\tthis._currentPickerDOM._showPreviousPage();\n\t}\n\n\t/**\n\t * The year clicked the \"Next\" button in the header\n\t */\n\tonHeaderNextPress() {\n\t\tthis._currentPickerDOM._showNextPage();\n\t}\n\n\t_setSecondaryCalendarTypeButtonText() {\n\t\tconst yearFormatSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\n\t\tif (this._currentPicker === \"year\") {\n\t\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\trangeStart.setYear(this._currentPickerDOM._firstYear!);\n\t\t\trangeEnd.setYear(this._currentPickerDOM._lastYear!);\n\n\t\t\tconst rangeStartSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeStart.valueOf() / 1000, true)\n\t\t\t\t.firstDate;\n\t\t\tconst rangeEndSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeEnd.valueOf() / 1000, true)\n\t\t\t\t.lastDate;\n\t\t\tthis._headerYearButtonTextSecType = `${yearFormatSecType.format(rangeStartSecType.toLocalJSDate(), true)} - ${yearFormatSecType.format(rangeEndSecType.toLocalJSDate(), true)}`;\n\t\t} else {\n\t\t\tthis._headerYearButtonTextSecType = String(yearFormatSecType.format(this._localDate, true));\n\t\t}\n\t}\n\n\tget secondaryCalendarTypeButtonText() {\n\t\tif (!this.hasSecondaryCalendarType) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localDate = new Date(this._timestamp * 1000);\n\t\tconst secondYearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\t\tconst dateInSecType = transformDateToSecondaryType(this._primaryCalendarType, this._secondaryCalendarType, this._timestamp);\n\t\tconst secondMonthInfo = convertMonthNumbersToMonthNames(dateInSecType.firstDate.getMonth(), dateInSecType.lastDate.getMonth(), this._secondaryCalendarType);\n\t\tconst secondYearText = secondYearFormat.format(localDate, true);\n\n\t\treturn {\n\t\t\tyearButtonText: secondYearText,\n\t\t\tmonthButtonText: secondMonthInfo.text,\n\t\t\tmonthButtonInfo: secondMonthInfo.textInfo,\n\t\t};\n\t}\n\n\t/**\n\t * The month button is hidden when the month picker or year picker is shown\n\t * @private\n\t */\n\tget _isHeaderMonthButtonHidden(): boolean {\n\t\treturn this._currentPicker === \"month\" || this._currentPicker === \"year\";\n\t}\n\n\tget _isDayPickerHidden() {\n\t\treturn this._currentPicker !== \"day\";\n\t}\n\n\tget _isMonthPickerHidden() {\n\t\treturn this._currentPicker !== \"month\";\n\t}\n\n\tget _isYearPickerHidden() {\n\t\treturn this._currentPicker !== \"year\";\n\t}\n\n\t_fireEventAndUpdateSelectedDates(selectedDates: Array<number>) {\n\t\tconst datesValues = selectedDates.map(timestamp => {\n\t\t\tconst calendarDate = CalendarDateComponent.fromTimestamp(timestamp * 1000, this._primaryCalendarType);\n\t\t\treturn this.getFormat().format(calendarDate.toUTCJSDate(), true);\n\t\t});\n\n\t\tconst defaultPrevented = !this.fireEvent<CalendarSelectedDatesChangeEventDetail>(\"selected-dates-change\", { timestamp: this.timestamp, dates: [...selectedDates], values: datesValues }, true);\n\t\tif (!defaultPrevented) {\n\t\t\tthis._setSelectedDates(selectedDates);\n\t\t}\n\t}\n\n\tonSelectedDatesChange(e: CustomEvent<DayPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t\tthis._fireEventAndUpdateSelectedDates(e.detail.dates);\n\t}\n\n\tonSelectedMonthChange(e: CustomEvent<MonthPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\n\t\tif (this._pickersMode === CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"day\";\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates([this.timestamp]);\n\t\t}\n\n\t\tthis._currentPickerDOM._autoFocus = true;\n\t}\n\n\tonSelectedYearChange(e: CustomEvent<YearPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\n\t\tif (this._pickersMode === CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"day\";\n\t\t} else if (this._pickersMode === CalendarPickersMode.MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"month\";\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates([this.timestamp]);\n\t\t}\n\n\t\tthis._currentPickerDOM._autoFocus = true;\n\t}\n\n\tonNavigate(e: CustomEvent) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isF4(e) && this._currentPicker !== \"month\") {\n\t\t\tthis._currentPicker = \"month\";\n\t\t}\n\n\t\tif (isF4Shift(e) && this._currentPicker !== \"year\") {\n\t\t\tthis._currentPicker = \"year\";\n\t\t}\n\t}\n\n\t/**\n\t * Returns an array of UTC timestamps, representing the selected dates.\n\t * @protected\n\t * @deprecated\n\t */\n\tget selectedDates(): Array<number> {\n\t\treturn this._selectedDatesTimestamps;\n\t}\n\n\t/**\n\t * Creates instances of <code>ui5-date</code> inside this <code>ui5-calendar</code> with values, equal to the provided UTC timestamps\n\t * @protected\n\t * @deprecated\n\t * @param selectedDates Array of UTC timestamps\n\t */\n\tset selectedDates(selectedDates: Array<number>) {\n\t\tthis._setSelectedDates(selectedDates);\n\t}\n}\n\nCalendar.define();\n\nexport default Calendar;\nexport type {\n\tICalendarPicker,\n\tCalendarSelectedDatesChangeEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,4BAA4B,MAAM,4EAA4E,CAAC;AACtH,OAAO,+BAA+B,MAAM,+EAA+E,CAAC;AAC5H,OAAO,qBAAqB,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EACN,IAAI,EACJ,SAAS,GACT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,2BAA2B,MAAM,qEAAqE,CAAC;AAC9G,OAAO,SAAS,MAAM,kDAAkD,CAAC;AACzE,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAC5E,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AAEjE,gCAAgC;AAChC,OAAO,qEAAqE,CAAC;AAE7E,WAAW;AACX,OAAO,gBAAgB,MAAM,+CAA+C,CAAC;AAE7E,SAAS;AACT,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAkB7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AAyCH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,YAAY;IAmElC;;OAEG;IACH,IAAI,wBAAwB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5D,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAE,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,CAAC;IACD;;OAEG;IACH,iBAAiB,CAAC,aAA4B;QAC7C,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB;QAClI,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE1E,4DAA4D;QAC5D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACnG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAiB,CAAC;YAChG,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,uBAAuB;QACtB,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,mBAAmB,CAAC,cAAc,EAAE;YAC9F,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;SAC9B;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,mBAAmB,CAAC,IAAI,EAAE;YACtF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;SAC7B;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC5B,IAAI,IAAI,CAAC,wBAAwB,EAAE;gBAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;aAClD;YAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC9B;IACF,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,MAAM,cAAc,EAAE,CAAC,CAAC,oFAAoF;QAC5G,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAC1E,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAElE,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACvG,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9H,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;YACnC,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC5F,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1F,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAU,CAAC,CAAC;YAEpD,IAAI,CAAC,qBAAqB,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAC7I;aAAM;YACN,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;SAC9E;QAED,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,mCAAmC,EAAE,CAAC;IAC3E,CAAC;IAED,cAAc,CAAC,UAAsB;QACpC,IAAI,UAAU,CAAC,MAAM,KAAK,aAAa,EAAE;YACxC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAC/B;IACF,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,CAAc;QACpC,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,CAAc;QACnC,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,iBAAiB;QACpB,6FAA6F;QAC7F,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,cAAc,SAAS,CAAgC,CAAC;IAC5G,CAAC;IAED;;OAEG;IACH,qBAAqB;QACpB,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,iBAAiB;QAChB,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,mCAAmC;QAClC,MAAM,iBAAiB,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAEjH,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;YACnC,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC5F,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1F,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAU,CAAC,CAAC;YAEpD,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC;iBAC9I,SAAS,CAAC;YACZ,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC;iBAC1I,QAAQ,CAAC;YACX,IAAI,CAAC,4BAA4B,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAChL;aAAM;YACN,IAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;SAC5F;IACF,CAAC;IAED,IAAI,+BAA+B;QAClC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACnC,OAAO;SACP;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAChH,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5H,MAAM,eAAe,GAAG,+BAA+B,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5J,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEhE,OAAO;YACN,cAAc,EAAE,cAAc;YAC9B,eAAe,EAAE,eAAe,CAAC,IAAI;YACrC,eAAe,EAAE,eAAe,CAAC,QAAQ;SACzC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,0BAA0B;QAC7B,OAAO,IAAI,CAAC,cAAc,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC;IAC1E,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IACtC,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC;IACxC,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC;IACvC,CAAC;IAED,gCAAgC,CAAC,aAA4B;QAC5D,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACjD,MAAM,YAAY,GAAG,qBAAqB,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACtG,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAyC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/L,IAAI,CAAC,gBAAgB,EAAE;YACtB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;SACtC;IACF,CAAC;IAED,qBAAqB,CAAC,CAA0C;QAC/D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,qBAAqB,CAAC,CAA4C;QACjE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAEpC,IAAI,IAAI,CAAC,YAAY,KAAK,mBAAmB,CAAC,cAAc,EAAE;YAC7D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC5B;aAAM;YACN,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,oBAAoB,CAAC,CAA2C;QAC/D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAEpC,IAAI,IAAI,CAAC,YAAY,KAAK,mBAAmB,CAAC,cAAc,EAAE;YAC7D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC5B;aAAM,IAAI,IAAI,CAAC,YAAY,KAAK,mBAAmB,CAAC,UAAU,EAAE;YAChE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;SAC9B;aAAM;YACN,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,CAAc;QACxB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE;YAC/C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;SAC9B;QAED,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;YACnD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;SAC7B;IACF,CAAC;IAED;;;;OAIG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa,CAAC,aAA4B;QAC7C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;CACD,CAAA;AAtTA;IAJC,QAAQ,CAAC;QACT,IAAI,EAAE,qBAAqB;QAC3B,YAAY,EAAE,qBAAqB,CAAC,MAAM;KAC1C,CAAC;+CACyC;AAa3C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACF;AAO1B;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;gDACV;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDACM;AAGlC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACE;AAG9B;IADC,QAAQ,EAAE;wDACqB;AAGhC;IADC,QAAQ,EAAE;uDACoB;AAG/B;IADC,QAAQ,EAAE;8DAC2B;AAGtC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8CAC1E;AAWnC;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;uCAChD;AAjEvB,QAAQ;IAxCb,aAAa,CAAC;QACd,GAAG,EAAE,cAAc;QACnB,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,WAAW;QACnB,YAAY,EAAE;YACb,YAAY;YACZ,cAAc;YACd,SAAS;YACT,WAAW;YACX,UAAU;SACV;KACD,CAAC;IACF;;;;;;;;;OASG;;IACF,KAAK,CAAyC,uBAAuB,EAAE;QACvE,MAAM,EAAE;YACP;;eAEG;YACH,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACtB;;eAEG;YACH,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAEvB,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC3B;KACD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC;IACzB,KAAK,CAAC,iBAAiB,CAAC;GACnB,QAAQ,CAsUb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport convertMonthNumbersToMonthNames from \"@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js\";\nimport CalendarDateComponent from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisF4,\n\tisF4Shift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport CalendarDate from \"./CalendarDate.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport CalendarHeader from \"./CalendarHeader.js\";\nimport DayPicker from \"./DayPicker.js\";\nimport type { DayPickerChangeEventDetail } from \"./DayPicker.js\";\nimport MonthPicker from \"./MonthPicker.js\";\nimport type { MonthPickerChangeEventDetail } from \"./MonthPicker.js\";\nimport YearPicker from \"./YearPicker.js\";\nimport type { YearPickerChangeEventDetail } from \"./YearPicker.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\n\n// Default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Template\nimport CalendarTemplate from \"./generated/templates/CalendarTemplate.lit.js\";\n\n// Styles\nimport calendarCSS from \"./generated/themes/Calendar.css.js\";\n\ninterface ICalendarPicker {\n\t_showPreviousPage: () => void,\n\t_showNextPage: () => void,\n\t_hasPreviousPage: () => boolean,\n\t_hasNextPage: () => boolean,\n\t_autoFocus?: boolean,\n\t_firstYear?: number,\n\t_lastYear?: number,\n}\n\ntype CalendarSelectedDatesChangeEventDetail = {\n\tvalues: Array<string>,\n\tdates: Array<number>,\n\ttimestamp: number | undefined,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-calendar</code> component allows users to select one or more dates.\n * <br><br>\n * Currently selected dates are represented with instances of <code>ui5-date</code> as\n * children of the <code>ui5-calendar</code>. The value property of each <code>ui5-date</code> must be a\n * date string, correctly formatted according to the <code>ui5-calendar</code>'s <code>formatPattern</code> property.\n * Whenever the user changes the date selection, <code>ui5-calendar</code> will automatically create/remove instances\n * of <code>ui5-date</code> in itself, unless you prevent this behavior by calling <code>preventDefault()</code> for the\n * <code>selected-dates-change</code> event. This is useful if you want to control the selected dates externally.\n * <br><br>\n *\n * <h3>Usage</h3>\n *\n * The user can navigate to a particular date by:\n * <br>\n * <ul>\n * <li>Pressing over a month inside the months view</li>\n * <li>Pressing over an year inside the years view</li>\n * </ul>\n * <br>\n * The user can confirm a date selection by pressing over a date inside the days view.\n * <br><br>\n *\n * <h3>Keyboard Handling</h3>\n * The <code>ui5-calendar</code> provides advanced keyboard handling.\n * When a picker is showed and focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n * <br>\n * - Day picker: <br>\n * <ul>\n * <li>[F4] - Shows month picker</li>\n * <li>[SHIFT] + [F4] - Shows year picker</li>\n * <li>[PAGEUP] - Navigate to the previous month</li>\n * <li>[PAGEDOWN] - Navigate to the next month</li>\n * <li>[SHIFT] + [PAGEUP] - Navigate to the previous year</li>\n * <li>[SHIFT] + [PAGEDOWN] - Navigate to the next year</li>\n * <li>[CTRL] + [SHIFT] + [PAGEUP] - Navigate ten years backwards</li>\n * <li>[CTRL] + [SHIFT] + [PAGEDOWN] - Navigate ten years forwards</li>\n * <li>[HOME] - Navigate to the first day of the week</li>\n * <li>[END] - Navigate to the last day of the week</li>\n * <li>[CTRL] + [HOME] - Navigate to the first day of the month</li>\n * <li>[CTRL] + [END] - Navigate to the last day of the month</li>\n * </ul>\n * <br>\n * - Month picker: <br>\n * <ul>\n * <li>[PAGEUP] - Navigate to the previous year</li>\n * <li>[PAGEDOWN] - Navigate to the next year</li>\n * <li>[HOME] - Navigate to the first month of the current row</li>\n * <li>[END] - Navigate to the last month of the current row</li>\n * <li>[CTRL] + [HOME] - Navigate to the first month of the current year</li>\n * <li>[CTRL] + [END] - Navigate to the last month of the year</li>\n * </ul>\n * <br>\n * - Year picker: <br>\n * <ul>\n * <li>[PAGEUP] - Navigate to the previous year range</li>\n * <li>[PAGEDOWN] - Navigate the next year range</li>\n * <li>[HOME] - Navigate to the first year of the current row</li>\n * <li>[END] - Navigate to the last year of the current row</li>\n * <li>[CTRL] + [HOME] - Navigate to the first year of the current year range</li>\n * <li>[CTRL] + [END] - Navigate to the last year of the current year range</li>\n * </ul>\n * <br>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n * <br><br>\n *\n* <h3>Calendar types</h3>\n * The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.\n * By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,\n * you need to set the <code>primaryCalendarType</code> property and import one or more of the following modules:\n * <br><br>\n *\n * <code>import \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";</code>\n * <br><br>\n *\n * Or, you can use the global configuration and set the <code>calendarType</code> key:\n * <br>\n * <code>\n * <script data-id=\"sap-ui-config\" type=\"application/json\">\n * {\n *\t\"calendarType\": \"Japanese\"\n * }\n * </script>\n * </code>\n *\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Calendar\";</code>\n *\n * @constructor\n * @extends CalendarPart\n * @public\n * @since 1.0.0-rc.11\n */\n@customElement({\n\ttag: \"ui5-calendar\",\n\tfastNavigation: true,\n\ttemplate: CalendarTemplate,\n\tstyles: calendarCSS,\n\tdependencies: [\n\t\tCalendarDate,\n\t\tCalendarHeader,\n\t\tDayPicker,\n\t\tMonthPicker,\n\t\tYearPicker,\n\t],\n})\n/**\n * Fired when the selected dates change.\n * <b>Note:</b> If you call <code>preventDefault()</code> for this event, the component will not\n * create instances of <code>ui5-date</code> for the newly selected dates. In that case you should do this manually.\n *\n * @allowPreventDefault\n * @param {Array<string>} values The selected dates\n * @param {Array<number>} dates The selected dates as UTC timestamps\n * @public\n */\n@event<CalendarSelectedDatesChangeEventDetail>(\"selected-dates-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tdates: { type: Array },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalues: { type: Array },\n\n\t\ttimestamp: { type: Number },\n\t},\n})\n\n@event(\"show-month-press\")\n@event(\"show-year-press\")\nclass Calendar extends CalendarPart {\n\t/**\n\t * Defines the type of selection used in the calendar component.\n\t * Accepted property values are:<br>\n\t * <ul>\n\t * <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>\n\t * <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>\n\t * <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>\n\t * </ul>\n\t * @default \"Single\"\n\t * @public\n\t */\n\t@property({\n\t\ttype: CalendarSelectionMode,\n\t\tdefaultValue: CalendarSelectionMode.Single,\n\t})\n\tselectionMode!: `${CalendarSelectionMode}`;\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers!: boolean;\n\n\t/**\n\t * Which picker is currently visible to the user: day/month/year\n\t * @private\n\t */\n\t@property({ defaultValue: \"day\" })\n\t_currentPicker!: string;\n\n\t@property({ type: Boolean })\n\t_previousButtonDisabled!: boolean;\n\n\t@property({ type: Boolean })\n\t_nextButtonDisabled!: boolean;\n\n\t@property()\n\t_headerMonthButtonText!: string;\n\n\t@property()\n\t_headerYearButtonText!: string;\n\n\t@property()\n\t_headerYearButtonTextSecType!: string;\n\n\t@property({ type: CalendarPickersMode, defaultValue: CalendarPickersMode.DAY_MONTH_YEAR, noAttribute: true })\n\t_pickersMode!: CalendarPickersMode;\n\n\t_valueIsProcessed!: boolean\n\n\t/**\n\t * Defines the selected date or dates (depending on the <code>selectionMode</code> property)\n\t * for this calendar as instances of <code>ui5-date</code>.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\tdates!: Array<CalendarDate>;\n\n\t/**\n\t * @private\n\t */\n\tget _selectedDatesTimestamps(): Array<number> {\n\t\treturn this.dates.map(date => {\n\t\t\tconst value = date.value;\n\t\t\tconst validValue = value && !!this.getFormat().parse(value);\n\t\t\treturn validValue ? this._getTimeStampFromString(value)! / 1000 : undefined;\n\t\t}).filter((date): date is number => !!date);\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._valueIsProcessed = false;\n\t}\n\t/**\n\t * @private\n\t */\n\t_setSelectedDates(selectedDates: Array<number>) {\n\t\tconst selectedValues = selectedDates.map(timestamp => this.getFormat().format(new Date(timestamp * 1000), true)); // Format as UTC\n\t\tconst valuesInDOM = [...this.dates].map(dateElement => dateElement.value);\n\n\t\t// Remove all elements for dates that are no longer selected\n\t\tthis.dates.filter(dateElement => !selectedValues.includes(dateElement.value)).forEach(dateElement => {\n\t\t\tthis.removeChild(dateElement);\n\t\t});\n\n\t\t// Create tags for the selected dates that don't already exist in DOM\n\t\tselectedValues.filter(value => !valuesInDOM.includes(value)).forEach(value => {\n\t\t\tconst dateElement = document.createElement(CalendarDate.getMetadata().getTag()) as CalendarDate;\n\t\t\tdateElement.value = value;\n\t\t\tthis.appendChild(dateElement);\n\t\t});\n\t}\n\n\t/**\n\t * Makes sure that _currentPicker is always set to a value, allowed by _pickersMode\n\t */\n\t_normalizeCurrentPicker() {\n\t\tif (this._currentPicker === \"day\" && this._pickersMode !== CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"month\";\n\t\t}\n\n\t\tif (this._currentPicker === \"month\" && this._pickersMode === CalendarPickersMode.YEAR) {\n\t\t\tthis._currentPicker = \"year\";\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._normalizeCurrentPicker();\n\n\t\tif (!this._valueIsProcessed) {\n\t\t\tif (this._selectedDatesTimestamps) {\n\t\t\t\tthis.timestamp = this._selectedDatesTimestamps[0];\n\t\t\t}\n\n\t\t\tthis._valueIsProcessed = true;\n\t\t}\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished(); // Await for the current picker to render and then ask if it has previous/next pages\n\t\tthis._previousButtonDisabled = !this._currentPickerDOM._hasPreviousPage();\n\t\tthis._nextButtonDisabled = !this._currentPickerDOM._hasNextPage();\n\n\t\tconst yearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this.primaryCalendarType });\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tthis._headerMonthButtonText = localeData.getMonthsStandAlone(\"wide\", this.primaryCalendarType)[this._calendarDate.getMonth()];\n\n\t\tif (this._currentPicker === \"year\") {\n\t\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\trangeStart.setYear(this._currentPickerDOM._firstYear!);\n\t\t\trangeEnd.setYear(this._currentPickerDOM._lastYear!);\n\n\t\t\tthis._headerYearButtonText = `${yearFormat.format(rangeStart.toLocalJSDate(), true)} - ${yearFormat.format(rangeEnd.toLocalJSDate(), true)}`;\n\t\t} else {\n\t\t\tthis._headerYearButtonText = String(yearFormat.format(this._localDate, true));\n\t\t}\n\n\t\tthis._secondaryCalendarType && this._setSecondaryCalendarTypeButtonText();\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tthis._valueIsProcessed = false;\n\t\t}\n\t}\n\n\t/**\n\t * The user clicked the \"month\" button in the header\n\t */\n\tonHeaderShowMonthPress(e: CustomEvent) {\n\t\tthis._currentPickerDOM._autoFocus = false;\n\t\tthis._currentPicker = \"month\";\n\t\tthis.fireEvent(\"show-month-press\", e);\n\t}\n\n\t/**\n\t * The user clicked the \"year\" button in the header\n\t */\n\tonHeaderShowYearPress(e: CustomEvent) {\n\t\tthis._currentPickerDOM._autoFocus = false;\n\t\tthis._currentPicker = \"year\";\n\t\tthis.fireEvent(\"show-year-press\", e);\n\t}\n\n\tget _currentPickerDOM() {\n\t\t// Calendar's shadowRoot and all the pickers are always present - the \"!\" is safe to be used.\n\t\treturn this.shadowRoot!.querySelector(`[ui5-${this._currentPicker}picker]`)! as unknown as ICalendarPicker;\n\t}\n\n\t/**\n\t * The year clicked the \"Previous\" button in the header\n\t */\n\tonHeaderPreviousPress() {\n\t\tthis._currentPickerDOM._showPreviousPage();\n\t}\n\n\t/**\n\t * The year clicked the \"Next\" button in the header\n\t */\n\tonHeaderNextPress() {\n\t\tthis._currentPickerDOM._showNextPage();\n\t}\n\n\t_setSecondaryCalendarTypeButtonText() {\n\t\tconst yearFormatSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\n\t\tif (this._currentPicker === \"year\") {\n\t\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\trangeStart.setYear(this._currentPickerDOM._firstYear!);\n\t\t\trangeEnd.setYear(this._currentPickerDOM._lastYear!);\n\n\t\t\tconst rangeStartSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeStart.valueOf() / 1000, true)\n\t\t\t\t.firstDate;\n\t\t\tconst rangeEndSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeEnd.valueOf() / 1000, true)\n\t\t\t\t.lastDate;\n\t\t\tthis._headerYearButtonTextSecType = `${yearFormatSecType.format(rangeStartSecType.toLocalJSDate(), true)} - ${yearFormatSecType.format(rangeEndSecType.toLocalJSDate(), true)}`;\n\t\t} else {\n\t\t\tthis._headerYearButtonTextSecType = String(yearFormatSecType.format(this._localDate, true));\n\t\t}\n\t}\n\n\tget secondaryCalendarTypeButtonText() {\n\t\tif (!this.hasSecondaryCalendarType) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localDate = new Date(this._timestamp * 1000);\n\t\tconst secondYearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\t\tconst dateInSecType = transformDateToSecondaryType(this._primaryCalendarType, this._secondaryCalendarType, this._timestamp);\n\t\tconst secondMonthInfo = convertMonthNumbersToMonthNames(dateInSecType.firstDate.getMonth(), dateInSecType.lastDate.getMonth(), this._secondaryCalendarType);\n\t\tconst secondYearText = secondYearFormat.format(localDate, true);\n\n\t\treturn {\n\t\t\tyearButtonText: secondYearText,\n\t\t\tmonthButtonText: secondMonthInfo.text,\n\t\t\tmonthButtonInfo: secondMonthInfo.textInfo,\n\t\t};\n\t}\n\n\t/**\n\t * The month button is hidden when the month picker or year picker is shown\n\t * @private\n\t */\n\tget _isHeaderMonthButtonHidden(): boolean {\n\t\treturn this._currentPicker === \"month\" || this._currentPicker === \"year\";\n\t}\n\n\tget _isDayPickerHidden() {\n\t\treturn this._currentPicker !== \"day\";\n\t}\n\n\tget _isMonthPickerHidden() {\n\t\treturn this._currentPicker !== \"month\";\n\t}\n\n\tget _isYearPickerHidden() {\n\t\treturn this._currentPicker !== \"year\";\n\t}\n\n\t_fireEventAndUpdateSelectedDates(selectedDates: Array<number>) {\n\t\tconst datesValues = selectedDates.map(timestamp => {\n\t\t\tconst calendarDate = CalendarDateComponent.fromTimestamp(timestamp * 1000, this._primaryCalendarType);\n\t\t\treturn this.getFormat().format(calendarDate.toUTCJSDate(), true);\n\t\t});\n\n\t\tconst defaultPrevented = !this.fireEvent<CalendarSelectedDatesChangeEventDetail>(\"selected-dates-change\", { timestamp: this.timestamp, dates: [...selectedDates], values: datesValues }, true);\n\t\tif (!defaultPrevented) {\n\t\t\tthis._setSelectedDates(selectedDates);\n\t\t}\n\t}\n\n\tonSelectedDatesChange(e: CustomEvent<DayPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t\tthis._fireEventAndUpdateSelectedDates(e.detail.dates);\n\t}\n\n\tonSelectedMonthChange(e: CustomEvent<MonthPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\n\t\tif (this._pickersMode === CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"day\";\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates([this.timestamp]);\n\t\t}\n\n\t\tthis._currentPickerDOM._autoFocus = true;\n\t}\n\n\tonSelectedYearChange(e: CustomEvent<YearPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\n\t\tif (this._pickersMode === CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"day\";\n\t\t} else if (this._pickersMode === CalendarPickersMode.MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"month\";\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates([this.timestamp]);\n\t\t}\n\n\t\tthis._currentPickerDOM._autoFocus = true;\n\t}\n\n\tonNavigate(e: CustomEvent) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isF4(e) && this._currentPicker !== \"month\") {\n\t\t\tthis._currentPicker = \"month\";\n\t\t}\n\n\t\tif (isF4Shift(e) && this._currentPicker !== \"year\") {\n\t\t\tthis._currentPicker = \"year\";\n\t\t}\n\t}\n\n\t/**\n\t * Returns an array of UTC timestamps, representing the selected dates.\n\t * @protected\n\t * @deprecated\n\t */\n\tget selectedDates(): Array<number> {\n\t\treturn this._selectedDatesTimestamps;\n\t}\n\n\t/**\n\t * Creates instances of <code>ui5-date</code> inside this <code>ui5-calendar</code> with values, equal to the provided UTC timestamps\n\t * @protected\n\t * @deprecated\n\t * @param selectedDates Array of UTC timestamps\n\t */\n\tset selectedDates(selectedDates: Array<number>) {\n\t\tthis._setSelectedDates(selectedDates);\n\t}\n}\n\nCalendar.define();\n\nexport default Calendar;\nexport type {\n\tICalendarPicker,\n\tCalendarSelectedDatesChangeEventDetail,\n};\n"]}
|
package/dist/Card.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ import type { ICardHeader } from "./CardHeader.js";
|
|
|
21
21
|
* @constructor
|
|
22
22
|
* @extends UI5Element
|
|
23
23
|
* @public
|
|
24
|
+
* @csspart root - Used to style the root DOM element of the card component
|
|
25
|
+
* @csspart content - Used to style the content of the card
|
|
24
26
|
*/
|
|
25
27
|
declare class Card extends UI5Element {
|
|
26
28
|
/**
|
package/dist/Card.js
CHANGED
|
@@ -37,6 +37,8 @@ import cardCss from "./generated/themes/Card.css.js";
|
|
|
37
37
|
* @constructor
|
|
38
38
|
* @extends UI5Element
|
|
39
39
|
* @public
|
|
40
|
+
* @csspart root - Used to style the root DOM element of the card component
|
|
41
|
+
* @csspart content - Used to style the content of the card
|
|
40
42
|
*/
|
|
41
43
|
let Card = Card_1 = class Card extends UI5Element {
|
|
42
44
|
get classes() {
|
package/dist/Card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../src/Card.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,YAAY,MAAM,2CAA2C,CAAC;AACrE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACN,yBAAyB,EACzB,uBAAuB,GACvB,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../src/Card.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,YAAY,MAAM,2CAA2C,CAAC;AACrE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACN,yBAAyB,EACzB,uBAAuB,GACvB,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH,IAAM,IAAI,YAAV,MAAM,IAAK,SAAQ,UAAU;IA0C5B,IAAI,OAAO;QACV,OAAO;YACN,IAAI,EAAE;gBACL,eAAe,EAAE,IAAI;gBACrB,uBAAuB,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW;gBACtE,qBAAqB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;aAC3C;SACD,CAAC;IACH,CAAC;IAED,IAAI,UAAU;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa;QAChB,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,EAC7D,kBAAkB,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO,MAAI,CAAC,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,kBAAkB,CAAC;IAChF,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,MAAI,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,MAAI,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC7D,CAAC;CACD,CAAA;AA1DA;IADC,QAAQ,EAAE;4CACa;AAUxB;IADC,QAAQ,EAAE;+CACgB;AAO3B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qCAChB;AAU7B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;oCAC/B;AAtCvB,IAAI;IART,aAAa,CAAC;QACd,GAAG,EAAE,UAAU;QACf,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,OAAO;QACf,YAAY,EAAE,CAAC,IAAI,CAAC;KACpB,CAAC;GACI,IAAI,CAqET;AAED,IAAI,CAAC,MAAM,EAAE,CAAC;AAEd,eAAe,IAAI,CAAC","sourcesContent":["import 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport CardTemplate from \"./generated/templates/CardTemplate.lit.js\";\nimport Icon from \"./Icon.js\";\nimport type { ICardHeader } from \"./CardHeader.js\";\nimport {\n\tARIA_ROLEDESCRIPTION_CARD,\n\tARIA_LABEL_CARD_CONTENT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport cardCss from \"./generated/themes/Card.css.js\";\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-card</code> is a component that represents information in the form of a\n * tile with separate header and content areas.\n * The content area of a <code>ui5-card</code> can be arbitrary HTML content.\n * The header can be used through slot <code>header</code>. For which there is a <code>ui5-card-header</code> component to achieve the card look and feel.\n *\n * Note: We recommend the usage of <code>ui5-card-header</code> for the header slot, so advantage can be taken for keyboard handling, styling and accessibility.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Card\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents/dist/CardHeader.js\";</code> (for <code>ui5-card-header</code>)\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart root - Used to style the root DOM element of the card component\n * @csspart content - Used to style the content of the card\n */\n@customElement({\n\ttag: \"ui5-card\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: CardTemplate,\n\tstyles: cardCss,\n\tdependencies: [Icon],\n})\nclass Card extends UI5Element {\n\t/**\n\t * Defines the accessible name of the component, which is used as the name of the card region and should be unique per card.\n\t * <b>Note:</b> <code>accessibleName</code> should be always set, unless <code>accessibleNameRef</code> is set.\n\t *\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.16\n\t*/\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.16\n\t*/\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t*/\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the header of the component.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-card-header</code> for the intended design.\n\t * @since 1.0.0-rc.15\n\t * @public\n\t*/\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\theader!: Array<ICardHeader>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-card-root\": true,\n\t\t\t\t\"ui5-card--interactive\": this._hasHeader && this.header[0].interactive,\n\t\t\t\t\"ui5-card--nocontent\": !this.content.length,\n\t\t\t},\n\t\t};\n\t}\n\n\tget _hasHeader() {\n\t\treturn !!this.header.length;\n\t}\n\n\tget _getAriaLabel() {\n\t\tconst effectiveAriaLabelText = getEffectiveAriaLabelText(this),\n\t\t\teffectiveAriaLabel = effectiveAriaLabelText ? ` ${effectiveAriaLabelText}` : \"\";\n\t\treturn Card.i18nBundle.getText(ARIA_ROLEDESCRIPTION_CARD) + effectiveAriaLabel;\n\t}\n\n\tget _ariaCardContentLabel() {\n\t\treturn Card.i18nBundle.getText(ARIA_LABEL_CARD_CONTENT);\n\t}\n\n\tstatic async onDefine() {\n\t\tCard.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nCard.define();\n\nexport default Card;\n"]}
|