+
+ ${this.hass.localize(
+ "ui.panel.config.integrations.config_flow.yaml_only"
+ )}
+
+
+ ${this.hass.localize("ui.dialogs.generic.cancel")}
+
+ ${docLink
+ ? html`
+
+ ${this.hass.localize(
+ "ui.panel.config.integrations.config_flow.open_documentation"
+ )}
+
+ `
+ : html`
+ ${this.hass.localize("ui.dialogs.generic.ok")}
+ `}
+
+ `;
+ }
+
+ static get styles(): CSSResultGroup {
+ return css`
+ :host([inert]) {
+ pointer-events: initial !important;
+ cursor: initial !important;
+ }
+ a {
+ text-decoration: none;
+ }
+ ha-dialog {
+ --mdc-dialog-heading-ink-color: var(--primary-text-color);
+ --mdc-dialog-content-ink-color: var(--primary-text-color);
+ /* Place above other dialogs */
+ --dialog-z-index: 104;
+ }
+ @media all and (min-width: 600px) {
+ ha-dialog {
+ --mdc-dialog-min-width: 400px;
+ }
+ }
+ `;
+ }
+}
+
+declare global {
+ interface HTMLElementTagNameMap {
+ "dialog-yaml-integration": DialogYamlIntegration;
+ }
+}
diff --git a/src/panels/config/integrations/ha-domain-integrations.ts b/src/panels/config/integrations/ha-domain-integrations.ts
index 8df892a620..6b9a89e73d 100644
--- a/src/panels/config/integrations/ha-domain-integrations.ts
+++ b/src/panels/config/integrations/ha-domain-integrations.ts
@@ -1,8 +1,10 @@
+import { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item-base";
import { css, html, LitElement } from "lit";
import { customElement, property } from "lit/decorators";
import { isComponentLoaded } from "../../../common/config/is_component_loaded";
import { fireEvent } from "../../../common/dom/fire_event";
import { protocolIntegrationPicked } from "../../../common/integrations/protocolIntegrationPicked";
+import { shouldHandleRequestSelectedEvent } from "../../../common/mwc/handle-request-selected-event";
import { navigate } from "../../../common/navigate";
import { caseInsensitiveStringCompare } from "../../../common/string/compare";
import { localizeConfigFlowTitle } from "../../../data/config_flow";
@@ -13,12 +15,11 @@ import {
} from "../../../data/integration";
import { Integration } from "../../../data/integrations";
import { showConfigFlowDialog } from "../../../dialogs/config-flow/show-dialog-config-flow";
-import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box";
import { haStyle } from "../../../resources/styles";
import { HomeAssistant } from "../../../types";
import { brandsUrl } from "../../../util/brands-url";
-import { documentationUrl } from "../../../util/documentation-url";
import "./ha-integration-list-item";
+import { showYamlIntegrationDialog } from "./show-add-integration-dialog";
const standardToDomain = { zigbee: "zha", zwave: "zwave_js" } as const;
@@ -43,7 +44,7 @@ class HaDomainIntegrations extends LitElement {
(flow) => html`