diff --git a/src/components/dialogs/hacs-add-repository-dialog.ts b/src/components/dialogs/hacs-add-repository-dialog.ts
index 6da7d1ea..0666dde8 100644
--- a/src/components/dialogs/hacs-add-repository-dialog.ts
+++ b/src/components/dialogs/hacs-add-repository-dialog.ts
@@ -110,6 +110,7 @@ export class HacsAddRepositoryDialog extends HacsDialogBase {
>
-
-
${this.checked ? "✔" : ""}
-
- ${this.label}
-
- `;
- }
-
- private _checkboxClicked() {
- this.checked = !this.checked;
- this.dispatchEvent(
- new CustomEvent("checkbox-change", {
- detail: {
- id: this.id,
- },
- bubbles: true,
- composed: true,
- })
- );
- }
-
- static get styles(): CSSResultGroup {
- return [
- HacsStyles,
- css`
- .checkbox-container {
- display: flex;
- color: var(--hcv-text-color-primary);
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- }
-
- .label {
- line-height: 18px;
- opacity: var(--dark-primary-opacity);
- font-family: var(--paper-font-subhead_-_font-family);
- -webkit-font-smoothing: var(--paper-font-subhead_-_-webkit-font-smoothing);
- font-size: var(--paper-font-subhead_-_font-size);
- cursor: pointer;
- }
-
- .value {
- margin-left: 2px;
- color: var(--hcv-text-color-on-background);
- }
-
- .checkbox {
- cursor: pointer;
- height: 16px;
- width: 16px;
- font-size: 14px;
- margin-right: 8px;
- background-color: var(--primary-background-color);
- border: 1px solid var(--divider-color);
- border-radius: 4px;
- line-height: 16px;
- }
-
- .checkbox.checked {
- border-color: var(--accent-color);
- background-color: var(--accent-color);
- }
- `,
- ];
- }
-}
diff --git a/src/components/hacs-filter.ts b/src/components/hacs-filter.ts
index 5474276b..afc89bac 100644
--- a/src/components/hacs-filter.ts
+++ b/src/components/hacs-filter.ts
@@ -1,38 +1,41 @@
+import "../../homeassistant-frontend/src/components/ha-checkbox";
+import "../../homeassistant-frontend/src/components/ha-formfield";
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators";
import { Filter } from "../data/common";
import { Hacs } from "../data/hacs";
import { HacsStyles } from "../styles/hacs-common-style";
-import "./hacs-checkbox";
@customElement("hacs-filter")
export class HacsFilter extends LitElement {
- @property({ attribute: false }) public filters: Filter[];
- @property({ attribute: false }) public hacs: Hacs;
+ @property({ attribute: false }) public filters?: Filter[];
- protected async firstUpdated() {
- this.addEventListener("checkbox-change", (e) => this._filterClick(e));
- }
+ @property({ attribute: false }) public hacs!: Hacs;
protected render(): TemplateResult | void {
return html`
${this.filters?.map(
(filter) => html`
-
- `
+ >
+
+
+
+ `
)}
`;
}
private _filterClick(ev): void {
- const filter = ev.detail;
+ const filter = ev.currentTarget;
this.dispatchEvent(
new CustomEvent("filter-change", {
detail: {
diff --git a/src/panels/hacs-store-panel.ts b/src/panels/hacs-store-panel.ts
index 6406f917..81d1923a 100644
--- a/src/panels/hacs-store-panel.ts
+++ b/src/panels/hacs-store-panel.ts
@@ -183,6 +183,7 @@ export class HacsStorePanel extends LitElement {