mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-24 17:56:46 +00:00
20230705.1 (#17169)
This commit is contained in:
commit
d7e0dac4e7
13
.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch
Normal file
13
.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch
Normal file
File diff suppressed because one or more lines are too long
@ -1,6 +1,7 @@
|
|||||||
import fs from "fs/promises";
|
import fs from "fs/promises";
|
||||||
import gulp from "gulp";
|
import gulp from "gulp";
|
||||||
import mapStream from "map-stream";
|
import mapStream from "map-stream";
|
||||||
|
import transform from "gulp-json-transform";
|
||||||
|
|
||||||
const inDirFrontend = "translations/frontend";
|
const inDirFrontend = "translations/frontend";
|
||||||
const inDirBackend = "translations/backend";
|
const inDirBackend = "translations/backend";
|
||||||
@ -41,9 +42,35 @@ function checkHtml() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Backend translations do not currently pass HTML check so are excluded here for now
|
function convertBackendTranslations(data, _file) {
|
||||||
|
const output = { component: {} };
|
||||||
|
if (!data.component) {
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
Object.keys(data.component).forEach((domain) => {
|
||||||
|
if (!("entity_component" in data.component[domain])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
output.component[domain] = { entity_component: {} };
|
||||||
|
Object.keys(data.component[domain].entity_component).forEach((key) => {
|
||||||
|
output.component[domain].entity_component[key] =
|
||||||
|
data.component[domain].entity_component[key];
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
gulp.task("convert-backend-translations", function () {
|
||||||
|
return gulp
|
||||||
|
.src([`${inDirBackend}/*.json`])
|
||||||
|
.pipe(transform((data, file) => convertBackendTranslations(data, file)))
|
||||||
|
.pipe(gulp.dest(inDirBackend));
|
||||||
|
});
|
||||||
|
|
||||||
gulp.task("check-translations-html", function () {
|
gulp.task("check-translations-html", function () {
|
||||||
return gulp.src([`${inDirFrontend}/*.json`]).pipe(checkHtml());
|
return gulp
|
||||||
|
.src([`${inDirFrontend}/*.json`, `${inDirBackend}/*.json`])
|
||||||
|
.pipe(checkHtml());
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task("check-all-files-exist", async function () {
|
gulp.task("check-all-files-exist", async function () {
|
||||||
@ -65,5 +92,9 @@ gulp.task("check-all-files-exist", async function () {
|
|||||||
|
|
||||||
gulp.task(
|
gulp.task(
|
||||||
"check-downloaded-translations",
|
"check-downloaded-translations",
|
||||||
gulp.series("check-translations-html", "check-all-files-exist")
|
gulp.series(
|
||||||
|
"convert-backend-translations",
|
||||||
|
"check-translations-html",
|
||||||
|
"check-all-files-exist"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
@ -162,6 +162,7 @@ export class DemoAutomationDescribeAction extends LitElement {
|
|||||||
super.firstUpdated(changedProps);
|
super.firstUpdated(changedProps);
|
||||||
const hass = provideHass(this);
|
const hass = provideHass(this);
|
||||||
hass.updateTranslations(null, "en");
|
hass.updateTranslations(null, "en");
|
||||||
|
hass.updateTranslations("config", "en");
|
||||||
hass.addEntities(ENTITIES);
|
hass.addEntities(ENTITIES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,6 +89,7 @@ export class DemoAutomationDescribeCondition extends LitElement {
|
|||||||
super.firstUpdated(changedProps);
|
super.firstUpdated(changedProps);
|
||||||
const hass = provideHass(this);
|
const hass = provideHass(this);
|
||||||
hass.updateTranslations(null, "en");
|
hass.updateTranslations(null, "en");
|
||||||
|
hass.updateTranslations("config", "en");
|
||||||
hass.addEntities(ENTITIES);
|
hass.addEntities(ENTITIES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,6 +40,7 @@ const triggers = [
|
|||||||
},
|
},
|
||||||
{ platform: "sun", event: "sunset" },
|
{ platform: "sun", event: "sunset" },
|
||||||
{ platform: "time_pattern" },
|
{ platform: "time_pattern" },
|
||||||
|
{ platform: "time_pattern", hours: "*", minutes: "/5", seconds: "10" },
|
||||||
{ platform: "webhook" },
|
{ platform: "webhook" },
|
||||||
{ platform: "persistent_notification" },
|
{ platform: "persistent_notification" },
|
||||||
{
|
{
|
||||||
@ -105,6 +106,7 @@ export class DemoAutomationDescribeTrigger extends LitElement {
|
|||||||
super.firstUpdated(changedProps);
|
super.firstUpdated(changedProps);
|
||||||
const hass = provideHass(this);
|
const hass = provideHass(this);
|
||||||
hass.updateTranslations(null, "en");
|
hass.updateTranslations(null, "en");
|
||||||
|
hass.updateTranslations("config", "en");
|
||||||
hass.addEntities(ENTITIES);
|
hass.addEntities(ENTITIES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,6 +265,8 @@ export class DemoIntegrationCard extends LitElement {
|
|||||||
></ha-config-flow-card>
|
></ha-config-flow-card>
|
||||||
`
|
`
|
||||||
)}
|
)}
|
||||||
|
</div>
|
||||||
|
<div class="container">
|
||||||
${configEntries.map(
|
${configEntries.map(
|
||||||
(info) => html`
|
(info) => html`
|
||||||
<ha-integration-card
|
<ha-integration-card
|
||||||
@ -338,10 +340,10 @@ export class DemoIntegrationCard extends LitElement {
|
|||||||
return css`
|
return css`
|
||||||
.container {
|
.container {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
||||||
grid-gap: 16px 16px;
|
grid-gap: 8px 8px;
|
||||||
padding: 8px 16px 16px;
|
padding: 8px 16px 16px;
|
||||||
margin-bottom: 64px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container > * {
|
.container > * {
|
||||||
|
@ -176,7 +176,7 @@
|
|||||||
"@types/js-yaml": "4.0.5",
|
"@types/js-yaml": "4.0.5",
|
||||||
"@types/leaflet": "1.9.3",
|
"@types/leaflet": "1.9.3",
|
||||||
"@types/leaflet-draw": "1.0.7",
|
"@types/leaflet-draw": "1.0.7",
|
||||||
"@types/luxon": "^3",
|
"@types/luxon": "3.3.0",
|
||||||
"@types/marked": "4.3.1",
|
"@types/marked": "4.3.1",
|
||||||
"@types/mocha": "10.0.1",
|
"@types/mocha": "10.0.1",
|
||||||
"@types/qrcode": "1.5.1",
|
"@types/qrcode": "1.5.1",
|
||||||
@ -253,7 +253,8 @@
|
|||||||
"resolutions": {
|
"resolutions": {
|
||||||
"@polymer/polymer": "patch:@polymer/polymer@3.5.1#./.yarn/patches/@polymer/polymer/pr-5569.patch",
|
"@polymer/polymer": "patch:@polymer/polymer@3.5.1#./.yarn/patches/@polymer/polymer/pr-5569.patch",
|
||||||
"@material/mwc-button@^0.25.3": "^0.27.0",
|
"@material/mwc-button@^0.25.3": "^0.27.0",
|
||||||
"sortablejs@1.15.0": "patch:sortablejs@npm%3A1.15.0#./.yarn/patches/sortablejs-npm-1.15.0-f3a393abcc.patch"
|
"sortablejs@1.15.0": "patch:sortablejs@npm%3A1.15.0#./.yarn/patches/sortablejs-npm-1.15.0-f3a393abcc.patch",
|
||||||
|
"leaflet-draw@1.0.4": "patch:leaflet-draw@npm%3A1.0.4#./.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch"
|
||||||
},
|
},
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"trailingComma": "es5",
|
"trailingComma": "es5",
|
||||||
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "home-assistant-frontend"
|
name = "home-assistant-frontend"
|
||||||
version = "20230705.0"
|
version = "20230705.1"
|
||||||
license = {text = "Apache-2.0"}
|
license = {text = "Apache-2.0"}
|
||||||
description = "The Home Assistant frontend"
|
description = "The Home Assistant frontend"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
@ -397,12 +397,10 @@ const tryDescribeTrigger = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Time Pattern Trigger
|
// Time Pattern Trigger
|
||||||
if (
|
if (trigger.platform === "time_pattern") {
|
||||||
trigger.platform === "time_pattern" &&
|
if (!trigger.seconds && !trigger.minutes && !trigger.hours) {
|
||||||
(trigger.seconds !== undefined ||
|
return "When a time pattern matches";
|
||||||
trigger.minutes !== undefined ||
|
}
|
||||||
trigger.hours !== undefined)
|
|
||||||
) {
|
|
||||||
let result = "Trigger ";
|
let result = "Trigger ";
|
||||||
if (trigger.seconds !== undefined) {
|
if (trigger.seconds !== undefined) {
|
||||||
const seconds_all = trigger.seconds === "*";
|
const seconds_all = trigger.seconds === "*";
|
||||||
|
@ -189,7 +189,7 @@ const tryDescribeAction = <T extends ActionType>(
|
|||||||
duration = hass.localize(
|
duration = hass.localize(
|
||||||
`${actionTranslationBaseKey}.delay.description.duration_string`,
|
`${actionTranslationBaseKey}.delay.description.duration_string`,
|
||||||
{
|
{
|
||||||
duration: secondsToDuration(config.delay)!,
|
string: secondsToDuration(config.delay)!,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
} else if (typeof config.delay === "string") {
|
} else if (typeof config.delay === "string") {
|
||||||
@ -200,7 +200,7 @@ const tryDescribeAction = <T extends ActionType>(
|
|||||||
: hass.localize(
|
: hass.localize(
|
||||||
`${actionTranslationBaseKey}.delay.description.duration_string`,
|
`${actionTranslationBaseKey}.delay.description.duration_string`,
|
||||||
{
|
{
|
||||||
duration:
|
string:
|
||||||
config.delay ||
|
config.delay ||
|
||||||
hass.localize(
|
hass.localize(
|
||||||
`${actionTranslationBaseKey}.delay.description.duration_unknown`
|
`${actionTranslationBaseKey}.delay.description.duration_unknown`
|
||||||
@ -211,14 +211,14 @@ const tryDescribeAction = <T extends ActionType>(
|
|||||||
duration = hass.localize(
|
duration = hass.localize(
|
||||||
`${actionTranslationBaseKey}.delay.description.duration_string`,
|
`${actionTranslationBaseKey}.delay.description.duration_string`,
|
||||||
{
|
{
|
||||||
duration: formatDuration(config.delay),
|
string: formatDuration(config.delay),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
duration = hass.localize(
|
duration = hass.localize(
|
||||||
`${actionTranslationBaseKey}.delay.description.duration_string`,
|
`${actionTranslationBaseKey}.delay.description.duration_string`,
|
||||||
{
|
{
|
||||||
duration: hass.localize(
|
string: hass.localize(
|
||||||
`${actionTranslationBaseKey}.delay.description.duration_unknown`
|
`${actionTranslationBaseKey}.delay.description.duration_unknown`
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,9 @@ import type { HomeAssistant } from "../../../types";
|
|||||||
import { documentationUrl } from "../../../util/documentation-url";
|
import { documentationUrl } from "../../../util/documentation-url";
|
||||||
import type { DataEntryFlowProgressExtended } from "./ha-config-integrations";
|
import type { DataEntryFlowProgressExtended } from "./ha-config-integrations";
|
||||||
import "./ha-integration-action-card";
|
import "./ha-integration-action-card";
|
||||||
|
import "../../../components/ha-button-menu";
|
||||||
|
import "../../../components/ha-button";
|
||||||
|
import "../../../components/ha-list-item";
|
||||||
|
|
||||||
@customElement("ha-config-flow-card")
|
@customElement("ha-config-flow-card")
|
||||||
export class HaConfigFlowCard extends LitElement {
|
export class HaConfigFlowCard extends LitElement {
|
||||||
@ -37,7 +40,7 @@ export class HaConfigFlowCard extends LitElement {
|
|||||||
.domain=${this.flow.handler}
|
.domain=${this.flow.handler}
|
||||||
.label=${this.flow.localized_title}
|
.label=${this.flow.localized_title}
|
||||||
>
|
>
|
||||||
<mwc-button
|
<ha-button
|
||||||
unelevated
|
unelevated
|
||||||
@click=${this._continueFlow}
|
@click=${this._continueFlow}
|
||||||
.label=${this.hass.localize(
|
.label=${this.hass.localize(
|
||||||
@ -45,15 +48,15 @@ export class HaConfigFlowCard extends LitElement {
|
|||||||
attention ? "reconfigure" : "configure"
|
attention ? "reconfigure" : "configure"
|
||||||
}`
|
}`
|
||||||
)}
|
)}
|
||||||
></mwc-button>
|
></ha-button>
|
||||||
${DISCOVERY_SOURCES.includes(this.flow.context.source) &&
|
${DISCOVERY_SOURCES.includes(this.flow.context.source) &&
|
||||||
this.flow.context.unique_id
|
this.flow.context.unique_id
|
||||||
? html`<mwc-button
|
? html`<ha-button
|
||||||
@click=${this._ignoreFlow}
|
@click=${this._ignoreFlow}
|
||||||
.label=${this.hass.localize(
|
.label=${this.hass.localize(
|
||||||
"ui.panel.config.integrations.ignore.ignore"
|
"ui.panel.config.integrations.ignore.ignore"
|
||||||
)}
|
)}
|
||||||
></mwc-button>`
|
></ha-button>`
|
||||||
: ""}
|
: ""}
|
||||||
${this.flow.context.configuration_url || this.manifest
|
${this.flow.context.configuration_url || this.manifest
|
||||||
? html`<ha-button-menu slot="header-button">
|
? html`<ha-button-menu slot="header-button">
|
||||||
@ -75,7 +78,7 @@ export class HaConfigFlowCard extends LitElement {
|
|||||||
? "_self"
|
? "_self"
|
||||||
: "_blank"}
|
: "_blank"}
|
||||||
>
|
>
|
||||||
<mwc-list-item graphic="icon" hasMeta>
|
<ha-list-item graphic="icon" hasMeta>
|
||||||
${this.hass.localize(
|
${this.hass.localize(
|
||||||
"ui.panel.config.integrations.config_entry.open_configuration_url"
|
"ui.panel.config.integrations.config_entry.open_configuration_url"
|
||||||
)}
|
)}
|
||||||
@ -84,7 +87,7 @@ export class HaConfigFlowCard extends LitElement {
|
|||||||
slot="meta"
|
slot="meta"
|
||||||
.path=${mdiOpenInNew}
|
.path=${mdiOpenInNew}
|
||||||
></ha-svg-icon>
|
></ha-svg-icon>
|
||||||
</mwc-list-item>
|
</ha-list-item>
|
||||||
</a>`
|
</a>`
|
||||||
: ""}
|
: ""}
|
||||||
${this.manifest
|
${this.manifest
|
||||||
@ -98,7 +101,7 @@ export class HaConfigFlowCard extends LitElement {
|
|||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>
|
>
|
||||||
<mwc-list-item graphic="icon" hasMeta>
|
<ha-list-item graphic="icon" hasMeta>
|
||||||
${this.hass.localize(
|
${this.hass.localize(
|
||||||
"ui.panel.config.integrations.config_entry.documentation"
|
"ui.panel.config.integrations.config_entry.documentation"
|
||||||
)}
|
)}
|
||||||
@ -110,7 +113,7 @@ export class HaConfigFlowCard extends LitElement {
|
|||||||
slot="meta"
|
slot="meta"
|
||||||
.path=${mdiOpenInNew}
|
.path=${mdiOpenInNew}
|
||||||
></ha-svg-icon>
|
></ha-svg-icon>
|
||||||
</mwc-list-item>
|
</ha-list-item>
|
||||||
</a>`
|
</a>`
|
||||||
: ""}
|
: ""}
|
||||||
</ha-button-menu>`
|
</ha-button-menu>`
|
||||||
@ -171,6 +174,10 @@ export class HaConfigFlowCard extends LitElement {
|
|||||||
width: 18px;
|
width: 18px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
}
|
}
|
||||||
|
.attention {
|
||||||
|
--mdc-theme-primary: var(--error-color);
|
||||||
|
--ha-card-border-color: var(--error-color);
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box
|
|||||||
import type { HomeAssistant } from "../../../types";
|
import type { HomeAssistant } from "../../../types";
|
||||||
import type { ConfigEntryExtended } from "./ha-config-integrations";
|
import type { ConfigEntryExtended } from "./ha-config-integrations";
|
||||||
import "./ha-integration-action-card";
|
import "./ha-integration-action-card";
|
||||||
|
import "../../../components/ha-button";
|
||||||
|
|
||||||
@customElement("ha-ignored-config-entry-card")
|
@customElement("ha-ignored-config-entry-card")
|
||||||
export class HaIgnoredConfigEntryCard extends LitElement {
|
export class HaIgnoredConfigEntryCard extends LitElement {
|
||||||
@ -32,12 +33,12 @@ export class HaIgnoredConfigEntryCard extends LitElement {
|
|||||||
this.entry.localized_domain_name
|
this.entry.localized_domain_name
|
||||||
: this.entry.title}
|
: this.entry.title}
|
||||||
>
|
>
|
||||||
<mwc-button
|
<ha-button
|
||||||
@click=${this._removeIgnoredIntegration}
|
@click=${this._removeIgnoredIntegration}
|
||||||
.label=${this.hass.localize(
|
.label=${this.hass.localize(
|
||||||
"ui.panel.config.integrations.ignore.stop_ignore"
|
"ui.panel.config.integrations.ignore.stop_ignore"
|
||||||
)}
|
)}
|
||||||
></mwc-button>
|
></ha-button>
|
||||||
</ha-integration-action-card>
|
</ha-integration-action-card>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
@ -76,7 +77,7 @@ export class HaIgnoredConfigEntryCard extends LitElement {
|
|||||||
--state-color: var(--divider-color, #e0e0e0);
|
--state-color: var(--divider-color, #e0e0e0);
|
||||||
}
|
}
|
||||||
|
|
||||||
mwc-button {
|
ha-button {
|
||||||
--mdc-theme-primary: var(--primary-color);
|
--mdc-theme-primary: var(--primary-color);
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
import "@lrnwebcomponents/simple-tooltip/simple-tooltip";
|
import "@lrnwebcomponents/simple-tooltip/simple-tooltip";
|
||||||
import "@material/mwc-button";
|
|
||||||
import "@material/mwc-list";
|
|
||||||
import "@material/mwc-ripple";
|
import "@material/mwc-ripple";
|
||||||
import type { Ripple } from "@material/mwc-ripple";
|
import type { Ripple } from "@material/mwc-ripple";
|
||||||
import { RippleHandlers } from "@material/mwc-ripple/ripple-handlers";
|
import { RippleHandlers } from "@material/mwc-ripple/ripple-handlers";
|
||||||
@ -24,6 +22,7 @@ import { classMap } from "lit/directives/class-map";
|
|||||||
import memoizeOne from "memoize-one";
|
import memoizeOne from "memoize-one";
|
||||||
import { computeRTL } from "../../../common/util/compute_rtl";
|
import { computeRTL } from "../../../common/util/compute_rtl";
|
||||||
import "../../../components/ha-card";
|
import "../../../components/ha-card";
|
||||||
|
import "../../../components/ha-button";
|
||||||
import "../../../components/ha-svg-icon";
|
import "../../../components/ha-svg-icon";
|
||||||
import { ConfigEntry, ERROR_STATES } from "../../../data/config_entries";
|
import { ConfigEntry, ERROR_STATES } from "../../../data/config_entries";
|
||||||
import type { DeviceRegistryEntry } from "../../../data/device_registry";
|
import type { DeviceRegistryEntry } from "../../../data/device_registry";
|
||||||
|
11
yarn.lock
11
yarn.lock
@ -4453,7 +4453,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/luxon@npm:^3":
|
"@types/luxon@npm:3.3.0":
|
||||||
version: 3.3.0
|
version: 3.3.0
|
||||||
resolution: "@types/luxon@npm:3.3.0"
|
resolution: "@types/luxon@npm:3.3.0"
|
||||||
checksum: f7e3a89fc3ca404fbc3ea538653ed6860bc28f570a8c4d6d24449b89b9b553b7d6ad6cc94a9e129c5b8c9a2b97f0c365b3017f811e59c4a859a9c219a1c918e0
|
checksum: f7e3a89fc3ca404fbc3ea538653ed6860bc28f570a8c4d6d24449b89b9b553b7d6ad6cc94a9e129c5b8c9a2b97f0c365b3017f811e59c4a859a9c219a1c918e0
|
||||||
@ -9706,7 +9706,7 @@ __metadata:
|
|||||||
"@types/js-yaml": 4.0.5
|
"@types/js-yaml": 4.0.5
|
||||||
"@types/leaflet": 1.9.3
|
"@types/leaflet": 1.9.3
|
||||||
"@types/leaflet-draw": 1.0.7
|
"@types/leaflet-draw": 1.0.7
|
||||||
"@types/luxon": ^3
|
"@types/luxon": 3.3.0
|
||||||
"@types/marked": 4.3.1
|
"@types/marked": 4.3.1
|
||||||
"@types/mocha": 10.0.1
|
"@types/mocha": 10.0.1
|
||||||
"@types/qrcode": 1.5.1
|
"@types/qrcode": 1.5.1
|
||||||
@ -11280,6 +11280,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"leaflet-draw@patch:leaflet-draw@npm%3A1.0.4#./.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch::locator=home-assistant-frontend%40workspace%3A.":
|
||||||
|
version: 1.0.4
|
||||||
|
resolution: "leaflet-draw@patch:leaflet-draw@npm%3A1.0.4#./.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch::version=1.0.4&hash=790842&locator=home-assistant-frontend%40workspace%3A."
|
||||||
|
checksum: 27507da4eb99090d103a8762eba46333df2e4fcfc6ef17f22a5a8c21c255f01565b0cbdc692bdccadccaab121dff05b49a5a44f47de7352f039a6af66514f6ab
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"leaflet@npm:1.9.4":
|
"leaflet@npm:1.9.4":
|
||||||
version: 1.9.4
|
version: 1.9.4
|
||||||
resolution: "leaflet@npm:1.9.4"
|
resolution: "leaflet@npm:1.9.4"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user