@sapudex/web-components 2.57.0 → 2.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/specs/FilterMenu.cy.tsx +209 -19
- package/cypress/specs/List.cy.tsx +67 -4
- package/cypress/specs/ListItem.cy.tsx +35 -9
- package/cypress/specs/SelectBox.cy.tsx +100 -0
- package/cypress/specs/TabNavigation.cy.tsx +297 -21
- package/dist/List.d.ts +15 -1
- package/dist/List.js +23 -2
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeaderBase.d.ts +13 -0
- package/dist/ListGroupHeaderBase.js +43 -2
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListGroupHeaderTemplate.js +26 -7
- package/dist/ListGroupHeaderTemplate.js.map +1 -1
- package/dist/ListItem.d.ts +0 -3
- package/dist/ListItem.js +18 -12
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +17 -0
- package/dist/ListItemBase.js +15 -0
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemTemplate.js +2 -2
- package/dist/ListItemTemplate.js.map +1 -1
- package/dist/MastheadCountrySelector.js +5 -5
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/MastheadCountrySelectorTemplate.d.ts +2 -0
- package/dist/MastheadCountrySelectorTemplate.js +15 -0
- package/dist/MastheadCountrySelectorTemplate.js.map +1 -0
- package/dist/MastheadItem.d.ts +0 -3
- package/dist/MastheadItem.js +3 -6
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadItemTemplate.d.ts +2 -0
- package/dist/MastheadItemTemplate.js +41 -0
- package/dist/MastheadItemTemplate.js.map +1 -0
- package/dist/MastheadMenu.d.ts +1 -0
- package/dist/MastheadMenu.js +4 -6
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +0 -3
- package/dist/MastheadMenuItem.js +3 -6
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMenuItemTemplate.d.ts +2 -0
- package/dist/MastheadMenuItemTemplate.js +36 -0
- package/dist/MastheadMenuItemTemplate.js.map +1 -0
- package/dist/MastheadMenuTemplate.d.ts +2 -0
- package/dist/MastheadMenuTemplate.js +13 -0
- package/dist/MastheadMenuTemplate.js.map +1 -0
- package/dist/MastheadMobileMenu.js +3 -3
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadMobileMenuTemplate.d.ts +2 -0
- package/dist/MastheadMobileMenuTemplate.js +33 -0
- package/dist/MastheadMobileMenuTemplate.js.map +1 -0
- package/dist/MastheadProfileMenu.d.ts +2 -4
- package/dist/MastheadProfileMenu.js +5 -20
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadProfileMenuTemplate.d.ts +2 -0
- package/dist/MastheadProfileMenuTemplate.js +24 -0
- package/dist/MastheadProfileMenuTemplate.js.map +1 -0
- package/dist/MastheadShell.js +3 -5
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MastheadShellTemplate.d.ts +2 -0
- package/dist/MastheadShellTemplate.js +20 -0
- package/dist/MastheadShellTemplate.js.map +1 -0
- package/dist/SearchableListBase.d.ts +10 -0
- package/dist/SearchableListBase.js +34 -1
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SearchableListBaseTemplate.js +35 -4
- package/dist/SearchableListBaseTemplate.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +1 -0
- package/dist/SecondaryNavigation.js +20 -6
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SelectBase.js +8 -3
- package/dist/SelectBase.js.map +1 -1
- package/dist/Tab.d.ts +0 -7
- package/dist/Tab.js +4 -19
- package/dist/Tab.js.map +1 -1
- package/dist/TabHeaderTemplate.d.ts +2 -0
- package/dist/TabHeaderTemplate.js +15 -0
- package/dist/TabHeaderTemplate.js.map +1 -0
- package/dist/TabInOverflowTemplate.d.ts +2 -0
- package/dist/TabInOverflowTemplate.js +7 -0
- package/dist/TabInOverflowTemplate.js.map +1 -0
- package/dist/TabNavigation.d.ts +3 -4
- package/dist/TabNavigation.js +53 -40
- package/dist/TabNavigation.js.map +1 -1
- package/dist/TabNavigationPopoverTemplate.d.ts +2 -0
- package/dist/TabNavigationPopoverTemplate.js +9 -0
- package/dist/TabNavigationPopoverTemplate.js.map +1 -0
- package/dist/TabNavigationTemplate.d.ts +2 -0
- package/dist/TabNavigationTemplate.js +10 -0
- package/dist/TabNavigationTemplate.js.map +1 -0
- package/dist/TabTemplate.d.ts +2 -0
- package/dist/TabTemplate.js +5 -0
- package/dist/TabTemplate.js.map +1 -0
- package/dist/assets/{InputSuggestions-C8grDr_8.js → InputSuggestions-CMYjJsHw.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-BQtSr7yg.js → ListItemStandardExpandableTextTemplate-D2i8wWuR.js} +1 -1
- package/dist/assets/{bundle.esm-GvPkDyXP.js → bundle.esm-BjN47C_y.js} +242 -242
- package/dist/assets/messagebundle_en-B7YJOdQz.js +1 -0
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/ListGroupHeader.css +1 -1
- package/dist/css/themes/PromoTile.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
- package/dist/generated/i18n/i18n-defaults.js +3 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/PromoTile.css.d.ts +1 -1
- package/dist/generated/themes/PromoTile.css.js +1 -1
- package/dist/generated/themes/PromoTile.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/messagebundle.properties +4 -0
- package/dist/messagebundle_en.properties +2 -0
- package/dist/web-types.json +1 -1
- package/package.json +1 -1
- package/src/List.ts +24 -2
- package/src/ListGroupHeaderBase.ts +44 -2
- package/src/ListGroupHeaderTemplate.tsx +74 -23
- package/src/ListItem.ts +18 -15
- package/src/ListItemBase.ts +30 -0
- package/src/ListItemTemplate.tsx +4 -4
- package/src/MastheadCountrySelector.ts +5 -5
- package/src/MastheadCountrySelectorTemplate.tsx +98 -0
- package/src/MastheadItem.ts +3 -6
- package/src/MastheadItemTemplate.tsx +178 -0
- package/src/MastheadMenu.ts +5 -6
- package/src/MastheadMenuItem.ts +3 -7
- package/src/MastheadMenuItemTemplate.tsx +123 -0
- package/src/MastheadMenuTemplate.tsx +142 -0
- package/src/MastheadMobileMenu.ts +3 -3
- package/src/MastheadMobileMenuTemplate.tsx +274 -0
- package/src/MastheadProfileMenu.ts +10 -23
- package/src/MastheadProfileMenuTemplate.tsx +143 -0
- package/src/MastheadShell.ts +3 -5
- package/src/MastheadShellTemplate.tsx +228 -0
- package/src/SearchableListBase.ts +37 -1
- package/src/SearchableListBaseTemplate.tsx +38 -2
- package/src/SecondaryNavigation.ts +21 -6
- package/src/SelectBase.ts +8 -3
- package/src/Tab.ts +4 -24
- package/src/TabHeaderTemplate.tsx +153 -0
- package/src/TabInOverflowTemplate.tsx +68 -0
- package/src/TabNavigation.ts +61 -44
- package/src/TabNavigationPopoverTemplate.tsx +27 -0
- package/src/TabNavigationTemplate.tsx +98 -0
- package/src/TabTemplate.tsx +7 -0
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/ListGroupHeader.css.ts +1 -1
- package/src/generated/themes/PromoTile.css.ts +1 -1
- package/src/generated/themes/TabInOverflow.css.ts +1 -1
- package/src/i18n/messagebundle.properties +4 -0
- package/src/i18n/messagebundle_en.properties +2 -0
- package/src/themes/Button.css +2 -1
- package/src/themes/ListGroupHeader.css +50 -7
- package/src/themes/PromoTile.css +1 -0
- package/src/themes/TabInOverflow.css +9 -4
- package/dist/assets/messagebundle_en-DBpf5Il2.js +0 -1
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +0 -13
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadItemTemplate.lit.js +0 -43
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +0 -21
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +0 -25
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +0 -37
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +0 -18
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadShellTemplate.lit.js +0 -28
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabHeaderTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabHeaderTemplate.lit.js +0 -52
- package/dist/generated/templates/TabHeaderTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +0 -15
- package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +0 -8
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabNavigationTemplate.lit.js +0 -16
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabTemplate.lit.js +0 -7
- package/dist/generated/templates/TabTemplate.lit.js.map +0 -1
- package/src/MastheadCountrySelector.hbs +0 -76
- package/src/MastheadItem.hbs +0 -136
- package/src/MastheadMenu.hbs +0 -131
- package/src/MastheadMenuItem.hbs +0 -102
- package/src/MastheadMobileMenu.hbs +0 -253
- package/src/MastheadProfileMenu.hbs +0 -121
- package/src/MastheadShell.hbs +0 -223
- package/src/Tab.hbs +0 -1
- package/src/TabHeader.hbs +0 -141
- package/src/TabInOverflow.hbs +0 -59
- package/src/TabNavigation.hbs +0 -88
- package/src/TabNavigationPopover.hbs +0 -18
- package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +0 -17
- package/src/generated/templates/MastheadItemTemplate.lit.ts +0 -47
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +0 -25
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +0 -29
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +0 -41
- package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +0 -22
- package/src/generated/templates/MastheadShellTemplate.lit.ts +0 -32
- package/src/generated/templates/TabHeaderTemplate.lit.ts +0 -56
- package/src/generated/templates/TabInOverflowTemplate.lit.ts +0 -19
- package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +0 -12
- package/src/generated/templates/TabNavigationTemplate.lit.ts +0 -20
- package/src/generated/templates/TabTemplate.lit.ts +0 -11
package/dist/ListItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../src/ListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UDExCheckbox from \"./Checkbox.js\";\nimport type { UDExListItemBaseEvents } from \"./ListItemBase.js\";\nimport UDExListItemBase from \"./ListItemBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExAvatar, { UDExAvatarShape, UDExAvatarSize } from \"./Avatar.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExStatusBadge from \"./StatusBadge.js\";\nimport UDExRatingIndicator, { UDExDisplayType } from \"./RatingIndicator.js\";\nimport type UDExStatusBadgeValueState from \"./types/StatusBadgeValueState.js\";\nimport { UDExListItemSize, UDExListMode, UDExAdditionalTextState } from \"./types/List.js\";\nimport UDExRadioButton from \"./RadioButton.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n INDETERMINATE, SELECTED, UNSELECTED, RATING_INDICATOR_TEXT, RATING_COUNT_TITLE, TOTAL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\nimport ListItemTemplate from \"./ListItemTemplate.js\";\n\n// Styles\nimport ListItemCss from \"./generated/themes/ListItem.css.js\";\n\nconst listItemClass: string = \"udex-list__item\";\nconst listItemRole: string = \"option\";\n\ntype UDExListItemBaseEventDetail = {\n item: HTMLElement,\n}\n\ntype UDExListItemItemPressEventDetail = {\n selected: boolean,\n item: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-list-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ListItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UDExListItemBase\n * @tagname udex-list-item\n * @public\n */\n\n@customElement({\n tag: \"udex-list-item\",\n languageAware: true,\n renderer: jsxRenderer,\n styles: ListItemCss,\n template: ListItemTemplate,\n dependencies: [\n UDExAvatar,\n UDExButton,\n UDExRadioButton,\n UDExCheckbox,\n UDExStatusBadge,\n UDExRatingIndicator,\n Icon,\n ],\n})\n\n/**\n * Fired event when the user click on a list item.\n *\n * @public\n * @param {boolean} selected Indicates whether the item is selected or not\n */\n@event(\"item-press\", { bubbles: true })\n/**\n * Fired event when the user focuses on a list item.\n *\n * @public\n * @param {HTMLElement} item The focused list item\n */\n@event(\"item-focus\", { bubbles: true })\n\nclass UDExListItem extends UDExListItemBase {\n eventDetails!: {\n \"item-press\": UDExListItemItemPressEventDetail,\n \"item-focus\": UDExListItemBaseEventDetail,\n } & UDExListItemBaseEvents;\n /**\n * Defines the image badge state of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n imageBadgeState?: `${UDExStatusBadgeValueState}`;\n\n /**\n * Defines the accessible name of the item.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName: string = \"\";\n\n /**\n * Defines the position for flag image.\n *\n * @public\n */\n @property({ type: String })\n flagPosition?: string;\n\n /**\n * Defines the image, displayed at the start of the item.\n *\n * @public\n */\n @property({ type: Boolean })\n flag?: boolean;\n\n /**\n * Indicates if the item is active.\n *\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Indicates if the item is on focus\n *\n * @private\n */\n @property({ type: Boolean })\n focused!: boolean;\n\n /**\n * Defines the additionalText, displayed at the end of the list item.\n *\n * @public\n */\n @property({ type: String })\n additionalText?: string;\n\n /**\n * Defines the state of the additionalText.\n *\n * @default \"None\"\n * @public\n */\n @property()\n additionalTextState: `${UDExAdditionalTextState}` = UDExAdditionalTextState.None;\n\n /**\n * Allows control over the image source.\n *\n * @public\n */\n @property({ type: String })\n image?: string;\n\n /**\n * Allows control over the alternative text of the image.\n *\n * @public\n */\n @property({ type: String })\n imageAlt?: string;\n\n /**\n * Defines the shape of the image.\n *\n * @default \"Circle\"\n * @public\n */\n @property()\n imageShape: `${UDExAvatarShape}` = UDExAvatarShape.Circle;\n\n /**\n * Allows control over the size of the image.\n *\n * @default \"S\"\n * @public\n */\n @property()\n imageSize: `${UDExAvatarSize}` = UDExAvatarSize.S;\n\n /**\n * Slot for list item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: DefaultSlot<Node>;\n\n /**\n * Slot for first icon.\n *\n * @slot\n * @public\n */\n @slot({ type: UDExButton })\n firstIcon!: Slot<UDExButton>;\n\n /**\n * Slot for second icon.\n *\n * @slot\n * @public\n */\n @slot({ type: UDExButton })\n secondIcon!: Slot<UDExButton>;\n\n /**\n * Defines the role attribute of component\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole: string = \"\";\n\n @property({ type: String })\n _additionalClassName!: string;\n\n _displayRating: UDExDisplayType = UDExDisplayType.Desktop;\n\n deactivate: () => void;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n\n this.deactivate = () => {\n if (this.active) {\n this.active = false;\n }\n };\n }\n\n onEnterDOM() {\n document.addEventListener(\"mouseup\", this.deactivate);\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onExitDOM() {\n document.removeEventListener(\"mouseup\", this.deactivate);\n }\n\n handleMouseDown() {\n this.activate();\n }\n\n handleMouseUp() {\n this.deactivate();\n }\n\n handleKeyUp(e: KeyboardEvent) {\n e.preventDefault();\n if (isSpace(e) || isEnter(e)) {\n this.deactivate();\n }\n }\n\n handleKeyDown(e: KeyboardEvent) {\n if (this.firstIconElement === e.target || this.secondIconElement === e.target || (e.target as HTMLElement).classList.contains(\"udex-list__group-heading__icon\")) {\n return;\n }\n\n if (isSpace(e)) {\n e.preventDefault();\n }\n if (isSpace(e) || isEnter(e)) {\n this.activate();\n this.handleItemClick(e);\n }\n }\n\n handleKeyDownIcon(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n handleItemClick(e: Event) {\n if (this.disabled) {\n return;\n }\n if (!this.indeterminate && !this.controlled) {\n this.selected = !this.selected;\n }\n this.fireItemPress(e);\n }\n\n handleFocusIn() {\n if (!this.disabled) {\n this.focused = true;\n this.fireDecoratorEvent(\"item-focus\", {\n item: this,\n });\n }\n }\n\n handleFocusOut() {\n if (!this.disabled) {\n this.focused = false;\n this.deactivate();\n }\n }\n\n fireItemPress(e: Event) {\n if (isEnter(e as KeyboardEvent)) {\n e.preventDefault();\n }\n this.fireDecoratorEvent(\"item-press\", {\n selected: this.selected,\n item: this,\n });\n }\n\n activate() {\n if (!this.disabled) {\n this.active = true;\n }\n }\n\n get className(): string {\n const isGroupChild = this?.parentElement as UDExListGroupHeaderBase;\n const controlledClassName = this.controlled ? `${listItemClass}_controlled` : \"\";\n const groupClassName = isGroupChild?.isGroup ? `${listItemClass}_group` : \"\";\n const largeSizeClassName = this.isLargeSize ? `${listItemClass}_large` : \"\";\n return `${listItemClass} ${groupClassName} ${this._additionalClassName} ${controlledClassName} ${largeSizeClassName}`.trim();\n }\n\n get firstIconElement(): UDExButton {\n return this.getSlottedNodes<UDExButton>(\"firstIcon\")[0];\n }\n\n get secondIconElement(): UDExButton {\n return this.getSlottedNodes<UDExButton>(\"secondIcon\")[0];\n }\n\n get hasFirstIcon(): boolean {\n return !!this.firstIcon;\n }\n\n get hasSecondIcon(): boolean {\n return !!this.secondIcon;\n }\n\n get roleItem(): string {\n // When the host element carries the role (aria-activedescendant mode), the\n // inner [part=item] div must be presentational to avoid a duplicate ARIA node.\n if (this._useHostAriaRole) {\n return \"presentation\";\n }\n if (this.accessibleRole.length > 0) {\n return this.accessibleRole;\n }\n // SingleContent is informational (not a selection widget) — listitem is semantically correct\n return this.modeSingleContent ? \"listitem\" : listItemRole;\n }\n\n get effectiveRole(): string {\n return this.accessibleRole.length > 0 ? this.accessibleRole : listItemRole;\n }\n\n get ariaCheckedValue(): \"true\" | \"false\" | \"mixed\" | undefined {\n if (this.effectiveRole !== \"treeitem\") {\n return undefined;\n }\n // Only MultiSelect treeitems expose aria-checked; SingleSelect uses aria-selected.\n if (!this.modeMultiSelect) {\n return undefined;\n }\n if (this.indeterminate) {\n return \"mixed\";\n }\n return this.selected ? \"true\" : \"false\";\n }\n\n get ariaSelectedValue(): \"true\" | \"false\" | undefined {\n if (this.effectiveRole !== \"treeitem\") {\n return undefined;\n }\n // Only SingleSelect treeitems expose aria-selected; MultiSelect uses aria-checked.\n if (this.modeMultiSelect) {\n return undefined;\n }\n return this.selected ? \"true\" : \"false\";\n }\n\n get ariaExpandedValue(): \"true\" | \"false\" | undefined {\n if (!this.collapsible) {\n return undefined;\n }\n return this.expanded ? \"true\" : \"false\";\n }\n\n get checkboxAriaHidden(): boolean {\n return this.effectiveRole === \"treeitem\";\n }\n\n get _ariaDisabled(): boolean | undefined {\n return this.disabled ? true : undefined;\n }\n\n get modeSingleContent(): boolean {\n return this.mode === UDExListMode.SingleContent;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get modeSelected(): boolean {\n return [UDExListMode.SingleSelect, UDExListMode.MultiSelect, UDExListMode.RadioGroup].includes(this.mode as UDExListMode);\n }\n\n get isLargeSize(): boolean {\n return this.size === UDExListItemSize.Large;\n }\n\n get accessibleListItemName(): string {\n return this.accessibleName || this.label?.replace(/<[^>]+>/g, \"\");\n }\n\n get stateAccessibleName(): string {\n if (this.indeterminate) {\n return translate(UDExListItem, INDETERMINATE);\n }\n return `${this.selected ? translate(UDExListItem, SELECTED) : translate(UDExListItem, UNSELECTED)} `;\n }\n\n get itemDescribedBy(): string {\n return `${this._id}-invisibleText-describedby`;\n }\n\n get itemState(): string {\n return this.selected ? \"Selected\" : \"Not selected\";\n }\n\n get ratingAriaLabel(): string {\n const ratingText = this.ratingCount ? `${translate(UDExListItem, RATING_COUNT_TITLE)} ${this.ratingCount}` : \"\";\n const totalText = this.totalCount ? `${translate(UDExListItem, TOTAL)} ${this.totalCount}` : \"\";\n const ratingTitleText = translate(UDExListItem, RATING_INDICATOR_TEXT);\n return [...[ratingText, totalText].filter(Boolean), `${ratingTitleText} ${this.rating} of ${this.ratingMax}`].join(\", \");\n }\n}\n\nUDExListItem.define();\n\nexport default UDExListItem;\nexport type { UDExListItemBaseEventDetail, UDExListItemItemPressEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../src/ListItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAE1E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AAEjD,OAAO,UAAU,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,mBAAmB,EAAE,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EACL,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,KAAK,GACtF,MAAM,mCAAmC,CAAC;AAC3C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,SAAS;AACT,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAE7D,MAAM,aAAa,GAAW,iBAAiB,CAAC;AAChD,MAAM,YAAY,GAAW,QAAQ,CAAC;AAWtC;;;;;;;;;;;;;;;;;;GAkBG;AAkCH,IAAM,YAAY,oBAAlB,MAAM,YAAa,SAAQ,gBAAgB;IAwJzC;QACE,KAAK,EAAE,CAAC;QA3IV;;;;;WAKG;QAED,mBAAc,GAAW,EAAE,CAAC;QA0C9B;;;;;WAKG;QAED,wBAAmB,GAAiC,uBAAuB,CAAC,IAAI,CAAC;QAkBnF;;;;;WAKG;QAED,eAAU,GAAyB,eAAe,CAAC,MAAM,CAAC;QAE5D;;;;;WAKG;QAED,cAAS,GAAwB,cAAc,CAAC,CAAC,CAAC;QA6BpD;;;;;UAKE;QAEA,mBAAc,GAAW,EAAE,CAAC;QAK9B,mBAAc,GAAoB,eAAe,CAAC,OAAO,CAAC;QAUxD,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,UAAU;QACR,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,SAAS;QACP,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,CAAgB;QAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,aAAa,CAAC,CAAgB;QAC5B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,CAAC,MAAM,IAAK,CAAC,CAAC,MAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;YAChK,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,CAAgB;QAChC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC;IAED,eAAe,CAAC,CAAQ;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;gBACpC,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,aAAa,CAAC,CAAQ;QACpB,IAAI,OAAO,CAAC,CAAkB,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,SAAS;QACX,MAAM,YAAY,GAAG,IAAI,EAAE,aAAwC,CAAC;QACpE,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,cAAc,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,GAAG,aAAa,IAAI,cAAc,IAAI,IAAI,CAAC,oBAAoB,IAAI,mBAAmB,IAAI,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/H,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,eAAe,CAAa,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,eAAe,CAAa,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,2EAA2E;QAC3E,+EAA+E;QAC/E,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QACD,6FAA6F;QAC7F,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;IAC7E,CAAC;IAED,IAAI,gBAAgB;QAClB,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,mFAAmF;QACnF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,IAAI,iBAAiB;QACnB,+EAA+E;QAC/E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,8EAA8E;QAC9E,yEAAyE;QACzE,0EAA0E;QAC1E,8EAA8E;QAC9E,wCAAwC;QACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,uEAAuE;QACvE,8EAA8E;QAC9E,8BAA8B;QAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,IAAI,iBAAiB;QACnB,6EAA6E;QAC7E,6EAA6E;QAC7E,+EAA+E;QAC/E,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,CAAC;IAClD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU,CAAC;IAC/C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;IAC5H,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,CAAC;IAC9C,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,mBAAmB;QACrB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC,cAAY,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,cAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAY,EAAE,UAAU,CAAC,GAAG,CAAC;IACvG,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,cAAY,EAAE,kBAAkB,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChH,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,cAAY,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,MAAM,eAAe,GAAG,SAAS,CAAC,cAAY,EAAE,qBAAqB,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,eAAe,IAAI,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3H,CAAC;CACF,CAAA;AAzWG;IADD,QAAQ,EAAE;qDACwC;AASjD;IADD,QAAQ,EAAE;oDACmB;AAQ5B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACH;AAQtB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACX;AAQf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACT;AAQjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACR;AAQlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACD;AASxB;IADD,QAAQ,EAAE;yDACwE;AAQjF;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACV;AAQf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACP;AASlB;IADD,QAAQ,EAAE;gDACiD;AAS1D;IADD,QAAQ,EAAE;+CACyC;AASlD;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;6CACR;AAS5B;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;+CACI;AAS7B;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gDACK;AAS9B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACG;AAG5B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DACK;AAOzB;IADN,IAAI,CAAC,yBAAyB,CAAC;sCACF;AAtJ1B,YAAY;IAhCjB,aAAa,CAAC;QACb,GAAG,EAAE,gBAAgB;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,gBAAgB;QAC1B,YAAY,EAAE;YACZ,UAAU;YACV,UAAU;YACV,eAAe;YACf,YAAY;YACZ,eAAe;YACf,mBAAmB;YACnB,IAAI;SACL;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC;;;;;OAKG;;IACF,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAEjC,YAAY,CAqXjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UDExCheckbox from \"./Checkbox.js\";\nimport type { UDExListItemBaseEvents } from \"./ListItemBase.js\";\nimport UDExListItemBase from \"./ListItemBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExAvatar, { UDExAvatarShape, UDExAvatarSize } from \"./Avatar.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExStatusBadge from \"./StatusBadge.js\";\nimport UDExRatingIndicator, { UDExDisplayType } from \"./RatingIndicator.js\";\nimport type UDExStatusBadgeValueState from \"./types/StatusBadgeValueState.js\";\nimport { UDExListItemSize, UDExListMode, UDExAdditionalTextState } from \"./types/List.js\";\nimport UDExRadioButton from \"./RadioButton.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n INDETERMINATE, SELECTED, UNSELECTED, RATING_INDICATOR_TEXT, RATING_COUNT_TITLE, TOTAL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\nimport ListItemTemplate from \"./ListItemTemplate.js\";\n\n// Styles\nimport ListItemCss from \"./generated/themes/ListItem.css.js\";\n\nconst listItemClass: string = \"udex-list__item\";\nconst listItemRole: string = \"option\";\n\ntype UDExListItemBaseEventDetail = {\n item: HTMLElement,\n}\n\ntype UDExListItemItemPressEventDetail = {\n selected: boolean,\n item: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-list-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ListItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UDExListItemBase\n * @tagname udex-list-item\n * @public\n */\n\n@customElement({\n tag: \"udex-list-item\",\n languageAware: true,\n renderer: jsxRenderer,\n styles: ListItemCss,\n template: ListItemTemplate,\n dependencies: [\n UDExAvatar,\n UDExButton,\n UDExRadioButton,\n UDExCheckbox,\n UDExStatusBadge,\n UDExRatingIndicator,\n Icon,\n ],\n})\n\n/**\n * Fired event when the user click on a list item.\n *\n * @public\n * @param {boolean} selected Indicates whether the item is selected or not\n */\n@event(\"item-press\", { bubbles: true })\n/**\n * Fired event when the user focuses on a list item.\n *\n * @public\n * @param {HTMLElement} item The focused list item\n */\n@event(\"item-focus\", { bubbles: true })\n\nclass UDExListItem extends UDExListItemBase {\n eventDetails!: {\n \"item-press\": UDExListItemItemPressEventDetail,\n \"item-focus\": UDExListItemBaseEventDetail,\n } & UDExListItemBaseEvents;\n /**\n * Defines the image badge state of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n imageBadgeState?: `${UDExStatusBadgeValueState}`;\n\n /**\n * Defines the accessible name of the item.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName: string = \"\";\n\n /**\n * Defines the position for flag image.\n *\n * @public\n */\n @property({ type: String })\n flagPosition?: string;\n\n /**\n * Defines the image, displayed at the start of the item.\n *\n * @public\n */\n @property({ type: Boolean })\n flag?: boolean;\n\n /**\n * Indicates if the item is active.\n *\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Indicates if the item is on focus\n *\n * @private\n */\n @property({ type: Boolean })\n focused!: boolean;\n\n /**\n * Defines the additionalText, displayed at the end of the list item.\n *\n * @public\n */\n @property({ type: String })\n additionalText?: string;\n\n /**\n * Defines the state of the additionalText.\n *\n * @default \"None\"\n * @public\n */\n @property()\n additionalTextState: `${UDExAdditionalTextState}` = UDExAdditionalTextState.None;\n\n /**\n * Allows control over the image source.\n *\n * @public\n */\n @property({ type: String })\n image?: string;\n\n /**\n * Allows control over the alternative text of the image.\n *\n * @public\n */\n @property({ type: String })\n imageAlt?: string;\n\n /**\n * Defines the shape of the image.\n *\n * @default \"Circle\"\n * @public\n */\n @property()\n imageShape: `${UDExAvatarShape}` = UDExAvatarShape.Circle;\n\n /**\n * Allows control over the size of the image.\n *\n * @default \"S\"\n * @public\n */\n @property()\n imageSize: `${UDExAvatarSize}` = UDExAvatarSize.S;\n\n /**\n * Slot for list item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: DefaultSlot<Node>;\n\n /**\n * Slot for first icon.\n *\n * @slot\n * @public\n */\n @slot({ type: UDExButton })\n firstIcon!: Slot<UDExButton>;\n\n /**\n * Slot for second icon.\n *\n * @slot\n * @public\n */\n @slot({ type: UDExButton })\n secondIcon!: Slot<UDExButton>;\n\n /**\n * Defines the role attribute of component\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole: string = \"\";\n\n @property({ type: String })\n _additionalClassName!: string;\n\n _displayRating: UDExDisplayType = UDExDisplayType.Desktop;\n\n deactivate: () => void;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n\n this.deactivate = () => {\n if (this.active) {\n this.active = false;\n }\n };\n }\n\n onEnterDOM() {\n document.addEventListener(\"mouseup\", this.deactivate);\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onExitDOM() {\n document.removeEventListener(\"mouseup\", this.deactivate);\n }\n\n handleMouseDown() {\n this.activate();\n }\n\n handleMouseUp() {\n this.deactivate();\n }\n\n handleKeyUp(e: KeyboardEvent) {\n e.preventDefault();\n if (isSpace(e) || isEnter(e)) {\n this.deactivate();\n }\n }\n\n handleKeyDown(e: KeyboardEvent) {\n if (this.firstIconElement === e.target || this.secondIconElement === e.target || (e.target as HTMLElement).classList.contains(\"udex-list__group-heading__icon\")) {\n return;\n }\n\n if (isSpace(e)) {\n e.preventDefault();\n }\n if (isSpace(e) || isEnter(e)) {\n this.activate();\n this.handleItemClick(e);\n }\n }\n\n handleKeyDownIcon(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n handleItemClick(e: Event) {\n if (this.disabled) {\n return;\n }\n if (!this.indeterminate && !this.controlled) {\n this.selected = !this.selected;\n }\n this.fireItemPress(e);\n }\n\n handleFocusIn() {\n if (!this.disabled) {\n this.focused = true;\n this.fireDecoratorEvent(\"item-focus\", {\n item: this,\n });\n }\n }\n\n handleFocusOut() {\n if (!this.disabled) {\n this.focused = false;\n this.deactivate();\n }\n }\n\n fireItemPress(e: Event) {\n if (isEnter(e as KeyboardEvent)) {\n e.preventDefault();\n }\n this.fireDecoratorEvent(\"item-press\", {\n selected: this.selected,\n item: this,\n });\n }\n\n activate() {\n if (!this.disabled) {\n this.active = true;\n }\n }\n\n get className(): string {\n const isGroupChild = this?.parentElement as UDExListGroupHeaderBase;\n const controlledClassName = this.controlled ? `${listItemClass}_controlled` : \"\";\n const groupClassName = isGroupChild?.isGroup ? `${listItemClass}_group` : \"\";\n const largeSizeClassName = this.isLargeSize ? `${listItemClass}_large` : \"\";\n return `${listItemClass} ${groupClassName} ${this._additionalClassName} ${controlledClassName} ${largeSizeClassName}`.trim();\n }\n\n get firstIconElement(): UDExButton {\n return this.getSlottedNodes<UDExButton>(\"firstIcon\")[0];\n }\n\n get secondIconElement(): UDExButton {\n return this.getSlottedNodes<UDExButton>(\"secondIcon\")[0];\n }\n\n get hasFirstIcon(): boolean {\n return !!this.firstIcon;\n }\n\n get hasSecondIcon(): boolean {\n return !!this.secondIcon;\n }\n\n get roleItem(): string {\n // When the host element carries the role (aria-activedescendant mode), the\n // inner [part=item] div must be presentational to avoid a duplicate ARIA node.\n if (this._useHostAriaRole) {\n return \"presentation\";\n }\n if (this.accessibleRole.length > 0) {\n return this.accessibleRole;\n }\n // SingleContent is informational (not a selection widget) — listitem is semantically correct\n return this.modeSingleContent ? \"listitem\" : listItemRole;\n }\n\n get effectiveRole(): string {\n return this.accessibleRole.length > 0 ? this.accessibleRole : listItemRole;\n }\n\n get ariaCheckedValue(): \"true\" | \"false\" | \"mixed\" | undefined {\n if (this.effectiveRole !== \"treeitem\") {\n return undefined;\n }\n // Only MultiSelect treeitems expose aria-checked; SingleSelect uses aria-selected.\n if (!this.modeMultiSelect) {\n return undefined;\n }\n if (this.indeterminate) {\n return \"mixed\";\n }\n return this.selected ? \"true\" : \"false\";\n }\n\n get ariaSelectedValue(): \"true\" | \"false\" | undefined {\n // RadioGroup conveys its state through the radio control, never aria-selected.\n if (this.modeRadioGroup) {\n return undefined;\n }\n // MultiSelect treeitems convey state via aria-checked (see ariaCheckedValue).\n // Every other selectable node — listbox options in both SingleSelect AND\n // MultiSelect, plus SingleSelect treeitems — announces its state natively\n // through aria-selected so the screen reader re-reads it when focus is on the\n // item and when Enter/Space toggles it.\n if (this.roleItem === \"treeitem\" && this.modeMultiSelect) {\n return undefined;\n }\n // Gated on the actual rendered role of the [part=item] div — never the\n // presentational inner div used in aria-activedescendant mode (SelectBox sets\n // aria-selected on the host).\n if (this.roleItem !== \"treeitem\" && this.roleItem !== \"option\") {\n return undefined;\n }\n return this.selected ? \"true\" : \"false\";\n }\n\n get ariaExpandedValue(): \"true\" | \"false\" | undefined {\n // aria-expanded is exposed ONLY on collapsible headers — a node the user can\n // actually expand/collapse. Non-collapsible group headers must NOT report an\n // expanded/collapsed state (nothing to toggle); the tree hierarchy is conveyed\n // structurally by the nested role=\"group\", not by aria-expanded.\n if (!this.collapsible) {\n return undefined;\n }\n return this.expanded ? \"true\" : \"false\";\n }\n\n get _ariaDisabled(): boolean | undefined {\n return this.disabled ? true : undefined;\n }\n\n get modeSingleContent(): boolean {\n return this.mode === UDExListMode.SingleContent;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get modeSelected(): boolean {\n return [UDExListMode.SingleSelect, UDExListMode.MultiSelect, UDExListMode.RadioGroup].includes(this.mode as UDExListMode);\n }\n\n get isLargeSize(): boolean {\n return this.size === UDExListItemSize.Large;\n }\n\n get accessibleListItemName(): string {\n return this.accessibleName || this.label?.replace(/<[^>]+>/g, \"\");\n }\n\n get stateAccessibleName(): string {\n if (this.indeterminate) {\n return translate(UDExListItem, INDETERMINATE);\n }\n return `${this.selected ? translate(UDExListItem, SELECTED) : translate(UDExListItem, UNSELECTED)} `;\n }\n\n get ratingAriaLabel(): string {\n const ratingText = this.ratingCount ? `${translate(UDExListItem, RATING_COUNT_TITLE)} ${this.ratingCount}` : \"\";\n const totalText = this.totalCount ? `${translate(UDExListItem, TOTAL)} ${this.totalCount}` : \"\";\n const ratingTitleText = translate(UDExListItem, RATING_INDICATOR_TEXT);\n return [...[ratingText, totalText].filter(Boolean), `${ratingTitleText} ${this.rating} of ${this.ratingMax}`].join(\", \");\n }\n}\n\nUDExListItem.define();\n\nexport default UDExListItem;\nexport type { UDExListItemBaseEventDetail, UDExListItemItemPressEventDetail };\n"]}
|
package/dist/ListItemBase.d.ts
CHANGED
|
@@ -158,6 +158,23 @@ declare class UDExListItemBase extends UI5Element {
|
|
|
158
158
|
* @private
|
|
159
159
|
*/
|
|
160
160
|
_useHostAriaRole: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Explicit 1-based position of this treeitem within its own group, for a grouped
|
|
163
|
+
* tree structure. The sibling-group tree markup makes JAWS/NVDA compute a flattened
|
|
164
|
+
* posinset/setsize across all groups; setting these explicitly restores the
|
|
165
|
+
* per-group count so each item announces "N of <items in this group>".
|
|
166
|
+
* Only rendered on real treeitems (never in aria-activedescendant mode).
|
|
167
|
+
*
|
|
168
|
+
* @private
|
|
169
|
+
*/
|
|
170
|
+
_ariaPosInSet?: number;
|
|
171
|
+
/**
|
|
172
|
+
* Explicit set size (number of treeitems within this item's own group) — the
|
|
173
|
+
* companion to {@link _ariaPosInSet}.
|
|
174
|
+
*
|
|
175
|
+
* @private
|
|
176
|
+
*/
|
|
177
|
+
_ariaSetSize?: number;
|
|
161
178
|
/**
|
|
162
179
|
* Defines the tab index of the component.
|
|
163
180
|
*
|
package/dist/ListItemBase.js
CHANGED
|
@@ -135,6 +135,15 @@ let UDExListItemBase = UDExListItemBase_1 = class UDExListItemBase extends UI5El
|
|
|
135
135
|
}
|
|
136
136
|
handleCollapseIconMouseDown(e) {
|
|
137
137
|
e.stopPropagation();
|
|
138
|
+
// In aria-activedescendant mode (SelectBox) DOM focus must stay on the search
|
|
139
|
+
// input. Preventing the mousedown default stops the chevron/header body div from
|
|
140
|
+
// stealing focus, which would otherwise trigger a focusout→refocus + scroll-into-view
|
|
141
|
+
// that shifts the chevron out from under the pointer and eats the first click.
|
|
142
|
+
// Real-focus components (FilterMenu/List) leave _useHostAriaRole false and are
|
|
143
|
+
// unaffected. The click still fires, so collapse/expand happens on the first click.
|
|
144
|
+
if (this._useHostAriaRole) {
|
|
145
|
+
e.preventDefault();
|
|
146
|
+
}
|
|
138
147
|
}
|
|
139
148
|
handleCollapseIconClick(e) {
|
|
140
149
|
e.stopPropagation();
|
|
@@ -244,6 +253,12 @@ __decorate([
|
|
|
244
253
|
__decorate([
|
|
245
254
|
property({ type: Boolean })
|
|
246
255
|
], UDExListItemBase.prototype, "_useHostAriaRole", void 0);
|
|
256
|
+
__decorate([
|
|
257
|
+
property({ type: Number })
|
|
258
|
+
], UDExListItemBase.prototype, "_ariaPosInSet", void 0);
|
|
259
|
+
__decorate([
|
|
260
|
+
property({ type: Number })
|
|
261
|
+
], UDExListItemBase.prototype, "_ariaSetSize", void 0);
|
|
247
262
|
__decorate([
|
|
248
263
|
property({ type: String })
|
|
249
264
|
], UDExListItemBase.prototype, "_tabIndex", void 0);
|
package/dist/ListItemBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemBase.js","sourceRoot":"","sources":["../src/ListItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { UDExListItemSize, UDExListMode, UDExListStyleType } from \"./types/List.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport translate from \"./utils/translate.js\";\nimport { COLLAPSE, EXPAND } from \"./generated/i18n/i18n-defaults.js\";\n\nexport type UDExListItemBaseEvents = {\n \"first-icon-click\": UDExListItemBaseEventDetail,\n \"second-icon-click\": UDExListItemBaseEventDetail,\n \"accordion-icon-click\": UDExListItemBaseAccordionClickEventDetail,\n}\n\ntype UDExListItemBaseEventDetail = {\n originalEvent: PointerEvent,\n item: HTMLElement,\n}\n\ntype UDExListItemBaseAccordionClickEventDetail = {\n collapsed: boolean;\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExListItem</code>,<code>UDExFilterMenuItem</code> and <code>UDExGroupHeaderBase</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n@customElement({\n renderer: jsxRenderer,\n})\n\n/**\n * Fired event when the user click on a first icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { HTMLElement } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { HTMLElement } item The list item\n */\n@event(\"first-icon-click\", { bubbles: true })\n/**\n * Fired event when the user click on a second icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { HTMLElement } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { HTMLElement } item The list item\n */\n@event(\"second-icon-click\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n * @param { string } name\n * @param { boolean } expanded\n */\n@event(\"accordion-icon-click\", { bubbles: true })\n\nclass UDExListItemBase extends UI5Element {\n eventDetails!: UDExListItemBaseEvents;\n\n /**\n * Defines the number of displayed rating symbols.\n *\n * @default 5\n * @public\n */\n @property({ type: Number })\n ratingMax: number = 5;\n\n /**\n * Defines the value of the rating.\n * Use for rating indicator to represent aggregated review scores within list items\n *\n * @public\n */\n @property({ type: String })\n rating?: string;\n\n /**\n * Defines the number of the rating.\n * Use for the rating indicator\n *\n * @public\n */\n @property({ type: String })\n ratingCount?: string;\n\n /**\n * The number of total votes.\n * Use for the rating indicator\n *\n * @public\n */\n @property({ type: String })\n totalCount?: string;\n\n /**\n * Defines the <code>label</code> for the item.\n *\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines whether a visual separator should be rendered after the item.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n divider!: boolean;\n\n /**\n * Defines whether <code> list item</code> is in disabled state.\n *\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the supportingText, displayed in the end of the item.\n *\n * @public\n */\n @property()\n supportingText!: string;\n\n /**\n * Defines the selected state of the item.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selected: boolean = false;\n\n /**\n * Defines whether the selection of a list is displayed as partially selected.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n indeterminate?: boolean;\n\n /**\n * Defines the controlled state of the item.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n controlled?: boolean;\n\n /**\n * Defines the mode of the item.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Defines the size of the item.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n size: `${UDExListItemSize}` = UDExListItemSize.Standard;\n\n /**\n * Defines the type of the item.\n *\n * @default \"None\"\n * @public\n */\n @property()\n type: `${UDExListStyleType}` = UDExListStyleType.None;\n\n /**\n * Defines the icon of the component.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String })\n _icon: string = \"\";\n\n /**\n * Defines if grouping header can collapse/expand child elements.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n collapsible!: boolean;\n\n /**\n * Defines if collapsible grouping header is collapsed or expanded\n *\n * @default undefined\n * @public\n */\n @property({ type: Boolean })\n collapsed!: boolean;\n\n /**\n * Defines if item is part of filtered list\n *\n * @default undefined\n * @private\n */\n @property({ type: Boolean })\n _filtered!: boolean;\n\n /**\n * When true, the host element carries role + ARIA state attributes directly\n * (set by the outer template) so that aria-activedescendant works across shadow DOM.\n * The inner [part=item] div is then rendered as role=\"presentation\".\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _useHostAriaRole: boolean = false;\n\n /**\n * Defines the tab index of the component.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String })\n _tabIndex: string = \"\";\n\n _resizeHandler: () => void;\n contentElement: HTMLElement | null | undefined;\n\n constructor() {\n super();\n this._resizeHandler = this._onResize.bind(this);\n this.contentElement = null;\n }\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onAfterRendering() {\n if (!this.collapsible) {\n return;\n }\n this.contentElement = this.shadowRoot?.querySelector<HTMLElement>(\".udex-list__group-list__content\");\n if (this.contentElement) {\n this.setContentHeight();\n }\n }\n\n onEnterDOM() {\n if (this.contentElement && this.collapsible) {\n ResizeHandler.register(this.contentElement, this._resizeHandler);\n }\n }\n\n onExitDOM(): void {\n if (this.contentElement && this.collapsible) {\n ResizeHandler.deregister(this.contentElement, this._resizeHandler);\n }\n }\n\n setContentHeight() {\n this.style.setProperty(\"--udex-list-content-max-height\", `${this.contentElement?.scrollHeight || 0}px`);\n }\n\n _onResize(): void {\n if (this.contentElement && this.collapsible && this.contentElement.scrollHeight > 0) {\n this.setContentHeight();\n }\n }\n\n _fireIconClickEvent(e: PointerEvent): void {\n const target = e.target as HTMLElement;\n const slot = target.getAttribute(\"slot\");\n if (slot === \"firstIcon\") {\n this.fireDecoratorEvent(\"first-icon-click\", {\n originalEvent: e,\n item: this,\n });\n } else if (slot === \"secondIcon\") {\n this.fireDecoratorEvent(\"second-icon-click\", {\n originalEvent: e,\n item: this,\n });\n }\n }\n\n handleCollapseIconMouseDown(e: MouseEvent) {\n e.stopPropagation();\n }\n\n handleCollapseIconClick(e: MouseEvent | KeyboardEvent) {\n e.stopPropagation();\n e.preventDefault();\n this.fireDecoratorEvent(\"accordion-icon-click\", { collapsed: this.collapsed });\n }\n\n get _effectiveTabIndex(): string {\n if (this.disabled) {\n return \"-1\";\n }\n return this._tabIndex;\n }\n\n get numberOfItem(): number {\n return [...this.parentNode!.children].indexOf(this) + 1;\n }\n\n get isGroup(): boolean {\n return false;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get modeMultiSelect(): boolean {\n return this.mode === UDExListMode.MultiSelect;\n }\n\n get modeSingleSelect(): boolean {\n return this.mode === UDExListMode.SingleSelect;\n }\n\n get modeMultiSelectOrRadioGroup(): boolean {\n return this.modeMultiSelect || this.modeRadioGroup;\n }\n\n get typeNumber(): boolean {\n return this.type === UDExListStyleType.Number;\n }\n\n get typeCircle(): boolean {\n return this.type === UDExListStyleType.Circle;\n }\n\n get typeIcon(): boolean {\n return this.type === UDExListStyleType.Icon;\n }\n\n get ariaControlsId(): string {\n return `udex-list-${this._id}__group-content`;\n }\n\n get expandButtonAccessibleName(): string {\n return this.collapsed ? translate(UDExListItemBase, EXPAND) : translate(UDExListItemBase, COLLAPSE);\n }\n\n get expanded(): boolean {\n return !this.collapsed;\n }\n\n get hasRating(): boolean {\n return !!this.rating;\n }\n}\n\nexport default UDExListItemBase;\nexport type { UDExListItemBaseEventDetail, UDExListItemBaseAccordionClickEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"ListItemBase.js","sourceRoot":"","sources":["../src/ListItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { UDExListItemSize, UDExListMode, UDExListStyleType } from \"./types/List.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport translate from \"./utils/translate.js\";\nimport { COLLAPSE, EXPAND } from \"./generated/i18n/i18n-defaults.js\";\n\nexport type UDExListItemBaseEvents = {\n \"first-icon-click\": UDExListItemBaseEventDetail,\n \"second-icon-click\": UDExListItemBaseEventDetail,\n \"accordion-icon-click\": UDExListItemBaseAccordionClickEventDetail,\n}\n\ntype UDExListItemBaseEventDetail = {\n originalEvent: PointerEvent,\n item: HTMLElement,\n}\n\ntype UDExListItemBaseAccordionClickEventDetail = {\n collapsed: boolean;\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExListItem</code>,<code>UDExFilterMenuItem</code> and <code>UDExGroupHeaderBase</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n@customElement({\n renderer: jsxRenderer,\n})\n\n/**\n * Fired event when the user click on a first icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { HTMLElement } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { HTMLElement } item The list item\n */\n@event(\"first-icon-click\", { bubbles: true })\n/**\n * Fired event when the user click on a second icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { HTMLElement } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { HTMLElement } item The list item\n */\n@event(\"second-icon-click\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n * @param { string } name\n * @param { boolean } expanded\n */\n@event(\"accordion-icon-click\", { bubbles: true })\n\nclass UDExListItemBase extends UI5Element {\n eventDetails!: UDExListItemBaseEvents;\n\n /**\n * Defines the number of displayed rating symbols.\n *\n * @default 5\n * @public\n */\n @property({ type: Number })\n ratingMax: number = 5;\n\n /**\n * Defines the value of the rating.\n * Use for rating indicator to represent aggregated review scores within list items\n *\n * @public\n */\n @property({ type: String })\n rating?: string;\n\n /**\n * Defines the number of the rating.\n * Use for the rating indicator\n *\n * @public\n */\n @property({ type: String })\n ratingCount?: string;\n\n /**\n * The number of total votes.\n * Use for the rating indicator\n *\n * @public\n */\n @property({ type: String })\n totalCount?: string;\n\n /**\n * Defines the <code>label</code> for the item.\n *\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines whether a visual separator should be rendered after the item.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n divider!: boolean;\n\n /**\n * Defines whether <code> list item</code> is in disabled state.\n *\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the supportingText, displayed in the end of the item.\n *\n * @public\n */\n @property()\n supportingText!: string;\n\n /**\n * Defines the selected state of the item.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selected: boolean = false;\n\n /**\n * Defines whether the selection of a list is displayed as partially selected.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n indeterminate?: boolean;\n\n /**\n * Defines the controlled state of the item.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n controlled?: boolean;\n\n /**\n * Defines the mode of the item.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Defines the size of the item.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n size: `${UDExListItemSize}` = UDExListItemSize.Standard;\n\n /**\n * Defines the type of the item.\n *\n * @default \"None\"\n * @public\n */\n @property()\n type: `${UDExListStyleType}` = UDExListStyleType.None;\n\n /**\n * Defines the icon of the component.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String })\n _icon: string = \"\";\n\n /**\n * Defines if grouping header can collapse/expand child elements.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n collapsible!: boolean;\n\n /**\n * Defines if collapsible grouping header is collapsed or expanded\n *\n * @default undefined\n * @public\n */\n @property({ type: Boolean })\n collapsed!: boolean;\n\n /**\n * Defines if item is part of filtered list\n *\n * @default undefined\n * @private\n */\n @property({ type: Boolean })\n _filtered!: boolean;\n\n /**\n * When true, the host element carries role + ARIA state attributes directly\n * (set by the outer template) so that aria-activedescendant works across shadow DOM.\n * The inner [part=item] div is then rendered as role=\"presentation\".\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _useHostAriaRole: boolean = false;\n\n /**\n * Explicit 1-based position of this treeitem within its own group, for a grouped\n * tree structure. The sibling-group tree markup makes JAWS/NVDA compute a flattened\n * posinset/setsize across all groups; setting these explicitly restores the\n * per-group count so each item announces \"N of <items in this group>\".\n * Only rendered on real treeitems (never in aria-activedescendant mode).\n *\n * @private\n */\n @property({ type: Number })\n _ariaPosInSet?: number;\n\n /**\n * Explicit set size (number of treeitems within this item's own group) — the\n * companion to {@link _ariaPosInSet}.\n *\n * @private\n */\n @property({ type: Number })\n _ariaSetSize?: number;\n\n /**\n * Defines the tab index of the component.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String })\n _tabIndex: string = \"\";\n\n _resizeHandler: () => void;\n contentElement: HTMLElement | null | undefined;\n\n constructor() {\n super();\n this._resizeHandler = this._onResize.bind(this);\n this.contentElement = null;\n }\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onAfterRendering() {\n if (!this.collapsible) {\n return;\n }\n this.contentElement = this.shadowRoot?.querySelector<HTMLElement>(\".udex-list__group-list__content\");\n if (this.contentElement) {\n this.setContentHeight();\n }\n }\n\n onEnterDOM() {\n if (this.contentElement && this.collapsible) {\n ResizeHandler.register(this.contentElement, this._resizeHandler);\n }\n }\n\n onExitDOM(): void {\n if (this.contentElement && this.collapsible) {\n ResizeHandler.deregister(this.contentElement, this._resizeHandler);\n }\n }\n\n setContentHeight() {\n this.style.setProperty(\"--udex-list-content-max-height\", `${this.contentElement?.scrollHeight || 0}px`);\n }\n\n _onResize(): void {\n if (this.contentElement && this.collapsible && this.contentElement.scrollHeight > 0) {\n this.setContentHeight();\n }\n }\n\n _fireIconClickEvent(e: PointerEvent): void {\n const target = e.target as HTMLElement;\n const slot = target.getAttribute(\"slot\");\n if (slot === \"firstIcon\") {\n this.fireDecoratorEvent(\"first-icon-click\", {\n originalEvent: e,\n item: this,\n });\n } else if (slot === \"secondIcon\") {\n this.fireDecoratorEvent(\"second-icon-click\", {\n originalEvent: e,\n item: this,\n });\n }\n }\n\n handleCollapseIconMouseDown(e: MouseEvent) {\n e.stopPropagation();\n // In aria-activedescendant mode (SelectBox) DOM focus must stay on the search\n // input. Preventing the mousedown default stops the chevron/header body div from\n // stealing focus, which would otherwise trigger a focusout→refocus + scroll-into-view\n // that shifts the chevron out from under the pointer and eats the first click.\n // Real-focus components (FilterMenu/List) leave _useHostAriaRole false and are\n // unaffected. The click still fires, so collapse/expand happens on the first click.\n if (this._useHostAriaRole) {\n e.preventDefault();\n }\n }\n\n handleCollapseIconClick(e: MouseEvent | KeyboardEvent) {\n e.stopPropagation();\n e.preventDefault();\n this.fireDecoratorEvent(\"accordion-icon-click\", { collapsed: this.collapsed });\n }\n\n get _effectiveTabIndex(): string {\n if (this.disabled) {\n return \"-1\";\n }\n return this._tabIndex;\n }\n\n get numberOfItem(): number {\n return [...this.parentNode!.children].indexOf(this) + 1;\n }\n\n get isGroup(): boolean {\n return false;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get modeMultiSelect(): boolean {\n return this.mode === UDExListMode.MultiSelect;\n }\n\n get modeSingleSelect(): boolean {\n return this.mode === UDExListMode.SingleSelect;\n }\n\n get modeMultiSelectOrRadioGroup(): boolean {\n return this.modeMultiSelect || this.modeRadioGroup;\n }\n\n get typeNumber(): boolean {\n return this.type === UDExListStyleType.Number;\n }\n\n get typeCircle(): boolean {\n return this.type === UDExListStyleType.Circle;\n }\n\n get typeIcon(): boolean {\n return this.type === UDExListStyleType.Icon;\n }\n\n get ariaControlsId(): string {\n return `udex-list-${this._id}__group-content`;\n }\n\n get expandButtonAccessibleName(): string {\n return this.collapsed ? translate(UDExListItemBase, EXPAND) : translate(UDExListItemBase, COLLAPSE);\n }\n\n get expanded(): boolean {\n return !this.collapsed;\n }\n\n get hasRating(): boolean {\n return !!this.rating;\n }\n}\n\nexport default UDExListItemBase;\nexport type { UDExListItemBaseEventDetail, UDExListItemBaseAccordionClickEventDetail };\n"]}
|
package/dist/ListItemTemplate.js
CHANGED
|
@@ -10,9 +10,9 @@ import UDExButtonSize from "./types/ButtonSize.js";
|
|
|
10
10
|
import UDExButtonDesign from "./types/ButtonDesign.js";
|
|
11
11
|
import slimArrowRight from "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
12
12
|
function ContentList() {
|
|
13
|
-
return (_jsxs("div", { class: "udex-list__content-wrap", ...{ "_id": this._id }, "aria-labelledby": `${this._id}-invisibleText`, "aria-label": this.accessibleListItemName, children: [this.flag && (_jsx("div", { class: "udex-list__flag-wrap", children: _jsx("span", { class: "udex-list__flag", style: { backgroundPosition: this.flagPosition } }) })), this.typeNumber && _jsxs("span", { class: "udex-list__number", children: [this.numberOfItem, "."] }), this.typeCircle && _jsx("span", { class: "udex-list__circle", children: "\u2022" }), this.typeIcon && (_jsx(Icon, { name: this._icon, class: "udex-list__icon", "accessible-role": "presentation", "aria-hidden": "true", part: "icon" })), this.image && (_jsxs(UDExAvatar, { class: "udex-list__avatar", part: "avatar", shape: this.imageShape, size: this.imageSize, children: [this.imageBadgeState && (_jsx(UDExStatusBadge, { slot: "badge", "value-state": this.imageBadgeState, size: this.imageSize })), _jsx("img", { src: this.image, alt: this.imageAlt })] })), _jsxs("div", { class: "udex-list__content", part: "content", children: [this.label ? (_jsxs(_Fragment, { children: [_jsxs("div", { class: "udex-list__text-holder", children: [_jsx("span", { part: "title", ...{ innerHTML: this.label } }), this.supportingText && (_jsx("span", { class: "udex-list__supporting-text", part: "supporting", children: this.supportingText })), _jsx("slot", { part: "content" }), this.hasRating && (_jsx(UDExRatingIndicator, { "aria-label": this.ratingAriaLabel, value: this.rating !== undefined ? Number(this.rating) : undefined, "rating-count": this.ratingCount, "total-count": this.totalCount, max: this.ratingMax, display: this._displayRating, disabled: true, readonly: true }))] }), this.additionalText && (_jsx("div", { class: "udex-list__add-text", part: "additional-text", children: this.additionalText })), _jsxs("div", { class: "udex-list__btn-wrap", children: [this.hasFirstIcon && _jsx("slot", { name: "firstIcon", onClick: this._fireIconClickEvent }), this.hasSecondIcon && _jsx("slot", { name: "secondIcon", onClick: this._fireIconClickEvent })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { class: "udex-list__text-holder", children: [_jsx("slot", { part: "content" }), this.supportingText && (_jsx("span", { class: "udex-list__supporting-text", part: "supporting", children: this.supportingText })), this.hasRating && (_jsx(UDExRatingIndicator, { "aria-label": this.ratingAriaLabel, value: this.rating !== undefined ? Number(this.rating) : undefined, "rating-count": this.ratingCount, "total-count": this.totalCount, max: this.ratingMax, display: this._displayRating, disabled: true, readonly: true }))] }), this.additionalText && (_jsx("div", { class: "udex-list__add-text", part: "additional-text", children: this.additionalText })), _jsxs("div", { class: "udex-list__btn-wrap", children: [this.hasFirstIcon && _jsx("slot", { name: "firstIcon", onClick: this._fireIconClickEvent }), this.hasSecondIcon && _jsx("slot", { name: "secondIcon", onClick: this._fireIconClickEvent })] })] })), this.collapsible && (_jsx("div", { class: "udex-list__group-heading__icon-wrapper", children: _jsx(UDExButton, { class: "udex-list__group-heading__icon", size: UDExButtonSize.Small, design: UDExButtonDesign.Tertiary, onMouseDown: this.handleCollapseIconMouseDown, onClick: this.handleCollapseIconClick, tabindex: -1, "accessible-name": this.expandButtonAccessibleName, ...{ "mode": "Interactive" }, icon: slimArrowRight }) }))] }), _jsx("div", { class: "hidden", id: `${this._id}-invisibleText`, children: this.accessibleListItemName })
|
|
13
|
+
return (_jsxs("div", { class: "udex-list__content-wrap", ...{ "_id": this._id }, "aria-labelledby": `${this._id}-invisibleText`, "aria-label": this.accessibleListItemName, children: [this.flag && (_jsx("div", { class: "udex-list__flag-wrap", children: _jsx("span", { class: "udex-list__flag", style: { backgroundPosition: this.flagPosition } }) })), this.typeNumber && _jsxs("span", { class: "udex-list__number", children: [this.numberOfItem, "."] }), this.typeCircle && _jsx("span", { class: "udex-list__circle", children: "\u2022" }), this.typeIcon && (_jsx(Icon, { name: this._icon, class: "udex-list__icon", "accessible-role": "presentation", "aria-hidden": "true", part: "icon" })), this.image && (_jsxs(UDExAvatar, { class: "udex-list__avatar", part: "avatar", shape: this.imageShape, size: this.imageSize, children: [this.imageBadgeState && (_jsx(UDExStatusBadge, { slot: "badge", "value-state": this.imageBadgeState, size: this.imageSize })), _jsx("img", { src: this.image, alt: this.imageAlt })] })), _jsxs("div", { class: "udex-list__content", part: "content", children: [this.label ? (_jsxs(_Fragment, { children: [_jsxs("div", { class: "udex-list__text-holder", children: [_jsx("span", { part: "title", ...{ innerHTML: this.label } }), this.supportingText && (_jsx("span", { class: "udex-list__supporting-text", part: "supporting", children: this.supportingText })), _jsx("slot", { part: "content" }), this.hasRating && (_jsx(UDExRatingIndicator, { "aria-label": this.ratingAriaLabel, value: this.rating !== undefined ? Number(this.rating) : undefined, "rating-count": this.ratingCount, "total-count": this.totalCount, max: this.ratingMax, display: this._displayRating, disabled: true, readonly: true }))] }), this.additionalText && (_jsx("div", { class: "udex-list__add-text", part: "additional-text", children: this.additionalText })), _jsxs("div", { class: "udex-list__btn-wrap", children: [this.hasFirstIcon && _jsx("slot", { name: "firstIcon", onClick: this._fireIconClickEvent }), this.hasSecondIcon && _jsx("slot", { name: "secondIcon", onClick: this._fireIconClickEvent })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { class: "udex-list__text-holder", children: [_jsx("slot", { part: "content" }), this.supportingText && (_jsx("span", { class: "udex-list__supporting-text", part: "supporting", children: this.supportingText })), this.hasRating && (_jsx(UDExRatingIndicator, { "aria-label": this.ratingAriaLabel, value: this.rating !== undefined ? Number(this.rating) : undefined, "rating-count": this.ratingCount, "total-count": this.totalCount, max: this.ratingMax, display: this._displayRating, disabled: true, readonly: true }))] }), this.additionalText && (_jsx("div", { class: "udex-list__add-text", part: "additional-text", children: this.additionalText })), _jsxs("div", { class: "udex-list__btn-wrap", children: [this.hasFirstIcon && _jsx("slot", { name: "firstIcon", onClick: this._fireIconClickEvent }), this.hasSecondIcon && _jsx("slot", { name: "secondIcon", onClick: this._fireIconClickEvent })] })] })), this.collapsible && (_jsx("div", { class: "udex-list__group-heading__icon-wrapper", children: _jsx(UDExButton, { class: "udex-list__group-heading__icon", size: UDExButtonSize.Small, design: UDExButtonDesign.Tertiary, onMouseDown: this.handleCollapseIconMouseDown, onClick: this.handleCollapseIconClick, tabindex: -1, "accessible-name": this.expandButtonAccessibleName, ...{ "mode": "Interactive" }, icon: slimArrowRight }) }))] }), _jsx("div", { class: "hidden", id: `${this._id}-invisibleText`, children: this.accessibleListItemName })] }));
|
|
14
14
|
}
|
|
15
15
|
export default function ListItemTemplate() {
|
|
16
|
-
return (_jsxs(_Fragment, { children: [this.modeSelected && (_jsxs("div", { part: "item", tabIndex: Number(this._effectiveTabIndex), "aria-disabled": this._ariaDisabled, class: this.className, role: this.roleItem, "aria-checked": this.ariaCheckedValue, "aria-selected": this.ariaSelectedValue, "aria-expanded": this.ariaExpandedValue, onFocusIn: this.handleFocusIn, onFocusOut: this.handleFocusOut, onClick: this.handleItemClick, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, ...{ divider: this.divider, "_id": this._id }, "data-selected": this.selected,
|
|
16
|
+
return (_jsxs(_Fragment, { children: [this.modeSelected && (_jsxs("div", { part: "item", tabIndex: Number(this._effectiveTabIndex), "aria-disabled": this._ariaDisabled, class: this.className, role: this.roleItem, "aria-checked": this.ariaCheckedValue, "aria-selected": this.ariaSelectedValue, "aria-expanded": this.ariaExpandedValue, "aria-posinset": this._ariaPosInSet || undefined, "aria-setsize": this._ariaSetSize || undefined, onFocusIn: this.handleFocusIn, onFocusOut: this.handleFocusOut, onClick: this.handleItemClick, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, ...{ divider: this.divider, "_id": this._id }, "data-selected": this.selected, children: [this.modeMultiSelect && (_jsx(UDExCheckbox, { class: "udex-list__checkbox", part: "checkbox", tabindex: -1, indeterminate: this.indeterminate, "accessible-name": `checkbox ${this.stateAccessibleName}`, checked: this.selected, disabled: this.disabled, "aria-hidden": "true" })), this.modeRadioGroup && (_jsx(UDExRadioButton, { class: "udex-list__radio", part: "radio", tabindex: -1, "accessible-name": `radio ${this.stateAccessibleName}`, checked: this.selected, disabled: this.disabled })), ContentList.call(this)] })), this.modeSingleContent && (_jsx("div", { part: "item", role: this.roleItem, "aria-selected": this.selected, class: this.className, children: ContentList.call(this) }))] }));
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=ListItemTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemTemplate.js","sourceRoot":"","sources":["../src/ListItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type UDExListItem from \"./ListItem.js\";\nimport UDExCheckbox from \"./Checkbox.js\";\nimport UDExRadioButton from \"./RadioButton.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UDExAvatar from \"./Avatar.js\";\nimport UDExStatusBadge from \"./StatusBadge.js\";\nimport UDExRatingIndicator from \"./RatingIndicator.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\n\nfunction ContentList(this: UDExListItem) {\n return (\n <div\n class=\"udex-list__content-wrap\"\n {...({ \"_id\": this._id } as object)}\n aria-labelledby={`${this._id}-invisibleText`}\n aria-label={this.accessibleListItemName}>\n {this.flag && (\n <div class=\"udex-list__flag-wrap\">\n <span class=\"udex-list__flag\" style={{ backgroundPosition: this.flagPosition }}></span>\n </div>\n )}\n {this.typeNumber && <span class=\"udex-list__number\">{this.numberOfItem}.</span>}\n {this.typeCircle && <span class=\"udex-list__circle\">•</span>}\n {this.typeIcon && (\n <Icon\n name={this._icon}\n class=\"udex-list__icon\"\n accessible-role=\"presentation\"\n aria-hidden=\"true\"\n part=\"icon\"\n />\n )}\n {this.image && (\n <UDExAvatar\n class=\"udex-list__avatar\"\n part=\"avatar\"\n shape={this.imageShape}\n size={this.imageSize}>\n {this.imageBadgeState && (\n <UDExStatusBadge\n slot=\"badge\"\n value-state={this.imageBadgeState}\n size={this.imageSize}\n />\n )}\n <img src={this.image} alt={this.imageAlt} />\n </UDExAvatar>\n )}\n <div class=\"udex-list__content\" part=\"content\">\n {this.label ? (\n <>\n <div class=\"udex-list__text-holder\">\n <span part=\"title\" {...({ innerHTML: this.label } as object)}></span>\n {this.supportingText && (\n <span class=\"udex-list__supporting-text\" part=\"supporting\">{this.supportingText}</span>\n )}\n <slot part=\"content\"></slot>\n {this.hasRating && (\n <UDExRatingIndicator\n aria-label={this.ratingAriaLabel}\n value={this.rating !== undefined ? Number(this.rating) : undefined}\n rating-count={this.ratingCount}\n total-count={this.totalCount}\n max={this.ratingMax}\n display={this._displayRating}\n disabled\n readonly\n />\n )}\n </div>\n {this.additionalText && (\n <div class=\"udex-list__add-text\" part=\"additional-text\">{this.additionalText}</div>\n )}\n <div class=\"udex-list__btn-wrap\">\n {this.hasFirstIcon && <slot name=\"firstIcon\" onClick={this._fireIconClickEvent as EventListener}></slot>}\n {this.hasSecondIcon && <slot name=\"secondIcon\" onClick={this._fireIconClickEvent as EventListener}></slot>}\n </div>\n </>\n ) : (\n <>\n <div class=\"udex-list__text-holder\">\n <slot part=\"content\"></slot>\n {this.supportingText && (\n <span class=\"udex-list__supporting-text\" part=\"supporting\">{this.supportingText}</span>\n )}\n {this.hasRating && (\n <UDExRatingIndicator\n aria-label={this.ratingAriaLabel}\n value={this.rating !== undefined ? Number(this.rating) : undefined}\n rating-count={this.ratingCount}\n total-count={this.totalCount}\n max={this.ratingMax}\n display={this._displayRating}\n disabled\n readonly\n />\n )}\n </div>\n {this.additionalText && (\n <div class=\"udex-list__add-text\" part=\"additional-text\">{this.additionalText}</div>\n )}\n <div class=\"udex-list__btn-wrap\">\n {this.hasFirstIcon && <slot name=\"firstIcon\" onClick={this._fireIconClickEvent as EventListener}></slot>}\n {this.hasSecondIcon && <slot name=\"secondIcon\" onClick={this._fireIconClickEvent as EventListener}></slot>}\n </div>\n </>\n )}\n {this.collapsible && (\n <div class=\"udex-list__group-heading__icon-wrapper\">\n <UDExButton\n class=\"udex-list__group-heading__icon\"\n size={UDExButtonSize.Small}\n design={UDExButtonDesign.Tertiary}\n onMouseDown={this.handleCollapseIconMouseDown}\n onClick={this.handleCollapseIconClick as EventListener}\n tabindex={-1}\n accessible-name={this.expandButtonAccessibleName}\n {...({ \"mode\": \"Interactive\" } as object)}\n icon={slimArrowRight}\n />\n </div>\n )}\n </div>\n <div class=\"hidden\" id={`${this._id}-invisibleText`}>{this.accessibleListItemName}</div>\n <div class=\"hidden\" id={`${this._id}-invisibleText-describedby`}>{this.itemState}</div>\n </div>\n );\n}\n\nexport default function ListItemTemplate(this: UDExListItem) {\n return (\n <>\n {this.modeSelected && (\n <div\n part=\"item\"\n tabIndex={Number(this._effectiveTabIndex)}\n aria-disabled={this._ariaDisabled}\n class={this.className}\n role={this.roleItem as AriaRole}\n aria-checked={this.ariaCheckedValue}\n aria-selected={this.ariaSelectedValue}\n aria-expanded={this.ariaExpandedValue}\n onFocusIn={this.handleFocusIn}\n onFocusOut={this.handleFocusOut}\n onClick={this.handleItemClick}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n onKeyUp={this.handleKeyUp}\n onKeyDown={this.handleKeyDown}\n {...({ divider: this.divider, \"_id\": this._id } as object)}\n data-selected={this.selected}\n aria-describedby={this.itemDescribedBy}>\n {this.modeMultiSelect && (\n <UDExCheckbox\n class=\"udex-list__checkbox\"\n part=\"checkbox\"\n tabindex={-1}\n indeterminate={this.indeterminate}\n accessible-name={`checkbox ${this.stateAccessibleName}`}\n checked={this.selected}\n disabled={this.disabled}\n aria-hidden={this.checkboxAriaHidden ? \"true\" : undefined}\n />\n )}\n {this.modeRadioGroup && (\n <UDExRadioButton\n class=\"udex-list__radio\"\n part=\"radio\"\n tabindex={-1}\n accessible-name={`radio ${this.stateAccessibleName}`}\n checked={this.selected}\n disabled={this.disabled}\n />\n )}\n {ContentList.call(this)}\n </div>\n )}\n {this.modeSingleContent && (\n <div\n part=\"item\"\n role={this.roleItem as AriaRole}\n aria-selected={this.selected}\n class={this.className}>\n {ContentList.call(this)}\n </div>\n )}\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ListItemTemplate.js","sourceRoot":"","sources":["../src/ListItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type UDExListItem from \"./ListItem.js\";\nimport UDExCheckbox from \"./Checkbox.js\";\nimport UDExRadioButton from \"./RadioButton.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UDExAvatar from \"./Avatar.js\";\nimport UDExStatusBadge from \"./StatusBadge.js\";\nimport UDExRatingIndicator from \"./RatingIndicator.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\n\nfunction ContentList(this: UDExListItem) {\n return (\n <div\n class=\"udex-list__content-wrap\"\n {...({ \"_id\": this._id } as object)}\n aria-labelledby={`${this._id}-invisibleText`}\n aria-label={this.accessibleListItemName}>\n {this.flag && (\n <div class=\"udex-list__flag-wrap\">\n <span class=\"udex-list__flag\" style={{ backgroundPosition: this.flagPosition }}></span>\n </div>\n )}\n {this.typeNumber && <span class=\"udex-list__number\">{this.numberOfItem}.</span>}\n {this.typeCircle && <span class=\"udex-list__circle\">•</span>}\n {this.typeIcon && (\n <Icon\n name={this._icon}\n class=\"udex-list__icon\"\n accessible-role=\"presentation\"\n aria-hidden=\"true\"\n part=\"icon\"\n />\n )}\n {this.image && (\n <UDExAvatar\n class=\"udex-list__avatar\"\n part=\"avatar\"\n shape={this.imageShape}\n size={this.imageSize}>\n {this.imageBadgeState && (\n <UDExStatusBadge\n slot=\"badge\"\n value-state={this.imageBadgeState}\n size={this.imageSize}\n />\n )}\n <img src={this.image} alt={this.imageAlt} />\n </UDExAvatar>\n )}\n <div class=\"udex-list__content\" part=\"content\">\n {this.label ? (\n <>\n <div class=\"udex-list__text-holder\">\n <span part=\"title\" {...({ innerHTML: this.label } as object)}></span>\n {this.supportingText && (\n <span class=\"udex-list__supporting-text\" part=\"supporting\">{this.supportingText}</span>\n )}\n <slot part=\"content\"></slot>\n {this.hasRating && (\n <UDExRatingIndicator\n aria-label={this.ratingAriaLabel}\n value={this.rating !== undefined ? Number(this.rating) : undefined}\n rating-count={this.ratingCount}\n total-count={this.totalCount}\n max={this.ratingMax}\n display={this._displayRating}\n disabled\n readonly\n />\n )}\n </div>\n {this.additionalText && (\n <div class=\"udex-list__add-text\" part=\"additional-text\">{this.additionalText}</div>\n )}\n <div class=\"udex-list__btn-wrap\">\n {this.hasFirstIcon && <slot name=\"firstIcon\" onClick={this._fireIconClickEvent as EventListener}></slot>}\n {this.hasSecondIcon && <slot name=\"secondIcon\" onClick={this._fireIconClickEvent as EventListener}></slot>}\n </div>\n </>\n ) : (\n <>\n <div class=\"udex-list__text-holder\">\n <slot part=\"content\"></slot>\n {this.supportingText && (\n <span class=\"udex-list__supporting-text\" part=\"supporting\">{this.supportingText}</span>\n )}\n {this.hasRating && (\n <UDExRatingIndicator\n aria-label={this.ratingAriaLabel}\n value={this.rating !== undefined ? Number(this.rating) : undefined}\n rating-count={this.ratingCount}\n total-count={this.totalCount}\n max={this.ratingMax}\n display={this._displayRating}\n disabled\n readonly\n />\n )}\n </div>\n {this.additionalText && (\n <div class=\"udex-list__add-text\" part=\"additional-text\">{this.additionalText}</div>\n )}\n <div class=\"udex-list__btn-wrap\">\n {this.hasFirstIcon && <slot name=\"firstIcon\" onClick={this._fireIconClickEvent as EventListener}></slot>}\n {this.hasSecondIcon && <slot name=\"secondIcon\" onClick={this._fireIconClickEvent as EventListener}></slot>}\n </div>\n </>\n )}\n {this.collapsible && (\n <div class=\"udex-list__group-heading__icon-wrapper\">\n <UDExButton\n class=\"udex-list__group-heading__icon\"\n size={UDExButtonSize.Small}\n design={UDExButtonDesign.Tertiary}\n onMouseDown={this.handleCollapseIconMouseDown}\n onClick={this.handleCollapseIconClick as EventListener}\n tabindex={-1}\n accessible-name={this.expandButtonAccessibleName}\n {...({ \"mode\": \"Interactive\" } as object)}\n icon={slimArrowRight}\n />\n </div>\n )}\n </div>\n <div class=\"hidden\" id={`${this._id}-invisibleText`}>{this.accessibleListItemName}</div>\n </div>\n );\n}\n\nexport default function ListItemTemplate(this: UDExListItem) {\n return (\n <>\n {this.modeSelected && (\n <div\n part=\"item\"\n tabIndex={Number(this._effectiveTabIndex)}\n aria-disabled={this._ariaDisabled}\n class={this.className}\n role={this.roleItem as AriaRole}\n aria-checked={this.ariaCheckedValue}\n aria-selected={this.ariaSelectedValue}\n aria-expanded={this.ariaExpandedValue}\n aria-posinset={this._ariaPosInSet || undefined}\n aria-setsize={this._ariaSetSize || undefined}\n onFocusIn={this.handleFocusIn}\n onFocusOut={this.handleFocusOut}\n onClick={this.handleItemClick}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n onKeyUp={this.handleKeyUp}\n onKeyDown={this.handleKeyDown}\n {...({ divider: this.divider, \"_id\": this._id } as object)}\n data-selected={this.selected}>\n {this.modeMultiSelect && (\n <UDExCheckbox\n class=\"udex-list__checkbox\"\n part=\"checkbox\"\n tabindex={-1}\n indeterminate={this.indeterminate}\n accessible-name={`checkbox ${this.stateAccessibleName}`}\n checked={this.selected}\n disabled={this.disabled}\n aria-hidden=\"true\"\n />\n )}\n {this.modeRadioGroup && (\n <UDExRadioButton\n class=\"udex-list__radio\"\n part=\"radio\"\n tabindex={-1}\n accessible-name={`radio ${this.stateAccessibleName}`}\n checked={this.selected}\n disabled={this.disabled}\n />\n )}\n {ContentList.call(this)}\n </div>\n )}\n {this.modeSingleContent && (\n <div\n part=\"item\"\n role={this.roleItem as AriaRole}\n aria-selected={this.selected}\n class={this.className}>\n {ContentList.call(this)}\n </div>\n )}\n </>\n );\n}\n"]}
|
|
@@ -8,15 +8,15 @@ var UDExMastheadCountrySelector_1;
|
|
|
8
8
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
10
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
|
-
import
|
|
11
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
12
12
|
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
13
13
|
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
14
14
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
15
15
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
16
16
|
import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
17
17
|
import UDExMastheadMenuItem from "./MastheadMenuItem.js";
|
|
18
|
-
import
|
|
19
|
-
import MastheadCountrySelectorTemplate from "./
|
|
18
|
+
import { Mode as UDExSearchMode } from "./Search.js";
|
|
19
|
+
import MastheadCountrySelectorTemplate from "./MastheadCountrySelectorTemplate.js";
|
|
20
20
|
import AnalyticsName from "./types/AnalyticsName.js";
|
|
21
21
|
import { BreakpointUtils } from "./utils/Breakpoints.js";
|
|
22
22
|
import { NO_MATCHES_FOUND, RESULT_RETURNED, BACK_TO_REGION_LIST } from "./generated/i18n/i18n-defaults.js";
|
|
@@ -337,10 +337,10 @@ __decorate([
|
|
|
337
337
|
UDExMastheadCountrySelector = UDExMastheadCountrySelector_1 = __decorate([
|
|
338
338
|
customElement({
|
|
339
339
|
tag: "udex-masthead-country-selector",
|
|
340
|
-
renderer:
|
|
340
|
+
renderer: jsxRenderer,
|
|
341
341
|
styles: MastheadCountrySelectorCss,
|
|
342
342
|
template: MastheadCountrySelectorTemplate,
|
|
343
|
-
dependencies: [UI5Icon, UDExMastheadMenuItem
|
|
343
|
+
dependencies: [UI5Icon, UDExMastheadMenuItem],
|
|
344
344
|
})
|
|
345
345
|
/**
|
|
346
346
|
* Fires when region item is clicked
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadCountrySelector.js","sourceRoot":"","sources":["../src/MastheadCountrySelector.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport MastheadCountrySelectorTemplate from \"./generated/templates/MastheadCountrySelectorTemplate.lit.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED, BACK_TO_REGION_LIST } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadCountrySelectorCss from \"./generated/themes/MastheadCountrySelector.css.js\";\n\nexport type Region = {\n title: string,\n countries: Array<Country>,\n};\n\nexport type Country = {\n displayTitle: string,\n countryCode: string,\n url: string,\n active: boolean,\n};\n\ntype UDExMastheadCountrySelectorRegionClickEventDetail = {\n item: {\n title: string,\n countries: Array<Country>,\n },\n originalEvent: Event,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadCountrySelectorItemClickEventDetail = {\n item: {\n displayTitle: string,\n countryCode: string,\n url: string,\n },\n originalEvent: Event,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadCountrySelectorSearchEventDetail = {\n value: string,\n analyticsName: AnalyticsName,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>masthead-country-selector</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadCountrySelector.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-country-selector\",\n renderer: litRender,\n styles: MastheadCountrySelectorCss,\n template: MastheadCountrySelectorTemplate,\n dependencies: [UI5Icon, UDExMastheadMenuItem, UDExSearch],\n})\n\n/**\n * Fires when region item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {Object} item the clicked region item\n * @param {string} item.title the title of the region\n * @param {Array} item.countries the countries of the region\n * @param {AnalyticsName} analyticsName The analytics name for the event\n * @param {HTMLElement} sourceNode The source node which triggered the event\n */\n@event(\"region-item-click\", { bubbles: true })\n\n/**\n * Fires when region item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {Object} item the clicked country item\n * @param {string} item.displayTitle the display title of the country\n * @param {string} item.countryCode the country code of the country\n * @param {string} item.url the url of the country\n * @param {AnalyticsName} analyticsName The analytics name for the event\n * @param {HTMLElement} sourceNode The source node which triggered the event\n */\n@event(\"country-item-click\", { bubbles: true })\n\n/**\n * Fired event when the user typed to search field.\n *\n * @public\n * @param {string} value The search value\n * @param {AnalyticsName} analyticsName The analytics name for the event\n */\n@event(\"country-selector-search\", { bubbles: true })\n\nclass UDExMastheadCountrySelector extends UI5Element {\n eventDetails!: {\n \"country-item-click\": UDExMastheadCountrySelectorItemClickEventDetail,\n \"country-selector-search\": UDExMastheadCountrySelectorSearchEventDetail,\n \"region-item-click\": UDExMastheadCountrySelectorRegionClickEventDetail\n };\n\n /**\n * Defines active country code of the regions menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n activeCountryCode !: string;\n\n /**\n * Defines active country url of the regions menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n activeCountryUrl!: string;\n\n /**\n * Defines title of the regions menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n regionTitle!: string;\n\n /**\n * Defines title of the countries menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n countryTitle!: string;\n\n /**\n * Defines the object of the regions\n *\n * @default \"\"\n * @public\n */\n @property()\n regions!: string;\n\n /**\n * Defines the label of the search\n *\n * @default \"en-US\"\n * @public\n */\n @property()\n searchLabel!: string;\n\n /**\n * Defines display the voice button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchVoiceButton!: boolean;\n\n /**\n * Hides the search field in the country list view.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideSearch!: boolean;\n\n /**\n * Defines the language voice of the search\n *\n * @default \"\"\n * @public\n */\n @property()\n languageVoice!: string;\n\n /**\n * Defines the country list of the region is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isActiveRegionOpen!: boolean;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n _activeRegion!: Region | null;\n _activeCountries!: Array<Country>;\n _shouldFocusBackBtn!: boolean;\n _shouldFocusRegionByIndex!: boolean;\n _accSearchResultInfo?: string;\n _activeRegionIndex!: number;\n _mastheadShell!: UDExMastheadShell;\n _countriesListHolderClassName = \"udex-masthead-country-selector__list-wrap\";\n _itemClassName = \"udex-masthead-country-selector__item\";\n _boundHandleActiveRegionClose!: () => void;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._activeCountries = [];\n this._boundHandleActiveRegionClose = this.handleActiveRegionClose.bind(this);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n this.closest(\"[udex-masthead-item]\")?.addEventListener(\"dropdown-closed\", this._boundHandleActiveRegionClose);\n }\n\n onExitDOM(): void {\n this.closest(\"[udex-masthead-item]\")?.removeEventListener(\"dropdown-closed\", this._boundHandleActiveRegionClose);\n }\n\n onAfterRendering(): void {\n this._mastheadShell = this.mastheadShell;\n this.handleFocusItem();\n this.handleOutsideClick();\n\n if (this.isSingleMode) {\n this.handleSingleRegionMode();\n }\n\n if (this._activeCountries) {\n this.checkScrollableCountriesList();\n }\n }\n\n handleActiveRegionClose(): void {\n if (!this.isSingleMode) {\n this.handleSearchReset();\n this._isActiveRegionOpen = false;\n this.setActiveRegion(null);\n }\n }\n\n handleRegionClick(e: CustomEvent): void {\n this.openCountriesByRegion(e);\n this.fireEventRegionItemClick(e);\n }\n\n handleCountryClick(e: CustomEvent): void {\n this.fireEventCountryItemClick(e);\n if (this._mastheadShell && this.isMobile) {\n this.closeMenu();\n }\n }\n\n handleSearch(e: CustomEvent): void {\n const searchTerm = e.detail.value.toLowerCase().trim() as string;\n\n if (!this._activeRegion || !this._activeRegion.countries) {\n this.setActiveCountries([]);\n return;\n }\n\n if (!searchTerm) {\n this.setActiveCountries([...this._activeRegion.countries]);\n } else {\n this.setActiveCountries(this._activeRegion.countries.filter(country => country.displayTitle.toLowerCase().includes(searchTerm)));\n }\n\n this._accSearchResultInfo = this._activeCountries.length\n ? `${this._activeCountries.length} ${this.resultReturnedText}`\n : this.noMatchesFoundText;\n\n this._shouldFocusBackBtn = false;\n this.fireDecoratorEvent(\"country-selector-search\", {\n value: e.detail.value,\n analyticsName: AnalyticsName.Header,\n });\n this.refreshRendering();\n }\n\n handleSearchReset(): void {\n this.setActiveCountries([...this._activeRegion?.countries || []]);\n this.refreshRendering();\n }\n\n handleFocusItem(): void {\n if (this._shouldFocusBackBtn) {\n this.focusBackBtn();\n }\n\n if (this._shouldFocusRegionByIndex) {\n this.focusRegionByIndex();\n }\n }\n\n refreshRendering(): void {\n this._requestRender = !this._requestRender;\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", (e: Event): void => {\n if (e.target !== this && !this.isMobile) {\n this.handleActiveRegionClose();\n }\n });\n }\n\n openCountriesByRegion(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const activeRegion = this.regionsData[item.index];\n this.setActiveRegion(activeRegion);\n this.setActiveCountries(activeRegion.countries);\n this._isActiveRegionOpen = true;\n this._activeRegionIndex = item.index;\n this._shouldFocusBackBtn = true;\n this._shouldFocusRegionByIndex = false;\n }\n\n backToRegions(): void {\n this._isActiveRegionOpen = false;\n this.setActiveRegion(null);\n this._shouldFocusRegionByIndex = true;\n }\n\n focusNextItem(currentItem: UDExMastheadMenuItem): void {\n const currentIndex = currentItem.index;\n const nextIndex = currentIndex + 1;\n const nextItem = this.items[nextIndex];\n this.items[currentIndex]._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.scrollIntoView({ block: \"center\" });\n nextItem.focus({ preventScroll: true });\n }\n\n focusPreviousItem(currentItem: UDExMastheadMenuItem): void {\n const currentIndex = currentItem.index;\n const prevIndex = currentIndex - 1;\n const prevItem = this.items[prevIndex];\n this.items[currentIndex]._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.scrollIntoView({ block: \"center\" });\n prevItem.focus({ preventScroll: true });\n }\n\n focusFirstItem(): void {\n const firstItem = this.items[0];\n firstItem._tabIndex = \"0\";\n firstItem.focus();\n }\n\n handleSingleRegionMode(): void {\n this.setActiveRegion(this.regionsData[0]);\n this.setActiveCountries([...this.regionsData[0].countries]);\n this._isActiveRegionOpen = true;\n }\n\n focusBackBtn(): void {\n const backBtn = this.shadowRoot?.querySelector<HTMLElement>(\".udex-masthead-country-selector__region-back-item\") || null;\n backBtn?.focus();\n }\n\n focusRegionByIndex(): void {\n const regionItems = this.shadowRoot?.querySelectorAll<HTMLElement>(\".udex-masthead-country-selector__item_region\") || [];\n regionItems[this._activeRegionIndex].focus();\n }\n\n fireEventRegionItemClick(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n\n this.fireDecoratorEvent(\"region-item-click\", {\n item: {\n title: item.label,\n countries: this._activeRegion?.countries || [],\n },\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n fireEventCountryItemClick(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const { label, url } = item;\n\n this.fireDecoratorEvent(\"country-item-click\", {\n item: {\n displayTitle: label,\n countryCode: item.getAttribute(\"_country-code\") || \"\",\n url: url || \"\",\n },\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n setActiveRegion(region: Region | null): void {\n this._activeRegion = region;\n }\n\n setActiveCountries(countries: Array<Country>): void {\n this._activeCountries = countries;\n }\n\n closeMenu():void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n checkScrollableCountriesList(): void {\n if (this.countryListHolder) {\n requestAnimationFrame(() => {\n if (this.isScrollableCountriesList) {\n this.addScrollableClassToCountryList();\n } else {\n this.removeScrollableClassInCountryList();\n }\n });\n }\n }\n\n handleCountryListShadowVisible(): void {\n if (this.scrollBottomCountriesList <= 1) {\n this.removeScrollableClassInCountryList();\n } else {\n this.addScrollableClassToCountryList();\n }\n }\n\n addScrollableClassToCountryList(): void {\n this.countryListHolder.classList.add(`${this._countriesListHolderClassName}_scrollable`);\n }\n\n removeScrollableClassInCountryList(): void {\n this.countryListHolder.classList.remove(`${this._countriesListHolderClassName}_scrollable`);\n }\n\n isActiveCountry(countryCode: string, url: string): boolean {\n const matchedURL = this.activeCountryUrl?.toUpperCase() === url.toUpperCase();\n const matchedCode = this.activeCountryCode?.toUpperCase() === countryCode.toUpperCase();\n return matchedURL && matchedCode;\n }\n\n get scrollBottomCountriesList(): number {\n const countriesList = this.countryListHolder;\n return countriesList.scrollHeight - countriesList.scrollTop - countriesList.clientHeight;\n }\n\n get isScrollableCountriesList(): boolean {\n const countriesList = this.countryListHolder;\n return countriesList ? countriesList.scrollHeight > countriesList.clientHeight : false;\n }\n\n get countryListHolder(): HTMLElement {\n return this.shadowRoot?.querySelector<HTMLElement>(`.${this._countriesListHolderClassName}`) as HTMLElement;\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExMastheadCountrySelector, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExMastheadCountrySelector, RESULT_RETURNED);\n }\n\n get items(): Array<UDExMastheadMenuItem> {\n const items = this.shadowRoot?.querySelectorAll<UDExMastheadMenuItem>(`.${this._itemClassName}`);\n return items ? Array.from(items) : [];\n }\n\n get regionsData(): Array<Region> {\n const regions: Array<Region> = this.regions ? JSON.parse(this.regions) as Array<Region> : [];\n return regions.map(region => ({\n ...region,\n countries: region.countries.map(country => ({\n ...country,\n active: this.isActiveCountry(country.countryCode, country.url),\n })),\n }));\n }\n\n get homeSearchMode(): UDExSearchMode {\n return UDExSearchMode.HomeSearch;\n }\n\n get isSingleMode(): boolean {\n return this.regionsData.length === 1;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get backToRegionListAccessibleName(): string {\n return `${this._activeRegion?.title} ${translate(UDExMastheadCountrySelector, BACK_TO_REGION_LIST)}`;\n }\n}\n\nUDExMastheadCountrySelector.define();\n\nexport default UDExMastheadCountrySelector;\nexport type { UDExMastheadCountrySelectorSearchEventDetail, UDExMastheadCountrySelectorItemClickEventDetail, UDExMastheadCountrySelectorRegionClickEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"MastheadCountrySelector.js","sourceRoot":"","sources":["../src/MastheadCountrySelector.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport { Mode as UDExSearchMode } from \"./Search.js\";\nimport MastheadCountrySelectorTemplate from \"./MastheadCountrySelectorTemplate.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED, BACK_TO_REGION_LIST } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadCountrySelectorCss from \"./generated/themes/MastheadCountrySelector.css.js\";\n\nexport type Region = {\n title: string,\n countries: Array<Country>,\n};\n\nexport type Country = {\n displayTitle: string,\n countryCode: string,\n url: string,\n active: boolean,\n};\n\ntype UDExMastheadCountrySelectorRegionClickEventDetail = {\n item: {\n title: string,\n countries: Array<Country>,\n },\n originalEvent: Event,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadCountrySelectorItemClickEventDetail = {\n item: {\n displayTitle: string,\n countryCode: string,\n url: string,\n },\n originalEvent: Event,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadCountrySelectorSearchEventDetail = {\n value: string,\n analyticsName: AnalyticsName,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>masthead-country-selector</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadCountrySelector.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-country-selector\",\n renderer: jsxRenderer,\n styles: MastheadCountrySelectorCss,\n template: MastheadCountrySelectorTemplate,\n dependencies: [UI5Icon, UDExMastheadMenuItem],\n})\n\n/**\n * Fires when region item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {Object} item the clicked region item\n * @param {string} item.title the title of the region\n * @param {Array} item.countries the countries of the region\n * @param {AnalyticsName} analyticsName The analytics name for the event\n * @param {HTMLElement} sourceNode The source node which triggered the event\n */\n@event(\"region-item-click\", { bubbles: true })\n\n/**\n * Fires when region item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {Object} item the clicked country item\n * @param {string} item.displayTitle the display title of the country\n * @param {string} item.countryCode the country code of the country\n * @param {string} item.url the url of the country\n * @param {AnalyticsName} analyticsName The analytics name for the event\n * @param {HTMLElement} sourceNode The source node which triggered the event\n */\n@event(\"country-item-click\", { bubbles: true })\n\n/**\n * Fired event when the user typed to search field.\n *\n * @public\n * @param {string} value The search value\n * @param {AnalyticsName} analyticsName The analytics name for the event\n */\n@event(\"country-selector-search\", { bubbles: true })\n\nclass UDExMastheadCountrySelector extends UI5Element {\n eventDetails!: {\n \"country-item-click\": UDExMastheadCountrySelectorItemClickEventDetail,\n \"country-selector-search\": UDExMastheadCountrySelectorSearchEventDetail,\n \"region-item-click\": UDExMastheadCountrySelectorRegionClickEventDetail\n };\n\n /**\n * Defines active country code of the regions menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n activeCountryCode !: string;\n\n /**\n * Defines active country url of the regions menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n activeCountryUrl!: string;\n\n /**\n * Defines title of the regions menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n regionTitle!: string;\n\n /**\n * Defines title of the countries menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n countryTitle!: string;\n\n /**\n * Defines the object of the regions\n *\n * @default \"\"\n * @public\n */\n @property()\n regions!: string;\n\n /**\n * Defines the label of the search\n *\n * @default \"en-US\"\n * @public\n */\n @property()\n searchLabel!: string;\n\n /**\n * Defines display the voice button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchVoiceButton!: boolean;\n\n /**\n * Hides the search field in the country list view.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideSearch!: boolean;\n\n /**\n * Defines the language voice of the search\n *\n * @default \"\"\n * @public\n */\n @property()\n languageVoice!: string;\n\n /**\n * Defines the country list of the region is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isActiveRegionOpen!: boolean;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n _activeRegion!: Region | null;\n _activeCountries!: Array<Country>;\n _shouldFocusBackBtn!: boolean;\n _shouldFocusRegionByIndex!: boolean;\n _accSearchResultInfo?: string;\n _activeRegionIndex!: number;\n _mastheadShell!: UDExMastheadShell;\n _countriesListHolderClassName = \"udex-masthead-country-selector__list-wrap\";\n _itemClassName = \"udex-masthead-country-selector__item\";\n _boundHandleActiveRegionClose!: () => void;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._activeCountries = [];\n this._boundHandleActiveRegionClose = this.handleActiveRegionClose.bind(this);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n this.closest(\"[udex-masthead-item]\")?.addEventListener(\"dropdown-closed\", this._boundHandleActiveRegionClose);\n }\n\n onExitDOM(): void {\n this.closest(\"[udex-masthead-item]\")?.removeEventListener(\"dropdown-closed\", this._boundHandleActiveRegionClose);\n }\n\n onAfterRendering(): void {\n this._mastheadShell = this.mastheadShell;\n this.handleFocusItem();\n this.handleOutsideClick();\n\n if (this.isSingleMode) {\n this.handleSingleRegionMode();\n }\n\n if (this._activeCountries) {\n this.checkScrollableCountriesList();\n }\n }\n\n handleActiveRegionClose(): void {\n if (!this.isSingleMode) {\n this.handleSearchReset();\n this._isActiveRegionOpen = false;\n this.setActiveRegion(null);\n }\n }\n\n handleRegionClick(e: CustomEvent): void {\n this.openCountriesByRegion(e);\n this.fireEventRegionItemClick(e);\n }\n\n handleCountryClick(e: CustomEvent): void {\n this.fireEventCountryItemClick(e);\n if (this._mastheadShell && this.isMobile) {\n this.closeMenu();\n }\n }\n\n handleSearch(e: CustomEvent): void {\n const searchTerm = e.detail.value.toLowerCase().trim() as string;\n\n if (!this._activeRegion || !this._activeRegion.countries) {\n this.setActiveCountries([]);\n return;\n }\n\n if (!searchTerm) {\n this.setActiveCountries([...this._activeRegion.countries]);\n } else {\n this.setActiveCountries(this._activeRegion.countries.filter(country => country.displayTitle.toLowerCase().includes(searchTerm)));\n }\n\n this._accSearchResultInfo = this._activeCountries.length\n ? `${this._activeCountries.length} ${this.resultReturnedText}`\n : this.noMatchesFoundText;\n\n this._shouldFocusBackBtn = false;\n this.fireDecoratorEvent(\"country-selector-search\", {\n value: e.detail.value,\n analyticsName: AnalyticsName.Header,\n });\n this.refreshRendering();\n }\n\n handleSearchReset(): void {\n this.setActiveCountries([...this._activeRegion?.countries || []]);\n this.refreshRendering();\n }\n\n handleFocusItem(): void {\n if (this._shouldFocusBackBtn) {\n this.focusBackBtn();\n }\n\n if (this._shouldFocusRegionByIndex) {\n this.focusRegionByIndex();\n }\n }\n\n refreshRendering(): void {\n this._requestRender = !this._requestRender;\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", (e: Event): void => {\n if (e.target !== this && !this.isMobile) {\n this.handleActiveRegionClose();\n }\n });\n }\n\n openCountriesByRegion(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const activeRegion = this.regionsData[item.index];\n this.setActiveRegion(activeRegion);\n this.setActiveCountries(activeRegion.countries);\n this._isActiveRegionOpen = true;\n this._activeRegionIndex = item.index;\n this._shouldFocusBackBtn = true;\n this._shouldFocusRegionByIndex = false;\n }\n\n backToRegions(): void {\n this._isActiveRegionOpen = false;\n this.setActiveRegion(null);\n this._shouldFocusRegionByIndex = true;\n }\n\n focusNextItem(currentItem: UDExMastheadMenuItem): void {\n const currentIndex = currentItem.index;\n const nextIndex = currentIndex + 1;\n const nextItem = this.items[nextIndex];\n this.items[currentIndex]._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.scrollIntoView({ block: \"center\" });\n nextItem.focus({ preventScroll: true });\n }\n\n focusPreviousItem(currentItem: UDExMastheadMenuItem): void {\n const currentIndex = currentItem.index;\n const prevIndex = currentIndex - 1;\n const prevItem = this.items[prevIndex];\n this.items[currentIndex]._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.scrollIntoView({ block: \"center\" });\n prevItem.focus({ preventScroll: true });\n }\n\n focusFirstItem(): void {\n const firstItem = this.items[0];\n firstItem._tabIndex = \"0\";\n firstItem.focus();\n }\n\n handleSingleRegionMode(): void {\n this.setActiveRegion(this.regionsData[0]);\n this.setActiveCountries([...this.regionsData[0].countries]);\n this._isActiveRegionOpen = true;\n }\n\n focusBackBtn(): void {\n const backBtn = this.shadowRoot?.querySelector<HTMLElement>(\".udex-masthead-country-selector__region-back-item\") || null;\n backBtn?.focus();\n }\n\n focusRegionByIndex(): void {\n const regionItems = this.shadowRoot?.querySelectorAll<HTMLElement>(\".udex-masthead-country-selector__item_region\") || [];\n regionItems[this._activeRegionIndex].focus();\n }\n\n fireEventRegionItemClick(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n\n this.fireDecoratorEvent(\"region-item-click\", {\n item: {\n title: item.label,\n countries: this._activeRegion?.countries || [],\n },\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n fireEventCountryItemClick(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const { label, url } = item;\n\n this.fireDecoratorEvent(\"country-item-click\", {\n item: {\n displayTitle: label,\n countryCode: item.getAttribute(\"_country-code\") || \"\",\n url: url || \"\",\n },\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n setActiveRegion(region: Region | null): void {\n this._activeRegion = region;\n }\n\n setActiveCountries(countries: Array<Country>): void {\n this._activeCountries = countries;\n }\n\n closeMenu():void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n checkScrollableCountriesList(): void {\n if (this.countryListHolder) {\n requestAnimationFrame(() => {\n if (this.isScrollableCountriesList) {\n this.addScrollableClassToCountryList();\n } else {\n this.removeScrollableClassInCountryList();\n }\n });\n }\n }\n\n handleCountryListShadowVisible(): void {\n if (this.scrollBottomCountriesList <= 1) {\n this.removeScrollableClassInCountryList();\n } else {\n this.addScrollableClassToCountryList();\n }\n }\n\n addScrollableClassToCountryList(): void {\n this.countryListHolder.classList.add(`${this._countriesListHolderClassName}_scrollable`);\n }\n\n removeScrollableClassInCountryList(): void {\n this.countryListHolder.classList.remove(`${this._countriesListHolderClassName}_scrollable`);\n }\n\n isActiveCountry(countryCode: string, url: string): boolean {\n const matchedURL = this.activeCountryUrl?.toUpperCase() === url.toUpperCase();\n const matchedCode = this.activeCountryCode?.toUpperCase() === countryCode.toUpperCase();\n return matchedURL && matchedCode;\n }\n\n get scrollBottomCountriesList(): number {\n const countriesList = this.countryListHolder;\n return countriesList.scrollHeight - countriesList.scrollTop - countriesList.clientHeight;\n }\n\n get isScrollableCountriesList(): boolean {\n const countriesList = this.countryListHolder;\n return countriesList ? countriesList.scrollHeight > countriesList.clientHeight : false;\n }\n\n get countryListHolder(): HTMLElement {\n return this.shadowRoot?.querySelector<HTMLElement>(`.${this._countriesListHolderClassName}`) as HTMLElement;\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExMastheadCountrySelector, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExMastheadCountrySelector, RESULT_RETURNED);\n }\n\n get items(): Array<UDExMastheadMenuItem> {\n const items = this.shadowRoot?.querySelectorAll<UDExMastheadMenuItem>(`.${this._itemClassName}`);\n return items ? Array.from(items) : [];\n }\n\n get regionsData(): Array<Region> {\n const regions: Array<Region> = this.regions ? JSON.parse(this.regions) as Array<Region> : [];\n return regions.map(region => ({\n ...region,\n countries: region.countries.map(country => ({\n ...country,\n active: this.isActiveCountry(country.countryCode, country.url),\n })),\n }));\n }\n\n get homeSearchMode(): UDExSearchMode {\n return UDExSearchMode.HomeSearch;\n }\n\n get isSingleMode(): boolean {\n return this.regionsData.length === 1;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get backToRegionListAccessibleName(): string {\n return `${this._activeRegion?.title} ${translate(UDExMastheadCountrySelector, BACK_TO_REGION_LIST)}`;\n }\n}\n\nUDExMastheadCountrySelector.define();\n\nexport default UDExMastheadCountrySelector;\nexport type { UDExMastheadCountrySelectorSearchEventDetail, UDExMastheadCountrySelectorItemClickEventDetail, UDExMastheadCountrySelectorRegionClickEventDetail };\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import UDExMastheadMenuItem from "./MastheadMenuItem.js";
|
|
3
|
+
import UDExSearch from "./Search.js";
|
|
4
|
+
export default function MastheadCountrySelectorTemplate() {
|
|
5
|
+
return (_jsx("div", { class: "udex-masthead-country-selector", children: this._isActiveRegionOpen ? activeRegionView.call(this) : regionsView.call(this) }));
|
|
6
|
+
}
|
|
7
|
+
function activeRegionView() {
|
|
8
|
+
return (_jsxs(_Fragment, { children: [_jsx("span", { class: "udex-masthead-country-selector__title", children: this.countryTitle }), !this.isSingleMode && (_jsx(UDExMastheadMenuItem, { class: "udex-masthead-country-selector__region-back-item", "accessible-role": "button", onClick: this.backToRegions, label: this._activeRegion?.title, type: "Button", part: "menu-item", "icon-start": true, "_accessible-name": this.backToRegionListAccessibleName, "is-back": "" })), !this.hideSearch && (_jsxs(_Fragment, { children: [_jsx(UDExSearch, { class: "udex-masthead-country-selector__search", "onui5-handle-value-search": this.handleSearch, "onui5-handle-value-reset": this.handleSearchReset, "onui5-submit-search-value": this.handleSearch, "language-voice": this.languageVoice, label: this.searchLabel, mode: this.homeSearchMode, "show-voice-button": this.showSearchVoiceButton, "non-interactive-submit-button": true, "show-submit-button": true }), _jsx("span", { "aria-live": "polite", "aria-atomic": "true", class: "hidden", children: this._accSearchResultInfo })] })), _jsx("div", { class: "udex-masthead-country-selector__list-container", children: _jsx("div", { class: "udex-masthead-country-selector__list-wrap", onScroll: this.handleCountryListShadowVisible, children: _jsx("ul", { class: "udex-masthead-country-selector__list udex-masthead-country-selector__list_countries", role: "menu", children: this._activeCountries.map((country, index) => (_jsx("li", { role: "none", children: _jsx(UDExMastheadMenuItem, { class: "udex-masthead-country-selector__item udex-masthead-country-selector__item_countries", onClick: this.handleCountryClick, url: country.url, label: country.displayTitle, index: index, part: "menu-item", "_country-code": country.countryCode,
|
|
9
|
+
"is-nav-item": "",
|
|
10
|
+
...(country.active ? { "_is-active-country": "" } : {}) }) }, index))) }) }) })] }));
|
|
11
|
+
}
|
|
12
|
+
function regionsView() {
|
|
13
|
+
return (_jsxs(_Fragment, { children: [_jsx("span", { class: "udex-masthead-country-selector__title", children: this.regionTitle }), _jsx("ul", { class: "udex-masthead-country-selector__list", children: this.regionsData.map((region, index) => (_jsx("li", { children: _jsx(UDExMastheadMenuItem, { onClick: this.handleRegionClick, index: index, "accessible-role": "button", class: "udex-masthead-country-selector__item udex-masthead-country-selector__item_region", "aria-haspopup": "true", type: "Button", part: "menu-item", "has-border": true, "icon-end": true, label: region.title, "is-nav-item": "" }) }, index))) })] }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=MastheadCountrySelectorTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MastheadCountrySelectorTemplate.js","sourceRoot":"","sources":["../src/MastheadCountrySelectorTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExMastheadCountrySelector from \"./MastheadCountrySelector.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport UDExSearch from \"./Search.js\";\n\nexport default function MastheadCountrySelectorTemplate(this: UDExMastheadCountrySelector) {\n return (\n <div class=\"udex-masthead-country-selector\">\n {this._isActiveRegionOpen ? activeRegionView.call(this) : regionsView.call(this)}\n </div>\n );\n}\n\nfunction activeRegionView(this: UDExMastheadCountrySelector) {\n return (\n <>\n <span class=\"udex-masthead-country-selector__title\">{this.countryTitle}</span>\n {!this.isSingleMode && (\n <UDExMastheadMenuItem\n class=\"udex-masthead-country-selector__region-back-item\"\n accessible-role=\"button\"\n onClick={this.backToRegions}\n label={this._activeRegion?.title}\n type=\"Button\"\n part=\"menu-item\"\n icon-start={true}\n {...{ \"_accessible-name\": this.backToRegionListAccessibleName, \"is-back\": \"\" }}>\n </UDExMastheadMenuItem>\n )}\n {!this.hideSearch && (\n <>\n <UDExSearch\n class=\"udex-masthead-country-selector__search\"\n onui5-handle-value-search={this.handleSearch}\n onui5-handle-value-reset={this.handleSearchReset}\n onui5-submit-search-value={this.handleSearch}\n language-voice={this.languageVoice}\n label={this.searchLabel}\n mode={this.homeSearchMode}\n show-voice-button={this.showSearchVoiceButton}\n non-interactive-submit-button={true}\n show-submit-button={true}>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n <div class=\"udex-masthead-country-selector__list-container\">\n <div class=\"udex-masthead-country-selector__list-wrap\" onScroll={this.handleCountryListShadowVisible}>\n <ul class=\"udex-masthead-country-selector__list udex-masthead-country-selector__list_countries\" role=\"menu\">\n {this._activeCountries.map((country, index) => (\n <li role=\"none\" key={index}>\n <UDExMastheadMenuItem\n class=\"udex-masthead-country-selector__item udex-masthead-country-selector__item_countries\"\n onClick={this.handleCountryClick as any}\n url={country.url}\n label={country.displayTitle}\n index={index}\n part=\"menu-item\"\n {...{\n \"_country-code\": country.countryCode,\n \"is-nav-item\": \"\",\n ...(country.active ? { \"_is-active-country\": \"\" } : {}),\n }}>\n </UDExMastheadMenuItem>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </>\n );\n}\n\nfunction regionsView(this: UDExMastheadCountrySelector) {\n return (\n <>\n <span class=\"udex-masthead-country-selector__title\">{this.regionTitle}</span>\n <ul class=\"udex-masthead-country-selector__list\">\n {this.regionsData.map((region, index) => (\n <li key={index}>\n <UDExMastheadMenuItem\n onClick={this.handleRegionClick as any}\n index={index}\n accessible-role=\"button\"\n class=\"udex-masthead-country-selector__item udex-masthead-country-selector__item_region\"\n aria-haspopup=\"true\"\n type=\"Button\"\n part=\"menu-item\"\n has-border={true}\n icon-end={true}\n label={region.title}\n {...{ \"is-nav-item\": \"\" }}>\n </UDExMastheadMenuItem>\n </li>\n ))}\n </ul>\n </>\n );\n}\n"]}
|
package/dist/MastheadItem.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type { DefaultSlot, Slot, ChangeInfo } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
3
3
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
|
-
import "@ui5/webcomponents-icons/dist/search.js";
|
|
5
4
|
import UDExMastheadMenu from "./MastheadMenu.js";
|
|
6
|
-
import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
|
|
7
|
-
import "@ui5/webcomponents-icons/dist/world.js";
|
|
8
5
|
import type UDExAvatar from "./Avatar.js";
|
|
9
6
|
import type UDExMastheadShell from "./MastheadShell.js";
|
|
10
7
|
import type UDExMastheadProfileMenu from "./MastheadProfileMenu.js";
|
package/dist/MastheadItem.js
CHANGED
|
@@ -12,15 +12,12 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
|
|
|
12
12
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
13
13
|
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
14
14
|
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
15
|
-
import "@ui5/webcomponents-
|
|
16
|
-
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
15
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
17
16
|
import { isEscape, isTabNext } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
18
17
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
19
18
|
import { OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH, } from "./generated/i18n/i18n-defaults.js";
|
|
20
19
|
import UDExMastheadMenu from "./MastheadMenu.js";
|
|
21
|
-
import "
|
|
22
|
-
import "@ui5/webcomponents-icons/dist/world.js";
|
|
23
|
-
import MastheadItemTemplate from "./generated/templates/MastheadItemTemplate.lit.js";
|
|
20
|
+
import MastheadItemTemplate from "./MastheadItemTemplate.js";
|
|
24
21
|
import { UDExTarget } from "./types/common.js";
|
|
25
22
|
import { BreakpointUtils } from "./utils/Breakpoints.js";
|
|
26
23
|
import parseArrayFromString from "./utils/parseArrayFromString.js";
|
|
@@ -510,7 +507,7 @@ __decorate([
|
|
|
510
507
|
UDExMastheadItem = UDExMastheadItem_1 = __decorate([
|
|
511
508
|
customElement({
|
|
512
509
|
tag: "udex-masthead-item",
|
|
513
|
-
renderer:
|
|
510
|
+
renderer: jsxRenderer,
|
|
514
511
|
languageAware: true,
|
|
515
512
|
styles: MastheadItemCss,
|
|
516
513
|
template: MastheadItemTemplate,
|