From 2f79ac82d36c50ec0192489e6dc4b3fca85c5797 Mon Sep 17 00:00:00 2001
From: JesmoDev <26099018+JesmoDev@users.noreply.github.com>
Date: Wed, 24 Apr 2024 18:52:03 +0200
Subject: [PATCH] close modal and styling
---
.../document-search-result-item.element.ts | 2 +-
.../search-modal/search-modal.element.ts | 32 +++++++++++++++++--
2 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/document-search-result-item.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/document-search-result-item.element.ts
index dec3375b56..ad021f5241 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/document-search-result-item.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/document-search-result-item.element.ts
@@ -1,5 +1,5 @@
-import type { UmbSearchResultItemModel } from '@umbraco-cms/backoffice/search';
import type { UmbDocumentItemModel, UmbDocumentItemVariantModel } from '../repository/item/types.js';
+import type { UmbSearchResultItemModel } from '@umbraco-cms/backoffice/search';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { css, customElement, html, nothing, property, state } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
diff --git a/src/Umbraco.Web.UI.Client/src/packages/search/search-modal/search-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/search/search-modal/search-modal.element.ts
index b3b01ec9ca..71adab12b8 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/search/search-modal/search-modal.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/search/search-modal/search-modal.element.ts
@@ -1,12 +1,22 @@
import type { UmbSearchProvider, UmbSearchResultItemModel } from '../types.js';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
-import { css, html, nothing, repeat, customElement, query, state } from '@umbraco-cms/backoffice/external/lit';
+import {
+ css,
+ html,
+ nothing,
+ repeat,
+ customElement,
+ query,
+ state,
+ property,
+} from '@umbraco-cms/backoffice/external/lit';
import type { ManifestSearchResultItem } from '@umbraco-cms/backoffice/extension-registry';
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { UmbExtensionsManifestInitializer, createExtensionApi } from '@umbraco-cms/backoffice/extension-api';
import '../search-result/search-result-item.element.js';
+import type { UmbModalContext } from '@umbraco-cms/backoffice/modal';
type SearchProvider = {
name: string;
@@ -21,6 +31,9 @@ export class UmbSearchModalElement extends UmbLitElement {
@query('input')
private _input!: HTMLInputElement;
+ @property({ attribute: false })
+ modalContext?: UmbModalContext;
+
@state()
private _search = '';
@@ -302,7 +315,12 @@ export class UmbSearchModalElement extends UmbLitElement {
#renderResultItem(item: UmbSearchResultItemModel, index: number) {
return html`
-
+
${this.localize.term('general_searchNoResult')}`;
}
+ #closeModal(event: MouseEvent | KeyboardEvent) {
+ if (event instanceof KeyboardEvent && event.key !== 'Enter') return;
+ this.modalContext?.reject();
+ }
+
static styles = [
UmbTextStyles,
css`
@@ -430,6 +453,11 @@ export class UmbSearchModalElement extends UmbLitElement {
outline-offset: -3px;
display: flex;
}
+ .search-item:focus {
+ outline: 2px solid var(--uui-color-interactive-emphasis);
+ border-radius: 6px;
+ outline-offset: -4px;
+ }
.search-item.active:not(:focus-within) {
outline: 2px solid var(--uui-color-border);
border-radius: 6px;