Compare commits

..

2 Commits

Author SHA1 Message Date
Mike Degatano
1f7aafcfd7 Fix fixture that ensures .git presence 2025-08-07 20:51:02 +00:00
Mike Degatano
ed45651fd9 Handle git dir missing in load and pull 2025-08-07 20:42:22 +00:00
850 changed files with 1303 additions and 6377 deletions

View File

@@ -53,7 +53,7 @@ jobs:
requirements: ${{ steps.requirements.outputs.changed }} requirements: ${{ steps.requirements.outputs.changed }}
steps: steps:
- name: Checkout the repository - name: Checkout the repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -70,7 +70,7 @@ jobs:
- name: Get changed files - name: Get changed files
id: changed_files id: changed_files
if: steps.version.outputs.publish == 'false' if: steps.version.outputs.publish == 'false'
uses: masesgroup/retrieve-changed-files@491e80760c0e28d36ca6240a27b1ccb8e1402c13 # v3.0.0 uses: masesgroup/retrieve-changed-files@v3.0.0
- name: Check if requirements files changed - name: Check if requirements files changed
id: requirements id: requirements
@@ -92,7 +92,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }} arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps: steps:
- name: Checkout the repository - name: Checkout the repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -104,7 +104,6 @@ jobs:
echo "CARGO_NET_GIT_FETCH_WITH_CLI=true" echo "CARGO_NET_GIT_FETCH_WITH_CLI=true"
) > .env_file ) > .env_file
# home-assistant/wheels doesn't support sha pinning
- name: Build wheels - name: Build wheels
if: needs.init.outputs.requirements == 'true' if: needs.init.outputs.requirements == 'true'
uses: home-assistant/wheels@2025.07.0 uses: home-assistant/wheels@2025.07.0
@@ -126,13 +125,13 @@ jobs:
- name: Set up Python ${{ env.DEFAULT_PYTHON }} - name: Set up Python ${{ env.DEFAULT_PYTHON }}
if: needs.init.outputs.publish == 'true' if: needs.init.outputs.publish == 'true'
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
with: with:
python-version: ${{ env.DEFAULT_PYTHON }} python-version: ${{ env.DEFAULT_PYTHON }}
- name: Install Cosign - name: Install Cosign
if: needs.init.outputs.publish == 'true' if: needs.init.outputs.publish == 'true'
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0 uses: sigstore/cosign-installer@v3.9.2
with: with:
cosign-release: "v2.4.3" cosign-release: "v2.4.3"
@@ -150,7 +149,7 @@ jobs:
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
if: needs.init.outputs.publish == 'true' if: needs.init.outputs.publish == 'true'
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 uses: docker/login-action@v3.5.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
@@ -160,9 +159,8 @@ jobs:
if: needs.init.outputs.publish == 'false' if: needs.init.outputs.publish == 'false'
run: echo "BUILD_ARGS=--test" >> $GITHUB_ENV run: echo "BUILD_ARGS=--test" >> $GITHUB_ENV
# home-assistant/builder doesn't support sha pinning
- name: Build supervisor - name: Build supervisor
uses: home-assistant/builder@2025.09.0 uses: home-assistant/builder@2025.03.0
with: with:
args: | args: |
$BUILD_ARGS \ $BUILD_ARGS \
@@ -180,7 +178,7 @@ jobs:
steps: steps:
- name: Checkout the repository - name: Checkout the repository
if: needs.init.outputs.publish == 'true' if: needs.init.outputs.publish == 'true'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Initialize git - name: Initialize git
if: needs.init.outputs.publish == 'true' if: needs.init.outputs.publish == 'true'
@@ -205,12 +203,11 @@ jobs:
timeout-minutes: 60 timeout-minutes: 60
steps: steps:
- name: Checkout the repository - name: Checkout the repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
# home-assistant/builder doesn't support sha pinning
- name: Build the Supervisor - name: Build the Supervisor
if: needs.init.outputs.publish != 'true' if: needs.init.outputs.publish != 'true'
uses: home-assistant/builder@2025.09.0 uses: home-assistant/builder@2025.03.0
with: with:
args: | args: |
--test \ --test \

View File

