@sapudex/web-components 2.51.0 → 2.53.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/Avatar.cy.tsx +103 -0
- package/cypress/specs/CountrySelector.cy.tsx +21 -0
- package/cypress/specs/List.cy.tsx +119 -10
- package/cypress/specs/SelectBox.cy.tsx +426 -70
- package/dist/Avatar.d.ts +10 -1
- package/dist/Avatar.js +43 -3
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarTemplate.js +1 -1
- package/dist/AvatarTemplate.js.map +1 -1
- package/dist/CountrySelector.js +1 -0
- package/dist/CountrySelector.js.map +1 -1
- package/dist/List.d.ts +10 -0
- package/dist/List.js +35 -0
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeaderBase.js +3 -0
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListItem.d.ts +1 -0
- package/dist/ListItem.js +11 -3
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +9 -0
- package/dist/ListItemBase.js +12 -0
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListSelectAll.js +1 -1
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/MediaPlayer.js +8 -0
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/SearchableListBase.d.ts +10 -0
- package/dist/SearchableListBase.js +29 -6
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SearchableListBaseTemplate.js +32 -5
- package/dist/SearchableListBaseTemplate.js.map +1 -1
- package/dist/SelectBase.d.ts +65 -1
- package/dist/SelectBase.js +446 -59
- package/dist/SelectBase.js.map +1 -1
- package/dist/SelectBox.d.ts +5 -0
- package/dist/SelectBox.js +33 -2
- package/dist/SelectBox.js.map +1 -1
- package/dist/SelectBoxTemplate.js +2 -2
- package/dist/SelectBoxTemplate.js.map +1 -1
- package/dist/assets/{InputSuggestions-7eP5S95I.js → InputSuggestions-0yCPXAmq.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-CLcWBFcg.js → ListItemStandardExpandableTextTemplate-DjZEnCXN.js} +1 -1
- package/dist/assets/{bundle-CkxyEA8c.css → bundle-C7Yft7IG.css} +1 -1
- package/dist/assets/{bundle.esm-D4--IDh7.js → bundle.esm-DJuMR5ko.js} +241 -241
- package/dist/assets/messagebundle_lv-D06tlATH.js +1 -0
- package/dist/assets/messagebundle_nl-BKUpVV-D.js +1 -0
- package/dist/css/themes/AccordionItem.css +1 -1
- package/dist/css/themes/BreadcrumbsPopover.css +1 -1
- package/dist/css/themes/Contact.css +1 -1
- package/dist/css/themes/Divider.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/ListGroupHeader.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SelectBase.css +1 -1
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/Tile.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/Tooltip.css +1 -1
- package/dist/custom-elements-internal.json +167 -156
- package/dist/custom-elements.json +152 -141
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/templates/ListTemplate.lit.js +1 -1
- package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
- package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
- package/dist/generated/themes/AccordionItem.css.js +1 -1
- package/dist/generated/themes/AccordionItem.css.js.map +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.d.ts +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
- package/dist/generated/themes/Contact.css.d.ts +1 -1
- package/dist/generated/themes/Contact.css.js +1 -1
- package/dist/generated/themes/Contact.css.js.map +1 -1
- package/dist/generated/themes/Divider.css.d.ts +1 -1
- package/dist/generated/themes/Divider.css.js +1 -1
- package/dist/generated/themes/Divider.css.js.map +1 -1
- package/dist/generated/themes/FilterMenu.css.d.ts +1 -1
- package/dist/generated/themes/FilterMenu.css.js +1 -1
- package/dist/generated/themes/FilterMenu.css.js.map +1 -1
- package/dist/generated/themes/Link.css.d.ts +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/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/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/Search.css.d.ts +1 -1
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SelectBase.css.d.ts +1 -1
- package/dist/generated/themes/SelectBase.css.js +1 -1
- package/dist/generated/themes/SelectBase.css.js.map +1 -1
- package/dist/generated/themes/SelectBox.css.d.ts +1 -1
- package/dist/generated/themes/SelectBox.css.js +1 -1
- package/dist/generated/themes/SelectBox.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/Tile.css.d.ts +1 -1
- package/dist/generated/themes/Tile.css.js +1 -1
- package/dist/generated/themes/Tile.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.d.ts +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/Tooltip.css.d.ts +1 -1
- package/dist/generated/themes/Tooltip.css.js +1 -1
- package/dist/generated/themes/Tooltip.css.js.map +1 -1
- package/dist/messagebundle_lv.properties +126 -0
- package/dist/messagebundle_nl.properties +126 -0
- package/dist/vscode.html-custom-data.json +1 -1
- package/dist/web-types.json +3 -3
- package/package.json +1 -1
- package/src/Avatar.ts +52 -3
- package/src/AvatarTemplate.tsx +2 -2
- package/src/CountrySelector.ts +1 -0
- package/src/List.hbs +2 -1
- package/src/List.ts +36 -0
- package/src/ListGroupHeaderBase.ts +3 -0
- package/src/ListItem.ts +12 -3
- package/src/ListItemBase.ts +11 -0
- package/src/ListSelectAll.ts +1 -1
- package/src/MediaPlayer.ts +8 -0
- package/src/SearchableListBase.ts +31 -8
- package/src/SearchableListBaseTemplate.tsx +38 -6
- package/src/SelectBase.ts +466 -69
- package/src/SelectBox.ts +37 -2
- package/src/SelectBoxTemplate.tsx +4 -3
- package/src/generated/templates/ListTemplate.lit.ts +1 -1
- package/src/generated/themes/AccordionItem.css.ts +1 -1
- package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
- package/src/generated/themes/Contact.css.ts +1 -1
- package/src/generated/themes/Divider.css.ts +1 -1
- package/src/generated/themes/FilterMenu.css.ts +1 -1
- package/src/generated/themes/Link.css.ts +1 -1
- package/src/generated/themes/ListGroupHeader.css.ts +1 -1
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MessageStrip.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SelectBase.css.ts +1 -1
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/Tile.css.ts +1 -1
- package/src/generated/themes/Toast.css.ts +1 -1
- package/src/generated/themes/Tooltip.css.ts +1 -1
- package/src/i18n/messagebundle_lv.properties +126 -0
- package/src/i18n/messagebundle_nl.properties +126 -0
- package/src/themes/AccordionItem.css +8 -3
- package/src/themes/BreadcrumbsPopover.css +1 -1
- package/src/themes/Contact.css +3 -3
- package/src/themes/Divider.css +2 -0
- package/src/themes/FilterMenu.css +1 -1
- package/src/themes/Link.css +20 -2
- package/src/themes/ListGroupHeader.css +18 -1
- package/src/themes/ListItem.css +2 -1
- package/src/themes/MessageStrip.css +8 -5
- package/src/themes/Search.css +3 -3
- package/src/themes/SelectBase.css +2 -1
- package/src/themes/SelectBox.css +10 -0
- package/src/themes/Slider.css +1 -1
- package/src/themes/Tile.css +2 -2
- package/src/themes/Toast.css +1 -1
- package/src/themes/Tooltip.css +1 -1
- package/dist/assets/messagebundle_lv-BHId5zho.js +0 -1
- package/dist/assets/messagebundle_nl-etaldyfo.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchableListBase.js","sourceRoot":"","sources":["../src/SearchableListBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport { UDExListMode, UDExListStyleType } from \"./types/List.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExSearch from \"./Search.js\";\nimport type UDExListItemBase from \"./ListItemBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport type UDExList from \"./List.js\";\nimport type UDExListItem from \"./ListItem.js\";\nimport type UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type UDExSelectBoxItem from \"./SelectBoxItem.js\";\nimport { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\nexport type UDExItemFromList = UDExListItemBase | UDExListGroupHeaderBase | null | undefined;\n\ntype UDExSearchableListBaseChangeSearchEventDetail = {\n value: string,\n}\n\ntype UDExSearchableListBaseSelectionChangeEventDetail = {\n selectedItems: Array<UDExListItemBase>,\n item: UDExItemFromList,\n}\ntype UDExSearchableListBaseSubmitSearchEventDetail = {\n selectedItems: Array<UDExListItemBase>\n}\n\ntype UDExSelectBoxIconClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExItemFromList,\n}\n\nexport type UDExSearchableListBaseEvents = {\n \"select-all\": void,\n \"selection-change\": UDExSearchableListBaseSelectionChangeEventDetail,\n \"submit-search\": UDExSearchableListBaseSubmitSearchEventDetail,\n \"reset-search\": void,\n \"change-search\": UDExSearchableListBaseChangeSearchEventDetail,\n \"first-icon-click\": UDExSelectBoxIconClickEventDetail,\n \"second-icon-click\": UDExSelectBoxIconClickEventDetail,\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExFilterMenu</code> ,<code>UDExSelectBox</code> and <code>UDExCountrySelector</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n/**\n * Fired event when the user click on an item on the list.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n *\n */\n@event(\"selection-change\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the Select All header.\n *\n * @public\n */\n@event(\"select-all\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n *\n */\n@event(\"submit-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @public\n */\n@event(\"reset-search\", { bubbles: true })\n\n/**\n * Fired event when the user submitted the value in the search.\n * @param {string} value The search value.\n * @public\n * @param {string} value The search value.\n */\n@event(\"change-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the first icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"first-icon-click\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the second icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"second-icon-click\", { bubbles: true })\n\nclass UDExSearchableListBase extends UI5Element {\n eventDetails!: UDExSearchableListBaseEvents;\n /** @deprecated Tab keyboard navigation is no longer allowed. */\n @property({ type: Boolean })\n tabNavigationEnabled?: boolean;\n\n /**\n * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines if page scrolling should be prevented within the list of items.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n preventPageScroll = false;\n\n /**\n * Defines if the component would display a loading indicator.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n busy?: boolean;\n\n /**\n * Defines if the search input is visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchInput!: boolean;\n\n /**\n * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n *\n * @default 1000\n * @public\n */\n @property({ type: Number })\n busyDelay: number = 1000;\n\n /**\n * Defines the \"no result\" text of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n noResultText!: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property()\n searchPlaceholder!: string;\n\n /**\n * Defines the selectAll option of the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selectAll?: boolean;\n\n /**\n * Defines label text for select all header.\n *\n * @default \"Select All\"\n * @public\n */\n @property()\n selectAllLabel!: string;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Defines the list style type of the dropdown items.\n *\n * @default \"None\"\n * @public\n */\n @property()\n type: `${UDExListStyleType}` = UDExListStyleType.None;\n\n /**\n * Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n itemIcon: string = \"\";\n\n /**\n * Slot for items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n items!: DefaultSlot<UDExListItemBase | UDExListGroupHeaderBase>;\n\n /**\n * Defines the default accessible role for the list component.\n *\n * @default \"listbox\"\n * @public\n */\n @property({ type: String })\n defaultAccessibleRole: string = \"listbox\";\n\n /**\n * Defines the filtered items for the component.\n *\n * @default []\n * @private\n */\n @property({ type: Object })\n _filteredItems!: Array<UDExProcessedItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _shouldFilterItems?: boolean;\n _accSearchResultInfo?: string;\n _groupCollapseStateBeforeSearch: Map<string, boolean>;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._filteredItems = [];\n this._groupCollapseStateBeforeSearch = new Map();\n }\n\n onBeforeRendering() {\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onItemPress(e:CustomEvent) {\n const dropdownItemId: string = this.getDataTokenId(e.detail.item as UDExListItemBase);\n this.handleDropdownItemPress(dropdownItemId);\n this.fireSelectionChange(dropdownItemId);\n }\n\n handleDropdownItemPress(dropdownItemId: string) {\n this.getProcessedItems().forEach(({ item, groupItems, isGroup }) => {\n if (isGroup) {\n const groupItem: UDExListItemBase = groupItems.find(({ _id }) => _id === dropdownItemId)!;\n if (groupItem) {\n this.handleItemClick(groupItem);\n this.handleGroupHeaderState(item as UDExListGroupHeaderBase);\n }\n } else if (item._id === dropdownItemId) {\n this.handleItemClick(item);\n }\n });\n\n this.syncFilteredItems();\n }\n\n handleItemClick(item: UDExListItemBase) {\n if (this.modeSingleSelect) {\n this.revertSelectedItems(this.selectedItems);\n }\n\n if (this.modeRadioGroup) {\n const groupHeader = item.parentElement as UDExListGroupHeaderBase;\n this.revertSelectedItems(groupHeader.getItems());\n }\n\n item.selected = !item.selected;\n }\n\n handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {\n if (this.modeMultiSelect) {\n groupHeader.handleHeaderState();\n }\n }\n\n onHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireSelectionChange(id);\n }\n\n onSelectAllHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireDecoratorEvent(\"select-all\");\n }\n\n handleGroupHeaderSelection(id: string): void {\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === id) {\n (item as UDExListGroupHeaderBase).handleSelectionGroupState();\n }\n });\n }\n\n onSearch(value: string) {\n const searchValue: string = value;\n const hasSearchQuery = searchValue !== \"\";\n\n if (hasSearchQuery && !this._shouldFilterItems) {\n this.saveGroupCollapseState();\n }\n\n if (!hasSearchQuery && this._shouldFilterItems) {\n this.restoreGroupCollapseState();\n }\n\n this._shouldFilterItems = hasSearchQuery;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n const items = this.getFlattenItemsArray(this._filteredItems);\n this._accSearchResultInfo = items.length ? `${items.length} ${this.resultReturnedText}` : this.noMatchesFoundText;\n this.fireDecoratorEvent(\"change-search\", { value: searchValue });\n }\n\n onReset() {\n this.revertSelectedItems(this.selectedItems);\n }\n\n onResetSearch() {\n this.resetSearch();\n this.fireDecoratorEvent(\"reset-search\");\n }\n\n onSubmitSearch() {\n this.fireDecoratorEvent(\"submit-search\", {\n selectedItems: this.selectedItems,\n });\n }\n\n /**\n * Reset the search value.\n * @public\n */\n resetSearch() {\n const search = this.getSearch();\n search.value = \"\";\n this._shouldFilterItems = false;\n this.restoreGroupCollapseState();\n this._filteredItems = this.filterItems(this.getProcessedItems(), \"\");\n }\n\n filterItems(items: Array<UDExProcessedItem>, str: string): Array<UDExProcessedItem> {\n const hasSearchQuery = str !== \"\";\n\n return items.filter(preparedItem => {\n const { isGroup, item } = preparedItem;\n\n if (isGroup) {\n const groupHeaderMatches = this.checkAndUpdateLabel(item, str);\n const filteredChildren = this.filterItemsForLabel(preparedItem.groupItems, str);\n\n if (groupHeaderMatches) {\n preparedItem.groupItems.forEach(child => this.checkAndUpdateLabel(child, str));\n } else {\n preparedItem.groupItems = filteredChildren;\n }\n\n if (hasSearchQuery && (groupHeaderMatches || preparedItem.groupItems.length > 0)) {\n item.collapsed = false;\n }\n\n return !hasSearchQuery || groupHeaderMatches || preparedItem.groupItems.length > 0;\n }\n\n return this.checkAndUpdateLabel(item, str);\n });\n }\n\n filterItemsForLabel(groupItems: Array<UDExListItemBase>, str: string): Array<UDExListItemBase> {\n return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));\n }\n\n checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {\n if (item.ratingCount) {\n return this.isIncludes(item.ratingCount, str);\n }\n\n if (!item.label) {\n console.warn(\"A label property is required for the item\");\n return false;\n }\n const cleanedLabel = cleanLabel(item.label);\n if (this.isIncludes(cleanedLabel, str)) {\n item.label = this.addSearchTermTag(cleanedLabel, str);\n return true;\n }\n\n item.label = cleanedLabel;\n return false;\n }\n\n addSearchTermTag(text: string, str: string): string {\n if (!str.length) {\n return text;\n }\n\n const regex = new RegExp(`(${str})`, \"i\");\n return text.replace(regex, \"<b>$1</b>\");\n }\n\n isIncludes(string: string, value: string): boolean {\n return string.toLowerCase().includes(value.toLowerCase());\n }\n\n revertSelectedItems(items: Array<UDExListItemBase>) {\n items.forEach((item: UDExListItemBase) => {\n if (!item.disabled) {\n item.selected = false;\n }\n });\n }\n\n syncFilteredItems() {\n const search = this.getSearch();\n if (this._shouldFilterItems) {\n this._filteredItems = this.filterItems(this.getProcessedItems(), search.value);\n } else {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n saveGroupCollapseState(): void {\n this._groupCollapseStateBeforeSearch.clear();\n\n this.items.forEach(item => {\n if (item.isGroup) {\n this._groupCollapseStateBeforeSearch.set(item._id, Boolean(item.collapsed));\n }\n });\n }\n\n restoreGroupCollapseState(): void {\n if (!this._groupCollapseStateBeforeSearch.size) {\n return;\n }\n\n this.items.forEach(item => {\n if (item.isGroup) {\n const collapsed = this._groupCollapseStateBeforeSearch.get(item._id);\n\n if (collapsed !== undefined) {\n item.collapsed = collapsed;\n }\n }\n });\n\n this._groupCollapseStateBeforeSearch.clear();\n }\n\n getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];\n items.forEach(item => {\n arr.push(item);\n if (item.isGroup) {\n arr.push(...(item as UDExListGroupHeaderBase).getItems());\n }\n });\n return arr;\n }\n\n getItemFromList(itemId:string): UDExItemFromList {\n let menuItem = null;\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i];\n\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n menuItem = groupItems.find(({ _id }) => _id === itemId);\n\n if (menuItem) {\n break;\n }\n } else if (item._id === itemId) {\n menuItem = item;\n break;\n }\n }\n\n return menuItem;\n }\n\n fireSelectionChange(itemId: string) {\n this.fireDecoratorEvent(\"selection-change\", {\n selectedItems: this.selectedItems,\n item: this.getItemFromList(itemId),\n });\n }\n\n fireFirstIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"first-icon-click\", e);\n }\n\n fireSecondIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"second-icon-click\", e);\n }\n\n _dropdownScrollToTop() {\n this.getPopoverPart(UDExPopoverPart.Content)?.scrollTo({ top: 0 });\n }\n\n _dropdownScrollToSelectedItem() {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n const activeItem = this.activeItem;\n if (!content || !activeItem) { return; }\n const itemRect = activeItem.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n content.scrollTop += itemRect.top - contentRect.top + itemRect.height / 2 - content.clientHeight / 2;\n }\n\n _handleDropdownScroll() {\n if (this.modeMultiSelect) {\n this._dropdownScrollToTop();\n }\n if (this.modeSingleSelect) {\n this._dropdownScrollToSelectedItem();\n }\n }\n\n focusFirstItem(): void {\n const list = this.getList();\n const items = list.getKeyboardNavigationItems();\n if (!items.length) { return; }\n const firstIndex = (items[0]?.nonInteractive && !items[0]?.collapsible) ? 1 : 0;\n const firstItem = items[firstIndex];\n list.setTabIndexByIndex(items, firstIndex);\n\n if (firstItem.isGroup) {\n list.focusHeader(firstItem);\n } else {\n list.focusItem(firstItem);\n }\n }\n\n private _fireIconClickEvent(eventName: \"first-icon-click\" | \"second-icon-click\", e: CustomEvent): void {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.fireDecoratorEvent(eventName, {\n originalEvent: e.detail.originalEvent,\n item: this.getItemFromList(id),\n });\n }\n\n getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[] {\n return array.flatMap(item => {\n if (item.isGroup) {\n return [\n item,\n ...item.groupItems.filter(groupItem => !groupItem.disabled),\n ];\n }\n return item.item.disabled ? [] : [item.item];\n });\n }\n\n getCurrentIndex(item: UDExListItem): number {\n return this.getDomListItems().indexOf(item);\n }\n\n getList(): UDExList {\n return this.shadowRoot!.querySelector<UDExList>(\"[udex-list]\")!;\n }\n\n getSearch(): UDExSearch | HTMLInputElement {\n return this.shadowRoot!.querySelector<UDExSearch>(\"[udex-search]\")! || this.shadowRoot!.querySelector<HTMLInputElement>(\".udex-text-field__search\")!;\n }\n\n getPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getDomListItems(): UDExListItem[] {\n const elementList = this.shadowRoot!.querySelector(\"[udex-list]\") as HTMLElement;\n return elementList ? Array.from(elementList.querySelectorAll(\"[udex-list-item]\")) : [];\n }\n\n getDataTokenId(item: UDExListItemBase): string {\n return item.getAttribute(\"data-token-id\") as string;\n }\n\n getProcessedItems(): Array<UDExProcessedItem> {\n return this._validItems.map(item => {\n const isGroup = item.isGroup;\n const groupItems = isGroup ? (item as UDExListGroupHeaderBase).getItems() : [];\n\n if (isGroup) {\n this._setItemsModeAndControl(groupItems);\n }\n\n item.mode = this.mode;\n item.controlled = this.isControlled;\n\n return { item, groupItems, isGroup };\n });\n }\n\n getPopoverPart(part: UDExPopoverPart): HTMLElement {\n return this.getPopover().shadowRoot!.querySelector<HTMLElement>(`[part=${part}]`)!;\n }\n\n _managePopupListeners(part: UDExPopoverPart, action: \"addEventListener\" | \"removeEventListener\"): void {\n const element = this.getPopoverPart(part);\n element?.[action](\"wheel\", ((e: WheelEvent) => e.preventDefault()) as EventListener);\n }\n\n _setContentHeight(): void {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n content.style.maxHeight = this.height || \"\";\n }\n\n _setItemsModeAndControl(items: Array<UDExFilterMenuItem | UDExSelectBoxItem>) {\n items.forEach(item => {\n item.mode = this.mode;\n item.controlled = this.isControlled;\n });\n }\n\n get activeItem(): UDExListItem | undefined {\n return this.getDomListItems().find(({ selected }) => selected);\n }\n\n get _validItems(): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n return this.items.filter(item => !(item instanceof HTMLElement) || \"isGroup\" in item);\n }\n\n get getNoResultText(): string {\n const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;\n return hasTextProperty ? this.noResultText : this.noMatchesFoundText;\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExSearchableListBase, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExSearchableListBase, RESULT_RETURNED);\n }\n\n get startsText(): string {\n return translate(UDExSearchableListBase, STARS);\n }\n\n get isListEmpty(): boolean {\n return this._filteredItems.length === 0;\n }\n\n get selectedItems(): Array<UDExListItemBase> {\n const selectedItems: Array<UDExListItemBase> = this.getSlottedItems(this._validItems).filter(({ selected }) => selected);\n return selectedItems;\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 modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get isControlled(): boolean {\n const isGrouping = this.items.some(({ isGroup }) => isGroup);\n return this.modeMultiSelect && isGrouping;\n }\n\n /**\n * Whether the dropdown list should use the ARIA tree pattern\n * (role=\"tree\"/\"treeitem\" with aria-expanded / aria-selected / aria-checked).\n *\n * Base implementation is never a tree. Subclasses that support grouped\n * hierarchical navigation (e.g. UDExFilterMenu) override this with their\n * own mode/collapsible rules.\n */\n get isTreeStructure(): boolean {\n return false;\n }\n\n get additionalClassName(): string {\n return `udex-searchable-list__header`;\n }\n\n get groupClassName(): string {\n const classHeader = `udex-searchable-list__header`;\n return this.showSearch ? `${classHeader} udex-searchable-list__header_no-margin` : classHeader;\n }\n\n get showSearch(): boolean {\n const isSearchVisible = this.showSearchInput || (this.isSearchActive && !this.modeRadioGroup);\n return !this.hideDropdownSearch && isSearchVisible;\n }\n\n get isSearchActive(): boolean {\n return this.nonGroupItems.length > SHOW_SEARCH_AFTER_COUNT;\n }\n\n get nonGroupItems(): Array<UDExListItemBase> {\n return this.getSlottedItems(this._validItems).filter(item => !item.isGroup);\n }\n\n get roleForGroupList(): string {\n // Host is always transparent; the shadow-inner div carries the widget role\n // (tree/listbox) via accessibleRoleForList.\n return \"none\";\n }\n\n get accessibleRoleForList(): string {\n if (this.isTreeStructure) {\n return \"tree\";\n }\n return this.defaultAccessibleRole;\n }\n\n get listItemRole(): string {\n if (this.isTreeStructure) {\n return \"treeitem\";\n }\n\n if (this.accessibleRoleForList === \"listbox\") {\n return \"option\";\n }\n\n return \"none\";\n }\n\n get hideDropdownSearch(): boolean {\n return false;\n }\n}\n\nexport default UDExSearchableListBase;\nexport type {\n UDExSelectBoxIconClickEventDetail, UDExSearchableListBaseSubmitSearchEventDetail, UDExSearchableListBaseChangeSearchEventDetail, UDExSearchableListBaseSelectionChangeEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SearchableListBase.js","sourceRoot":"","sources":["../src/SearchableListBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport { UDExListMode, UDExListStyleType } from \"./types/List.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExSearch from \"./Search.js\";\nimport type UDExListItemBase from \"./ListItemBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport type UDExList from \"./List.js\";\nimport type UDExListItem from \"./ListItem.js\";\nimport type UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type UDExSelectBoxItem from \"./SelectBoxItem.js\";\nimport { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\nexport type UDExItemFromList = UDExListItemBase | UDExListGroupHeaderBase | null | undefined;\n\ntype UDExSearchableListBaseChangeSearchEventDetail = {\n value: string,\n}\n\ntype UDExSearchableListBaseSelectionChangeEventDetail = {\n selectedItems: Array<UDExListItemBase>,\n item: UDExItemFromList,\n}\ntype UDExSearchableListBaseSubmitSearchEventDetail = {\n selectedItems: Array<UDExListItemBase>\n}\n\ntype UDExSelectBoxIconClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExItemFromList,\n}\n\nexport type UDExSearchableListBaseEvents = {\n \"select-all\": void,\n \"selection-change\": UDExSearchableListBaseSelectionChangeEventDetail,\n \"submit-search\": UDExSearchableListBaseSubmitSearchEventDetail,\n \"reset-search\": void,\n \"change-search\": UDExSearchableListBaseChangeSearchEventDetail,\n \"first-icon-click\": UDExSelectBoxIconClickEventDetail,\n \"second-icon-click\": UDExSelectBoxIconClickEventDetail,\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExFilterMenu</code> ,<code>UDExSelectBox</code> and <code>UDExCountrySelector</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n/**\n * Fired event when the user click on an item on the list.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n *\n */\n@event(\"selection-change\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the Select All header.\n *\n * @public\n */\n@event(\"select-all\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n *\n */\n@event(\"submit-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @public\n */\n@event(\"reset-search\", { bubbles: true })\n\n/**\n * Fired event when the user submitted the value in the search.\n * @param {string} value The search value.\n * @public\n * @param {string} value The search value.\n */\n@event(\"change-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the first icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"first-icon-click\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the second icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"second-icon-click\", { bubbles: true })\n\nclass UDExSearchableListBase extends UI5Element {\n eventDetails!: UDExSearchableListBaseEvents;\n /** @deprecated Tab keyboard navigation is no longer allowed. */\n @property({ type: Boolean })\n tabNavigationEnabled?: boolean;\n\n /**\n * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines if page scrolling should be prevented within the list of items.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n preventPageScroll = false;\n\n /**\n * Defines if the component would display a loading indicator.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n busy?: boolean;\n\n /**\n * Defines if the search input is visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchInput!: boolean;\n\n /**\n * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n *\n * @default 1000\n * @public\n */\n @property({ type: Number })\n busyDelay: number = 1000;\n\n /**\n * Defines the \"no result\" text of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n noResultText!: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property()\n searchPlaceholder!: string;\n\n /**\n * Defines the selectAll option of the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selectAll?: boolean;\n\n /**\n * Defines label text for select all header.\n *\n * @default \"Select All\"\n * @public\n */\n @property()\n selectAllLabel!: string;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Defines the list style type of the dropdown items.\n *\n * @default \"None\"\n * @public\n */\n @property()\n type: `${UDExListStyleType}` = UDExListStyleType.None;\n\n /**\n * Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n itemIcon: string = \"\";\n\n /**\n * Slot for items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n items!: DefaultSlot<UDExListItemBase | UDExListGroupHeaderBase>;\n\n /**\n * Defines the default accessible role for the list component.\n *\n * @default \"listbox\"\n * @public\n */\n @property({ type: String })\n defaultAccessibleRole: string = \"listbox\";\n\n /**\n * Defines the filtered items for the component.\n *\n * @default []\n * @private\n */\n @property({ type: Object })\n _filteredItems!: Array<UDExProcessedItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _shouldFilterItems?: boolean;\n _accSearchResultInfo?: string;\n _groupCollapseStateBeforeSearch: Map<string, boolean>;\n _pendingHeightReset: boolean = false;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._filteredItems = [];\n this._groupCollapseStateBeforeSearch = new Map();\n }\n\n onBeforeRendering() {\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onAfterRendering() {\n if (this._pendingHeightReset) {\n this._pendingHeightReset = false;\n this.shadowRoot?.querySelectorAll<HTMLElement & { setContentHeight(): void }>(\"[udex-list-group-header]\")\n .forEach(header => {\n if (header.hasAttribute(\"collapsible\")) {\n header.style.removeProperty(\"--udex-list-content-max-height\");\n header.setContentHeight();\n }\n });\n }\n }\n\n onItemPress(e:CustomEvent) {\n const dropdownItemId: string = this.getDataTokenId(e.detail.item as UDExListItemBase);\n this.handleDropdownItemPress(dropdownItemId);\n this.fireSelectionChange(dropdownItemId);\n }\n\n handleDropdownItemPress(dropdownItemId: string) {\n this.getProcessedItems().forEach(({ item, groupItems, isGroup }) => {\n if (isGroup) {\n const groupItem: UDExListItemBase = groupItems.find(({ _id }) => _id === dropdownItemId)!;\n if (groupItem) {\n this.handleItemClick(groupItem);\n this.handleGroupHeaderState(item as UDExListGroupHeaderBase);\n }\n } else if (item._id === dropdownItemId) {\n this.handleItemClick(item);\n }\n });\n\n this.syncFilteredItems();\n }\n\n handleItemClick(item: UDExListItemBase) {\n if (this.modeSingleSelect) {\n this.revertSelectedItems(this.selectedItems);\n }\n\n if (this.modeRadioGroup) {\n const groupHeader = item.parentElement as UDExListGroupHeaderBase;\n this.revertSelectedItems(groupHeader.getItems());\n }\n\n item.selected = !item.selected;\n }\n\n handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {\n if (this.modeMultiSelect) {\n groupHeader.handleHeaderState();\n }\n }\n\n onHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireSelectionChange(id);\n }\n\n onSelectAllHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireDecoratorEvent(\"select-all\");\n }\n\n handleGroupHeaderSelection(id: string): void {\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === id) {\n (item as UDExListGroupHeaderBase).handleSelectionGroupState();\n }\n });\n }\n\n onSearch(value: string) {\n const searchValue: string = value;\n const hasSearchQuery = searchValue !== \"\";\n\n if (hasSearchQuery && !this._shouldFilterItems) {\n this.saveGroupCollapseState();\n }\n\n if (!hasSearchQuery && this._shouldFilterItems) {\n this.restoreGroupCollapseState();\n }\n\n this._shouldFilterItems = hasSearchQuery;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n const items = this.getFlattenItemsArray(this._filteredItems);\n this._accSearchResultInfo = items.length ? `${items.length} ${this.resultReturnedText}` : this.noMatchesFoundText;\n this.fireDecoratorEvent(\"change-search\", { value: searchValue });\n }\n\n onReset() {\n this.revertSelectedItems(this.selectedItems);\n }\n\n onResetSearch() {\n this.resetSearch();\n this.fireDecoratorEvent(\"reset-search\");\n }\n\n onSubmitSearch() {\n this.fireDecoratorEvent(\"submit-search\", {\n selectedItems: this.selectedItems,\n });\n }\n\n /**\n * Reset the search value.\n * @public\n */\n resetSearch() {\n const search = this.getSearch();\n search.value = \"\";\n this._shouldFilterItems = false;\n this.restoreGroupCollapseState();\n this._filteredItems = this.filterItems(this.getProcessedItems(), \"\");\n }\n\n filterItems(items: Array<UDExProcessedItem>, str: string): Array<UDExProcessedItem> {\n const hasSearchQuery = str !== \"\";\n\n return items.filter(preparedItem => {\n const { isGroup, item } = preparedItem;\n\n if (isGroup) {\n const groupHeaderMatches = this.checkAndUpdateLabel(item, str);\n const filteredChildren = this.filterItemsForLabel(preparedItem.groupItems, str);\n\n if (groupHeaderMatches) {\n preparedItem.groupItems.forEach(child => this.checkAndUpdateLabel(child, str));\n } else {\n preparedItem.groupItems = filteredChildren;\n }\n\n if (hasSearchQuery && (groupHeaderMatches || preparedItem.groupItems.length > 0)) {\n item.collapsed = false;\n }\n\n return !hasSearchQuery || groupHeaderMatches || preparedItem.groupItems.length > 0;\n }\n\n return this.checkAndUpdateLabel(item, str);\n });\n }\n\n filterItemsForLabel(groupItems: Array<UDExListItemBase>, str: string): Array<UDExListItemBase> {\n return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));\n }\n\n checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {\n if (item.ratingCount) {\n return this.isIncludes(item.ratingCount, str);\n }\n\n if (!item.label) {\n console.warn(\"A label property is required for the item\");\n return false;\n }\n const cleanedLabel = cleanLabel(item.label);\n if (this.isIncludes(cleanedLabel, str)) {\n item.label = this.addSearchTermTag(cleanedLabel, str);\n return true;\n }\n\n item.label = cleanedLabel;\n return false;\n }\n\n addSearchTermTag(text: string, str: string): string {\n if (!str.length) {\n return text;\n }\n\n const regex = new RegExp(`(${str})`, \"i\");\n return text.replace(regex, \"<b>$1</b>\");\n }\n\n isIncludes(string: string, value: string): boolean {\n return string.toLowerCase().includes(value.toLowerCase());\n }\n\n revertSelectedItems(items: Array<UDExListItemBase>) {\n items.forEach((item: UDExListItemBase) => {\n if (!item.disabled) {\n item.selected = false;\n }\n });\n }\n\n syncFilteredItems() {\n const search = this.getSearch();\n if (this._shouldFilterItems) {\n this._filteredItems = this.filterItems(this.getProcessedItems(), search.value);\n } else {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n saveGroupCollapseState(): void {\n this._groupCollapseStateBeforeSearch.clear();\n\n this.items.forEach(item => {\n if (item.isGroup) {\n this._groupCollapseStateBeforeSearch.set(item._id, Boolean(item.collapsed));\n }\n });\n }\n\n restoreGroupCollapseState(): void {\n this.items.forEach(item => {\n if (item.isGroup) {\n if (this._groupCollapseStateBeforeSearch.size) {\n const collapsed = this._groupCollapseStateBeforeSearch.get(item._id);\n if (collapsed !== undefined) {\n item.collapsed = collapsed;\n }\n }\n }\n });\n\n this._groupCollapseStateBeforeSearch.clear();\n this._pendingHeightReset = true;\n }\n\n getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];\n items.forEach(item => {\n arr.push(item);\n if (item.isGroup) {\n arr.push(...(item as UDExListGroupHeaderBase).getItems());\n }\n });\n return arr;\n }\n\n getItemFromList(itemId:string): UDExItemFromList {\n let menuItem = null;\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i];\n\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n menuItem = groupItems.find(({ _id }) => _id === itemId);\n\n if (menuItem) {\n break;\n }\n } else if (item._id === itemId) {\n menuItem = item;\n break;\n }\n }\n\n return menuItem;\n }\n\n fireSelectionChange(itemId: string) {\n this.fireDecoratorEvent(\"selection-change\", {\n selectedItems: this.selectedItems,\n item: this.getItemFromList(itemId),\n });\n }\n\n fireFirstIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"first-icon-click\", e);\n }\n\n fireSecondIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"second-icon-click\", e);\n }\n\n _dropdownScrollToTop() {\n this.getPopoverPart(UDExPopoverPart.Content)?.scrollTo({ top: 0 });\n }\n\n _dropdownScrollToSelectedItem() {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n const activeItem = this.activeItem;\n if (!content || !activeItem) { return; }\n const itemRect = activeItem.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n content.scrollTop += itemRect.top - contentRect.top + itemRect.height / 2 - content.clientHeight / 2;\n }\n\n _handleDropdownScroll() {\n if (this.modeMultiSelect) {\n this._dropdownScrollToTop();\n }\n if (this.modeSingleSelect) {\n this._dropdownScrollToSelectedItem();\n }\n }\n\n focusFirstItem(): void {\n const list = this.getList();\n const items = list.getKeyboardNavigationItems();\n if (!items.length) { return; }\n const firstIndex = (items[0]?.nonInteractive && !items[0]?.collapsible) ? 1 : 0;\n const firstItem = items[firstIndex];\n list.setTabIndexByIndex(items, firstIndex);\n\n if (firstItem.isGroup) {\n list.focusHeader(firstItem);\n } else {\n list.focusItem(firstItem);\n }\n }\n\n private _fireIconClickEvent(eventName: \"first-icon-click\" | \"second-icon-click\", e: CustomEvent): void {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.fireDecoratorEvent(eventName, {\n originalEvent: e.detail.originalEvent,\n item: this.getItemFromList(id),\n });\n }\n\n getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[] {\n return array.flatMap(item => {\n if (item.isGroup) {\n return [\n item,\n ...item.groupItems.filter(groupItem => !groupItem.disabled),\n ];\n }\n return item.item.disabled ? [] : [item.item];\n });\n }\n\n getCurrentIndex(item: UDExListItem): number {\n return this.getDomListItems().indexOf(item);\n }\n\n getList(): UDExList {\n return this.shadowRoot!.querySelector<UDExList>(\"[udex-list]\")!;\n }\n\n getSearch(): UDExSearch | HTMLInputElement {\n return this.shadowRoot!.querySelector<UDExSearch>(\"[udex-search]\")! || this.shadowRoot!.querySelector<HTMLInputElement>(\".udex-text-field__search\")!;\n }\n\n getPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getDomListItems(): UDExListItem[] {\n const elementList = this.shadowRoot!.querySelector(\"[udex-list]\") as HTMLElement;\n return elementList ? Array.from(elementList.querySelectorAll(\"[udex-list-item]\")) : [];\n }\n\n getDataTokenId(item: UDExListItemBase): string {\n return item.getAttribute(\"data-token-id\") as string;\n }\n\n getProcessedItems(): Array<UDExProcessedItem> {\n return this._validItems.map(item => {\n const isGroup = item.isGroup;\n const groupItems = isGroup ? (item as UDExListGroupHeaderBase).getItems() : [];\n\n if (isGroup) {\n this._setItemsModeAndControl(groupItems);\n }\n\n item.mode = this.mode;\n item.controlled = this.isControlled;\n\n return { item, groupItems, isGroup };\n });\n }\n\n getPopoverPart(part: UDExPopoverPart): HTMLElement {\n return this.getPopover().shadowRoot!.querySelector<HTMLElement>(`[part=${part}]`)!;\n }\n\n _managePopupListeners(part: UDExPopoverPart, action: \"addEventListener\" | \"removeEventListener\"): void {\n const element = this.getPopoverPart(part);\n element?.[action](\"wheel\", ((e: WheelEvent) => e.preventDefault()) as EventListener);\n }\n\n _setContentHeight(): void {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n content.style.maxHeight = this.height || \"\";\n }\n\n _setItemsModeAndControl(items: Array<UDExFilterMenuItem | UDExSelectBoxItem>) {\n items.forEach(item => {\n item.mode = this.mode;\n item.controlled = this.isControlled;\n });\n }\n\n get activeItem(): UDExListItem | undefined {\n return this.getDomListItems().find(({ selected }) => selected);\n }\n\n get _validItems(): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n return this.items.filter(item => !(item instanceof HTMLElement) || \"isGroup\" in item);\n }\n\n get getNoResultText(): string {\n const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;\n return hasTextProperty ? this.noResultText : this.noMatchesFoundText;\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExSearchableListBase, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExSearchableListBase, RESULT_RETURNED);\n }\n\n get startsText(): string {\n return translate(UDExSearchableListBase, STARS);\n }\n\n get isListEmpty(): boolean {\n return this._filteredItems.length === 0;\n }\n\n get selectedItems(): Array<UDExListItemBase> {\n const selectedItems: Array<UDExListItemBase> = this.getSlottedItems(this._validItems).filter(({ selected }) => selected);\n return selectedItems;\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 modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get isControlled(): boolean {\n const isGrouping = this.items.some(({ isGroup }) => isGroup);\n return this.modeMultiSelect && isGrouping;\n }\n\n /**\n * Whether the dropdown list should use the ARIA tree pattern\n * (role=\"tree\"/\"treeitem\" with aria-expanded / aria-selected / aria-checked).\n *\n * Base implementation is never a tree. Subclasses that support grouped\n * hierarchical navigation (e.g. UDExFilterMenu) override this with their\n * own mode/collapsible rules.\n */\n get isTreeStructure(): boolean {\n return false;\n }\n\n /**\n * Whether items are navigated via aria-activedescendant (focus stays on the\n * combobox input) rather than via DOM focus on each item. When true,\n * SearchableListBaseTemplate places role + ARIA state attrs on the host\n * element of each list-item so that screen readers can read them through the\n * aria-activedescendant pointer.\n */\n get _activeDescendantMode(): boolean {\n return false;\n }\n\n get additionalClassName(): string {\n return `udex-searchable-list__header`;\n }\n\n get groupClassName(): string {\n const classHeader = `udex-searchable-list__header`;\n return this.showSearch ? `${classHeader} udex-searchable-list__header_no-margin` : classHeader;\n }\n\n get showSearch(): boolean {\n const isSearchVisible = this.showSearchInput || (this.isSearchActive && !this.modeRadioGroup);\n return !this.hideDropdownSearch && isSearchVisible;\n }\n\n get isSearchActive(): boolean {\n return this.nonGroupItems.length > SHOW_SEARCH_AFTER_COUNT;\n }\n\n get nonGroupItems(): Array<UDExListItemBase> {\n return this.getSlottedItems(this._validItems).filter(item => !item.isGroup);\n }\n\n get roleForGroupList(): string {\n // Host is always transparent; the shadow-inner div carries the widget role\n // (tree/listbox) via accessibleRoleForList.\n return \"none\";\n }\n\n get accessibleRoleForList(): string {\n if (this.isTreeStructure) {\n return \"tree\";\n }\n return this.defaultAccessibleRole;\n }\n\n get listItemRole(): string {\n if (this.isTreeStructure) {\n return \"treeitem\";\n }\n\n if (this.accessibleRoleForList === \"listbox\") {\n return \"option\";\n }\n\n return \"none\";\n }\n\n get hideDropdownSearch(): boolean {\n return false;\n }\n}\n\nexport default UDExSearchableListBase;\nexport type {\n UDExSelectBoxIconClickEventDetail, UDExSearchableListBaseSubmitSearchEventDetail, UDExSearchableListBaseChangeSearchEventDetail, UDExSearchableListBaseSelectionChangeEventDetail,\n};\n"]}
|
|
@@ -6,10 +6,11 @@ import UDExList from "./List.js";
|
|
|
6
6
|
import UDExListItem from "./ListItem.js";
|
|
7
7
|
import UDExListGroupHeader from "./ListGroupHeader.js";
|
|
8
8
|
import UDExListSelectAll from "./ListSelectAll.js";
|
|
9
|
+
import { cleanLabel } from "./utils/listItemLabelUtils.js";
|
|
9
10
|
export default function SearchableListBaseTemplate() {
|
|
10
11
|
return (_jsxs(_Fragment, { children: [this.showSearch && (_jsxs(_Fragment, { children: [_jsx(UDExSearch, { slot: "header", mode: UDExSearchMode.Standard, class: "udex-filter-menu__search", label: this.searchPlaceholder, "label-animation-disabled": true, "non-interactive-submit-button": true, "show-submit-button": true }), _jsx("span", { "aria-live": "polite", "aria-atomic": "true", class: "hidden", children: this._accSearchResultInfo })] })), this.isListEmpty ? (_jsxs("div", { class: "udex-no-result", children: [_jsx(IllustratedMessage, { name: "NoSearchResults", design: "Dot", "title-text": " ", "subtitle-text": " " }), _jsx("span", { children: this.getNoResultText })] })) : this.busy ? (_jsx(UDExBusyIndicator, { class: "udex-busy-indicator", size: "M", delay: this.busyDelay, active: true })) : (_jsx(UDExList, { id: "udex-list", role: this.roleForGroupList, "accessible-role": this.accessibleRoleForList, ...(this.isTreeStructure && this.modeMultiSelect ? { "aria-multiselectable": "true" } : {}), class: "udex-filter-menu__list", controlled: this.isControlled, mode: this.mode, type: this.type, "item-icon": this.itemIcon, children: this._filteredItems.map((processedItem, index) => (processedItem.isGroup
|
|
11
12
|
? renderGroup.call(this, processedItem, index)
|
|
12
|
-
: renderListItem(processedItem.item, index, "none", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent))) }))] }));
|
|
13
|
+
: renderListItem(processedItem.item, index, "none", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect))) }))] }));
|
|
13
14
|
}
|
|
14
15
|
function renderGroup(processedItem, index) {
|
|
15
16
|
return processedItem.item.isSelectAllHeader
|
|
@@ -19,15 +20,41 @@ function renderGroup(processedItem, index) {
|
|
|
19
20
|
function renderSelectAll(processedItem, index) {
|
|
20
21
|
const { item, groupItems } = processedItem;
|
|
21
22
|
const header = item;
|
|
22
|
-
return (_jsx(UDExListSelectAll, { "_additional-class-name": this.additionalClassName, "data-token-id": item._id, label: item.label, controlled: header.controlled, "supporting-text": item.supportingText, disabled: item.disabled, selected: item.selected, indeterminate: header.indeterminate, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, children: groupItems.map((child, i) => renderListItem(child, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)) }, index));
|
|
23
|
+
return (_jsx(UDExListSelectAll, { "_additional-class-name": this.additionalClassName, "data-token-id": item._id, label: item.label, controlled: header.controlled, "supporting-text": item.supportingText, disabled: item.disabled, selected: item.selected, indeterminate: header.indeterminate, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, children: groupItems.map((child, i) => renderListItem(child, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)) }, index));
|
|
23
24
|
}
|
|
24
25
|
function renderGroupHeader(processedItem, index) {
|
|
25
26
|
const { item, groupItems } = processedItem;
|
|
26
27
|
const header = item;
|
|
27
28
|
const childAccessibleRole = this.isTreeStructure ? "treeitem" : undefined;
|
|
28
|
-
|
|
29
|
+
// In aria-activedescendant mode (SelectBox), each group header host element
|
|
30
|
+
// must carry role + ARIA state so screen readers can reach them via the pointer.
|
|
31
|
+
const hostAriaAttrs = this._activeDescendantMode ? {
|
|
32
|
+
role: (this.isTreeStructure ? "treeitem" : "option"),
|
|
33
|
+
"aria-label": cleanLabel(item.label ?? ""),
|
|
34
|
+
"aria-selected": (this.modeMultiSelect ? undefined : (item.selected ? "true" : "false")),
|
|
35
|
+
"aria-checked": (this.modeMultiSelect ? (header.indeterminate ? "mixed" : (item.selected ? "true" : "false")) : undefined),
|
|
36
|
+
"aria-disabled": item.disabled ? "true" : undefined,
|
|
37
|
+
"aria-expanded": header.collapsible ? (header.expanded ? "true" : "false") : undefined,
|
|
38
|
+
"_use-host-aria-role": true,
|
|
39
|
+
} : { role: (this.isTreeStructure ? "none" : "group") };
|
|
40
|
+
return (_jsx(UDExListGroupHeader, { id: item._id, ...hostAriaAttrs, "_tree-mode": this.isTreeStructure || undefined, ...(index === 0 ? { "_no-border": "" } : {}), "_additional-class-name": "udex-searchable-list__header", class: this.groupClassName, "non-interactive": header.nonInteractive, "data-token-id": item._id, label: item.label, "supporting-text": item.supportingText, controlled: header.controlled, collapsible: header.collapsible, collapsed: header.collapsed, _filtered: this._shouldFilterItems, disabled: item.disabled, selected: item.selected, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, indeterminate: header.indeterminate, children: groupItems.map((child, i) => renderListItem(child, i, "none", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)) }, index));
|
|
29
41
|
}
|
|
30
|
-
function renderListItem(item, index, role, accessibleRole, onFirstIconClick, onSecondIconClick) {
|
|
31
|
-
|
|
42
|
+
function renderListItem(item, index, role, accessibleRole, onFirstIconClick, onSecondIconClick, activeDescendantMode, isTreeStructure, modeMultiSelect) {
|
|
43
|
+
// In aria-activedescendant mode (SelectBox), role + ARIA state must be on the
|
|
44
|
+
// host element so screen readers can reach them via the aria-activedescendant pointer.
|
|
45
|
+
const effectiveRole = accessibleRole ?? (role !== "none" ? role : undefined) ?? "option";
|
|
46
|
+
const hostRole = activeDescendantMode ? effectiveRole : role;
|
|
47
|
+
const hostAriaAttrs = activeDescendantMode ? {
|
|
48
|
+
"aria-label": "test",
|
|
49
|
+
// option role (listbox): always aria-selected; treeitem + MultiSelect: aria-checked only
|
|
50
|
+
"aria-selected": (effectiveRole !== "treeitem" || !modeMultiSelect) ? (item.selected ? "true" : "false") : undefined,
|
|
51
|
+
"aria-checked": (effectiveRole === "treeitem" && !!modeMultiSelect) ? (item.indeterminate ? "mixed" : (item.selected ? "true" : "false")) : undefined,
|
|
52
|
+
"aria-disabled": item.disabled ? "true" : undefined,
|
|
53
|
+
"_use-host-aria-role": true,
|
|
54
|
+
...(accessibleRole ? { "accessible-role": accessibleRole } : {}),
|
|
55
|
+
} : {
|
|
56
|
+
...(accessibleRole ? { "accessible-role": accessibleRole } : {}),
|
|
57
|
+
};
|
|
58
|
+
return (_jsx(UDExListItem, { id: item._id, role: hostRole, "data-token-id": item._id, controlled: item.controlled, mode: item.mode, onFirstIconClick: onFirstIconClick, onSecondIconClick: onSecondIconClick, "supporting-text": item.supportingText, "additional-text": item.additionalText, "additional-text-state": item.additionalTextState, divider: item.divider, disabled: item.disabled, selected: item.selected, rating: item.rating, "total-count": item.totalCount, "rating-count": item.ratingCount, "rating-max": item.ratingMax, label: item.label, image: item.image, "image-alt": item.imageAlt, "image-badge-state": item.imageBadgeState, "image-shape": item.imageShape, "image-size": item.imageSize, flag: item.flag, "flag-position": item.flagPosition, size: item.size, type: item.type, ...hostAriaAttrs, ...(item.innerHTML ? { dangerouslySetInnerHTML: { __html: item.innerHTML } } : {}) }, index));
|
|
32
59
|
}
|
|
33
60
|
//# sourceMappingURL=SearchableListBaseTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchableListBaseTemplate.js","sourceRoot":"","sources":["../src/SearchableListBaseTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\n\nexport default function SearchableListBaseTemplate(this: UDExSearchableListBase) {\n return (\n <>\n {this.showSearch && (\n <>\n <UDExSearch\n slot=\"header\"\n mode={UDExSearchMode.Standard}\n class=\"udex-filter-menu__search\"\n label={this.searchPlaceholder}\n label-animation-disabled\n non-interactive-submit-button\n show-submit-button>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n {this.isListEmpty ? (\n <div class=\"udex-no-result\">\n <IllustratedMessage\n name=\"NoSearchResults\"\n design=\"Dot\"\n title-text=\" \"\n subtitle-text=\" \">\n </IllustratedMessage>\n <span>{this.getNoResultText}</span>\n </div>\n ) : this.busy ? (\n <UDExBusyIndicator\n class=\"udex-busy-indicator\"\n size=\"M\"\n delay={this.busyDelay}\n active>\n </UDExBusyIndicator>\n ) : (\n <UDExList\n id=\"udex-list\"\n role={this.roleForGroupList as AriaRole}\n accessible-role={this.accessibleRoleForList}\n {...(this.isTreeStructure && this.modeMultiSelect ? { \"aria-multiselectable\": \"true\" } : {})}\n class=\"udex-filter-menu__list\"\n controlled={this.isControlled}\n mode={this.mode}\n type={this.type}\n item-icon={this.itemIcon}>\n {this._filteredItems.map((processedItem, index) => (\n processedItem.isGroup\n ? renderGroup.call(this, processedItem, index)\n : renderListItem(processedItem.item as UDExListItem, index, \"none\", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n ))}\n </UDExList>\n )}\n </>\n );\n}\n\nfunction renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n return (processedItem.item as UDExListGroupHeaderBase).isSelectAllHeader\n ? renderSelectAll.call(this, processedItem, index)\n : renderGroupHeader.call(this, processedItem, index);\n}\n\nfunction renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListSelectAll\n key={index}\n _additional-class-name={this.additionalClassName}\n data-token-id={item._id}\n label={item.label}\n controlled={header.controlled}\n supporting-text={item.supportingText}\n disabled={item.disabled}\n selected={item.selected}\n indeterminate={header.indeterminate}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n const childAccessibleRole = this.isTreeStructure ? \"treeitem\" : undefined;\n return (\n <UDExListGroupHeader\n key={index}\n role={this.isTreeStructure ? \"none\" : \"group\"}\n _tree-mode={this.isTreeStructure || undefined}\n {...(index === 0 ? { \"_no-border\": \"\" } : {})}\n _additional-class-name=\"udex-searchable-list__header\"\n class={this.groupClassName}\n non-interactive={header.nonInteractive}\n data-token-id={item._id}\n label={item.label}\n supporting-text={item.supportingText}\n controlled={header.controlled}\n collapsible={header.collapsible}\n collapsed={header.collapsed}\n _filtered={this._shouldFilterItems}\n disabled={item.disabled}\n selected={item.selected}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListGroupHeader>\n );\n}\n\nfunction renderListItem(\n item: UDExListItem,\n index: number,\n role: string,\n accessibleRole: string | undefined,\n onFirstIconClick: (e: CustomEvent) => void,\n onSecondIconClick: (e: CustomEvent) => void,\n) {\n return (\n <UDExListItem\n key={index}\n role={role as AriaRole}\n data-token-id={item._id}\n controlled={item.controlled}\n mode={item.mode}\n onFirstIconClick={onFirstIconClick}\n onSecondIconClick={onSecondIconClick}\n supporting-text={item.supportingText}\n additional-text={item.additionalText}\n additional-text-state={item.additionalTextState}\n divider={item.divider}\n disabled={item.disabled}\n selected={item.selected}\n rating={item.rating}\n total-count={item.totalCount}\n rating-count={item.ratingCount}\n rating-max={item.ratingMax}\n label={item.label}\n image={item.image}\n image-alt={item.imageAlt}\n image-badge-state={item.imageBadgeState}\n image-shape={item.imageShape}\n image-size={item.imageSize}\n flag={item.flag}\n flag-position={item.flagPosition}\n size={item.size}\n type={item.type}\n {...(accessibleRole ? { \"accessible-role\": accessibleRole } : {})}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SearchableListBaseTemplate.js","sourceRoot":"","sources":["../src/SearchableListBaseTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\n\nexport default function SearchableListBaseTemplate(this: UDExSearchableListBase) {\n return (\n <>\n {this.showSearch && (\n <>\n <UDExSearch\n slot=\"header\"\n mode={UDExSearchMode.Standard}\n class=\"udex-filter-menu__search\"\n label={this.searchPlaceholder}\n label-animation-disabled\n non-interactive-submit-button\n show-submit-button>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n {this.isListEmpty ? (\n <div class=\"udex-no-result\">\n <IllustratedMessage\n name=\"NoSearchResults\"\n design=\"Dot\"\n title-text=\" \"\n subtitle-text=\" \">\n </IllustratedMessage>\n <span>{this.getNoResultText}</span>\n </div>\n ) : this.busy ? (\n <UDExBusyIndicator\n class=\"udex-busy-indicator\"\n size=\"M\"\n delay={this.busyDelay}\n active>\n </UDExBusyIndicator>\n ) : (\n <UDExList\n id=\"udex-list\"\n role={this.roleForGroupList as AriaRole}\n accessible-role={this.accessibleRoleForList}\n {...(this.isTreeStructure && this.modeMultiSelect ? { \"aria-multiselectable\": \"true\" } : {})}\n class=\"udex-filter-menu__list\"\n controlled={this.isControlled}\n mode={this.mode}\n type={this.type}\n item-icon={this.itemIcon}>\n {this._filteredItems.map((processedItem, index) => (\n processedItem.isGroup\n ? renderGroup.call(this, processedItem, index)\n : renderListItem(processedItem.item as UDExListItem, index, \"none\", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)\n ))}\n </UDExList>\n )}\n </>\n );\n}\n\nfunction renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n return (processedItem.item as UDExListGroupHeaderBase).isSelectAllHeader\n ? renderSelectAll.call(this, processedItem, index)\n : renderGroupHeader.call(this, processedItem, index);\n}\n\nfunction renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListSelectAll\n key={index}\n _additional-class-name={this.additionalClassName}\n data-token-id={item._id}\n label={item.label}\n controlled={header.controlled}\n supporting-text={item.supportingText}\n disabled={item.disabled}\n selected={item.selected}\n indeterminate={header.indeterminate}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n const childAccessibleRole = this.isTreeStructure ? \"treeitem\" : undefined;\n // In aria-activedescendant mode (SelectBox), each group header host element\n // must carry role + ARIA state so screen readers can reach them via the pointer.\n const hostAriaAttrs = this._activeDescendantMode ? {\n role: (this.isTreeStructure ? \"treeitem\" : \"option\") as AriaRole,\n \"aria-label\": cleanLabel(item.label ?? \"\"),\n \"aria-selected\": (this.modeMultiSelect ? undefined : (item.selected ? \"true\" : \"false\")) as string | undefined,\n \"aria-checked\": (this.modeMultiSelect ? (header.indeterminate ? \"mixed\" : (item.selected ? \"true\" : \"false\")) : undefined) as string | undefined,\n \"aria-disabled\": item.disabled ? \"true\" as string : undefined,\n \"aria-expanded\": header.collapsible ? (header.expanded ? \"true\" as string : \"false\" as string) : undefined,\n \"_use-host-aria-role\": true,\n } : { role: (this.isTreeStructure ? \"none\" : \"group\") as AriaRole };\n return (\n <UDExListGroupHeader\n key={index}\n id={item._id}\n {...hostAriaAttrs}\n _tree-mode={this.isTreeStructure || undefined}\n {...(index === 0 ? { \"_no-border\": \"\" } : {})}\n _additional-class-name=\"udex-searchable-list__header\"\n class={this.groupClassName}\n non-interactive={header.nonInteractive}\n data-token-id={item._id}\n label={item.label}\n supporting-text={item.supportingText}\n controlled={header.controlled}\n collapsible={header.collapsible}\n collapsed={header.collapsed}\n _filtered={this._shouldFilterItems}\n disabled={item.disabled}\n selected={item.selected}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this.modeMultiSelect)\n )}\n </UDExListGroupHeader>\n );\n}\n\nfunction renderListItem(\n item: UDExListItem,\n index: number,\n role: string,\n accessibleRole: string | undefined,\n onFirstIconClick: (e: CustomEvent) => void,\n onSecondIconClick: (e: CustomEvent) => void,\n activeDescendantMode?: boolean,\n isTreeStructure?: boolean,\n modeMultiSelect?: boolean,\n) {\n // In aria-activedescendant mode (SelectBox), role + ARIA state must be on the\n // host element so screen readers can reach them via the aria-activedescendant pointer.\n const effectiveRole = accessibleRole ?? (role !== \"none\" ? role : undefined) ?? \"option\";\n const hostRole = activeDescendantMode ? (effectiveRole as AriaRole) : (role as AriaRole);\n const hostAriaAttrs = activeDescendantMode ? {\n \"aria-label\": \"test\",\n // option role (listbox): always aria-selected; treeitem + MultiSelect: aria-checked only\n \"aria-selected\": (effectiveRole !== \"treeitem\" || !modeMultiSelect) ? (item.selected ? \"true\" : \"false\") as string : undefined,\n \"aria-checked\": (effectiveRole === \"treeitem\" && !!modeMultiSelect) ? (item.indeterminate ? \"mixed\" : (item.selected ? \"true\" : \"false\")) as string : undefined,\n \"aria-disabled\": item.disabled ? \"true\" as string : undefined,\n \"_use-host-aria-role\": true,\n ...(accessibleRole ? { \"accessible-role\": accessibleRole } : {}),\n } : {\n ...(accessibleRole ? { \"accessible-role\": accessibleRole } : {}),\n };\n return (\n <UDExListItem\n key={index}\n id={item._id}\n role={hostRole}\n data-token-id={item._id}\n controlled={item.controlled}\n mode={item.mode}\n onFirstIconClick={onFirstIconClick}\n onSecondIconClick={onSecondIconClick}\n supporting-text={item.supportingText}\n additional-text={item.additionalText}\n additional-text-state={item.additionalTextState}\n divider={item.divider}\n disabled={item.disabled}\n selected={item.selected}\n rating={item.rating}\n total-count={item.totalCount}\n rating-count={item.ratingCount}\n rating-max={item.ratingMax}\n label={item.label}\n image={item.image}\n image-alt={item.imageAlt}\n image-badge-state={item.imageBadgeState}\n image-shape={item.imageShape}\n image-size={item.imageSize}\n flag={item.flag}\n flag-position={item.flagPosition}\n size={item.size}\n type={item.type}\n {...hostAriaAttrs}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
|
package/dist/SelectBase.d.ts
CHANGED
|
@@ -120,6 +120,22 @@ declare class UDExSelectBase extends UDExSearchableListBase {
|
|
|
120
120
|
* @private
|
|
121
121
|
*/
|
|
122
122
|
_requestRender: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* True while keyboard list navigation is active (aria-activedescendant set).
|
|
125
|
+
* Used in CSS to suppress the input focus ring and show the active item ring.
|
|
126
|
+
*
|
|
127
|
+
* @private
|
|
128
|
+
*/
|
|
129
|
+
_navigating: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Text read by screen readers when the active item changes.
|
|
132
|
+
* Announced via an aria-live="assertive" region in the template.
|
|
133
|
+
* This works regardless of shadow DOM / popover teleportation because
|
|
134
|
+
* the live region lives inside SelectBox's own shadow root.
|
|
135
|
+
*
|
|
136
|
+
* @private
|
|
137
|
+
*/
|
|
138
|
+
_liveRegionText: string;
|
|
123
139
|
/**
|
|
124
140
|
* Defines the footer content for the component dropdown.
|
|
125
141
|
* Place any content (e.g. an action button) here. Clicking footer content does not close the dropdown —
|
|
@@ -144,14 +160,35 @@ declare class UDExSelectBase extends UDExSearchableListBase {
|
|
|
144
160
|
_handleResizeBound: ResizeObserverCallback;
|
|
145
161
|
_handleListKeyDownBound: (e: KeyboardEvent) => void;
|
|
146
162
|
_listKeyDownListenerAdded: boolean;
|
|
163
|
+
_activeDescendantItem: UDExListItemBase | null;
|
|
147
164
|
constructor();
|
|
148
165
|
onEnterDOM(): void;
|
|
149
166
|
onExitDOM(): void;
|
|
150
167
|
onInvalidation({ name }: ChangeInfo): void;
|
|
151
168
|
onAfterRendering(): void;
|
|
152
169
|
_handleResize(): void;
|
|
170
|
+
/**
|
|
171
|
+
* Given a candidate index, skips over a non-interactive non-collapsible header if needed.
|
|
172
|
+
* Returns the effective target index.
|
|
173
|
+
*/
|
|
174
|
+
_skipNonInteractive(items: UDExListItemBase[], raw: number, lastIndex: number, direction: "down" | "up"): number;
|
|
175
|
+
/**
|
|
176
|
+
* Sets or clears the aria-activedescendant on the combobox input and updates
|
|
177
|
+
* the aria-live region so JAWS/VoiceOver announce the item name and position.
|
|
178
|
+
* The live region is the primary announcement mechanism because aria-activedescendant
|
|
179
|
+
* across a UI5 Popover (which teleports content to document.body) is unreliable —
|
|
180
|
+
* screen readers cannot follow the ID reference across shadow root boundaries.
|
|
181
|
+
*/
|
|
182
|
+
_setActiveDescendant(item: UDExListItemBase | null, scroll?: boolean): void;
|
|
183
|
+
/**
|
|
184
|
+
* Activates the first navigable item as the aria-activedescendant without moving DOM focus.
|
|
185
|
+
*/
|
|
186
|
+
_activateFirstItem(): void;
|
|
187
|
+
/**
|
|
188
|
+
* Navigates to the item at the given index, updating aria-activedescendant and _selectedOption.
|
|
189
|
+
*/
|
|
190
|
+
_navigateToIndex(items: UDExListItemBase[], nextIndex: number): void;
|
|
153
191
|
handleKeyDownDropdown(e: KeyboardEvent): void;
|
|
154
|
-
handleListNavigationKeys(e: KeyboardEvent, items: UDExListItemBase[], effectiveTarget?: UDExListItemBase): void;
|
|
155
192
|
handleEndKeyPress(items: UDExListItemBase[], lastItemIndex: number): void;
|
|
156
193
|
handleHomeKeyPress(items: UDExListItemBase[]): void;
|
|
157
194
|
handleDownKeyPress(items: UDExListItemBase[], currentSelectedIndex: number, lastItemIndex: number): void;
|
|
@@ -161,10 +198,24 @@ declare class UDExSelectBase extends UDExSearchableListBase {
|
|
|
161
198
|
handleItemSelection(e: CustomEvent): void;
|
|
162
199
|
onKeyDownSearch(e: KeyboardEvent): void;
|
|
163
200
|
handleSearchChange(e: InputEvent): void;
|
|
201
|
+
onSearch(value: string): void;
|
|
164
202
|
handleDirection(): void;
|
|
165
203
|
handleDropdownBeforeClose(): void;
|
|
166
204
|
dropdownBeforeOpen(): void;
|
|
167
205
|
handleDropdownOpen(): void;
|
|
206
|
+
/**
|
|
207
|
+
* Announces the currently active descendant item (if set), or the first
|
|
208
|
+
* navigable item as a fallback. Used on open and after state changes.
|
|
209
|
+
*/
|
|
210
|
+
_announceCurrentOrFirst(): void;
|
|
211
|
+
/**
|
|
212
|
+
* Returns the positional announcement text for an item, tree-aware when the
|
|
213
|
+
* list has groups. Matches the JAWS reading pattern of FilterMenu:
|
|
214
|
+
* group header → "level 0, X of Y" (Y = total navigable groups)
|
|
215
|
+
* group child → "level 1, X of Y" (Y = siblings in that group)
|
|
216
|
+
* flat item → "X of Y" (Y = total items, no level prefix)
|
|
217
|
+
*/
|
|
218
|
+
_treePositionText(item: UDExListItemBase): string;
|
|
168
219
|
fireEventDropdownBeforeOClose(): void;
|
|
169
220
|
fireEventDropdownBeforeOpen(): void;
|
|
170
221
|
fireEventDropdownOpen(): void;
|
|
@@ -200,6 +251,16 @@ declare class UDExSelectBase extends UDExSearchableListBase {
|
|
|
200
251
|
_focusLastListItem(): void;
|
|
201
252
|
_firstFocusableIn(el: Element | undefined): HTMLElement | null;
|
|
202
253
|
_moveFocusAfterComponent(): void;
|
|
254
|
+
/**
|
|
255
|
+
* Builds the state portion of the live region announcement for a navigation item.
|
|
256
|
+
* Returns an array of state strings (e.g. ["collapsed", "Checked"]) to be joined
|
|
257
|
+
* with the label and position. Handles:
|
|
258
|
+
* - collapsible group headers: expanded / collapsed
|
|
259
|
+
* - MultiSelect: Checked / Unchecked / Indeterminate
|
|
260
|
+
* - SingleSelect (tree): Selected / Unselected
|
|
261
|
+
* - disabled: Disabled
|
|
262
|
+
*/
|
|
263
|
+
_itemStateLabels(item: UDExListItemBase): string[];
|
|
203
264
|
get ariaDescribedbyText(): string;
|
|
204
265
|
get trigger(): HTMLElement;
|
|
205
266
|
get isDisabled(): boolean;
|
|
@@ -212,6 +273,9 @@ declare class UDExSelectBase extends UDExSearchableListBase {
|
|
|
212
273
|
};
|
|
213
274
|
get popoverId(): string;
|
|
214
275
|
get listboxRole(): AriaHasPopup;
|
|
276
|
+
get listAriaControlsId(): string;
|
|
277
|
+
get _activeDescendantMode(): boolean;
|
|
278
|
+
get isTreeStructure(): boolean;
|
|
215
279
|
get hideDropdownSearch(): boolean;
|
|
216
280
|
get showImageFlags(): boolean;
|
|
217
281
|
get searchableList(): object;
|