@@ -26,15 +26,15 @@ jobs:
name: Prepare Python dependencies name: Prepare Python dependencies
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python - name: Set up Python
id: python id: python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
with: with:
python-version: ${{ env.DEFAULT_PYTHON }} python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: | key: |
@@ -48,7 +48,7 @@ jobs:
pip install -r requirements.txt -r requirements_tests.txt pip install -r requirements.txt -r requirements_tests.txt
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true lookup-only: true
@@ -68,15 +68,15 @@ jobs:
needs: prepare needs: prepare
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python ${{ needs.prepare.outputs.python-version }} - name: Set up Python ${{ needs.prepare.outputs.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
id: python id: python
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: | key: |
@@ -88,7 +88,7 @@ jobs:
exit 1 exit 1
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
key: | key: |
@@ -111,15 +111,15 @@ jobs:
needs: prepare needs: prepare
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python ${{ needs.prepare.outputs.python-version }} - name: Set up Python ${{ needs.prepare.outputs.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
id: python id: python
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: | key: |
@@ -131,7 +131,7 @@ jobs:
exit 1 exit 1
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
key: | key: |
@@ -154,7 +154,7 @@ jobs:
needs: prepare needs: prepare
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Register hadolint problem matcher - name: Register hadolint problem matcher
run: | run: |
echo "::add-matcher::.github/workflows/matchers/hadolint.json" echo "::add-matcher::.github/workflows/matchers/hadolint.json"
@@ -169,15 +169,15 @@ jobs:
needs: prepare needs: prepare
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python ${{ needs.prepare.outputs.python-version }} - name: Set up Python ${{ needs.prepare.outputs.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
id: python id: python
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: | key: |
@@ -189,7 +189,7 @@ jobs:
exit 1 exit 1
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
key: | key: |
@@ -213,15 +213,15 @@ jobs:
needs: prepare needs: prepare
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python ${{ needs.prepare.outputs.python-version }} - name: Set up Python ${{ needs.prepare.outputs.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
id: python id: python
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: | key: |
@@ -233,7 +233,7 @@ jobs:
exit 1 exit 1
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
key: | key: |
@@ -257,15 +257,15 @@ jobs:
needs: prepare needs: prepare
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python ${{ needs.prepare.outputs.python-version }} - name: Set up Python ${{ needs.prepare.outputs.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
id: python id: python
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: | key: |
@@ -293,9 +293,9 @@ jobs:
needs: prepare needs: prepare
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python ${{ needs.prepare.outputs.python-version }} - name: Set up Python ${{ needs.prepare.outputs.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
id: python id: python
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
@@ -307,7 +307,7 @@ jobs:
echo "key=mypy-${{ env.MYPY_CACHE_VERSION }}-$mypy_version-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT echo "key=mypy-${{ env.MYPY_CACHE_VERSION }}-$mypy_version-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: >- key: >-
@@ -318,7 +318,7 @@ jobs:
echo "Failed to restore Python virtual environment from cache" echo "Failed to restore Python virtual environment from cache"
exit 1 exit 1
- name: Restore mypy cache - name: Restore mypy cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: .mypy_cache path: .mypy_cache
key: >- key: >-
@@ -339,19 +339,19 @@ jobs:
name: Run tests Python ${{ needs.prepare.outputs.python-version }} name: Run tests Python ${{ needs.prepare.outputs.python-version }}
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python ${{ needs.prepare.outputs.python-version }} - name: Set up Python ${{ needs.prepare.outputs.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
id: python id: python
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Install Cosign - name: Install Cosign
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0 uses: sigstore/cosign-installer@v3.9.2
with: with:
cosign-release: "v2.4.3" cosign-release: "v2.4.3"
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: | key: |
@@ -386,7 +386,7 @@ jobs:
-o console_output_style=count \ -o console_output_style=count \
tests tests
- name: Upload coverage artifact - name: Upload coverage artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 uses: actions/upload-artifact@v4.6.2
with: with:
name: coverage name: coverage
path: .coverage path: .coverage
@@ -398,15 +398,15 @@ jobs:
needs: ["pytest", "prepare"] needs: ["pytest", "prepare"]
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Set up Python ${{ needs.prepare.outputs.python-version }} - name: Set up Python ${{ needs.prepare.outputs.python-version }}
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@v5.6.0
id: python id: python
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 uses: actions/cache@v4.2.3
with: with:
path: venv path: venv
key: | key: |
@@ -417,7 +417,7 @@ jobs:
echo "Failed to restore Python virtual environment from cache" echo "Failed to restore Python virtual environment from cache"
exit 1 exit 1
- name: Download all coverage artifacts - name: Download all coverage artifacts
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 uses: actions/download-artifact@v5.0.0
with: with:
name: coverage name: coverage
path: coverage/ path: coverage/
@@ -428,4 +428,4 @@ jobs:
coverage report coverage report
coverage xml coverage xml
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 uses: codecov/codecov-action@v5.4.3

View File

@@ -9,7 +9,7 @@ jobs:
lock: lock:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5.0.1 - uses: dessant/lock-threads@v5.0.1
with: with:
github-token: ${{ github.token }} github-token: ${{ github.token }}
issue-inactive-days: "30" issue-inactive-days: "30"

View File

@@ -11,7 +11,7 @@ jobs:
name: Release Drafter name: Release Drafter
steps: steps:
- name: Checkout the repository - name: Checkout the repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -36,7 +36,7 @@ jobs:
echo "version=$datepre.$newpost" >> "$GITHUB_OUTPUT" echo "version=$datepre.$newpost" >> "$GITHUB_OUTPUT"
- name: Run Release Drafter - name: Run Release Drafter
uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6.1.0 uses: release-drafter/release-drafter@v6.1.0
with: with:
tag: ${{ steps.version.outputs.version }} tag: ${{ steps.version.outputs.version }}
name: ${{ steps.version.outputs.version }} name: ${{ steps.version.outputs.version }}

View File

@@ -9,10 +9,10 @@ jobs:
check-authorization: check-authorization:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# Only run if this is a Task issue type (from the issue form) # Only run if this is a Task issue type (from the issue form)
if: github.event.issue.type.name == 'Task' if: github.event.issue.issue_type == 'Task'
steps: steps:
- name: Check if user is authorized - name: Check if user is authorized
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 uses: actions/github-script@v7
with: with:
script: | script: |
const issueAuthor = context.payload.issue.user.login; const issueAuthor = context.payload.issue.user.login;

View File

@@ -10,9 +10,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4.2.2
- name: Sentry Release - name: Sentry Release
uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c # v3.2.0 uses: getsentry/action-release@v3.2.0
env: env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }}

View File

@@ -9,7 +9,7 @@ jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0 - uses: actions/stale@v9.1.0
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 30 days-before-stale: 30

View File

@@ -14,10 +14,10 @@ jobs:
latest_version: ${{ steps.latest_frontend_version.outputs.latest_tag }} latest_version: ${{ steps.latest_frontend_version.outputs.latest_tag }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4
- name: Get latest frontend release - name: Get latest frontend release
id: latest_frontend_version id: latest_frontend_version
uses: abatilo/release-info-action@32cb932219f1cee3fc4f4a298fd65ead5d35b661 # v1.3.3 uses: abatilo/release-info-action@v1.3.3
with: with:
owner: home-assistant owner: home-assistant
repo: frontend repo: frontend
@@ -49,7 +49,7 @@ jobs:
if: needs.check-version.outputs.skip != 'true' if: needs.check-version.outputs.skip != 'true'
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@v4
- name: Clear www folder - name: Clear www folder
run: | run: |
rm -rf supervisor/api/panel/* rm -rf supervisor/api/panel/*
@@ -57,7 +57,7 @@ jobs:
run: | run: |
echo "${{ needs.check-version.outputs.latest_version }}" > .ha-frontend-version echo "${{ needs.check-version.outputs.latest_version }}" > .ha-frontend-version
- name: Download release assets - name: Download release assets
uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # v1.12 uses: robinraju/release-downloader@v1
with: with:
repository: 'home-assistant/frontend' repository: 'home-assistant/frontend'
tag: ${{ needs.check-version.outputs.latest_version }} tag: ${{ needs.check-version.outputs.latest_version }}
@@ -68,7 +68,7 @@ jobs:
run: | run: |
rm -f supervisor/api/panel/home_assistant_frontend_supervisor-*.tar.gz rm -f supervisor/api/panel/home_assistant_frontend_supervisor-*.tar.gz
- name: Create PR - name: Create PR
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@v7
with: with:
commit-message: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}" commit-message: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}"
branch: autoupdate-frontend branch: autoupdate-frontend

3
.gitignore vendored
View File

@@ -100,6 +100,3 @@ ENV/
# mypy # mypy
/.mypy_cache/* /.mypy_cache/*
/.dmypy.json /.dmypy.json
# Mac
.DS_Store

View File

@@ -1 +1 @@
20250811.0 20250806.0

View File

@@ -29,7 +29,7 @@ RUN \
\ \
&& curl -Lso /usr/bin/cosign "https://github.com/home-assistant/cosign/releases/download/${COSIGN_VERSION}/cosign_${BUILD_ARCH}" \ && curl -Lso /usr/bin/cosign "https://github.com/home-assistant/cosign/releases/download/${COSIGN_VERSION}/cosign_${BUILD_ARCH}" \
&& chmod a+x /usr/bin/cosign \ && chmod a+x /usr/bin/cosign \
&& pip3 install uv==0.8.9 && pip3 install uv==0.6.17
# Install requirements # Install requirements
COPY requirements.txt . COPY requirements.txt .

View File

@@ -5,11 +5,11 @@ attrs==25.3.0
awesomeversion==25.8.0 awesomeversion==25.8.0
blockbuster==1.5.25 blockbuster==1.5.25
brotli==1.1.0 brotli==1.1.0
ciso8601==2.3.3 ciso8601==2.3.2
colorlog==6.9.0 colorlog==6.9.0
cpe==1.3.1 cpe==1.3.1
cryptography==46.0.1 cryptography==45.0.6
debugpy==1.8.17 debugpy==1.8.16
deepmerge==2.0 deepmerge==2.0
dirhash==0.5.0 dirhash==0.5.0
docker==7.1.0 docker==7.1.0
@@ -17,13 +17,13 @@ faust-cchardet==2.1.19
gitpython==3.1.45 gitpython==3.1.45
jinja2==3.1.6 jinja2==3.1.6
log-rate-limit==1.4.2 log-rate-limit==1.4.2
orjson==3.11.3 orjson==3.11.1
pulsectl==24.12.0 pulsectl==24.12.0
pyudev==0.24.3 pyudev==0.24.3
PyYAML==6.0.2 PyYAML==6.0.2
requests==2.32.5 requests==2.32.4
securetar==2025.2.1 securetar==2025.2.1
sentry-sdk==2.38.0 sentry-sdk==2.34.1
setuptools==80.9.0 setuptools==80.9.0
voluptuous==0.15.2 voluptuous==0.15.2
dbus-fast==2.44.3 dbus-fast==2.44.3

View File

@@ -1,16 +1,16 @@
astroid==3.3.11 astroid==3.3.11
coverage==7.10.7 coverage==7.10.2
mypy==1.18.2 mypy==1.17.1
pre-commit==4.3.0 pre-commit==4.2.0
pylint==3.3.8 pylint==3.3.7
pytest-aiohttp==1.1.0 pytest-aiohttp==1.1.0
pytest-asyncio==0.25.2 pytest-asyncio==0.25.2
pytest-cov==7.0.0 pytest-cov==6.2.1
pytest-timeout==2.4.0 pytest-timeout==2.4.0
pytest==8.4.2 pytest==8.4.1
ruff==0.13.1 ruff==0.12.7
time-machine==2.19.0 time-machine==2.17.0
types-docker==7.1.0.20250916 types-docker==7.1.0.20250705
types-pyyaml==6.0.12.20250915 types-pyyaml==6.0.12.20250516
types-requests==2.32.4.20250913 types-requests==2.32.4.20250611
urllib3==2.5.0 urllib3==2.5.0

View File

@@ -66,23 +66,10 @@ if __name__ == "__main__":
_LOGGER.info("Setting up Supervisor") _LOGGER.info("Setting up Supervisor")
loop.run_until_complete(coresys.core.setup()) loop.run_until_complete(coresys.core.setup())
# Create startup task that can be cancelled gracefully bootstrap.register_signal_handlers(loop, coresys)
startup_task = loop.create_task(coresys.core.start())
def shutdown_handler() -> None:
"""Handle shutdown signals gracefully during startup."""
if not startup_task.done():
_LOGGER.warning("Supervisor startup interrupted by shutdown signal")
startup_task.cancel()
coresys.create_task(coresys.core.stop())
bootstrap.register_signal_handlers(loop, shutdown_handler)
try: try:
loop.run_until_complete(startup_task) loop.run_until_complete(coresys.core.start())
except asyncio.CancelledError:
_LOGGER.warning("Supervisor startup cancelled")
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except
# Supervisor itself is running at this point, just something didn't # Supervisor itself is running at this point, just something didn't
# start as expected. Log with traceback to get more insights for # start as expected. Log with traceback to get more insights for

View File

@@ -67,9 +67,9 @@ from ..docker.monitor import DockerContainerStateEvent
from ..docker.stats import DockerStats from ..docker.stats import DockerStats
from ..exceptions import ( from ..exceptions import (
AddonConfigurationError, AddonConfigurationError,
AddonNotSupportedError,
AddonsError, AddonsError,
AddonsJobError, AddonsJobError,
AddonsNotSupportedError,
ConfigurationFileError, ConfigurationFileError,
DockerError, DockerError,
HomeAssistantAPIError, HomeAssistantAPIError,
@@ -1172,7 +1172,7 @@ class Addon(AddonModel):
async def write_stdin(self, data) -> None: async def write_stdin(self, data) -> None:
"""Write data to add-on stdin.""" """Write data to add-on stdin."""
if not self.with_stdin: if not self.with_stdin:
raise AddonNotSupportedError( raise AddonsNotSupportedError(
f"Add-on {self.slug} does not support writing to stdin!", _LOGGER.error f"Add-on {self.slug} does not support writing to stdin!", _LOGGER.error
) )
@@ -1419,7 +1419,7 @@ class Addon(AddonModel):
# If available # If available
if not self._available(data[ATTR_SYSTEM]): if not self._available(data[ATTR_SYSTEM]):
raise AddonNotSupportedError( raise AddonsNotSupportedError(
f"Add-on {self.slug} is not available for this platform", f"Add-on {self.slug} is not available for this platform",
_LOGGER.error, _LOGGER.error,
) )

View File

@@ -14,9 +14,9 @@ from supervisor.jobs.const import JobConcurrency
from ..const import AddonBoot, AddonStartup, AddonState from ..const import AddonBoot, AddonStartup, AddonState
from ..coresys import CoreSys, CoreSysAttributes from ..coresys import CoreSys, CoreSysAttributes
from ..exceptions import ( from ..exceptions import (
AddonNotSupportedError,
AddonsError, AddonsError,
AddonsJobError, AddonsJobError,
AddonsNotSupportedError,
CoreDNSError, CoreDNSError,
DockerError, DockerError,
HassioError, HassioError,
@@ -184,9 +184,7 @@ class AddonManager(CoreSysAttributes):
on_condition=AddonsJobError, on_condition=AddonsJobError,
concurrency=JobConcurrency.QUEUE, concurrency=JobConcurrency.QUEUE,
) )
async def install( async def install(self, slug: str) -> None:
self, slug: str, *, validation_complete: asyncio.Event | None = None
) -> None:
"""Install an add-on.""" """Install an add-on."""
self.sys_jobs.current.reference = slug self.sys_jobs.current.reference = slug
@@ -199,10 +197,6 @@ class AddonManager(CoreSysAttributes):
store.validate_availability() store.validate_availability()
# If being run in the background, notify caller that validation has completed
if validation_complete:
validation_complete.set()
await Addon(self.coresys, slug).install() await Addon(self.coresys, slug).install()
_LOGGER.info("Add-on '%s' successfully installed", slug) _LOGGER.info("Add-on '%s' successfully installed", slug)
@@ -232,11 +226,7 @@ class AddonManager(CoreSysAttributes):
on_condition=AddonsJobError, on_condition=AddonsJobError,
) )
async def update( async def update(
self, self, slug: str, backup: bool | None = False
slug: str,
backup: bool | None = False,
*,
validation_complete: asyncio.Event | None = None,
) -> asyncio.Task | None: ) -> asyncio.Task | None:
"""Update add-on. """Update add-on.
@@ -261,10 +251,6 @@ class AddonManager(CoreSysAttributes):
# Check if available, Maybe something have changed # Check if available, Maybe something have changed
store.validate_availability() store.validate_availability()
# If being run in the background, notify caller that validation has completed
if validation_complete:
validation_complete.set()
if backup: if backup:
await self.sys_backups.do_backup_partial( await self.sys_backups.do_backup_partial(
name=f"addon_{addon.slug}_{addon.version}", name=f"addon_{addon.slug}_{addon.version}",
@@ -307,7 +293,7 @@ class AddonManager(CoreSysAttributes):
"Version changed, use Update instead Rebuild", _LOGGER.error "Version changed, use Update instead Rebuild", _LOGGER.error
) )
if not force and not addon.need_build: if not force and not addon.need_build:
raise AddonNotSupportedError( raise AddonsNotSupportedError(
"Can't rebuild a image based add-on", _LOGGER.error "Can't rebuild a image based add-on", _LOGGER.error
) )

View File

@@ -89,12 +89,7 @@ from ..const import (
) )
from ..coresys import CoreSys from ..coresys import CoreSys
from ..docker.const import Capabilities from ..docker.const import Capabilities
from ..exceptions import ( from ..exceptions import AddonsNotSupportedError
AddonNotSupportedArchitectureError,
AddonNotSupportedError,
AddonNotSupportedHomeAssistantVersionError,
AddonNotSupportedMachineTypeError,
)
from ..jobs.const import JOB_GROUP_ADDON from ..jobs.const import JOB_GROUP_ADDON
from ..jobs.job_group import JobGroup from ..jobs.job_group import JobGroup
from ..utils import version_is_new_enough from ..utils import version_is_new_enough
@@ -685,8 +680,9 @@ class AddonModel(JobGroup, ABC):
"""Validate if addon is available for current system.""" """Validate if addon is available for current system."""
# Architecture # Architecture
if not self.sys_arch.is_supported(config[ATTR_ARCH]): if not self.sys_arch.is_supported(config[ATTR_ARCH]):
raise AddonNotSupportedArchitectureError( raise AddonsNotSupportedError(
logger, slug=self.slug, architectures=config[ATTR_ARCH] f"Add-on {self.slug} not supported on this platform, supported architectures: {', '.join(config[ATTR_ARCH])}",
logger,
) )
# Machine / Hardware # Machine / Hardware
@@ -694,8 +690,9 @@ class AddonModel(JobGroup, ABC):
if machine and ( if machine and (
f"!{self.sys_machine}" in machine or self.sys_machine not in machine f"!{self.sys_machine}" in machine or self.sys_machine not in machine
): ):
raise AddonNotSupportedMachineTypeError( raise AddonsNotSupportedError(
logger, slug=self.slug, machine_types=machine f"Add-on {self.slug} not supported on this machine, supported machine types: {', '.join(machine)}",
logger,
) )
# Home Assistant # Home Assistant
@@ -704,15 +701,16 @@ class AddonModel(JobGroup, ABC):
if version and not version_is_new_enough( if version and not version_is_new_enough(
self.sys_homeassistant.version, version self.sys_homeassistant.version, version
): ):
raise AddonNotSupportedHomeAssistantVersionError( raise AddonsNotSupportedError(
logger, slug=self.slug, version=str(version) f"Add-on {self.slug} not supported on this system, requires Home Assistant version {version} or greater",
logger,
) )
def _available(self, config) -> bool: def _available(self, config) -> bool:
"""Return True if this add-on is available on this platform.""" """Return True if this add-on is available on this platform."""
try: try:
self._validate_availability(config) self._validate_availability(config)
except AddonNotSupportedError: except AddonsNotSupportedError:
return False return False
return True return True

View File

@@ -93,7 +93,15 @@ class AddonOptions(CoreSysAttributes):
typ = self.raw_schema[key] typ = self.raw_schema[key]
try: try:
options[key] = self._validate_element(typ, value, key) if isinstance(typ, list):
# nested value list
options[key] = self._nested_validate_list(typ[0], value, key)
elif isinstance(typ, dict):
# nested value dict
options[key] = self._nested_validate_dict(typ, value, key)
else:
# normal value
options[key] = self._single_validate(typ, value, key)
except (IndexError, KeyError): except (IndexError, KeyError):
raise vol.Invalid( raise vol.Invalid(
f"Type error for option '{key}' in {self._name} ({self._slug})" f"Type error for option '{key}' in {self._name} ({self._slug})"
@@ -103,20 +111,7 @@ class AddonOptions(CoreSysAttributes):
return options return options
# pylint: disable=no-value-for-parameter # pylint: disable=no-value-for-parameter
def _validate_element(self, typ: Any, value: Any, key: str) -> Any: def _single_validate(self, typ: str, value: Any, key: str):
"""Validate a value against a type specification."""
if isinstance(typ, list):
# nested value list
return self._nested_validate_list(typ[0], value, key)
elif isinstance(typ, dict):
# nested value dict
return self._nested_validate_dict(typ, value, key)
else:
# normal value
return self._single_validate(typ, value, key)
# pylint: disable=no-value-for-parameter
def _single_validate(self, typ: str, value: Any, key: str) -> Any:
"""Validate a single element.""" """Validate a single element."""
# if required argument # if required argument
if value is None: if value is None:
@@ -193,9 +188,7 @@ class AddonOptions(CoreSysAttributes):
f"Fatal error for option '{key}' with type '{typ}' in {self._name} ({self._slug})" f"Fatal error for option '{key}' with type '{typ}' in {self._name} ({self._slug})"
) from None ) from None
def _nested_validate_list( def _nested_validate_list(self, typ: Any, data_list: list[Any], key: str):
self, typ: Any, data_list: list[Any], key: str
) -> list[Any]:
"""Validate nested items.""" """Validate nested items."""
options = [] options = []
@@ -208,13 +201,17 @@ class AddonOptions(CoreSysAttributes):
# Process list # Process list
for element in data_list: for element in data_list:
# Nested? # Nested?
options.append(self._validate_element(typ, element, key)) if isinstance(typ, dict):
c_options = self._nested_validate_dict(typ, element, key)
options.append(c_options)
else:
options.append(self._single_validate(typ, element, key))
return options return options
def _nested_validate_dict( def _nested_validate_dict(
self, typ: dict[Any, Any], data_dict: dict[Any, Any], key: str self, typ: dict[Any, Any], data_dict: dict[Any, Any], key: str
) -> dict[Any, Any]: ):
"""Validate nested items.""" """Validate nested items."""
options = {} options = {}
@@ -234,7 +231,12 @@ class AddonOptions(CoreSysAttributes):
continue continue
# Nested? # Nested?
options[c_key] = self._validate_element(typ[c_key], c_value, c_key) if isinstance(typ[c_key], list):
options[c_key] = self._nested_validate_list(
typ[c_key][0], c_value, c_key
)
else:
options[c_key] = self._single_validate(typ[c_key], c_value, c_key)
self._check_missing_options(typ, options, key) self._check_missing_options(typ, options, key)
return options return options
@@ -272,28 +274,18 @@ class UiOptions(CoreSysAttributes):
# read options # read options
for key, value in raw_schema.items(): for key, value in raw_schema.items():
self._ui_schema_element(ui_schema, value, key) if isinstance(value, list):
# nested value list
self._nested_ui_list(ui_schema, value, key)
elif isinstance(value, dict):
# nested value dict
self._nested_ui_dict(ui_schema, value, key)
else:
# normal value
self._single_ui_option(ui_schema, value, key)
return ui_schema return ui_schema
def _ui_schema_element(
self,
ui_schema: list[dict[str, Any]],
value: str,
key: str,
multiple: bool = False,
):
if isinstance(value, list):
# nested value list
assert not multiple
self._nested_ui_list(ui_schema, value, key)
elif isinstance(value, dict):
# nested value dict
self._nested_ui_dict(ui_schema, value, key, multiple)
else:
# normal value
self._single_ui_option(ui_schema, value, key, multiple)
def _single_ui_option( def _single_ui_option(
self, self,
ui_schema: list[dict[str, Any]], ui_schema: list[dict[str, Any]],
@@ -385,7 +377,10 @@ class UiOptions(CoreSysAttributes):
_LOGGER.error("Invalid schema %s", key) _LOGGER.error("Invalid schema %s", key)
return return
self._ui_schema_element(ui_schema, element, key, multiple=True) if isinstance(element, dict):
self._nested_ui_dict(ui_schema, element, key, multiple=True)
else:
self._single_ui_option(ui_schema, element, key, multiple=True)
def _nested_ui_dict( def _nested_ui_dict(
self, self,
@@ -404,7 +399,11 @@ class UiOptions(CoreSysAttributes):
nested_schema: list[dict[str, Any]] = [] nested_schema: list[dict[str, Any]] = []
for c_key, c_value in option_dict.items(): for c_key, c_value in option_dict.items():
self._ui_schema_element(nested_schema, c_value, c_key) # Nested?
if isinstance(c_value, list):
self._nested_ui_list(nested_schema, c_value, c_key)
else:
self._single_ui_option(nested_schema, c_value, c_key)
ui_node["schema"] = nested_schema ui_node["schema"] = nested_schema
ui_schema.append(ui_node) ui_schema.append(ui_node)

View File

@@ -32,7 +32,6 @@ from ..const import (
ATTR_DISCOVERY, ATTR_DISCOVERY,
ATTR_DOCKER_API, ATTR_DOCKER_API,
ATTR_ENVIRONMENT, ATTR_ENVIRONMENT,
ATTR_FIELDS,
ATTR_FULL_ACCESS, ATTR_FULL_ACCESS,
ATTR_GPIO, ATTR_GPIO,
ATTR_HASSIO_API, ATTR_HASSIO_API,
@@ -138,19 +137,7 @@ RE_DOCKER_IMAGE_BUILD = re.compile(
r"^([a-zA-Z\-\.:\d{}]+/)*?([\-\w{}]+)/([\-\w{}]+)(:[\.\-\w{}]+)?$" r"^([a-zA-Z\-\.:\d{}]+/)*?([\-\w{}]+)/([\-\w{}]+)(:[\.\-\w{}]+)?$"
) )
SCHEMA_ELEMENT = vol.Schema( SCHEMA_ELEMENT = vol.Match(RE_SCHEMA_ELEMENT)
vol.Any(
vol.Match(RE_SCHEMA_ELEMENT),
[
# A list may not directly contain another list
vol.Any(
vol.Match(RE_SCHEMA_ELEMENT),
{str: vol.Self},
)
],
{str: vol.Self},
)
)
RE_MACHINE = re.compile( RE_MACHINE = re.compile(
r"^!?(?:" r"^!?(?:"
@@ -279,23 +266,10 @@ def _migrate_addon_config(protocol=False):
volumes = [] volumes = []
for entry in config.get(ATTR_MAP, []): for entry in config.get(ATTR_MAP, []):
if isinstance(entry, dict): if isinstance(entry, dict):
# Validate that dict entries have required 'type' field
if ATTR_TYPE not in entry:
_LOGGER.warning(
"Add-on config has invalid map entry missing 'type' field: %s. Skipping invalid entry for %s",
entry,
name,
)
continue
volumes.append(entry) volumes.append(entry)
if isinstance(entry, str): if isinstance(entry, str):
result = RE_VOLUME.match(entry) result = RE_VOLUME.match(entry)
if not result: if not result:
_LOGGER.warning(
"Add-on config has invalid map entry: %s. Skipping invalid entry for %s",
entry,
name,
)
continue continue
volumes.append( volumes.append(
{ {
@@ -304,8 +278,8 @@ def _migrate_addon_config(protocol=False):
} }
) )
# Always update config to clear potentially malformed ones if volumes:
config[ATTR_MAP] = volumes config[ATTR_MAP] = volumes
# 2023-10 "config" became "homeassistant" so /config can be used for addon's public config # 2023-10 "config" became "homeassistant" so /config can be used for addon's public config
if any(volume[ATTR_TYPE] == MappingType.CONFIG for volume in volumes): if any(volume[ATTR_TYPE] == MappingType.CONFIG for volume in volumes):
@@ -419,7 +393,20 @@ _SCHEMA_ADDON_CONFIG = vol.Schema(
vol.Optional(ATTR_CODENOTARY): vol.Email(), vol.Optional(ATTR_CODENOTARY): vol.Email(),
vol.Optional(ATTR_OPTIONS, default={}): dict, vol.Optional(ATTR_OPTIONS, default={}): dict,
vol.Optional(ATTR_SCHEMA, default={}): vol.Any( vol.Optional(ATTR_SCHEMA, default={}): vol.Any(
vol.Schema({str: SCHEMA_ELEMENT}), vol.Schema(
{
str: vol.Any(
SCHEMA_ELEMENT,
[
vol.Any(
SCHEMA_ELEMENT,
{str: vol.Any(SCHEMA_ELEMENT, [SCHEMA_ELEMENT])},
)
],
vol.Schema({str: vol.Any(SCHEMA_ELEMENT, [SCHEMA_ELEMENT])}),
)
}
),
False, False,
), ),
vol.Optional(ATTR_IMAGE): docker_image, vol.Optional(ATTR_IMAGE): docker_image,
@@ -455,7 +442,6 @@ SCHEMA_TRANSLATION_CONFIGURATION = vol.Schema(
{ {
vol.Required(ATTR_NAME): str, vol.Required(ATTR_NAME): str,
vol.Optional(ATTR_DESCRIPTON): vol.Maybe(str), vol.Optional(ATTR_DESCRIPTON): vol.Maybe(str),
vol.Optional(ATTR_FIELDS): {str: vol.Self},
}, },
extra=vol.REMOVE_EXTRA, extra=vol.REMOVE_EXTRA,
) )

View File

@@ -146,14 +146,6 @@ class RestAPI(CoreSysAttributes):
follow=True, follow=True,
), ),
), ),
web.get(
f"{path}/logs/latest",
partial(
self._api_host.advanced_logs,
identifier=syslog_identifier,
latest=True,
),
),
web.get( web.get(
f"{path}/logs/boots/{{bootid}}", f"{path}/logs/boots/{{bootid}}",
partial(self._api_host.advanced_logs, identifier=syslog_identifier), partial(self._api_host.advanced_logs, identifier=syslog_identifier),
@@ -206,7 +198,6 @@ class RestAPI(CoreSysAttributes):
web.post("/host/reload", api_host.reload), web.post("/host/reload", api_host.reload),
web.post("/host/options", api_host.options), web.post("/host/options", api_host.options),
web.get("/host/services", api_host.services), web.get("/host/services", api_host.services),
web.get("/host/disks/default/usage", api_host.disk_usage),
] ]
) )
@@ -448,7 +439,6 @@ class RestAPI(CoreSysAttributes):
# is known and reported to the user using the resolution center. # is known and reported to the user using the resolution center.
await async_capture_exception(err) await async_capture_exception(err)
kwargs.pop("follow", None) # Follow is not supported for Docker logs kwargs.pop("follow", None) # Follow is not supported for Docker logs
kwargs.pop("latest", None) # Latest is not supported for Docker logs
return await api_supervisor.logs(*args, **kwargs) return await api_supervisor.logs(*args, **kwargs)
self.webapp.add_routes( self.webapp.add_routes(
@@ -458,10 +448,6 @@ class RestAPI(CoreSysAttributes):
"/supervisor/logs/follow", "/supervisor/logs/follow",
partial(get_supervisor_logs, follow=True), partial(get_supervisor_logs, follow=True),
), ),
web.get(
"/supervisor/logs/latest",
partial(get_supervisor_logs, latest=True),
),
web.get("/supervisor/logs/boots/{bootid}", get_supervisor_logs), web.get("/supervisor/logs/boots/{bootid}", get_supervisor_logs),
web.get( web.get(
"/supervisor/logs/boots/{bootid}/follow", "/supervisor/logs/boots/{bootid}/follow",
@@ -574,10 +560,6 @@ class RestAPI(CoreSysAttributes):
"/addons/{addon}/logs/follow", "/addons/{addon}/logs/follow",
partial(get_addon_logs, follow=True), partial(get_addon_logs, follow=True),
), ),
web.get(
"/addons/{addon}/logs/latest",
partial(get_addon_logs, latest=True),
),
web.get("/addons/{addon}/logs/boots/{bootid}", get_addon_logs), web.get("/addons/{addon}/logs/boots/{bootid}", get_addon_logs),
web.get( web.get(
"/addons/{addon}/logs/boots/{bootid}/follow", "/addons/{addon}/logs/boots/{bootid}/follow",
@@ -752,10 +734,6 @@ class RestAPI(CoreSysAttributes):
"/store/addons/{addon}/documentation", "/store/addons/{addon}/documentation",
api_store.addons_addon_documentation, api_store.addons_addon_documentation,
), ),
web.get(
"/store/addons/{addon}/availability",
api_store.addons_addon_availability,
),
web.post( web.post(
"/store/addons/{addon}/install", api_store.addons_addon_install "/store/addons/{addon}/install", api_store.addons_addon_install
), ),

View File

@@ -3,6 +3,7 @@
from __future__ import annotations from __future__ import annotations
import asyncio import asyncio
from collections.abc import Callable
import errno import errno
from io import IOBase from io import IOBase
import logging import logging
@@ -45,9 +46,12 @@ from ..const import (
ATTR_TYPE, ATTR_TYPE,
ATTR_VERSION, ATTR_VERSION,
REQUEST_FROM, REQUEST_FROM,
BusEvent,
CoreState,
) )
from ..coresys import CoreSysAttributes from ..coresys import CoreSysAttributes
from ..exceptions import APIError, APIForbidden, APINotFound from ..exceptions import APIError, APIForbidden, APINotFound
from ..jobs import JobSchedulerOptions, SupervisorJob
from ..mounts.const import MountUsage from ..mounts.const import MountUsage
from ..resolution.const import UnhealthyReason from ..resolution.const import UnhealthyReason
from .const import ( from .const import (
@@ -57,7 +61,7 @@ from .const import (
ATTR_LOCATIONS, ATTR_LOCATIONS,
CONTENT_TYPE_TAR, CONTENT_TYPE_TAR,
) )
from .utils import api_process, api_validate, background_task from .utils import api_process, api_validate
_LOGGER: logging.Logger = logging.getLogger(__name__) _LOGGER: logging.Logger = logging.getLogger(__name__)
@@ -285,6 +289,41 @@ class APIBackups(CoreSysAttributes):
f"Location {LOCATION_CLOUD_BACKUP} is only available for Home Assistant" f"Location {LOCATION_CLOUD_BACKUP} is only available for Home Assistant"
) )
async def _background_backup_task(
self, backup_method: Callable, *args, **kwargs
) -> tuple[asyncio.Task, str]:
"""Start backup task in background and return task and job ID."""
event = asyncio.Event()
job, backup_task = cast(
tuple[SupervisorJob, asyncio.Task],
self.sys_jobs.schedule_job(
backup_method, JobSchedulerOptions(), *args, **kwargs
),
)
async def release_on_freeze(new_state: CoreState):
if new_state == CoreState.FREEZE:
event.set()
# Wait for system to get into freeze state before returning
# If the backup fails validation it will raise before getting there
listener = self.sys_bus.register_event(
BusEvent.SUPERVISOR_STATE_CHANGE, release_on_freeze
)
try:
event_task = self.sys_create_task(event.wait())
_, pending = await asyncio.wait(
(backup_task, event_task),
return_when=asyncio.FIRST_COMPLETED,
)
# It seems backup returned early (error or something), make sure to cancel
# the event task to avoid "Task was destroyed but it is pending!" errors.
if event_task in pending:
event_task.cancel()
return (backup_task, job.uuid)
finally:
self.sys_bus.remove_listener(listener)
@api_process @api_process
async def backup_full(self, request: web.Request): async def backup_full(self, request: web.Request):
"""Create full backup.""" """Create full backup."""
@@ -303,8 +342,8 @@ class APIBackups(CoreSysAttributes):
body[ATTR_ADDITIONAL_LOCATIONS] = locations body[ATTR_ADDITIONAL_LOCATIONS] = locations
background = body.pop(ATTR_BACKGROUND) background = body.pop(ATTR_BACKGROUND)
backup_task, job_id = await background_task( backup_task, job_id = await self._background_backup_task(
self, self.sys_backups.do_backup_full, **body self.sys_backups.do_backup_full, **body
) )
if background and not backup_task.done(): if background and not backup_task.done():
@@ -339,8 +378,8 @@ class APIBackups(CoreSysAttributes):
body[ATTR_ADDONS] = list(self.sys_addons.local) body[ATTR_ADDONS] = list(self.sys_addons.local)
background = body.pop(ATTR_BACKGROUND) background = body.pop(ATTR_BACKGROUND)
backup_task, job_id = await background_task( backup_task, job_id = await self._background_backup_task(
self, self.sys_backups.do_backup_partial, **body self.sys_backups.do_backup_partial, **body
) )
if background and not backup_task.done(): if background and not backup_task.done():
@@ -363,8 +402,8 @@ class APIBackups(CoreSysAttributes):
request, body.get(ATTR_LOCATION, backup.location) request, body.get(ATTR_LOCATION, backup.location)
) )
background = body.pop(ATTR_BACKGROUND) background = body.pop(ATTR_BACKGROUND)
restore_task, job_id = await background_task( restore_task, job_id = await self._background_backup_task(
self, self.sys_backups.do_restore_full, backup, **body self.sys_backups.do_restore_full, backup, **body
) )
if background and not restore_task.done() or await restore_task: if background and not restore_task.done() or await restore_task:
@@ -383,8 +422,8 @@ class APIBackups(CoreSysAttributes):
request, body.get(ATTR_LOCATION, backup.location) request, body.get(ATTR_LOCATION, backup.location)
) )
background = body.pop(ATTR_BACKGROUND) background = body.pop(ATTR_BACKGROUND)
restore_task, job_id = await background_task( restore_task, job_id = await self._background_backup_task(
self, self.sys_backups.do_restore_partial, backup, **body self.sys_backups.do_restore_partial, backup, **body
) )
if background and not restore_task.done() or await restore_task: if background and not restore_task.done() or await restore_task:

View File

@@ -49,7 +49,6 @@ ATTR_LLMNR_HOSTNAME = "llmnr_hostname"
ATTR_LOCAL_ONLY = "local_only" ATTR_LOCAL_ONLY = "local_only"
ATTR_LOCATION_ATTRIBUTES = "location_attributes" ATTR_LOCATION_ATTRIBUTES = "location_attributes"
ATTR_LOCATIONS = "locations" ATTR_LOCATIONS = "locations"
ATTR_MAX_DEPTH = "max_depth"
ATTR_MDNS = "mdns" ATTR_MDNS = "mdns"
ATTR_MODEL = "model" ATTR_MODEL = "model"
ATTR_MOUNTS = "mounts" ATTR_MOUNTS = "mounts"

View File

@@ -12,7 +12,6 @@ from ..const import (
ATTR_ENABLE_IPV6, ATTR_ENABLE_IPV6,
ATTR_HOSTNAME, ATTR_HOSTNAME,
ATTR_LOGGING, ATTR_LOGGING,
ATTR_MTU,
ATTR_PASSWORD, ATTR_PASSWORD,
ATTR_REGISTRIES, ATTR_REGISTRIES,
ATTR_STORAGE, ATTR_STORAGE,
@@ -35,12 +34,7 @@ SCHEMA_DOCKER_REGISTRY = vol.Schema(
) )
# pylint: disable=no-value-for-parameter # pylint: disable=no-value-for-parameter
SCHEMA_OPTIONS = vol.Schema( SCHEMA_OPTIONS = vol.Schema({vol.Optional(ATTR_ENABLE_IPV6): vol.Maybe(vol.Boolean())})
{
vol.Optional(ATTR_ENABLE_IPV6): vol.Maybe(vol.Boolean()),
vol.Optional(ATTR_MTU): vol.Maybe(vol.All(int, vol.Range(min=68, max=65535))),
}
)
class APIDocker(CoreSysAttributes): class APIDocker(CoreSysAttributes):
@@ -57,7 +51,6 @@ class APIDocker(CoreSysAttributes):
return { return {
ATTR_VERSION: self.sys_docker.info.version, ATTR_VERSION: self.sys_docker.info.version,
ATTR_ENABLE_IPV6: self.sys_docker.config.enable_ipv6, ATTR_ENABLE_IPV6: self.sys_docker.config.enable_ipv6,
ATTR_MTU: self.sys_docker.config.mtu,
ATTR_STORAGE: self.sys_docker.info.storage, ATTR_STORAGE: self.sys_docker.info.storage,
ATTR_LOGGING: self.sys_docker.info.logging, ATTR_LOGGING: self.sys_docker.info.logging,
ATTR_REGISTRIES: data_registries, ATTR_REGISTRIES: data_registries,
@@ -68,23 +61,12 @@ class APIDocker(CoreSysAttributes):
"""Set docker options.""" """Set docker options."""
body = await api_validate(SCHEMA_OPTIONS, request) body = await api_validate(SCHEMA_OPTIONS, request)
reboot_required = False
if ( if (
ATTR_ENABLE_IPV6 in body ATTR_ENABLE_IPV6 in body
and self.sys_docker.config.enable_ipv6 != body[ATTR_ENABLE_IPV6] and self.sys_docker.config.enable_ipv6 != body[ATTR_ENABLE_IPV6]
): ):
self.sys_docker.config.enable_ipv6 = body[ATTR_ENABLE_IPV6] self.sys_docker.config.enable_ipv6 = body[ATTR_ENABLE_IPV6]
reboot_required = True _LOGGER.info("Host system reboot required to apply new IPv6 configuration")
if ATTR_MTU in body and self.sys_docker.config.mtu != body[ATTR_MTU]:
self.sys_docker.config.mtu = body[ATTR_MTU]
reboot_required = True
if reboot_required:
_LOGGER.info(
"Host system reboot required to apply Docker configuration changes"
)
self.sys_resolution.create_issue( self.sys_resolution.create_issue(
IssueType.REBOOT_REQUIRED, IssueType.REBOOT_REQUIRED,
ContextType.SYSTEM, ContextType.SYSTEM,

View File

@@ -20,7 +20,6 @@ from ..const import (
ATTR_CPU_PERCENT, ATTR_CPU_PERCENT,
ATTR_IMAGE, ATTR_IMAGE,
ATTR_IP_ADDRESS, ATTR_IP_ADDRESS,
ATTR_JOB_ID,
ATTR_MACHINE, ATTR_MACHINE,
ATTR_MEMORY_LIMIT, ATTR_MEMORY_LIMIT,
ATTR_MEMORY_PERCENT, ATTR_MEMORY_PERCENT,
@@ -38,8 +37,8 @@ from ..const import (
from ..coresys import CoreSysAttributes from ..coresys import CoreSysAttributes
from ..exceptions import APIDBMigrationInProgress, APIError from ..exceptions import APIDBMigrationInProgress, APIError
from ..validate import docker_image, network_port, version_tag from ..validate import docker_image, network_port, version_tag
from .const import ATTR_BACKGROUND, ATTR_FORCE, ATTR_SAFE_MODE from .const import ATTR_FORCE, ATTR_SAFE_MODE
from .utils import api_process, api_validate, background_task from .utils import api_process, api_validate
_LOGGER: logging.Logger = logging.getLogger(__name__) _LOGGER: logging.Logger = logging.getLogger(__name__)
@@ -62,7 +61,6 @@ SCHEMA_UPDATE = vol.Schema(
{ {
vol.Optional(ATTR_VERSION): version_tag, vol.Optional(ATTR_VERSION): version_tag,
vol.Optional(ATTR_BACKUP): bool, vol.Optional(ATTR_BACKUP): bool,
vol.Optional(ATTR_BACKGROUND, default=False): bool,
} }
) )
@@ -172,24 +170,18 @@ class APIHomeAssistant(CoreSysAttributes):
} }
@api_process @api_process
async def update(self, request: web.Request) -> dict[str, str] | None: async def update(self, request: web.Request) -> None:
"""Update Home Assistant.""" """Update Home Assistant."""
body = await api_validate(SCHEMA_UPDATE, request) body = await api_validate(SCHEMA_UPDATE, request)
await self._check_offline_migration() await self._check_offline_migration()
background = body[ATTR_BACKGROUND] await asyncio.shield(
update_task, job_id = await background_task( self.sys_homeassistant.core.update(
self, version=body.get(ATTR_VERSION, self.sys_homeassistant.latest_version),
self.sys_homeassistant.core.update, backup=body.get(ATTR_BACKUP),
version=body.get(ATTR_VERSION, self.sys_homeassistant.latest_version), )
backup=body.get(ATTR_BACKUP),
) )
if background and not update_task.done():
return {ATTR_JOB_ID: job_id}
return await update_task
@api_process @api_process
async def stop(self, request: web.Request) -> Awaitable[None]: async def stop(self, request: web.Request) -> Awaitable[None]:
"""Stop Home Assistant.""" """Stop Home Assistant."""

View File

@@ -2,17 +2,10 @@
import asyncio import asyncio
from contextlib import suppress from contextlib import suppress
import json
import logging import logging
from typing import Any from typing import Any
from aiohttp import ( from aiohttp import ClientConnectionResetError, ClientPayloadError, web
ClientConnectionResetError,
ClientError,
ClientPayloadError,
ClientTimeout,
web,
)
from aiohttp.hdrs import ACCEPT, RANGE from aiohttp.hdrs import ACCEPT, RANGE
import voluptuous as vol import voluptuous as vol
from voluptuous.error import CoerceInvalid from voluptuous.error import CoerceInvalid
@@ -58,7 +51,6 @@ from .const import (
ATTR_FORCE, ATTR_FORCE,
ATTR_IDENTIFIERS, ATTR_IDENTIFIERS,
ATTR_LLMNR_HOSTNAME, ATTR_LLMNR_HOSTNAME,
ATTR_MAX_DEPTH,
ATTR_STARTUP_TIME, ATTR_STARTUP_TIME,
ATTR_USE_NTP, ATTR_USE_NTP,
ATTR_VIRTUALIZATION, ATTR_VIRTUALIZATION,
@@ -201,11 +193,7 @@ class APIHost(CoreSysAttributes):
return possible_offset return possible_offset
async def advanced_logs_handler( async def advanced_logs_handler(
self, self, request: web.Request, identifier: str | None = None, follow: bool = False
request: web.Request,
identifier: str | None = None,
follow: bool = False,
latest: bool = False,
) -> web.StreamResponse: ) -> web.StreamResponse:
"""Return systemd-journald logs.""" """Return systemd-journald logs."""
log_formatter = LogFormatter.PLAIN log_formatter = LogFormatter.PLAIN
@@ -224,20 +212,6 @@ class APIHost(CoreSysAttributes):
if follow: if follow:
params[PARAM_FOLLOW] = "" params[PARAM_FOLLOW] = ""
if latest:
if not identifier:
raise APIError(
"Latest logs can only be fetched for a specific identifier."
)
try:
epoch = await self._get_container_last_epoch(identifier)
params["CONTAINER_LOG_EPOCH"] = epoch
except HostLogError as err:
raise APIError(
f"Cannot determine CONTAINER_LOG_EPOCH of {identifier}, latest logs not available."
) from err
if ACCEPT in request.headers and request.headers[ACCEPT] not in [ if ACCEPT in request.headers and request.headers[ACCEPT] not in [
CONTENT_TYPE_TEXT, CONTENT_TYPE_TEXT,
CONTENT_TYPE_X_LOG, CONTENT_TYPE_X_LOG,
@@ -266,8 +240,6 @@ class APIHost(CoreSysAttributes):
lines = max(2, lines) lines = max(2, lines)
# entries=cursor[[:num_skip]:num_entries] # entries=cursor[[:num_skip]:num_entries]
range_header = f"entries=:-{lines - 1}:{SYSTEMD_JOURNAL_GATEWAYD_LINES_MAX if follow else lines}" range_header = f"entries=:-{lines - 1}:{SYSTEMD_JOURNAL_GATEWAYD_LINES_MAX if follow else lines}"
elif latest:
range_header = f"entries=0:{SYSTEMD_JOURNAL_GATEWAYD_LINES_MAX}"
elif RANGE in request.headers: elif RANGE in request.headers:
range_header = request.headers[RANGE] range_header = request.headers[RANGE]
else: else:
@@ -313,81 +285,7 @@ class APIHost(CoreSysAttributes):
@api_process_raw(CONTENT_TYPE_TEXT, error_type=CONTENT_TYPE_TEXT) @api_process_raw(CONTENT_TYPE_TEXT, error_type=CONTENT_TYPE_TEXT)
async def advanced_logs( async def advanced_logs(
self, self, request: web.Request, identifier: str | None = None, follow: bool = False
request: web.Request,
identifier: str | None = None,
follow: bool = False,
latest: bool = False,
) -> web.StreamResponse: ) -> web.StreamResponse:
"""Return systemd-journald logs. Wrapped as standard API handler.""" """Return systemd-journald logs. Wrapped as standard API handler."""
return await self.advanced_logs_handler(request, identifier, follow, latest) return await self.advanced_logs_handler(request, identifier, follow)
@api_process
async def disk_usage(self, request: web.Request) -> dict:
"""Return a breakdown of storage usage for the system."""
max_depth = request.query.get(ATTR_MAX_DEPTH, 1)
try:
max_depth = int(max_depth)
except ValueError:
max_depth = 1
disk = self.sys_hardware.disk
total, used, _ = await self.sys_run_in_executor(
disk.disk_usage, self.sys_config.path_supervisor
)
known_paths = await self.sys_run_in_executor(
disk.get_dir_sizes,
{
"addons_data": self.sys_config.path_addons_data,
"addons_config": self.sys_config.path_addon_configs,
"media": self.sys_config.path_media,
"share": self.sys_config.path_share,
"backup": self.sys_config.path_backup,
"ssl": self.sys_config.path_ssl,
"homeassistant": self.sys_config.path_homeassistant,
},
max_depth,
)
return {
# this can be the disk/partition ID in the future
"id": "root",
"label": "Root",
"total_bytes": total,
"used_bytes": used,
"children": [
{
"id": "system",
"label": "System",
"used_bytes": used
- sum(path["used_bytes"] for path in known_paths),
},
*known_paths,
],
}
async def _get_container_last_epoch(self, identifier: str) -> str | None:
"""Get Docker's internal log epoch of the latest log entry for the given identifier."""
try:
async with self.sys_host.logs.journald_logs(
params={"CONTAINER_NAME": identifier},
range_header="entries=:-1:2", # -1 = next to the last entry
accept=LogFormat.JSON,
timeout=ClientTimeout(total=10),
) as resp:
text = await resp.text()
except (ClientError, TimeoutError) as err:
raise HostLogError(
"Could not get last container epoch from systemd-journal-gatewayd",
_LOGGER.error,
) from err
try:
return json.loads(text.strip().split("\n")[-1])["CONTAINER_LOG_EPOCH"]
except (json.JSONDecodeError, KeyError, IndexError) as err:
raise HostLogError(
f"Failed to parse CONTAINER_LOG_EPOCH of {identifier} container, got: {text}",
_LOGGER.error,
) from err

View File

@@ -199,25 +199,21 @@ class APIIngress(CoreSysAttributes):
url = f"{url}?{request.query_string}" url = f"{url}?{request.query_string}"
# Start proxy # Start proxy
try: async with self.sys_websession.ws_connect(
_LOGGER.debug("Proxing WebSocket to %s, upstream url: %s", addon.slug, url) url,
async with self.sys_websession.ws_connect( headers=source_header,
url, protocols=req_protocols,
headers=source_header, autoclose=False,
protocols=req_protocols, autoping=False,
autoclose=False, ) as ws_client:
autoping=False, # Proxy requests
) as ws_client: await asyncio.wait(
# Proxy requests [
await asyncio.wait( self.sys_create_task(_websocket_forward(ws_server, ws_client)),
[ self.sys_create_task(_websocket_forward(ws_client, ws_server)),
self.sys_create_task(_websocket_forward(ws_server, ws_client)), ],
self.sys_create_task(_websocket_forward(ws_client, ws_server)), return_when=asyncio.FIRST_COMPLETED,
], )
return_when=asyncio.FIRST_COMPLETED,
)
except TimeoutError:
_LOGGER.warning("WebSocket proxy to %s timed out", addon.slug)
return ws_server return ws_server
@@ -290,7 +286,6 @@ class APIIngress(CoreSysAttributes):
aiohttp.ClientError, aiohttp.ClientError,
aiohttp.ClientPayloadError, aiohttp.ClientPayloadError,
ConnectionResetError, ConnectionResetError,
ConnectionError,
) as err: ) as err:
_LOGGER.error("Stream error with %s: %s", url, err) _LOGGER.error("Stream error with %s: %s", url, err)
@@ -391,9 +386,9 @@ async def _websocket_forward(ws_from, ws_to):
elif msg.type == aiohttp.WSMsgType.BINARY: elif msg.type == aiohttp.WSMsgType.BINARY:
await ws_to.send_bytes(msg.data) await ws_to.send_bytes(msg.data)
elif msg.type == aiohttp.WSMsgType.PING: elif msg.type == aiohttp.WSMsgType.PING:
await ws_to.ping(msg.data) await ws_to.ping()
elif msg.type == aiohttp.WSMsgType.PONG: elif msg.type == aiohttp.WSMsgType.PONG:
await ws_to.pong(msg.data) await ws_to.pong()
elif ws_to.closed: elif ws_to.closed:
await ws_to.close(code=ws_to.close_code, message=msg.extra) await ws_to.close(code=ws_to.close_code, message=msg.extra)
except RuntimeError: except RuntimeError:

View File

@@ -26,9 +26,7 @@ from ..const import (
ATTR_IP6_PRIVACY, ATTR_IP6_PRIVACY,
ATTR_IPV4, ATTR_IPV4,
ATTR_IPV6, ATTR_IPV6,
ATTR_LLMNR,
ATTR_MAC, ATTR_MAC,
ATTR_MDNS,
ATTR_METHOD, ATTR_METHOD,
ATTR_MODE, ATTR_MODE,
ATTR_NAMESERVERS, ATTR_NAMESERVERS,
@@ -56,7 +54,6 @@ from ..host.configuration import (
Ip6Setting, Ip6Setting,
IpConfig, IpConfig,
IpSetting, IpSetting,
MulticastDnsMode,
VlanConfig, VlanConfig,
WifiConfig, WifiConfig,
) )
@@ -100,8 +97,6 @@ SCHEMA_UPDATE = vol.Schema(
vol.Optional(ATTR_IPV6): _SCHEMA_IPV6_CONFIG, vol.Optional(ATTR_IPV6): _SCHEMA_IPV6_CONFIG,
vol.Optional(ATTR_WIFI): _SCHEMA_WIFI_CONFIG, vol.Optional(ATTR_WIFI): _SCHEMA_WIFI_CONFIG,
vol.Optional(ATTR_ENABLED): vol.Boolean(), vol.Optional(ATTR_ENABLED): vol.Boolean(),
vol.Optional(ATTR_MDNS): vol.Coerce(MulticastDnsMode),
vol.Optional(ATTR_LLMNR): vol.Coerce(MulticastDnsMode),
} }
) )
@@ -165,8 +160,6 @@ def interface_struct(interface: Interface) -> dict[str, Any]:
else None, else None,
ATTR_WIFI: wifi_struct(interface.wifi) if interface.wifi else None, ATTR_WIFI: wifi_struct(interface.wifi) if interface.wifi else None,
ATTR_VLAN: vlan_struct(interface.vlan) if interface.vlan else None, ATTR_VLAN: vlan_struct(interface.vlan) if interface.vlan else None,
ATTR_MDNS: interface.mdns,
ATTR_LLMNR: interface.llmnr,
} }
@@ -267,10 +260,6 @@ class APINetwork(CoreSysAttributes):
) )
elif key == ATTR_ENABLED: elif key == ATTR_ENABLED:
interface.enabled = config interface.enabled = config
elif key == ATTR_MDNS:
interface.mdns = config
elif key == ATTR_LLMNR:
interface.llmnr = config
await asyncio.shield(self.sys_host.network.apply_changes(interface)) await asyncio.shield(self.sys_host.network.apply_changes(interface))
@@ -311,15 +300,6 @@ class APINetwork(CoreSysAttributes):
vlan_config = VlanConfig(vlan, interface.name) vlan_config = VlanConfig(vlan, interface.name)
mdns_mode = MulticastDnsMode.DEFAULT
llmnr_mode = MulticastDnsMode.DEFAULT
if ATTR_MDNS in body:
mdns_mode = body[ATTR_MDNS]
if ATTR_LLMNR in body:
llmnr_mode = body[ATTR_LLMNR]
ipv4_setting = None ipv4_setting = None
if ATTR_IPV4 in body: if ATTR_IPV4 in body:
ipv4_setting = IpSetting( ipv4_setting = IpSetting(
@@ -345,7 +325,7 @@ class APINetwork(CoreSysAttributes):
) )
vlan_interface = Interface( vlan_interface = Interface(
f"{interface.name}.{vlan}", "",
"", "",
"", "",
True, True,
@@ -358,7 +338,5 @@ class APINetwork(CoreSysAttributes):
ipv6_setting, ipv6_setting,
None, None,
vlan_config, vlan_config,
mdns=mdns_mode,
llmnr=llmnr_mode,
) )
await asyncio.shield(self.sys_host.network.create_vlan(vlan_interface)) await asyncio.shield(self.sys_host.network.apply_changes(vlan_interface))

View File

@@ -1 +1 @@
!function(){function d(d){var e=document.createElement("script");e.src=d,document.body.appendChild(e)}if(/Edge?\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.\d+|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(16[._]([6-9]|\d{2,})|(1[7-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/(2[7-9]|[3-9]\d|\d{3,})\.\d+|Home As{2}istant\/[\d.]+ \(.+; macOS (1[3-9]|[2-9]\d|\d{3,})\.\d+(\.\d+)?\)/.test(navigator.userAgent))try{new Function("import('/api/hassio/app/frontend_latest/entrypoint.13b942f66af14ae7.js')")()}catch(e){d("/api/hassio/app/frontend_es5/entrypoint.4fccc51701dd6142.js")}else d("/api/hassio/app/frontend_es5/entrypoint.4fccc51701dd6142.js")}() !function(){function d(d){var e=document.createElement("script");e.src=d,document.body.appendChild(e)}if(/Edge?\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.\d+|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(16[._]([6-9]|\d{2,})|(1[7-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/(2[7-9]|[3-9]\d|\d{3,})\.\d+|Home As{2}istant\/[\d.]+ \(.+; macOS (1[3-9]|[2-9]\d|\d{3,})\.\d+(\.\d+)?\)/.test(navigator.userAgent))try{new Function("import('/api/hassio/app/frontend_latest/entrypoint.9b475c5882bbf15f.js')")()}catch(e){d("/api/hassio/app/frontend_es5/entrypoint.73551a66a38f3359.js")}else d("/api/hassio/app/frontend_es5/entrypoint.73551a66a38f3359.js")}()

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"113.13cc15fa81bd492f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-icon-button-arrow-next.ts"],"names":["HaIconButtonArrowNext","LitElement","render","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","args","mainWindow","attribute","type","Boolean"],"mappings":"4RASO,MAAMA,UAA8BC,EAAAA,GAU/BC,MAAAA,GAAyB,IAAAC,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,C,kBAlBK,SAAAC,GAAA,KAG+BL,UAAW,OAI9BI,MACa,QAA5BE,EAAAA,EAAAA,SAAAA,I,gLAPUC,WAAW,K,uDAEXC,KAAMC,W"} {"version":3,"file":"113.13cc15fa81bd492f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-icon-button-arrow-next.ts"],"names":["HaIconButtonArrowNext","LitElement","render","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","args","mainWindow","attribute","type","Boolean"],"mappings":"4RASO,MAAMA,UAA8BC,EAAAA,GAU/BC,MAAAA,GAAyB,IAAAC,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,C,kBAlBK,SAAAC,GAAA,KAG+BL,UAAW,OAI9BI,MACa,QAA5BE,EAAAA,EAAAA,SAAAA,I,gLAPUC,WAAW,K,uDAEXC,KAAMC,W"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"1303.586b15f0603e938e.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-form/ha-form-constant.ts"],"names":["HaFormConstant","LitElement","render","html","_t","_","this","label","schema","value","styles","css","_t2","attribute"],"mappings":"kPAMO,MAAMA,UAAuBC,EAAAA,GAKxBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,uBAAuB,WAAvB,KAAuBC,KAAKC,MAAeD,KAAKE,OAAOC,MAC5D,KAAKH,KAAKE,OAAOC,QACjB,GACR,EATWT,EAWJU,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAP,CAAA,0E,2BAVPQ,WAAW,K"} {"version":3,"file":"1303.586b15f0603e938e.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-form/ha-form-constant.ts"],"names":["HaFormConstant","LitElement","render","html","_t","_","this","label","schema","value","styles","css","_t2","attribute"],"mappings":"kPAMO,MAAMA,UAAuBC,EAAAA,GAKxBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,uBAAuB,WAAvB,KAAuBC,KAAKC,MAAeD,KAAKE,OAAOC,MAC5D,KAAKH,KAAKE,OAAOC,QACjB,GACR,EATWT,EAWJU,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAP,CAAA,0E,2BAVPQ,WAAW,K"}

View File

@@ -1 +1 @@
{"version":3,"file":"1374.3202a7d8086556de.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-icon-next.ts"],"names":["HaIconNext","HaSvgIcon","args","path","mainWindow"],"mappings":"yPAMO,MAAMA,UAAmBC,EAAAA,U,kBAAzB,SAAAC,GAAA,KACuBC,KACE,QAA5BC,EAAAA,EAAAA,SAAAA,I"} {"version":3,"file":"1374.3202a7d8086556de.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-icon-next.ts"],"names":["HaIconNext","HaSvgIcon","args","path","mainWindow"],"mappings":"yPAMO,MAAMA,UAAmBC,EAAAA,U,kBAAzB,SAAAC,GAAA,KACuBC,KACE,QAA5BC,EAAAA,EAAAA,SAAAA,I"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"174.ee01401de6dea936.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-dialog-date-picker.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-dialog.ts"],"names":["HaDialogDatePicker","LitElement","showDialog","params","nextRender","this","_params","_value","value","closeDialog","undefined","fireEvent","dialog","localName","render","html","_t","_","min","max","locale","_valueChanged","firstWeekday","canClear","_t2","_clear","hass","localize","nothing","_setToday","_setValue","ev","detail","_this$_params","onChange","today","Date","format","_this$_params2","args","disabled","styles","haStyleDialog","css","_t3","attribute","type","Boolean","SUPPRESS_DEFAULT_PRESS_SELECTOR","createCloseHeading","title","_hass$localize","HaDialog","DialogBase","scrollToPos","x","y","_this$contentElement","contentElement","scrollTo","renderHeading","super","firstUpdated","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","disconnectedCallback","removeEventListener","toggleAttribute","scrollTop"],"mappings":"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"} {"version":3,"file":"174.ee01401de6dea936.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-dialog-date-picker.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-dialog.ts"],"names":["HaDialogDatePicker","LitElement","showDialog","params","nextRender","this","_params","_value","value","closeDialog","undefined","fireEvent","dialog","localName","render","html","_t","_","min","max","locale","_valueChanged","firstWeekday","canClear","_t2","_clear","hass","localize","nothing","_setToday","_setValue","ev","detail","_this$_params","onChange","today","Date","format","_this$_params2","args","disabled","styles","haStyleDialog","css","_t3","attribute","type","Boolean","SUPPRESS_DEFAULT_PRESS_SELECTOR","createCloseHeading","title","_hass$localize","HaDialog","DialogBase","scrollToPos","x","y","_this$contentElement","contentElement","scrollTo","renderHeading","super","firstUpdated","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","disconnectedCallback","removeEventListener","toggleAttribute","scrollTop"],"mappings":"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"}

View File

@@ -1 +1 @@
{"version":3,"file":"2006.c7a6f555d46cc3c0.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-selector/ha-selector-constant.ts"],"names":["HaSelectorConstant","LitElement","render","_this$selector$consta","_ref","_ref2","_this$selector$consta2","_this$selector$consta3","this","disabled","nothing","translationKey","selector","constant","translation_key","translatedLabel","localizeValue","undefined","label","value","args","attribute","type","Boolean"],"mappings":"yPAKO,MAAMA,UAA2BC,EAAAA,GAQ5BC,MAAAA,GAAS,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjB,GAAIC,KAAKC,SACP,OAAOC,EAAAA,GAGT,MAAMC,EAAuC,QAAvCR,EAAiBK,KAAKI,SAASC,gBAAQ,IAAAV,OAAA,EAAtBA,EAAwBW,gBAEzCC,EACJJ,GAAkBH,KAAKQ,cACnBR,KAAKQ,cAAc,GAAGL,gBACtBM,EAEN,OAG0B,QAH1Bb,EAE0B,QAF1BC,EACEU,QAAAA,EACsB,QADtBT,EACAE,KAAKI,SAASC,gBAAQ,IAAAP,OAAA,EAAtBA,EAAwBY,aAAA,IAAAb,EAAAA,EACF,QADEE,EACxBC,KAAKI,SAASC,gBAAQ,IAAAN,OAAA,EAAtBA,EAAwBY,aAAA,IAAAf,EAAAA,EACxBM,EAAAA,EAEJ,C,kBA1BK,SAAAU,GAAA,KAG+BX,UAAW,C,8BAFnCY,WAAW,K,2DAEXC,KAAMC,W,2DAENF,WAAW,K"} {"version":3,"file":"2006.c7a6f555d46cc3c0.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-selector/ha-selector-constant.ts"],"names":["HaSelectorConstant","LitElement","render","_this$selector$consta","_ref","_ref2","_this$selector$consta2","_this$selector$consta3","this","disabled","nothing","translationKey","selector","constant","translation_key","translatedLabel","localizeValue","undefined","label","value","args","attribute","type","Boolean"],"mappings":"yPAKO,MAAMA,UAA2BC,EAAAA,GAQ5BC,MAAAA,GAAS,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjB,GAAIC,KAAKC,SACP,OAAOC,EAAAA,GAGT,MAAMC,EAAuC,QAAvCR,EAAiBK,KAAKI,SAASC,gBAAQ,IAAAV,OAAA,EAAtBA,EAAwBW,gBAEzCC,EACJJ,GAAkBH,KAAKQ,cACnBR,KAAKQ,cAAc,GAAGL,gBACtBM,EAEN,OAG0B,QAH1Bb,EAE0B,QAF1BC,EACEU,QAAAA,EACsB,QADtBT,EACAE,KAAKI,SAASC,gBAAQ,IAAAP,OAAA,EAAtBA,EAAwBY,aAAA,IAAAb,EAAAA,EACF,QADEE,EACxBC,KAAKI,SAASC,gBAAQ,IAAAN,OAAA,EAAtBA,EAAwBY,aAAA,IAAAf,EAAAA,EACxBM,EAAAA,EAEJ,C,kBA1BK,SAAAU,GAAA,KAG+BX,UAAW,C,8BAFnCY,WAAW,K,2DAEXC,KAAMC,W,2DAENF,WAAW,K"}

View File

@@ -1 +1 @@
{"version":3,"file":"203.ce95b7511bb7d13f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-form/ha-form-expandable.ts"],"names":["HaFormExpendable","LitElement","_renderDescription","_this$computeHelper","description","this","computeHelper","call","schema","html","_t","_","nothing","render","_this$schema$headingL","_this$schema$headingL2","_this$computeLabel","_t2","Boolean","expanded","icon","_t3","iconPath","_t4","headingLevel","toString","title","computeLabel","hass","data","disabled","_computeLabel","_computeHelper","localizeValue","args","options","Object","assign","path","name","styles","css","_t5","attribute","type"],"mappings":"sSAYO,MAAMA,UAAyBC,EAAAA,GAwB5BC,kBAAAA,GAAqB,IAAAC,EAC3B,MAAMC,EAAgC,QAAhCD,EAAcE,KAAKC,qBAAa,IAAAH,OAAA,EAAlBA,EAAAI,KAAAF,KAAqBA,KAAKG,QAC9C,OAAOJ,GAAcK,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,MAAM,SAAAP,GAAoBQ,EAAAA,EACrD,CA2BUC,MAAAA,GAAS,IAAAC,EAAAC,EAAAC,EACjB,OAAOP,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,iUACgCO,QAAQb,KAAKG,OAAOW,UACzDd,KAAKG,OAAOY,MACVX,EAAAA,EAAAA,IAAIY,IAAAA,EAAAV,CAAA,0DACmCN,KAAKG,OAAOY,MAEnDf,KAAKG,OAAOc,UACVb,EAAAA,EAAAA,IAAIc,IAAAA,EAAAZ,CAAA,kEAGQN,KAAKG,OAAOc,UAGxBV,EAAAA,GAImC,QAJnCE,EAIiC,QAJjCC,EAISV,KAAKG,OAAOgB,oBAAY,IAAAT,OAAA,EAAxBA,EAA0BU,kBAAA,IAAAX,EAAAA,EAAc,IAEnDT,KAAKG,OAAOkB,QAA0B,QAArBV,EAAIX,KAAKsB,oBAAY,IAAAX,OAAA,EAAjBA,EAAAT,KAAAF,KAAoBA,KAAKG,SAG9CH,KAAKH,qBAEGG,KAAKuB,KACLvB,KAAKwB,KACHxB,KAAKG,OAAOA,OACVH,KAAKyB,SACDzB,KAAK0B,cACJ1B,KAAK2B,eACL3B,KAAK4B,cAKhC,C,kBA1FK,SAAAC,GAAA,KAO+BJ,UAAW,OAsBvCC,cAAgB,CACtBvB,EACAqB,EACAM,IAEK9B,KAAKsB,aAEHtB,KAAKsB,aAAanB,EAAQqB,EAAAO,OAAAC,OAAAD,OAAAC,OAAA,GAC5BF,GAAO,IACVG,KAAM,KAAKH,aAAA,EAAAA,EAASG,OAAQ,GAAKjC,KAAKG,OAAO+B,SAJhBlC,KAAKsB,aAMtC,KAEQK,eAAiB,CACvBxB,EACA2B,IAEK9B,KAAKC,cAEHD,KAAKC,cAAcE,EAAA4B,OAAAC,OAAAD,OAAAC,OAAA,GACrBF,GAAO,IACVG,KAAM,KAAKH,aAAA,EAAAA,EAASG,OAAQ,GAAKjC,KAAKG,OAAO+B,SAJflC,KAAKC,a,EA9C5BN,EA4FJwC,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA/B,CAAA,+S,2BA3FPgC,WAAW,K,uDAEXA,WAAW,K,uDAEXA,WAAW,K,yDAEXC,KAAM1B,W,2DAENyB,WAAW,K,+DAMXA,WAAW,K,gEAKXA,WAAW,K"} {"version":3,"file":"203.ce95b7511bb7d13f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-form/ha-form-expandable.ts"],"names":["HaFormExpendable","LitElement","_renderDescription","_this$computeHelper","description","this","computeHelper","call","schema","html","_t","_","nothing","render","_this$schema$headingL","_this$schema$headingL2","_this$computeLabel","_t2","Boolean","expanded","icon","_t3","iconPath","_t4","headingLevel","toString","title","computeLabel","hass","data","disabled","_computeLabel","_computeHelper","localizeValue","args","options","Object","assign","path","name","styles","css","_t5","attribute","type"],"mappings":"sSAYO,MAAMA,UAAyBC,EAAAA,GAwB5BC,kBAAAA,GAAqB,IAAAC,EAC3B,MAAMC,EAAgC,QAAhCD,EAAcE,KAAKC,qBAAa,IAAAH,OAAA,EAAlBA,EAAAI,KAAAF,KAAqBA,KAAKG,QAC9C,OAAOJ,GAAcK,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,MAAM,SAAAP,GAAoBQ,EAAAA,EACrD,CA2BUC,MAAAA,GAAS,IAAAC,EAAAC,EAAAC,EACjB,OAAOP,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,iUACgCO,QAAQb,KAAKG,OAAOW,UACzDd,KAAKG,OAAOY,MACVX,EAAAA,EAAAA,IAAIY,IAAAA,EAAAV,CAAA,0DACmCN,KAAKG,OAAOY,MAEnDf,KAAKG,OAAOc,UACVb,EAAAA,EAAAA,IAAIc,IAAAA,EAAAZ,CAAA,kEAGQN,KAAKG,OAAOc,UAGxBV,EAAAA,GAImC,QAJnCE,EAIiC,QAJjCC,EAISV,KAAKG,OAAOgB,oBAAY,IAAAT,OAAA,EAAxBA,EAA0BU,kBAAA,IAAAX,EAAAA,EAAc,IAEnDT,KAAKG,OAAOkB,QAA0B,QAArBV,EAAIX,KAAKsB,oBAAY,IAAAX,OAAA,EAAjBA,EAAAT,KAAAF,KAAoBA,KAAKG,SAG9CH,KAAKH,qBAEGG,KAAKuB,KACLvB,KAAKwB,KACHxB,KAAKG,OAAOA,OACVH,KAAKyB,SACDzB,KAAK0B,cACJ1B,KAAK2B,eACL3B,KAAK4B,cAKhC,C,kBA1FK,SAAAC,GAAA,KAO+BJ,UAAW,OAsBvCC,cAAgB,CACtBvB,EACAqB,EACAM,IAEK9B,KAAKsB,aAEHtB,KAAKsB,aAAanB,EAAQqB,EAAAO,OAAAC,OAAAD,OAAAC,OAAA,GAC5BF,GAAO,IACVG,KAAM,KAAKH,aAAA,EAAAA,EAASG,OAAQ,GAAKjC,KAAKG,OAAO+B,SAJhBlC,KAAKsB,aAMtC,KAEQK,eAAiB,CACvBxB,EACA2B,IAEK9B,KAAKC,cAEHD,KAAKC,cAAcE,EAAA4B,OAAAC,OAAAD,OAAAC,OAAA,GACrBF,GAAO,IACVG,KAAM,KAAKH,aAAA,EAAAA,EAASG,OAAQ,GAAKjC,KAAKG,OAAO+B,SAJflC,KAAKC,a,EA9C5BN,EA4FJwC,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA/B,CAAA,+S,2BA3FPgC,WAAW,K,uDAEXA,WAAW,K,uDAEXA,WAAW,K,yDAEXC,KAAM1B,W,2DAENyB,WAAW,K,+DAMXA,WAAW,K,gEAKXA,WAAW,K"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"2210.0e18ee765a9dd032.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts"],"names":["HassioCreateBackupDialog","LitElement","showDialog","dialogParams","this","_dialogParams","_creatingBackup","closeDialog","undefined","_error","fireEvent","dialog","localName","render","html","_t","_","createCloseHeading","hass","supervisor","localize","_t2","_t3","_t4","_createBackup","nothing","info","state","showAlertDialog","title","text","backupDetails","_backupContent","password","length","confirm_password","backupType","createHassioFullBackup","createHassioPartialBackup","onCreate","err","extractApiErrorMessage","styles","haStyle","haStyleDialog","css","_t5","args","attribute"],"mappings":"0ZAoBA,MACMA,UAAiCC,EAAAA,GAY9BC,UAAAA,CAAWC,GAChBC,KAAKC,cAAgBF,EACrBC,KAAKE,iBAAkB,CACzB,CAEOC,WAAAA,GACLH,KAAKC,mBAAgBG,EACrBJ,KAAKE,iBAAkB,EACvBF,KAAKK,YAASD,GACdE,EAAAA,EAAAA,GAAUN,KAAM,gBAAiB,CAAEO,OAAQP,KAAKQ,WAClD,CAEUC,MAAAA,GACR,OAAKT,KAAKC,eAGHS,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,qQAIGZ,KAAKG,aACJU,EAAAA,EAAAA,GACTb,KAAKc,KACLd,KAAKC,cAAcc,WAAWC,SAAS,yBAGvChB,KAAKE,iBACHQ,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,+BACJF,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,+GACMZ,KAAKc,KACCd,KAAKC,cAAcc,YAIrCf,KAAKK,QACHK,EAAAA,EAAAA,IAAIS,IAAAA,EAAAP,CAAA,gCAAgC,gBAAAZ,KAAKK,QACzC,GAIOL,KAAKG,YAEZH,KAAKC,cAAcc,WAAWC,SAAS,gBAG7BhB,KAAKE,gBAERF,KAAKoB,cAEZpB,KAAKC,cAAcc,WAAWC,SAAS,kBAnCtCK,EAAAA,EAuCX,CAEA,mBAAcD,GACZ,GAAkD,YAA9CpB,KAAKC,cAAec,WAAWO,KAAKC,MAUtC,YATAC,EAAAA,EAAAA,IAAgBxB,KAAM,CACpByB,MAAOzB,KAAKC,cAAec,WAAWC,SACpC,2BAEFU,KAAM1B,KAAKC,cAAec,WAAWC,SACnC,oCACA,CAAEO,MAAOvB,KAAKC,cAAec,WAAWO,KAAKC,UAKnD,MAAMI,EAAgB3B,KAAK4B,eAAeD,gBAI1C,GAHA3B,KAAKE,iBAAkB,EAEvBF,KAAKK,OAAS,GACVsB,EAAcE,WAAaF,EAAcE,SAASC,OAKpD,OAJA9B,KAAKK,OAASL,KAAKC,cAAec,WAAWC,SAC3C,8BAEFhB,KAAKE,iBAAkB,GAGzB,GACEyB,EAAcE,UACdF,EAAcE,WAAaF,EAAcI,iBAMzC,OAJA/B,KAAKK,OAASL,KAAKC,cAAec,WAAWC,SAC3C,sCAEFhB,KAAKE,iBAAkB,UAIlByB,EAAcI,iBAErB,IACyC,SAAnC/B,KAAK4B,eAAeI,iBAChBC,EAAAA,EAAAA,IAAuBjC,KAAKc,KAAMa,SAElCO,EAAAA,EAAAA,IAA0BlC,KAAKc,KAAMa,GAG7C3B,KAAKC,cAAekC,WACpBnC,KAAKG,aACP,CAAE,MAAOiC,GACPpC,KAAKK,QAASgC,EAAAA,EAAAA,IAAuBD,EACvC,CACApC,KAAKE,iBAAkB,CACzB,CAEA,iBAAWoC,GACT,MAAO,CACLC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA9B,CAAA,sCAMP,C,kBAlIF,SAAA+B,GAAA,KAQmBzC,iBAAkB,C,8BANvB0C,WAAW,K"} {"version":3,"file":"2210.0e18ee765a9dd032.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts"],"names":["HassioCreateBackupDialog","LitElement","showDialog","dialogParams","this","_dialogParams","_creatingBackup","closeDialog","undefined","_error","fireEvent","dialog","localName","render","html","_t","_","createCloseHeading","hass","supervisor","localize","_t2","_t3","_t4","_createBackup","nothing","info","state","showAlertDialog","title","text","backupDetails","_backupContent","password","length","confirm_password","backupType","createHassioFullBackup","createHassioPartialBackup","onCreate","err","extractApiErrorMessage","styles","haStyle","haStyleDialog","css","_t5","args","attribute"],"mappings":"0ZAoBA,MACMA,UAAiCC,EAAAA,GAY9BC,UAAAA,CAAWC,GAChBC,KAAKC,cAAgBF,EACrBC,KAAKE,iBAAkB,CACzB,CAEOC,WAAAA,GACLH,KAAKC,mBAAgBG,EACrBJ,KAAKE,iBAAkB,EACvBF,KAAKK,YAASD,GACdE,EAAAA,EAAAA,GAAUN,KAAM,gBAAiB,CAAEO,OAAQP,KAAKQ,WAClD,CAEUC,MAAAA,GACR,OAAKT,KAAKC,eAGHS,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,qQAIGZ,KAAKG,aACJU,EAAAA,EAAAA,GACTb,KAAKc,KACLd,KAAKC,cAAcc,WAAWC,SAAS,yBAGvChB,KAAKE,iBACHQ,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,+BACJF,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,+GACMZ,KAAKc,KACCd,KAAKC,cAAcc,YAIrCf,KAAKK,QACHK,EAAAA,EAAAA,IAAIS,IAAAA,EAAAP,CAAA,gCAAgC,gBAAAZ,KAAKK,QACzC,GAIOL,KAAKG,YAEZH,KAAKC,cAAcc,WAAWC,SAAS,gBAG7BhB,KAAKE,gBAERF,KAAKoB,cAEZpB,KAAKC,cAAcc,WAAWC,SAAS,kBAnCtCK,EAAAA,EAuCX,CAEA,mBAAcD,GACZ,GAAkD,YAA9CpB,KAAKC,cAAec,WAAWO,KAAKC,MAUtC,YATAC,EAAAA,EAAAA,IAAgBxB,KAAM,CACpByB,MAAOzB,KAAKC,cAAec,WAAWC,SACpC,2BAEFU,KAAM1B,KAAKC,cAAec,WAAWC,SACnC,oCACA,CAAEO,MAAOvB,KAAKC,cAAec,WAAWO,KAAKC,UAKnD,MAAMI,EAAgB3B,KAAK4B,eAAeD,gBAI1C,GAHA3B,KAAKE,iBAAkB,EAEvBF,KAAKK,OAAS,GACVsB,EAAcE,WAAaF,EAAcE,SAASC,OAKpD,OAJA9B,KAAKK,OAASL,KAAKC,cAAec,WAAWC,SAC3C,8BAEFhB,KAAKE,iBAAkB,GAGzB,GACEyB,EAAcE,UACdF,EAAcE,WAAaF,EAAcI,iBAMzC,OAJA/B,KAAKK,OAASL,KAAKC,cAAec,WAAWC,SAC3C,sCAEFhB,KAAKE,iBAAkB,UAIlByB,EAAcI,iBAErB,IACyC,SAAnC/B,KAAK4B,eAAeI,iBAChBC,EAAAA,EAAAA,IAAuBjC,KAAKc,KAAMa,SAElCO,EAAAA,EAAAA,IAA0BlC,KAAKc,KAAMa,GAG7C3B,KAAKC,cAAekC,WACpBnC,KAAKG,aACP,CAAE,MAAOiC,GACPpC,KAAKK,QAASgC,EAAAA,EAAAA,IAAuBD,EACvC,CACApC,KAAKE,iBAAkB,CACzB,CAEA,iBAAWoC,GACT,MAAO,CACLC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA9B,CAAA,sCAMP,C,kBAlIF,SAAA+B,GAAA,KAQmBzC,iBAAkB,C,8BANvB0C,WAAW,K"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"2341.a6764e608e9c9aa5.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-form/ha-form-optional_actions.ts"],"names":["stopPropagation","ev","NO_ACTIONS","HaFormOptionalActions","LitElement","focus","_this$renderRoot$quer","this","updateComplete","renderRoot","querySelector","updated","changedProps","super","has","_this$_displayActions","displayActions","_displayActions","hiddenActions","_hiddenActions","schema","filter","name","data","render","_this$_displayActions2","_this$_displayActions3","_this$localize","_displaySchema","schemaMap","Map","computeLabel","map","item","html","_t","_","length","_t2","hass","disabled","computeHelper","localizeValue","nothing","_t3","_handleAddAction","mdiPlus","localize","call","action","actionSchema","get","_t4","_this$_displayActions4","_this$_displayActions5","detail","index","args","memoizeOne","includes","styles","css","_t5","attribute","type","Boolean"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,qYCmBpCE,EAAa,GAGZ,MAAMC,UAA8BC,EAAAA,GA0BzC,WAAaC,GAAQ,IAAAC,QACbC,KAAKC,eACmB,QAA9BF,EAAAC,KAAKE,WAAWC,cAAc,sBAAAJ,GAA9BA,EAA0CD,OAC5C,CAEUM,OAAAA,CAAQC,GAEhB,GADAC,MAAMF,QAAQC,GACVA,EAAaE,IAAI,QAAS,KAAAC,EAC5B,MAAMC,EAAqC,QAArCD,EAAiBR,KAAKU,uBAAe,IAAAF,EAAAA,EAAIb,EACzCgB,EAAgBX,KAAKY,eACzBZ,KAAKa,OAAOA,OACZJ,GAEFT,KAAKU,gBAAkB,IAClBD,KACAE,EAAcG,OAAQC,GAASA,KAAQf,KAAKgB,MAEnD,CACF,CAiBOC,MAAAA,GAAyB,IAAAC,EAAAC,EAAAC,EAC9B,MAAMX,EAAqC,QAArCS,EAAiBlB,KAAKU,uBAAe,IAAAQ,EAAAA,EAAIvB,EAEzCkB,EAASb,KAAKqB,eAClBrB,KAAKa,OAAOA,OACQ,QADFM,EAClBnB,KAAKU,uBAAe,IAAAS,EAAAA,EAAI,IAGpBR,EAAgBX,KAAKY,eACzBZ,KAAKa,OAAOA,OACZJ,GAGIa,EAAY,IAAIC,IACpBvB,KAAKwB,aACDxB,KAAKa,OAAOA,OAAOY,IAAKC,GAAS,CAACA,EAAKX,KAAMW,IAC7C,IAGN,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,eACPhB,EAAOiB,OAAS,GACdH,EAAAA,EAAAA,IAAII,IAAAA,EAAAF,CAAA,oJAEQ7B,KAAKgC,KACLhC,KAAKgB,KACHH,EACEb,KAAKiC,SACDjC,KAAKwB,aACJxB,KAAKkC,cACLlC,KAAKmC,eAG1BC,EAAAA,GACFzB,EAAcmB,OAAS,GACrBH,EAAAA,EAAAA,IAAIU,IAAAA,EAAAR,CAAA,qNAEU7B,KAAKsC,iBAEL7C,EAAAA,EAGa8C,GACN,QAAbnB,EAAApB,KAAKwC,gBAAQ,IAAApB,OAAA,EAAbA,EAAAqB,KAAAzC,KAAgB,6CAClB,kBAEAW,EAAcc,IAAKiB,IACnB,MAAMC,EAAerB,EAAUsB,IAAIF,GACnC,OAAOf,EAAAA,EAAAA,IAAIkB,IAAAA,EAAAhB,CAAA,yCAEL7B,KAAKwB,cAAgBmB,EACnB3C,KAAKwB,aAAamB,GAClBD,MAMdN,EAAAA,GAER,CAEQE,gBAAAA,CAAiB5C,GAAiB,IAAAoD,EAAAC,EACxC,MAKML,EALgB1C,KAAKY,eACzBZ,KAAKa,OAAOA,OACQ,QADFiC,EAClB9C,KAAKU,uBAAe,IAAAoC,EAAAA,EAAInD,GAEZD,EAAGsD,OAAOC,OAExBjD,KAAKU,gBAAkB,IAAyB,QAAzB,EAAKV,KAAKU,uBAAe,IAAAqC,EAAAA,EAAI,GAAKL,EAC3D,C,kBAlIK,SAAAQ,GAAA,KAS+BjB,UAAW,OAqCvCrB,gBAAiBuC,EAAAA,EAAAA,GACvB,CAACtC,EAAiCJ,IAChCI,EACGY,IAAKC,GAASA,EAAKX,MACnBD,OAAQC,IAAUN,EAAe2C,SAASrC,KAAA,KAGzCM,gBAAiB8B,EAAAA,EAAAA,GACvB,CACEtC,EACAJ,IAEAI,EAAOC,OAAQY,GAASjB,EAAe2C,SAAS1B,EAAKX,O,EA1D9CnB,EAoIJyD,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA1B,CAAA,8F,2BAnIP2B,WAAW,K,2DAEXA,WAAW,K,uDAEXA,WAAW,K,uDAEXA,WAAW,K,yDAEXC,KAAMC,W,2DAENF,WAAW,K,+DAKXA,WAAW,K,gEAIXA,WAAW,K"} {"version":3,"file":"2341.a6764e608e9c9aa5.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-form/ha-form-optional_actions.ts"],"names":["stopPropagation","ev","NO_ACTIONS","HaFormOptionalActions","LitElement","focus","_this$renderRoot$quer","this","updateComplete","renderRoot","querySelector","updated","changedProps","super","has","_this$_displayActions","displayActions","_displayActions","hiddenActions","_hiddenActions","schema","filter","name","data","render","_this$_displayActions2","_this$_displayActions3","_this$localize","_displaySchema","schemaMap","Map","computeLabel","map","item","html","_t","_","length","_t2","hass","disabled","computeHelper","localizeValue","nothing","_t3","_handleAddAction","mdiPlus","localize","call","action","actionSchema","get","_t4","_this$_displayActions4","_this$_displayActions5","detail","index","args","memoizeOne","includes","styles","css","_t5","attribute","type","Boolean"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,qYCmBpCE,EAAa,GAGZ,MAAMC,UAA8BC,EAAAA,GA0BzC,WAAaC,GAAQ,IAAAC,QACbC,KAAKC,eACmB,QAA9BF,EAAAC,KAAKE,WAAWC,cAAc,sBAAAJ,GAA9BA,EAA0CD,OAC5C,CAEUM,OAAAA,CAAQC,GAEhB,GADAC,MAAMF,QAAQC,GACVA,EAAaE,IAAI,QAAS,KAAAC,EAC5B,MAAMC,EAAqC,QAArCD,EAAiBR,KAAKU,uBAAe,IAAAF,EAAAA,EAAIb,EACzCgB,EAAgBX,KAAKY,eACzBZ,KAAKa,OAAOA,OACZJ,GAEFT,KAAKU,gBAAkB,IAClBD,KACAE,EAAcG,OAAQC,GAASA,KAAQf,KAAKgB,MAEnD,CACF,CAiBOC,MAAAA,GAAyB,IAAAC,EAAAC,EAAAC,EAC9B,MAAMX,EAAqC,QAArCS,EAAiBlB,KAAKU,uBAAe,IAAAQ,EAAAA,EAAIvB,EAEzCkB,EAASb,KAAKqB,eAClBrB,KAAKa,OAAOA,OACQ,QADFM,EAClBnB,KAAKU,uBAAe,IAAAS,EAAAA,EAAI,IAGpBR,EAAgBX,KAAKY,eACzBZ,KAAKa,OAAOA,OACZJ,GAGIa,EAAY,IAAIC,IACpBvB,KAAKwB,aACDxB,KAAKa,OAAOA,OAAOY,IAAKC,GAAS,CAACA,EAAKX,KAAMW,IAC7C,IAGN,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,eACPhB,EAAOiB,OAAS,GACdH,EAAAA,EAAAA,IAAII,IAAAA,EAAAF,CAAA,oJAEQ7B,KAAKgC,KACLhC,KAAKgB,KACHH,EACEb,KAAKiC,SACDjC,KAAKwB,aACJxB,KAAKkC,cACLlC,KAAKmC,eAG1BC,EAAAA,GACFzB,EAAcmB,OAAS,GACrBH,EAAAA,EAAAA,IAAIU,IAAAA,EAAAR,CAAA,qNAEU7B,KAAKsC,iBAEL7C,EAAAA,EAGa8C,GACN,QAAbnB,EAAApB,KAAKwC,gBAAQ,IAAApB,OAAA,EAAbA,EAAAqB,KAAAzC,KAAgB,6CAClB,kBAEAW,EAAcc,IAAKiB,IACnB,MAAMC,EAAerB,EAAUsB,IAAIF,GACnC,OAAOf,EAAAA,EAAAA,IAAIkB,IAAAA,EAAAhB,CAAA,yCAEL7B,KAAKwB,cAAgBmB,EACnB3C,KAAKwB,aAAamB,GAClBD,MAMdN,EAAAA,GAER,CAEQE,gBAAAA,CAAiB5C,GAAiB,IAAAoD,EAAAC,EACxC,MAKML,EALgB1C,KAAKY,eACzBZ,KAAKa,OAAOA,OACQ,QADFiC,EAClB9C,KAAKU,uBAAe,IAAAoC,EAAAA,EAAInD,GAEZD,EAAGsD,OAAOC,OAExBjD,KAAKU,gBAAkB,IAAyB,QAAzB,EAAKV,KAAKU,uBAAe,IAAAqC,EAAAA,EAAI,GAAKL,EAC3D,C,kBAlIK,SAAAQ,GAAA,KAS+BjB,UAAW,OAqCvCrB,gBAAiBuC,EAAAA,EAAAA,GACvB,CAACtC,EAAiCJ,IAChCI,EACGY,IAAKC,GAASA,EAAKX,MACnBD,OAAQC,IAAUN,EAAe2C,SAASrC,KAAA,KAGzCM,gBAAiB8B,EAAAA,EAAAA,GACvB,CACEtC,EACAJ,IAEAI,EAAOC,OAAQY,GAASjB,EAAe2C,SAAS1B,EAAKX,O,EA1D9CnB,EAoIJyD,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA1B,CAAA,8F,2BAnIP2B,WAAW,K,2DAEXA,WAAW,K,uDAEXA,WAAW,K,uDAEXA,WAAW,K,yDAEXC,KAAMC,W,2DAENF,WAAW,K,+DAKXA,WAAW,K,gEAIXA,WAAW,K"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"2785.702e51291ba8dfc9.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-input-helper-text.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-selector/ha-selector-duration.ts"],"names":["stopPropagation","ev","InputHelperText","LitElement","render","html","_t","_","args","disabled","styles","css","_t2","type","Boolean","reflect","HaTimeDuration","_this$selector$durati","_this$selector$durati2","this","label","helper","value","required","selector","duration","enable_day","enable_millisecond","attribute"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,6FCI1C,MACME,UAAwBC,EAAAA,GAGlBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAC,GAAA,KAE8CC,UAAW,C,EADnDP,EAOGQ,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAL,CAAA;;;2IANPM,KAAMC,QAASC,SAAS,K,+OCE/B,MAAMC,UAAuBb,EAAAA,GAexBC,MAAAA,GAAS,IAAAa,EAAAC,EACjB,OAAOb,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,qKAEEY,KAAKC,MACJD,KAAKE,OACPF,KAAKG,MACDH,KAAKV,SACLU,KAAKI,SACkB,QADVN,EACZE,KAAKK,SAASC,gBAAQ,IAAAR,OAAA,EAAtBA,EAAwBS,WACM,QADNR,EAChBC,KAAKK,SAASC,gBAAQ,IAAAP,OAAA,EAAtBA,EAAwBS,mBAGnD,C,kBA3BK,SAAAnB,GAAA,KAW+BC,UAAW,OAEXc,UAAW,C,8BAZnCK,WAAW,K,uDAEXA,WAAW,K,2DAEXA,WAAW,K,6KAMXf,KAAMC,W,2DAEND,KAAMC,W"} {"version":3,"file":"2785.702e51291ba8dfc9.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-input-helper-text.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-selector/ha-selector-duration.ts"],"names":["stopPropagation","ev","InputHelperText","LitElement","render","html","_t","_","args","disabled","styles","css","_t2","type","Boolean","reflect","HaTimeDuration","_this$selector$durati","_this$selector$durati2","this","label","helper","value","required","selector","duration","enable_day","enable_millisecond","attribute"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,6FCI1C,MACME,UAAwBC,EAAAA,GAGlBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAC,GAAA,KAE8CC,UAAW,C,EADnDP,EAOGQ,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAL,CAAA;;;2IANPM,KAAMC,QAASC,SAAS,K,+OCE/B,MAAMC,UAAuBb,EAAAA,GAexBC,MAAAA,GAAS,IAAAa,EAAAC,EACjB,OAAOb,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,qKAEEY,KAAKC,MACJD,KAAKE,OACPF,KAAKG,MACDH,KAAKV,SACLU,KAAKI,SACkB,QADVN,EACZE,KAAKK,SAASC,gBAAQ,IAAAR,OAAA,EAAtBA,EAAwBS,WACM,QADNR,EAChBC,KAAKK,SAASC,gBAAQ,IAAAP,OAAA,EAAtBA,EAAwBS,mBAGnD,C,kBA3BK,SAAAnB,GAAA,KAW+BC,UAAW,OAEXc,UAAW,C,8BAZnCK,WAAW,K,uDAEXA,WAAW,K,2DAEXA,WAAW,K,6KAMXf,KAAMC,W,2DAEND,KAAMC,W"}

View File

@@ -1,14 +1,14 @@
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["285"],{71781:function(o,t,a){a.a(o,async function(o,e){try{a.r(t),a.d(t,{HassioUpdate:function(){return m}});a(39710),a(26847),a(81738),a(94814),a(56389),a(27530);var r=a(73742),n=a(59048),l=a(7616),i=a(28105),s=(a(31138),a(72953)),c=(a(55245),a(993),a(56730)),d=a(95814),h=a(8498),v=o([s]);s=(v.then?(await v)():v)[0];let p,u,f,b=o=>o;const g=(o,t)=>"os"===o?t:`${o}-${t}`;class m extends n.oi{render(){if(!this.supervisor)return n.Ld;const o=this._pendingUpdates(this.supervisor);return o?(0,n.dy)(p||(p=b` <div class="content"> <h1> ${0} 🎉 </h1> <div class="card-group"> ${0} ${0} ${0} </div> </div> `),this.supervisor.localize("common.update_available",{count:o}),this._renderUpdateCard("Home Assistant Core","core",this.supervisor.core),this._renderUpdateCard("Supervisor","supervisor",this.supervisor.supervisor),this.supervisor.host.features.includes("haos")?this._renderUpdateCard("Operating System","os",this.supervisor.os):""):n.Ld}_renderUpdateCard(o,t,a){return a.update_available?(0,n.dy)(u||(u=b` <ha-card outlined> <div class="card-content"> <div class="icon"> <ha-svg-icon .path="${0}"></ha-svg-icon> </div> <div class="update-heading">${0}</div> <ha-settings-row two-line> <span slot="heading"> ${0} </span> <span slot="description"> ${0} </span> </ha-settings-row> <ha-settings-row two-line> <span slot="heading"> ${0} </span> <span slot="description"> ${0} </span> </ha-settings-row> </div> <div class="card-actions"> <ha-button appearance="plain" href="/hassio/update-available/${0}"> ${0} </ha-button> </div> </ha-card> `),c.T,o,this.supervisor.localize("common.version"),g(t,a.version),this.supervisor.localize("common.newest_version"),g(t,a.version_latest),t,this.supervisor.localize("common.show")):n.Ld}static get styles(){return[d.Qx,h.l,(0,n.iv)(f||(f=b`.icon{--mdc-icon-size:48px;float:right;margin:0 0 2px 10px;color:var(--primary-text-color)}.update-heading{font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);margin-bottom:.5em;color:var(--primary-text-color)}.card-content{height:calc(100% - 47px);box-sizing:border-box}.card-actions{text-align:right}a{text-decoration:none}ha-settings-row{padding:0}`))]}constructor(...o){super(...o),this._pendingUpdates=(0,i.Z)(o=>Object.keys(o).filter(t=>o[t].update_available).length)}}(0,r.__decorate)([(0,l.Cb)({attribute:!1})],m.prototype,"hass",void 0),(0,r.__decorate)([(0,l.Cb)({attribute:!1})],m.prototype,"supervisor",void 0),m=(0,r.__decorate)([(0,l.Mo)("hassio-update")],m),e()}catch(p){e(p)}})},72953:function(o,t,a){a.a(o,async function(o,t){try{a(26847),a(27530),a(11807);var e=a(73742),r=a(71328),n=a(59048),l=a(7616),i=a(29171),s=o([r]);r=(s.then?(await s)():s)[0];let c,d=o=>o;class h extends r.Z{attachInternals(){const o=super.attachInternals();return Object.defineProperty(o,"states",{value:new i.C(this,o.states)}),o}static get styles(){return[r.Z.styles,(0,n.iv)(c||(c=d`.button{--wa-form-control-padding-inline:16px;--wa-font-weight-action:var(--ha-font-weight-medium);--wa-form-control-border-radius:var( "use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["285"],{71781:function(o,t,a){a.a(o,async function(o,e){try{a.r(t),a.d(t,{HassioUpdate:function(){return m}});a(39710),a(26847),a(81738),a(94814),a(56389),a(27530);var r=a(73742),n=a(59048),l=a(7616),i=a(28105),s=(a(31138),a(72953)),c=(a(55245),a(993),a(56730)),d=a(95814),h=a(8498),v=o([s]);s=(v.then?(await v)():v)[0];let p,u,f,b=o=>o;const g=(o,t)=>"os"===o?t:`${o}-${t}`;class m extends n.oi{render(){if(!this.supervisor)return n.Ld;const o=this._pendingUpdates(this.supervisor);return o?(0,n.dy)(p||(p=b` <div class="content"> <h1> ${0} 🎉 </h1> <div class="card-group"> ${0} ${0} ${0} </div> </div> `),this.supervisor.localize("common.update_available",{count:o}),this._renderUpdateCard("Home Assistant Core","core",this.supervisor.core),this._renderUpdateCard("Supervisor","supervisor",this.supervisor.supervisor),this.supervisor.host.features.includes("haos")?this._renderUpdateCard("Operating System","os",this.supervisor.os):""):n.Ld}_renderUpdateCard(o,t,a){return a.update_available?(0,n.dy)(u||(u=b` <ha-card outlined> <div class="card-content"> <div class="icon"> <ha-svg-icon .path="${0}"></ha-svg-icon> </div> <div class="update-heading">${0}</div> <ha-settings-row two-line> <span slot="heading"> ${0} </span> <span slot="description"> ${0} </span> </ha-settings-row> <ha-settings-row two-line> <span slot="heading"> ${0} </span> <span slot="description"> ${0} </span> </ha-settings-row> </div> <div class="card-actions"> <ha-button appearance="plain" href="/hassio/update-available/${0}"> ${0} </ha-button> </div> </ha-card> `),c.T,o,this.supervisor.localize("common.version"),g(t,a.version),this.supervisor.localize("common.newest_version"),g(t,a.version_latest),t,this.supervisor.localize("common.show")):n.Ld}static get styles(){return[d.Qx,h.l,(0,n.iv)(f||(f=b`.icon{--mdc-icon-size:48px;float:right;margin:0 0 2px 10px;color:var(--primary-text-color)}.update-heading{font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);margin-bottom:.5em;color:var(--primary-text-color)}.card-content{height:calc(100% - 47px);box-sizing:border-box}.card-actions{text-align:right}a{text-decoration:none}ha-settings-row{padding:0}`))]}constructor(...o){super(...o),this._pendingUpdates=(0,i.Z)(o=>Object.keys(o).filter(t=>o[t].update_available).length)}}(0,r.__decorate)([(0,l.Cb)({attribute:!1})],m.prototype,"hass",void 0),(0,r.__decorate)([(0,l.Cb)({attribute:!1})],m.prototype,"supervisor",void 0),m=(0,r.__decorate)([(0,l.Mo)("hassio-update")],m),e()}catch(p){e(p)}})},72953:function(o,t,a){a.a(o,async function(o,t){try{a(26847),a(27530),a(11807);var e=a(73742),r=a(71328),n=a(59048),l=a(7616),i=a(29171),s=o([r]);r=(s.then?(await s)():s)[0];let c,d=o=>o;class h extends r.Z{attachInternals(){const o=super.attachInternals();return Object.defineProperty(o,"states",{value:new i.C(this,o.states)}),o}static get styles(){return[r.Z.styles,(0,n.iv)(c||(c=d`.button{--wa-form-control-padding-inline:16px;--wa-font-weight-action:var(--ha-font-weight-medium);--wa-form-control-border-radius:var(
--ha-button-border-radius, --ha-button-border-radius,
var(--ha-border-radius-pill) var(--border-radius-pill)
);--wa-form-control-height:var( );--wa-form-control-height:var(
--ha-button-height, --ha-button-height,
var(--button-height, 40px) var(--button-height, 40px)
);font-size:var(--ha-font-size-m);line-height:1}:host([size=small]) .button{--wa-form-control-height:var( );font-size:var(--ha-font-size-m);line-height:1}:host([size=small]) .button{--wa-form-control-height:var(
--ha-button-height, --ha-button-height,
var(--button-height, 32px) var(--button-height, 32px)
);font-size:var(--wa-font-size-s, var(--ha-font-size-m))}:host([variant=brand]){--button-color-fill-normal-active:var(--ha-color-fill-primary-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-primary-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-primary-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-primary-loud-hover)}:host([variant=neutral]){--button-color-fill-normal-active:var(--ha-color-fill-neutral-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-neutral-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-neutral-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-neutral-loud-hover)}:host([variant=success]){--button-color-fill-normal-active:var(--ha-color-fill-success-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-success-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-success-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-success-loud-hover)}:host([variant=warning]){--button-color-fill-normal-active:var(--ha-color-fill-warning-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-warning-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-warning-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-warning-loud-hover)}:host([variant=danger]){--button-color-fill-normal-active:var(--ha-color-fill-danger-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-danger-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-danger-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-danger-loud-hover)}:host([appearance~=plain]) .button{color:var(--wa-color-on-normal);background-color:transparent}:host([appearance~=plain]) .button.disabled{background-color:transparent;color:var(--ha-color-on-disabled-quiet)}:host([appearance~=outlined]) .button.disabled{background-color:transparent;color:var(--ha-color-on-disabled-quiet)}@media (hover:hover){:host([appearance~=filled]) .button:not(.disabled):not(.loading):hover{background-color:var(--button-color-fill-normal-hover)}:host([appearance~=accent]) .button:not(.disabled):not(.loading):hover{background-color:var(--button-color-fill-loud-hover)}:host([appearance~=plain]) .button:not(.disabled):not(.loading):hover{color:var(--wa-color-on-normal)}}:host([appearance~=filled]) .button:not(.disabled):not(.loading):active{background-color:var(--button-color-fill-normal-active)}:host([appearance~=filled]) .button.disabled{background-color:var(--ha-color-fill-disabled-normal-resting);color:var(--ha-color-on-disabled-normal)}:host([appearance~=accent]) .button{background-color:var(--wa-color-fill-loud,var(--wa-color-neutral-fill-loud))}:host([appearance~=accent]) .button:not(.disabled):not(.loading):active{background-color:var(--button-color-fill-loud-active)}:host([appearance~=accent]) .button.disabled{background-color:var(--ha-color-fill-disabled-loud-resting);color:var(--ha-color-on-disabled-loud)}:host([loading]){pointer-events:none}.button.disabled{opacity:1}slot[name=start]::slotted(*){margin-inline-end:4px}slot[name=end]::slotted(*){margin-inline-start:4px}`))]}constructor(...o){super(...o),this.variant="brand"}}h=(0,e.__decorate)([(0,l.Mo)("ha-button")],h),t()}catch(c){t(c)}})},55245:function(o,t,a){a(26847),a(27530);var e=a(73742),r=a(59048),n=a(7616);let l,i,s=o=>o;class c extends r.oi{render(){return(0,r.dy)(l||(l=s` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${0}" ?three-line="${0}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `),!this.threeLine,this.threeLine)}constructor(...o){super(...o),this.narrow=!1,this.slim=!1,this.threeLine=!1,this.wrapHeading=!1}}c.styles=(0,r.iv)(i||(i=s`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:88px}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var( );font-size:var(--wa-font-size-s, var(--ha-font-size-m))}:host([variant=brand]){--button-color-fill-normal-active:var(--ha-color-fill-primary-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-primary-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-primary-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-primary-loud-hover)}:host([variant=neutral]){--button-color-fill-normal-active:var(--ha-color-fill-neutral-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-neutral-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-neutral-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-neutral-loud-hover)}:host([variant=success]){--button-color-fill-normal-active:var(--ha-color-fill-success-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-success-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-success-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-success-loud-hover)}:host([variant=warning]){--button-color-fill-normal-active:var(--ha-color-fill-warning-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-warning-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-warning-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-warning-loud-hover)}:host([variant=danger]){--button-color-fill-normal-active:var(--ha-color-fill-danger-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-danger-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-danger-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-danger-loud-hover)}:host([appearance~=plain]) .button{color:var(--wa-color-on-normal)}:host([appearance~=plain]) .button.disabled{background-color:transparent;color:var(--ha-color-on-disabled-quiet)}:host([appearance~=outlined]) .button.disabled{background-color:transparent;color:var(--ha-color-on-disabled-quiet)}@media (hover:hover){:host([appearance~=filled]) .button:not(.disabled):not(.loading):hover{background-color:var(--button-color-fill-normal-hover)}:host([appearance~=accent]) .button:not(.disabled):not(.loading):hover{background-color:var(--button-color-fill-loud-hover)}:host([appearance~=plain]) .button:not(.disabled):not(.loading):hover{color:var(--wa-color-on-normal)}}:host([appearance~=filled]) .button:not(.disabled):not(.loading):active{background-color:var(--button-color-fill-normal-active)}:host([appearance~=filled]) .button.disabled{background-color:var(--ha-color-fill-disabled-normal-resting);color:var(--ha-color-on-disabled-normal)}:host([appearance~=accent]) .button{background-color:var(--wa-color-fill-loud,var(--wa-color-neutral-fill-loud))}:host([appearance~=accent]) .button:not(.disabled):not(.loading):active{background-color:var(--button-color-fill-loud-active)}:host([appearance~=accent]) .button.disabled{background-color:var(--ha-color-fill-disabled-loud-resting);color:var(--ha-color-on-disabled-loud)}:host([loading]){pointer-events:none}.button.disabled{opacity:1}`))]}constructor(...o){super(...o),this.variant="brand"}}h=(0,e.__decorate)([(0,l.Mo)("ha-button")],h),t()}catch(c){t(c)}})},55245:function(o,t,a){a(26847),a(27530);var e=a(73742),r=a(59048),n=a(7616);let l,i,s=o=>o;class c extends r.oi{render(){return(0,r.dy)(l||(l=s` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${0}" ?three-line="${0}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `),!this.threeLine,this.threeLine)}constructor(...o){super(...o),this.narrow=!1,this.slim=!1,this.threeLine=!1,this.wrapHeading=!1}}c.styles=(0,r.iv)(i||(i=s`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:88px}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var(
--mdc-typography-body2-font-family, --mdc-typography-body2-font-family,
var(--mdc-typography-font-family, var(--ha-font-family-body)) var(--mdc-typography-font-family, var(--ha-font-family-body))
);font-size:var(--mdc-typography-body2-font-size, var(--ha-font-size-s));-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-weight:var(--mdc-typography-body2-font-weight,var(--ha-font-weight-normal));line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(72px - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;min-width:0;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`)),(0,e.__decorate)([(0,n.Cb)({type:Boolean,reflect:!0})],c.prototype,"narrow",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,reflect:!0})],c.prototype,"slim",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,attribute:"three-line"})],c.prototype,"threeLine",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],c.prototype,"wrapHeading",void 0),c=(0,e.__decorate)([(0,n.Mo)("ha-settings-row")],c)},56730:function(o,t,a){a.d(t,{T:function(){return e}});const e="m12.151 1.5882c-.3262 0-.6523.1291-.8996.3867l-8.3848 8.7354c-.0619.0644-.1223.1368-.1807.2154-.0588.0789-.1151.1638-.1688.2534-.2593.4325-.4552.9749-.5232 1.4555-.0026.018-.0076.0369-.0094.0548-.0121.0987-.0184.1944-.0184.2857v8.0124a1.2731 1.2731 0 001.2731 1.2731h7.8313l-3.4484-3.593a1.7399 1.7399 0 111.0803-1.125l2.6847 2.7972v-10.248a1.7399 1.7399 0 111.5276-0v7.187l2.6702-2.782a1.7399 1.7399 0 111.0566 1.1505l-3.7269 3.8831v2.7299h8.174a1.2471 1.2471 0 001.2471-1.2471v-8.0375c0-.0912-.0059-.1868-.0184-.2855-.0603-.4935-.2636-1.0617-.5326-1.5105-.0537-.0896-.1101-.1745-.1684-.253-.0588-.079-.1191-.1513-.181-.2158l-8.3848-8.7363c-.2473-.2577-.5735-.3866-.8995-.3864"},29171:function(o,t,a){a.d(t,{C:function(){return e}});a(26847),a(64455),a(67886),a(65451),a(46015),a(38334),a(94880),a(75643),a(29761),a(6202),a(27530);class e extends Set{add(o){super.add(o);const t=this._existing;if(t)try{t.add(o)}catch(a){t.add(`--${o}`)}else this._el.setAttribute(`state-${o}`,"");return this}delete(o){super.delete(o);const t=this._existing;return t?(t.delete(o),t.delete(`--${o}`)):this._el.removeAttribute(`state-${o}`),!0}has(o){return super.has(o)}clear(){for(const o of this)this.delete(o)}constructor(o,t=null){super(),this._existing=null,this._el=o,this._existing=t}}const r=CSSStyleSheet.prototype.replaceSync;Object.defineProperty(CSSStyleSheet.prototype,"replaceSync",{value:function(o){o=o.replace(/:state\(([^)]+)\)/g,":where(:state($1), :--$1, [state-$1])"),r.call(this,o)}})}}]); );font-size:var(--mdc-typography-body2-font-size, var(--ha-font-size-s));-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-weight:var(--mdc-typography-body2-font-weight,var(--ha-font-weight-normal));line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(72px - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;min-width:0;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`)),(0,e.__decorate)([(0,n.Cb)({type:Boolean,reflect:!0})],c.prototype,"narrow",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,reflect:!0})],c.prototype,"slim",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,attribute:"three-line"})],c.prototype,"threeLine",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],c.prototype,"wrapHeading",void 0),c=(0,e.__decorate)([(0,n.Mo)("ha-settings-row")],c)},56730:function(o,t,a){a.d(t,{T:function(){return e}});const e="m12.151 1.5882c-.3262 0-.6523.1291-.8996.3867l-8.3848 8.7354c-.0619.0644-.1223.1368-.1807.2154-.0588.0789-.1151.1638-.1688.2534-.2593.4325-.4552.9749-.5232 1.4555-.0026.018-.0076.0369-.0094.0548-.0121.0987-.0184.1944-.0184.2857v8.0124a1.2731 1.2731 0 001.2731 1.2731h7.8313l-3.4484-3.593a1.7399 1.7399 0 111.0803-1.125l2.6847 2.7972v-10.248a1.7399 1.7399 0 111.5276-0v7.187l2.6702-2.782a1.7399 1.7399 0 111.0566 1.1505l-3.7269 3.8831v2.7299h8.174a1.2471 1.2471 0 001.2471-1.2471v-8.0375c0-.0912-.0059-.1868-.0184-.2855-.0603-.4935-.2636-1.0617-.5326-1.5105-.0537-.0896-.1101-.1745-.1684-.253-.0588-.079-.1191-.1513-.181-.2158l-8.3848-8.7363c-.2473-.2577-.5735-.3866-.8995-.3864"},29171:function(o,t,a){a.d(t,{C:function(){return e}});a(26847),a(64455),a(67886),a(65451),a(46015),a(38334),a(94880),a(75643),a(29761),a(6202),a(27530);class e extends Set{add(o){super.add(o);const t=this._existing;if(t)try{t.add(o)}catch(a){t.add(`--${o}`)}else this._el.setAttribute(`state-${o}`,"");return this}delete(o){super.delete(o);const t=this._existing;return t?(t.delete(o),t.delete(`--${o}`)):this._el.removeAttribute(`state-${o}`),!0}has(o){return super.has(o)}clear(){for(const o of this)this.delete(o)}constructor(o,t=null){super(),this._existing=null,this._el=o,this._existing=t}}const r=CSSStyleSheet.prototype.replaceSync;Object.defineProperty(CSSStyleSheet.prototype,"replaceSync",{value:function(o){o=o.replace(/:state\(([^)]+)\)/g,":where(:state($1), :--$1, [state-$1])"),r.call(this,o)}})}}]);
//# sourceMappingURL=285.0f891cef1da7a1ce.js.map //# sourceMappingURL=285.8efa1d10eed94220.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"285.0f891cef1da7a1ce.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/hassio/src/dashboard/hassio-update.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-button.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-settings-row.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/home-assistant-logo-svg.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/polyfills/stateset.ts"],"names":["computeVersion","key","version","HassioUpdate","LitElement","render","this","supervisor","nothing","updatesAvailable","_pendingUpdates","html","_t","_","localize","count","_renderUpdateCard","core","host","features","includes","os","name","object","update_available","_t2","mdiHomeAssistant","version_latest","styles","haStyle","hassioStyle","css","_t3","args","memoizeOne","Object","keys","filter","value","length","attribute","HaButton","Button","attachInternals","internals","super","defineProperty","StateSet","states","variant","HaSettingsRow","threeLine","narrow","slim","wrapHeading","type","Boolean","reflect","Set","add","state","existing","_existing","_unused","_el","setAttribute","delete","removeAttribute","has","clear","constructor","el","replaceSync","CSSStyleSheet","prototype","text","replace","call"],"mappings":"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"} {"version":3,"file":"285.8efa1d10eed94220.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/hassio/src/dashboard/hassio-update.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-button.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-settings-row.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/home-assistant-logo-svg.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/polyfills/stateset.ts"],"names":["computeVersion","key","version","HassioUpdate","LitElement","render","this","supervisor","nothing","updatesAvailable","_pendingUpdates","html","_t","_","localize","count","_renderUpdateCard","core","host","features","includes","os","name","object","update_available","_t2","mdiHomeAssistant","version_latest","styles","haStyle","hassioStyle","css","_t3","args","memoizeOne","Object","keys","filter","value","length","attribute","HaButton","Button","attachInternals","internals","super","defineProperty","StateSet","states","variant","HaSettingsRow","threeLine","narrow","slim","wrapHeading","type","Boolean","reflect","Set","add","state","existing","_existing","_unused","_el","setAttribute","delete","removeAttribute","has","clear","constructor","el","replaceSync","CSSStyleSheet","prototype","text","replace","call"],"mappings":"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"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"3104.0aa557c485784ebe.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-input-helper-text.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-selector/ha-selector-number.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-slider.ts"],"names":["InputHelperText","LitElement","render","html","_t","_","args","disabled","styles","css","_t2","type","Boolean","reflect","HaNumberSelector","willUpdate","changedProps","has","this","_valueStr","value","Number","isNaN","toString","_this$selector$number","_this$selector$number2","_this$selector$number3","_this$selector$number5","_this$selector$number6","_this$value","_this$selector$number7","_this$selector$number8","_this$selector$number9","_this$selector$number0","_this$selector$number1","_this$selector$number10","_this$_valueStr","_this$selector$number11","_this$selector$number12","isBox","selector","number","mode","undefined","min","max","sliderStep","_this$selector$number4","step","translationKey","translation_key","unit","unit_of_measurement","localizeValue","label","required","nothing","_t3","_handleSliderChange","slider_ticks","placeholder","classMap","single","helper","_handleInputChange","_t4","ev","stopPropagation","target","fireEvent","_t5","attribute","HaSlider","Slider","connectedCallback","super","dir","mainWindow"],"mappings":"gNAIA,MACMA,UAAwBC,EAAAA,GAGlBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAC,GAAA,KAE8CC,UAAW,C,EADnDP,EAOGQ,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAL,CAAA;;;2IANPM,KAAMC,QAASC,SAAS,K,0SCM/B,MAAMC,UAAyBb,EAAAA,GAsB1Bc,UAAAA,CAAWC,GACfA,EAAaC,IAAI,WACI,KAAnBC,KAAKC,WAAoBD,KAAKE,QAAUC,OAAOH,KAAKC,aACtDD,KAAKC,UACW,MAAdD,KAAKE,OAAiBE,MAAMJ,KAAKE,OAAS,GAAKF,KAAKE,MAAMG,YAGlE,CAEUrB,MAAAA,GAAS,IAAAsB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjB,MAAMC,EAC2B,SAAX,QAApBf,EAAAN,KAAKsB,SAASC,cAAM,IAAAjB,OAAA,EAApBA,EAAsBkB,YACQC,KAAV,QAApBlB,EAAAP,KAAKsB,SAASC,cAAM,IAAAhB,OAAA,EAApBA,EAAsBmB,WACQD,KAAV,QAApBjB,EAAAR,KAAKsB,SAASC,cAAM,IAAAf,OAAA,EAApBA,EAAsBmB,KAExB,IAAIC,EAEQ,IAAAC,EAAZ,IAAKR,IACHO,EAAuC,QAAvCC,EAAa7B,KAAKsB,SAASC,OAAQO,YAAI,IAAAD,EAAAA,EAAI,EACxB,QAAfD,GAAsB,CACxBA,EAAa,EAEb,MAAME,GACH9B,KAAKsB,SAASC,OAAQI,IAAO3B,KAAKsB,SAASC,OAAQG,KAAQ,IAE9D,KAAOE,EAAaE,GAClBF,GAAc,EAElB,CAGF,MAAMG,EAAqC,QAArCtB,EAAiBT,KAAKsB,SAASC,cAAM,IAAAd,OAAA,EAApBA,EAAsBuB,gBAC7C,IAAIC,EAA2B,QAA3BvB,EAAOV,KAAKsB,SAASC,cAAM,IAAAb,OAAA,EAApBA,EAAsBwB,oBAOjC,OANIb,GAASY,GAAQjC,KAAKmC,eAAiBJ,IACzCE,EACEjC,KAAKmC,cAAc,GAAGJ,yBAAsCE,MAC5DA,IAGGhD,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,+UACPa,KAAKoC,QAAUf,GACbpC,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,GAAG,IAAH,KAAGa,KAAKoC,MAAQpC,KAAKqC,SAAW,IAAM,IAC1CC,EAAAA,GAECjB,EAeCiB,EAAAA,IAdArD,EAAAA,EAAAA,IAAIsD,IAAAA,EAAApD,CAAA,wJAGOa,KAAKsB,SAASC,OAAQG,IACtB1B,KAAKsB,SAASC,OAAQI,IACV,QADahB,EACvBX,KAAKE,aAAK,IAAAS,EAAAA,EAAI,GACfiB,EACI5B,KAAKX,SACLW,KAAKqC,SACPrC,KAAKwC,oBACc,QADK5B,EACzBZ,KAAKsB,SAASC,cAAM,IAAAX,OAAA,EAApBA,EAAsB6B,cAMO,SAAX,QAApB5B,EAAAb,KAAKsB,SAASC,cAAM,IAAAV,OAAA,EAApBA,EAAsBiB,QACZ,QAAvBhB,EAAqB,QAArBC,EAACf,KAAKsB,SAASC,cAAM,IAAAR,OAAA,EAApBA,EAAsBe,YAAA,IAAAhB,EAAAA,EAAQ,GAAK,GAAM,EACtC,UACA,UACMO,EAAoBrB,KAAKoC,WAAjBX,EACHzB,KAAK0C,aACZC,EAAAA,EAAAA,GAAS,CAAEC,OAAQvB,IACA,QADML,EAC1BhB,KAAKsB,SAASC,cAAM,IAAAP,OAAA,EAApBA,EAAsBU,IACF,QADET,EACtBjB,KAAKsB,SAASC,cAAM,IAAAN,OAAA,EAApBA,EAAsBU,IACN,QADMT,EACpBlB,KAAKC,iBAAS,IAAAiB,EAAAA,EAAI,GACG,QADHC,EACC,QADDC,EACnBpB,KAAKsB,SAASC,cAAM,IAAAH,OAAA,EAApBA,EAAsBU,YAAA,IAAAX,EAAAA,EAAQ,EAE5BE,EAAQrB,KAAK6C,YAASpB,EACpBzB,KAAKX,SACLW,KAAKqC,SACPJ,GAGKZ,EACNrB,KAAK8C,oBAIfzB,GAASrB,KAAK6C,QACb5D,EAAAA,EAAAA,IAAI8D,IAAAA,EAAA5D,CAAA,sEAAmCa,KAAKX,SACvCW,KAAK6C,QAEVP,EAAAA,GAER,CAEQQ,kBAAAA,CAAmBE,GACzBA,EAAGC,kBACHjD,KAAKC,UAAY+C,EAAGE,OAAOhD,MAC3B,MAAMA,EACgB,KAApB8C,EAAGE,OAAOhD,OAAgBE,MAAM4C,EAAGE,OAAOhD,YACtCuB,EACAtB,OAAO6C,EAAGE,OAAOhD,OACnBF,KAAKE,QAAUA,IAGnBiD,EAAAA,EAAAA,GAAUnD,KAAM,gBAAiB,CAAEE,SACrC,CAEQsC,mBAAAA,CAAoBQ,GAC1BA,EAAGC,kBACH,MAAM/C,EAAQC,OAAO6C,EAAGE,OAAOhD,OAC3BF,KAAKE,QAAUA,IAGnBiD,EAAAA,EAAAA,GAAUnD,KAAM,gBAAiB,CAAEE,SACrC,C,kBAtIK,SAAAd,GAAA,KAgB+BiD,UAAW,OAEXhD,UAAW,OAEvCY,UAAY,E,EApBTL,EAwIJN,QAASC,EAAAA,EAAAA,IAAG6D,IAAAA,EAAAjE,CAAA,sQ,2BAvIPkE,WAAW,K,uDAEXA,WAAW,K,2DAEX5D,KAAMU,U,wDAENV,KAAMU,U,mLAMNkD,WAAW,K,gEAGX5D,KAAMC,W,2DAEND,KAAMC,W,uLCvBb,MAAM4D,UAAiBC,EAAAA,EACrBC,iBAAAA,GACLC,MAAMD,oBACNxD,KAAK0D,IAAMC,EAAAA,EAAAA,SAAAA,GACb,EAJWL,EAMKhE,OAAS,CACvBA,EAAAA,GACAC,EAAAA,EAAAA,IAAGL,IAAAA,G,KAAA,6V"} {"version":3,"file":"3104.0aa557c485784ebe.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-input-helper-text.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-selector/ha-selector-number.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-slider.ts"],"names":["InputHelperText","LitElement","render","html","_t","_","args","disabled","styles","css","_t2","type","Boolean","reflect","HaNumberSelector","willUpdate","changedProps","has","this","_valueStr","value","Number","isNaN","toString","_this$selector$number","_this$selector$number2","_this$selector$number3","_this$selector$number5","_this$selector$number6","_this$value","_this$selector$number7","_this$selector$number8","_this$selector$number9","_this$selector$number0","_this$selector$number1","_this$selector$number10","_this$_valueStr","_this$selector$number11","_this$selector$number12","isBox","selector","number","mode","undefined","min","max","sliderStep","_this$selector$number4","step","translationKey","translation_key","unit","unit_of_measurement","localizeValue","label","required","nothing","_t3","_handleSliderChange","slider_ticks","placeholder","classMap","single","helper","_handleInputChange","_t4","ev","stopPropagation","target","fireEvent","_t5","attribute","HaSlider","Slider","connectedCallback","super","dir","mainWindow"],"mappings":"gNAIA,MACMA,UAAwBC,EAAAA,GAGlBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAC,GAAA,KAE8CC,UAAW,C,EADnDP,EAOGQ,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAL,CAAA;;;2IANPM,KAAMC,QAASC,SAAS,K,0SCM/B,MAAMC,UAAyBb,EAAAA,GAsB1Bc,UAAAA,CAAWC,GACfA,EAAaC,IAAI,WACI,KAAnBC,KAAKC,WAAoBD,KAAKE,QAAUC,OAAOH,KAAKC,aACtDD,KAAKC,UACW,MAAdD,KAAKE,OAAiBE,MAAMJ,KAAKE,OAAS,GAAKF,KAAKE,MAAMG,YAGlE,CAEUrB,MAAAA,GAAS,IAAAsB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjB,MAAMC,EAC2B,SAAX,QAApBf,EAAAN,KAAKsB,SAASC,cAAM,IAAAjB,OAAA,EAApBA,EAAsBkB,YACQC,KAAV,QAApBlB,EAAAP,KAAKsB,SAASC,cAAM,IAAAhB,OAAA,EAApBA,EAAsBmB,WACQD,KAAV,QAApBjB,EAAAR,KAAKsB,SAASC,cAAM,IAAAf,OAAA,EAApBA,EAAsBmB,KAExB,IAAIC,EAEQ,IAAAC,EAAZ,IAAKR,IACHO,EAAuC,QAAvCC,EAAa7B,KAAKsB,SAASC,OAAQO,YAAI,IAAAD,EAAAA,EAAI,EACxB,QAAfD,GAAsB,CACxBA,EAAa,EAEb,MAAME,GACH9B,KAAKsB,SAASC,OAAQI,IAAO3B,KAAKsB,SAASC,OAAQG,KAAQ,IAE9D,KAAOE,EAAaE,GAClBF,GAAc,EAElB,CAGF,MAAMG,EAAqC,QAArCtB,EAAiBT,KAAKsB,SAASC,cAAM,IAAAd,OAAA,EAApBA,EAAsBuB,gBAC7C,IAAIC,EAA2B,QAA3BvB,EAAOV,KAAKsB,SAASC,cAAM,IAAAb,OAAA,EAApBA,EAAsBwB,oBAOjC,OANIb,GAASY,GAAQjC,KAAKmC,eAAiBJ,IACzCE,EACEjC,KAAKmC,cAAc,GAAGJ,yBAAsCE,MAC5DA,IAGGhD,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,+UACPa,KAAKoC,QAAUf,GACbpC,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,GAAG,IAAH,KAAGa,KAAKoC,MAAQpC,KAAKqC,SAAW,IAAM,IAC1CC,EAAAA,GAECjB,EAeCiB,EAAAA,IAdArD,EAAAA,EAAAA,IAAIsD,IAAAA,EAAApD,CAAA,wJAGOa,KAAKsB,SAASC,OAAQG,IACtB1B,KAAKsB,SAASC,OAAQI,IACV,QADahB,EACvBX,KAAKE,aAAK,IAAAS,EAAAA,EAAI,GACfiB,EACI5B,KAAKX,SACLW,KAAKqC,SACPrC,KAAKwC,oBACc,QADK5B,EACzBZ,KAAKsB,SAASC,cAAM,IAAAX,OAAA,EAApBA,EAAsB6B,cAMO,SAAX,QAApB5B,EAAAb,KAAKsB,SAASC,cAAM,IAAAV,OAAA,EAApBA,EAAsBiB,QACZ,QAAvBhB,EAAqB,QAArBC,EAACf,KAAKsB,SAASC,cAAM,IAAAR,OAAA,EAApBA,EAAsBe,YAAA,IAAAhB,EAAAA,EAAQ,GAAK,GAAM,EACtC,UACA,UACMO,EAAoBrB,KAAKoC,WAAjBX,EACHzB,KAAK0C,aACZC,EAAAA,EAAAA,GAAS,CAAEC,OAAQvB,IACA,QADML,EAC1BhB,KAAKsB,SAASC,cAAM,IAAAP,OAAA,EAApBA,EAAsBU,IACF,QADET,EACtBjB,KAAKsB,SAASC,cAAM,IAAAN,OAAA,EAApBA,EAAsBU,IACN,QADMT,EACpBlB,KAAKC,iBAAS,IAAAiB,EAAAA,EAAI,GACG,QADHC,EACC,QADDC,EACnBpB,KAAKsB,SAASC,cAAM,IAAAH,OAAA,EAApBA,EAAsBU,YAAA,IAAAX,EAAAA,EAAQ,EAE5BE,EAAQrB,KAAK6C,YAASpB,EACpBzB,KAAKX,SACLW,KAAKqC,SACPJ,GAGKZ,EACNrB,KAAK8C,oBAIfzB,GAASrB,KAAK6C,QACb5D,EAAAA,EAAAA,IAAI8D,IAAAA,EAAA5D,CAAA,sEAAmCa,KAAKX,SACvCW,KAAK6C,QAEVP,EAAAA,GAER,CAEQQ,kBAAAA,CAAmBE,GACzBA,EAAGC,kBACHjD,KAAKC,UAAY+C,EAAGE,OAAOhD,MAC3B,MAAMA,EACgB,KAApB8C,EAAGE,OAAOhD,OAAgBE,MAAM4C,EAAGE,OAAOhD,YACtCuB,EACAtB,OAAO6C,EAAGE,OAAOhD,OACnBF,KAAKE,QAAUA,IAGnBiD,EAAAA,EAAAA,GAAUnD,KAAM,gBAAiB,CAAEE,SACrC,CAEQsC,mBAAAA,CAAoBQ,GAC1BA,EAAGC,kBACH,MAAM/C,EAAQC,OAAO6C,EAAGE,OAAOhD,OAC3BF,KAAKE,QAAUA,IAGnBiD,EAAAA,EAAAA,GAAUnD,KAAM,gBAAiB,CAAEE,SACrC,C,kBAtIK,SAAAd,GAAA,KAgB+BiD,UAAW,OAEXhD,UAAW,OAEvCY,UAAY,E,EApBTL,EAwIJN,QAASC,EAAAA,EAAAA,IAAG6D,IAAAA,EAAAjE,CAAA,sQ,2BAvIPkE,WAAW,K,uDAEXA,WAAW,K,2DAEX5D,KAAMU,U,wDAENV,KAAMU,U,mLAMNkD,WAAW,K,gEAGX5D,KAAMC,W,2DAEND,KAAMC,W,uLCvBb,MAAM4D,UAAiBC,EAAAA,EACrBC,iBAAAA,GACLC,MAAMD,oBACNxD,KAAK0D,IAAMC,EAAAA,EAAAA,SAAAA,GACb,EAJWL,EAMKhE,OAAS,CACvBA,EAAAA,GACAC,EAAAA,EAAAA,IAAGL,IAAAA,G,KAAA,6V"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"3114.3d74d3d731ecd45f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-form/ha-form-positive_time_period_dict.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-input-helper-text.ts"],"names":["stopPropagation","ev","HaFormTimePeriod","LitElement","focus","this","_input","render","html","_t","_","label","schema","required","data","disabled","args","attribute","type","Boolean","InputHelperText","styles","css","_t2","reflect"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,0JCOnC,MAAME,UAAyBC,EAAAA,GAW7BC,KAAAA,GACDC,KAAKC,QACPD,KAAKC,OAAOF,OAEhB,CAEUG,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,0GAEEL,KAAKM,MACFN,KAAKO,OAAOC,SAChBR,KAAKS,KACDT,KAAKU,SAGvB,C,kBA1BK,SAAAC,GAAA,KAO+BD,UAAW,C,8BANnCE,WAAW,K,yDAEXA,WAAW,K,iHAIXC,KAAMC,W,8QCVpB,MACMC,UAAwBjB,EAAAA,GAGlBI,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAM,GAAA,KAE8CD,UAAW,C,EADnDK,EAOGC,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAb,CAAA;;;2IANPQ,KAAMC,QAASK,SAAS,K"} {"version":3,"file":"3114.3d74d3d731ecd45f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-form/ha-form-positive_time_period_dict.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-input-helper-text.ts"],"names":["stopPropagation","ev","HaFormTimePeriod","LitElement","focus","this","_input","render","html","_t","_","label","schema","required","data","disabled","args","attribute","type","Boolean","InputHelperText","styles","css","_t2","reflect"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,0JCOnC,MAAME,UAAyBC,EAAAA,GAW7BC,KAAAA,GACDC,KAAKC,QACPD,KAAKC,OAAOF,OAEhB,CAEUG,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,0GAEEL,KAAKM,MACFN,KAAKO,OAAOC,SAChBR,KAAKS,KACDT,KAAKU,SAGvB,C,kBA1BK,SAAAC,GAAA,KAO+BD,UAAW,C,8BANnCE,WAAW,K,yDAEXA,WAAW,K,iHAIXC,KAAMC,W,8QCVpB,MACMC,UAAwBjB,EAAAA,GAGlBI,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAM,GAAA,KAE8CD,UAAW,C,EADnDK,EAOGC,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAb,CAAA;;;2IANPQ,KAAMC,QAASK,SAAS,K"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"3208.c142526706a8bf41.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-qr-code.ts"],"names":["HaQrCode","LitElement","willUpdate","changedProperties","super","has","this","_error","undefined","updated","canvas","_canvas","data","computedStyles","getComputedStyle","textRgb","getPropertyValue","backgroundRgb","textHex","rgb2hex","split","map","a","parseInt","backgroundHex","QRCode","errorCorrectionLevel","centerImage","width","scale","margin","maskPattern","color","light","dark","catch","err","message","context","getContext","imageObj","Image","src","onload","drawImage","height","render","html","_t","_","_t2","nothing","args","styles","css","_t3","attribute","type","Number"],"mappings":"0TAQO,MAAMA,UAAiBC,EAAAA,GAyBlBC,UAAAA,CAAWC,GACnBC,MAAMF,WAAWC,IAEdA,EAAkBE,IAAI,SACrBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,WACtBF,EAAkBE,IAAI,gBACtBF,EAAkBE,IAAI,0BACxBC,KAAKC,SAELD,KAAKC,YAASC,EAElB,CAEAC,OAAAA,CAAQN,GACN,MAAMO,EAASJ,KAAKK,QACpB,GACED,GACAJ,KAAKM,OACJT,EAAkBE,IAAI,SACrBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,WACtBF,EAAkBE,IAAI,gBACtBF,EAAkBE,IAAI,yBACtBF,EAAkBE,IAAI,gBACxB,CACA,MAAMQ,EAAiBC,iBAAiBR,MAClCS,EAAUF,EAAeG,iBAC7B,4BAEIC,EAAgBJ,EAAeG,iBACnC,+BAEIE,GAAUC,EAAAA,EAAAA,IACdJ,EAAQK,MAAM,KAAKC,IAAKC,GAAMC,SAASD,EAAG,MAMtCE,GAAgBL,EAAAA,EAAAA,IACpBF,EAAcG,MAAM,KAAKC,IAAKC,GAAMC,SAASD,EAAG,MAsBlD,GAfAG,EAAAA,SAAgBf,EAAQJ,KAAKM,KAAM,CACjCc,qBACEpB,KAAKoB,uBAAyBpB,KAAKqB,YAAc,IAAM,KACzDC,MAAOtB,KAAKsB,MACZC,MAAOvB,KAAKuB,MACZC,OAAQxB,KAAKwB,OACbC,YAAazB,KAAKyB,YAClBC,MAAO,CACLC,MAAOT,EACPU,KAAMhB,KAEPiB,MAAOC,IACR9B,KAAKC,OAAS6B,EAAIC,UAGhB/B,KAAKqB,YAAa,CACpB,MAAMW,EAAUhC,KAAKK,QAAS4B,WAAW,MACnCC,EAAW,IAAIC,MACrBD,EAASE,IAAMpC,KAAKqB,YACpBa,EAASG,OAAS,KAChBL,SAAAA,EAASM,UACPJ,EACe,KAAf9B,EAAOkB,MACS,KAAhBlB,EAAOmC,OACPnC,EAAOkB,MAAQ,EACflB,EAAOmC,OAAS,GAGtB,CACF,CACF,CAEAC,MAAAA,GACE,OAAKxC,KAAKM,KAGNN,KAAKC,QACAwC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,gCAAgC,gBAAA3C,KAAKC,SAE3CwC,EAAAA,EAAAA,IAAIG,IAAAA,EAAAD,CAAA,sBALFE,EAAAA,EAMX,C,kBAnHK,SAAAC,GAAA,KAIE1B,qBACL,cAGKE,MAAQ,OAGRC,MAAQ,OAGRC,OAAS,C,EAdL9B,EAqHJqD,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAN,CAAA,0B,oFAlHPO,UAAW,4B,uEAIXC,KAAMC,U,wDAGND,KAAMC,U,wDAGND,KAAMC,U,yDAGNF,WAAW,EAAOC,KAAMC,U,8DAGxBF,UAAW,kB"} {"version":3,"file":"3208.c142526706a8bf41.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-qr-code.ts"],"names":["HaQrCode","LitElement","willUpdate","changedProperties","super","has","this","_error","undefined","updated","canvas","_canvas","data","computedStyles","getComputedStyle","textRgb","getPropertyValue","backgroundRgb","textHex","rgb2hex","split","map","a","parseInt","backgroundHex","QRCode","errorCorrectionLevel","centerImage","width","scale","margin","maskPattern","color","light","dark","catch","err","message","context","getContext","imageObj","Image","src","onload","drawImage","height","render","html","_t","_","_t2","nothing","args","styles","css","_t3","attribute","type","Number"],"mappings":"0TAQO,MAAMA,UAAiBC,EAAAA,GAyBlBC,UAAAA,CAAWC,GACnBC,MAAMF,WAAWC,IAEdA,EAAkBE,IAAI,SACrBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,WACtBF,EAAkBE,IAAI,gBACtBF,EAAkBE,IAAI,0BACxBC,KAAKC,SAELD,KAAKC,YAASC,EAElB,CAEAC,OAAAA,CAAQN,GACN,MAAMO,EAASJ,KAAKK,QACpB,GACED,GACAJ,KAAKM,OACJT,EAAkBE,IAAI,SACrBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,WACtBF,EAAkBE,IAAI,gBACtBF,EAAkBE,IAAI,yBACtBF,EAAkBE,IAAI,gBACxB,CACA,MAAMQ,EAAiBC,iBAAiBR,MAClCS,EAAUF,EAAeG,iBAC7B,4BAEIC,EAAgBJ,EAAeG,iBACnC,+BAEIE,GAAUC,EAAAA,EAAAA,IACdJ,EAAQK,MAAM,KAAKC,IAAKC,GAAMC,SAASD,EAAG,MAMtCE,GAAgBL,EAAAA,EAAAA,IACpBF,EAAcG,MAAM,KAAKC,IAAKC,GAAMC,SAASD,EAAG,MAsBlD,GAfAG,EAAAA,SAAgBf,EAAQJ,KAAKM,KAAM,CACjCc,qBACEpB,KAAKoB,uBAAyBpB,KAAKqB,YAAc,IAAM,KACzDC,MAAOtB,KAAKsB,MACZC,MAAOvB,KAAKuB,MACZC,OAAQxB,KAAKwB,OACbC,YAAazB,KAAKyB,YAClBC,MAAO,CACLC,MAAOT,EACPU,KAAMhB,KAEPiB,MAAOC,IACR9B,KAAKC,OAAS6B,EAAIC,UAGhB/B,KAAKqB,YAAa,CACpB,MAAMW,EAAUhC,KAAKK,QAAS4B,WAAW,MACnCC,EAAW,IAAIC,MACrBD,EAASE,IAAMpC,KAAKqB,YACpBa,EAASG,OAAS,KAChBL,SAAAA,EAASM,UACPJ,EACe,KAAf9B,EAAOkB,MACS,KAAhBlB,EAAOmC,OACPnC,EAAOkB,MAAQ,EACflB,EAAOmC,OAAS,GAGtB,CACF,CACF,CAEAC,MAAAA,GACE,OAAKxC,KAAKM,KAGNN,KAAKC,QACAwC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,gCAAgC,gBAAA3C,KAAKC,SAE3CwC,EAAAA,EAAAA,IAAIG,IAAAA,EAAAD,CAAA,sBALFE,EAAAA,EAMX,C,kBAnHK,SAAAC,GAAA,KAIE1B,qBACL,cAGKE,MAAQ,OAGRC,MAAQ,OAGRC,OAAS,C,EAdL9B,EAqHJqD,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAN,CAAA,0B,oFAlHPO,UAAW,4B,uEAIXC,KAAMC,U,wDAGND,KAAMC,U,wDAGND,KAAMC,U,yDAGNF,WAAW,EAAOC,KAAMC,U,8DAGxBF,UAAW,kB"}

View File

@@ -1 +1 @@
{"version":3,"file":"3246.dfad1650f2380a41.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts"],"names":["calculateMoveTime","memoizeOne","supervisor","moveTime","host","disk_used","rebootTime","startup_time","Math","ceil","HassioDatadiskDialog","LitElement","showDialog","params","this","dialogParams","listDatadisks","hass","then","data","devices","closeDialog","undefined","selectedDevice","moving","fireEvent","dialog","localName","render","_this$devices","html","_t","_","localize","_t2","_t3","length","_t4","current_path","os","data_disk","time","_selectDevice","map","device","_t5","_moveDatadisk","nothing","ev","target","value","moveDatadisk","err","connection","connected","ignoreSupervisorError","showAlertDialog","title","text","extractApiErrorMessage","styles","haStyle","haStyleDialog","css","_t6","args","attribute"],"mappings":"kbAsBA,MAAMA,GAAoBC,EAAAA,EAAAA,GAAYC,IAEpC,MAAMC,EAAwC,IAA7BD,EAAYE,KAAKC,UAAoB,GAAK,GACrDC,EAA6C,EAAhCJ,EAAYE,KAAKG,aAAoB,GACxD,OAAiD,GAA1CC,KAAKC,MAAMN,EAAWG,GAAc,MAG7C,MACMI,UAA6BC,EAAAA,GAW1BC,UAAAA,CAAWC,GAChBC,KAAKC,aAAeF,GACpBG,EAAAA,EAAAA,IAAcF,KAAKG,MAAMC,KAAMC,IAC7BL,KAAKM,QAAUD,EAAKC,SAExB,CAEOC,WAAAA,GACLP,KAAKC,kBAAeO,EACpBR,KAAKS,oBAAiBD,EACtBR,KAAKM,aAAUE,EACfR,KAAKU,QAAS,GACdC,EAAAA,EAAAA,GAAUX,KAAM,gBAAiB,CAAEY,OAAQZ,KAAKa,WAClD,CAEUC,MAAAA,GAAS,IAAAC,EACjB,OAAKf,KAAKC,cAGHe,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,4HAKIlB,KAAKU,OACZV,KAAKC,aAAab,WAAW+B,SAAS,+BACtCnB,KAAKC,aAAab,WAAW+B,SAAS,8BAChCnB,KAAKO,YACAP,KAAKU,OAElBV,KAAKU,QACHM,EAAAA,EAAAA,IAAII,IAAAA,EAAAF,CAAA,kGAEElB,KAAKC,aAAab,WAAW+B,SAC7B,sCAGNH,EAAAA,EAAAA,IAAIK,IAAAA,EAAAH,CAAA,IAAI,gEAAJ,8HAAgB,QAAZH,EAAAf,KAAKM,eAAO,IAAAS,GAAZA,EAAcO,QAChBN,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,mGACAlB,KAAKC,aAAab,WAAW+B,SAC7B,mCACA,CACEK,aAAcxB,KAAKC,aAAab,WAAWqC,GAAGC,UAC9CC,KAAMzC,EAAkBc,KAAKC,aAAab,cAMnCY,KAAKC,aAAab,WAAW+B,SACpC,sCAEUnB,KAAK4B,cAGf5B,KAAKM,QAAQuB,IACZC,IACCd,EAAAA,EAAAA,IAAIe,IAAAA,EAAAb,CAAA,mDAAwBY,EACvBA,UAKItB,IAAjBR,KAAKM,QACHN,KAAKC,aAAab,WAAW+B,SAC3B,wCAEFnB,KAAKC,aAAab,WAAW+B,SAC3B,mCAMGnB,KAAKO,YAGZP,KAAKC,aAAab,WAAW+B,SAC7B,gCAKWnB,KAAKS,eAETT,KAAKgC,cAEZhC,KAAKC,aAAab,WAAW+B,SAC7B,+BAvELc,EAAAA,EA4EX,CAEQL,aAAAA,CAAcM,GACpBlC,KAAKS,eAAiByB,EAAGC,OAAOC,KAClC,CAEA,mBAAcJ,GACZhC,KAAKU,QAAS,EACd,UACQ2B,EAAAA,EAAAA,IAAarC,KAAKG,KAAMH,KAAKS,eACrC,CAAE,MAAO6B,GACHtC,KAAKG,KAAKoC,WAAWC,aAAcC,EAAAA,EAAAA,IAAsBH,MAC3DI,EAAAA,EAAAA,IAAgB1C,KAAM,CACpB2C,MAAO3C,KAAKC,aAAcb,WAAW+B,SACnC,8BAEFyB,MAAMC,EAAAA,EAAAA,IAAuBP,KAE/BtC,KAAKO,cAET,CACF,CAEA,iBAAWuC,GACT,MAAO,CACLC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAhC,CAAA,kHAeP,C,kBAnJF,SAAAiC,GAAA,KAUmBzC,QAAS,C,8BARd0C,WAAW,K"} {"version":3,"file":"3246.dfad1650f2380a41.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts"],"names":["calculateMoveTime","memoizeOne","supervisor","moveTime","host","disk_used","rebootTime","startup_time","Math","ceil","HassioDatadiskDialog","LitElement","showDialog","params","this","dialogParams","listDatadisks","hass","then","data","devices","closeDialog","undefined","selectedDevice","moving","fireEvent","dialog","localName","render","_this$devices","html","_t","_","localize","_t2","_t3","length","_t4","current_path","os","data_disk","time","_selectDevice","map","device","_t5","_moveDatadisk","nothing","ev","target","value","moveDatadisk","err","connection","connected","ignoreSupervisorError","showAlertDialog","title","text","extractApiErrorMessage","styles","haStyle","haStyleDialog","css","_t6","args","attribute"],"mappings":"kbAsBA,MAAMA,GAAoBC,EAAAA,EAAAA,GAAYC,IAEpC,MAAMC,EAAwC,IAA7BD,EAAYE,KAAKC,UAAoB,GAAK,GACrDC,EAA6C,EAAhCJ,EAAYE,KAAKG,aAAoB,GACxD,OAAiD,GAA1CC,KAAKC,MAAMN,EAAWG,GAAc,MAG7C,MACMI,UAA6BC,EAAAA,GAW1BC,UAAAA,CAAWC,GAChBC,KAAKC,aAAeF,GACpBG,EAAAA,EAAAA,IAAcF,KAAKG,MAAMC,KAAMC,IAC7BL,KAAKM,QAAUD,EAAKC,SAExB,CAEOC,WAAAA,GACLP,KAAKC,kBAAeO,EACpBR,KAAKS,oBAAiBD,EACtBR,KAAKM,aAAUE,EACfR,KAAKU,QAAS,GACdC,EAAAA,EAAAA,GAAUX,KAAM,gBAAiB,CAAEY,OAAQZ,KAAKa,WAClD,CAEUC,MAAAA,GAAS,IAAAC,EACjB,OAAKf,KAAKC,cAGHe,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,4HAKIlB,KAAKU,OACZV,KAAKC,aAAab,WAAW+B,SAAS,+BACtCnB,KAAKC,aAAab,WAAW+B,SAAS,8BAChCnB,KAAKO,YACAP,KAAKU,OAElBV,KAAKU,QACHM,EAAAA,EAAAA,IAAII,IAAAA,EAAAF,CAAA,kGAEElB,KAAKC,aAAab,WAAW+B,SAC7B,sCAGNH,EAAAA,EAAAA,IAAIK,IAAAA,EAAAH,CAAA,IAAI,gEAAJ,8HAAgB,QAAZH,EAAAf,KAAKM,eAAO,IAAAS,GAAZA,EAAcO,QAChBN,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,mGACAlB,KAAKC,aAAab,WAAW+B,SAC7B,mCACA,CACEK,aAAcxB,KAAKC,aAAab,WAAWqC,GAAGC,UAC9CC,KAAMzC,EAAkBc,KAAKC,aAAab,cAMnCY,KAAKC,aAAab,WAAW+B,SACpC,sCAEUnB,KAAK4B,cAGf5B,KAAKM,QAAQuB,IACZC,IACCd,EAAAA,EAAAA,IAAIe,IAAAA,EAAAb,CAAA,mDAAwBY,EACvBA,UAKItB,IAAjBR,KAAKM,QACHN,KAAKC,aAAab,WAAW+B,SAC3B,wCAEFnB,KAAKC,aAAab,WAAW+B,SAC3B,mCAMGnB,KAAKO,YAGZP,KAAKC,aAAab,WAAW+B,SAC7B,gCAKWnB,KAAKS,eAETT,KAAKgC,cAEZhC,KAAKC,aAAab,WAAW+B,SAC7B,+BAvELc,EAAAA,EA4EX,CAEQL,aAAAA,CAAcM,GACpBlC,KAAKS,eAAiByB,EAAGC,OAAOC,KAClC,CAEA,mBAAcJ,GACZhC,KAAKU,QAAS,EACd,UACQ2B,EAAAA,EAAAA,IAAarC,KAAKG,KAAMH,KAAKS,eACrC,CAAE,MAAO6B,GACHtC,KAAKG,KAAKoC,WAAWC,aAAcC,EAAAA,EAAAA,IAAsBH,MAC3DI,EAAAA,EAAAA,IAAgB1C,KAAM,CACpB2C,MAAO3C,KAAKC,aAAcb,WAAW+B,SACnC,8BAEFyB,MAAMC,EAAAA,EAAAA,IAAuBP,KAE/BtC,KAAKO,cAET,CACF,CAEA,iBAAWuC,GACT,MAAO,CACLC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAhC,CAAA,kHAeP,C,kBAnJF,SAAAiC,GAAA,KAUmBzC,QAAS,C,8BARd0C,WAAW,K"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"3534.11655901313e5444.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/codemirror.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/polyfills/resize-observer.ts"],"names":["langs","jinja2","StreamLanguage","yaml","langCompartment","Compartment","readonlyCompartment","linewrapCompartment","foldingCompartment","tabKeyBindings","key","run","indentMore","indentLess","haTheme","EditorView","color","backgroundColor","borderRadius","caretColor","height","maxHeight","outline","borderLeftColor","paddingTop","paddingBottom","borderBottom","borderTop","border","padding","textTransform","margin","background","fontFamily","fontSize","fontWeight","letterSpacing","boxShadow","display","left","marginTop","borderRight","paddingRight","haHighlightStyle","HighlightStyle","tag","tags","fontStyle","textDecoration","haSyntaxHighlighting","syntaxHighlighting","foldingOnIndent","foldService","state","from","to","line","doc","lineAt","length","text","trim","onlyEmptyNext","lineCount","lines","indent","search","foldStart","foldEnd","nextLine","number","nextIndent","window","ResizeObserver","default"],"mappings":"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"} {"version":3,"file":"3534.11655901313e5444.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/codemirror.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/polyfills/resize-observer.ts"],"names":["langs","jinja2","StreamLanguage","yaml","langCompartment","Compartment","readonlyCompartment","linewrapCompartment","foldingCompartment","tabKeyBindings","key","run","indentMore","indentLess","haTheme","EditorView","color","backgroundColor","borderRadius","caretColor","height","maxHeight","outline","borderLeftColor","paddingTop","paddingBottom","borderBottom","borderTop","border","padding","textTransform","margin","background","fontFamily","fontSize","fontWeight","letterSpacing","boxShadow","display","left","marginTop","borderRight","paddingRight","haHighlightStyle","HighlightStyle","tag","tags","fontStyle","textDecoration","haSyntaxHighlighting","syntaxHighlighting","foldingOnIndent","foldService","state","from","to","line","doc","lineAt","length","text","trim","onlyEmptyNext","lineCount","lines","indent","search","foldStart","foldEnd","nextLine","number","nextIndent","window","ResizeObserver","default"],"mappings":"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"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"3679.8eb5da894c6ae119.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/append-ha-style.ts"],"names":["styleElement","document","createElement","textContent","themeStyles","head","append"],"mappings":"iKAEA,MAAMA,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,YAAcC,EAAAA,EAC3BH,SAASI,KAAKC,OAAON,E"} {"version":3,"file":"3679.8eb5da894c6ae119.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/append-ha-style.ts"],"names":["styleElement","document","createElement","textContent","themeStyles","head","append"],"mappings":"iKAEA,MAAMA,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,YAAcC,EAAAA,EAC3BH,SAASI,KAAKC,OAAON,E"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"3802.aec09329a1d3c056.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-dialog.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/dialogs/image-cropper-dialog/image-cropper-dialog.ts"],"names":["SUPPRESS_DEFAULT_PRESS_SELECTOR","createCloseHeading","hass","title","_hass$localize","html","_t","_","localize","HaDialog","DialogBase","scrollToPos","x","y","_this$contentElement","this","contentElement","scrollTo","renderHeading","_t2","super","firstUpdated","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","disconnectedCallback","removeEventListener","toggleAttribute","scrollTop","args","styles","css","_t3","HaImagecropperDialog","LitElement","showDialog","params","_params","_open","closeDialog","_this$_cropper","undefined","_cropper","destroy","_isTargetAspectRatio","updated","changedProperties","has","replace","URL","createObjectURL","file","_image","src","Cropper","aspectRatio","options","viewMode","dragMode","minCropBoxWidth","ready","_checkMatchAspectRatio","revokeObjectURL","_this$_params","targetRatio","imageData","getImageData","naturalWidth","naturalHeight","targetHeight","Math","abs","targetWidth","render","_this$_params2","classMap","round","Boolean","_useOriginal","nothing","_cropImage","getCroppedCanvas","toBlob","blob","File","name","type","croppedCallback","quality","haStyleDialog","unsafeCSS","cropperCss","attribute"],"mappings":"mSAC6D,MASvDA,EAAkC,CAAC,SAAU,gBAEtCC,EAAqBA,CAChCC,EACAC,KAAA,IAAAC,EAAA,OACGC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iKAGqB,QAHrBH,EAGMF,aAAA,EAAAA,EAAMM,SAAS,8BAAAJ,EAAAA,EAAsB,QAjBS,gHAsBjDD,IAKL,MAAMM,UAAiBC,EAAAA,EAGrBC,WAAAA,CAAYC,EAAWC,GAAW,IAAAC,EACpB,QAAnBA,EAAAC,KAAKC,sBAAc,IAAAF,GAAnBA,EAAqBG,SAASL,EAAGC,EACnC,CAEUK,aAAAA,GACR,OAAOb,EAAAA,EAAAA,IAAIc,IAAAA,EAAAZ,CAAA,yBAAyB,aAAAa,MAAMF,gBAC5C,CAEUG,YAAAA,GAAqB,IAAAC,EAC7BF,MAAMC,eACNN,KAAKQ,6BAA+B,CAClCR,KAAKQ,6BACLvB,GACAwB,KAAK,MACPT,KAAKU,2BACc,QAAnBH,EAAAP,KAAKC,sBAAc,IAAAM,GAAnBA,EAAqBI,iBAAiB,SAAUX,KAAKY,UAAW,CAC9DC,SAAS,GAEb,CAEAC,oBAAAA,GACET,MAAMS,uBACNd,KAAKC,eAAec,oBAAoB,SAAUf,KAAKY,UACzD,CAMQF,wBAAAA,GACDV,KAAKC,gBACVD,KAAKgB,gBAAgB,WAA8C,IAAlChB,KAAKC,eAAegB,UACvD,C,kBAnCK,SAAAC,GAAA,KA4BGN,UAAY,KAClBZ,KAAKU,2B,EA7BIhB,EAqCKyB,OAAS,CACvBA,EAAAA,GACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA7B,CAAA;;;ggFCrDA,MAAM8B,UAA6BC,EAAAA,GAajCC,UAAAA,CAAWC,GAChBzB,KAAK0B,QAAUD,EACfzB,KAAK2B,OAAQ,CACf,CAEOC,WAAAA,GAAc,IAAAC,EACnB7B,KAAK2B,OAAQ,EACb3B,KAAK0B,aAAUI,EACF,QAAbD,EAAA7B,KAAK+B,gBAAQ,IAAAF,GAAbA,EAAeG,UACfhC,KAAK+B,cAAWD,EAChB9B,KAAKiC,sBAAuB,CAC9B,CAEUC,OAAAA,CAAQC,GACXA,EAAkBC,IAAI,YAAepC,KAAK0B,UAG1C1B,KAAK+B,SAaR/B,KAAK+B,SAASM,QAAQC,IAAIC,gBAAgBvC,KAAK0B,QAAQc,QAZvDxC,KAAKyC,OAAOC,IAAMJ,IAAIC,gBAAgBvC,KAAK0B,QAAQc,MACnDxC,KAAK+B,SAAW,IAAIY,IAAJ,CAAY3C,KAAKyC,OAAQ,CACvCG,YAAa5C,KAAK0B,QAAQmB,QAAQD,YAClCE,SAAU,EACVC,SAAU,OACVC,gBAAiB,GACjBC,MAAOA,KACLjD,KAAKiC,qBAAuBjC,KAAKkD,yBACjCZ,IAAIa,gBAAgBnD,KAAKyC,OAAQC,SAMzC,CAEQQ,sBAAAA,GAAkC,IAAAE,EACxC,MAAMC,EAA0B,QAA1BD,EAAcpD,KAAK0B,eAAO,IAAA0B,OAAA,EAAZA,EAAcP,QAAQD,YAC1C,IAAKS,EACH,OAAO,EAET,MAAMC,EAAYtD,KAAK+B,SAAUwB,eACjC,GAAID,EAAUV,cAAgBS,EAC5B,OAAO,EAIT,GAAIC,EAAUE,aAAeF,EAAUG,cAAe,CACpD,MAAMC,EAAeJ,EAAUE,aAAeH,EAC9C,OAAOM,KAAKC,IAAIF,EAAeJ,EAAUG,gBAAkB,CAC7D,CACA,MAAMI,EAAcP,EAAUG,cAAgBJ,EAC9C,OAAOM,KAAKC,IAAIC,EAAcP,EAAUE,eAAiB,CAC3D,CAEUM,MAAAA,GAAyB,IAAAC,EACjC,OAAOzE,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,wSACCQ,KAAK4B,YAGP5B,KAAK2B,OAGQqC,EAAAA,EAAAA,GAAS,CAC1BC,MAAOC,QAAoB,QAApBH,EAAQ/D,KAAK0B,eAAO,IAAAqC,OAAA,EAAZA,EAAclB,QAAQoB,SAG5BjE,KAAKb,KAAKM,SAAS,uCAKrBO,KAAK4B,YAEZ5B,KAAKb,KAAKM,SAAS,oBAErBO,KAAKiC,sBACH3C,EAAAA,EAAAA,IAAIc,IAAAA,EAAAZ,CAAA,uFAGOQ,KAAKmE,aAEZnE,KAAKb,KAAKM,SAAS,0CAEvB2E,EAAAA,GAEqCpE,KAAKqE,WAC1CrE,KAAKb,KAAKM,SAAS,iCAG3B,CAEQ4E,UAAAA,GACNrE,KAAK+B,SAAUuC,mBAAmBC,OAC/BC,IACC,IAAKA,EACH,OAEF,MAAMhC,EAAO,IAAIiC,KAAK,CAACD,GAAOxE,KAAK0B,QAASc,KAAKkC,KAAM,CACrDC,KAAM3E,KAAK0B,QAASmB,QAAQ8B,MAAQ3E,KAAK0B,QAASc,KAAKmC,OAEzD3E,KAAK0B,QAASkD,gBAAgBpC,GAC9BxC,KAAK4B,eAEP5B,KAAK0B,QAASmB,QAAQ8B,MAAQ3E,KAAK0B,QAASc,KAAKmC,KACjD3E,KAAK0B,QAASmB,QAAQgC,QAE1B,CAEQV,YAAAA,GACNnE,KAAK0B,QAASkD,gBAAgB5E,KAAK0B,QAASc,MAC5CxC,KAAK4B,aACP,CAEA,iBAAWT,GACT,MAAO,CACL2D,EAAAA,IACA1D,EAAAA,EAAAA,IAAGC,IAAAA,EAAA7B,CAAA,+OACCuF,EAAAA,EAAAA,IAAUC,IAkBlB,C,kBAnJK,SAAA9D,GAAA,KAKYS,OAAQ,C,8BAJbsD,WAAW,K"} {"version":3,"file":"3802.aec09329a1d3c056.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-dialog.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/dialogs/image-cropper-dialog/image-cropper-dialog.ts"],"names":["SUPPRESS_DEFAULT_PRESS_SELECTOR","createCloseHeading","hass","title","_hass$localize","html","_t","_","localize","HaDialog","DialogBase","scrollToPos","x","y","_this$contentElement","this","contentElement","scrollTo","renderHeading","_t2","super","firstUpdated","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","disconnectedCallback","removeEventListener","toggleAttribute","scrollTop","args","styles","css","_t3","HaImagecropperDialog","LitElement","showDialog","params","_params","_open","closeDialog","_this$_cropper","undefined","_cropper","destroy","_isTargetAspectRatio","updated","changedProperties","has","replace","URL","createObjectURL","file","_image","src","Cropper","aspectRatio","options","viewMode","dragMode","minCropBoxWidth","ready","_checkMatchAspectRatio","revokeObjectURL","_this$_params","targetRatio","imageData","getImageData","naturalWidth","naturalHeight","targetHeight","Math","abs","targetWidth","render","_this$_params2","classMap","round","Boolean","_useOriginal","nothing","_cropImage","getCroppedCanvas","toBlob","blob","File","name","type","croppedCallback","quality","haStyleDialog","unsafeCSS","cropperCss","attribute"],"mappings":"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"}

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More