@premiate/strapi-plugin-maplibre-field 1.1.2 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -0
- package/README.md +4 -4
- package/dist/_chunks/de-B0QBc7M2.js +27 -0
- package/dist/_chunks/de-BMK0skCB.mjs +27 -0
- package/dist/_chunks/en-C8iInpNv.mjs +27 -0
- package/dist/_chunks/en-CA0XtbN7.js +27 -0
- package/dist/_chunks/es-BU6JgkbZ.js +25 -0
- package/dist/_chunks/es-DZO4NHjt.mjs +25 -0
- package/dist/_chunks/fr-B8NDboqe.mjs +27 -0
- package/dist/_chunks/fr-DIBfzRbg.js +27 -0
- package/dist/_chunks/{index-DtFDFnhf.mjs → index-B0Nr95wz.mjs} +307 -306
- package/dist/_chunks/{index-Bih-3DHy.mjs → index-CBxydRKp.mjs} +14 -11
- package/dist/_chunks/{index-DG3FGfzf.js → index-CDY4Awnh.js} +13 -10
- package/dist/_chunks/{index-D9yb6SXN.js → index-ysvid6md.js} +312 -312
- package/dist/_chunks/it-B-lr3jhh.js +27 -0
- package/dist/_chunks/it-DFH6n6E1.mjs +27 -0
- package/dist/admin/de-B0QBc7M2.js +27 -0
- package/dist/admin/de-BMK0skCB.mjs +27 -0
- package/dist/admin/en-C8iInpNv.mjs +27 -0
- package/dist/admin/en-CA0XtbN7.js +27 -0
- package/dist/admin/es-BU6JgkbZ.js +25 -0
- package/dist/admin/es-DZO4NHjt.mjs +25 -0
- package/dist/admin/fr-B8NDboqe.mjs +27 -0
- package/dist/admin/fr-DIBfzRbg.js +27 -0
- package/dist/admin/index-B-3vqPUe.mjs +1836 -0
- package/dist/admin/index-B0LVK-NK.js +170 -0
- package/dist/admin/index-BaGweGhM.js +1856 -0
- package/dist/admin/index-DjL4deZ6.mjs +171 -0
- package/dist/admin/index.js +3 -2
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/it-B-lr3jhh.js +27 -0
- package/dist/admin/it-DFH6n6E1.mjs +27 -0
- package/dist/server/index.js +11 -6
- package/dist/server/index.mjs +9 -5
- package/dist/server/src/index.d.ts +9 -4
- package/package.json +12 -10
- package/dist/_chunks/de-CGU2cyif.mjs +0 -16
- package/dist/_chunks/de-Dq_t3Z6M.js +0 -16
- package/dist/_chunks/en-BxxNWf9i.mjs +0 -16
- package/dist/_chunks/en-CgSPA-1L.js +0 -16
- package/dist/_chunks/es-B_cPv3G5.mjs +0 -16
- package/dist/_chunks/es-Sgja1XAa.js +0 -16
- package/dist/_chunks/fr-B3JIzyzo.js +0 -16
- package/dist/_chunks/fr-Dw5wEoDC.mjs +0 -16
- package/dist/_chunks/it-BgWDIXzn.js +0 -16
- package/dist/_chunks/it-CoUEVPt6.mjs +0 -16
- package/dist/admin/src/components/Initializer.d.ts +0 -6
- package/dist/admin/src/components/MapInput/basemap-control.d.ts +0 -8
- package/dist/admin/src/components/MapInput/credits-control.d.ts +0 -10
- package/dist/admin/src/components/MapInput/geocoder-control.d.ts +0 -20
- package/dist/admin/src/components/MapInput/index.d.ts +0 -19
- package/dist/admin/src/components/MapInput/layer-control.d.ts +0 -18
- package/dist/admin/src/components/PluginIcon.d.ts +0 -2
- package/dist/admin/src/hooks/usePluginConfig.d.ts +0 -2
- package/dist/admin/src/mutations/mutateEditViewHook.d.ts +0 -30
- package/dist/admin/src/services/poi-service.d.ts +0 -160
- package/dist/admin/src/utils/getTrad.d.ts +0 -2
- package/dist/admin/src/utils/pluginId.d.ts +0 -2
- package/dist/admin/src/utils/prefixPluginTranslations.d.ts +0 -3
- package/dist/server/src/bootstrap.d.ts +0 -2
- package/dist/server/src/config/index.d.ts +0 -62
- package/dist/server/src/config/schema.d.ts +0 -53
- package/dist/server/src/controllers/config.d.ts +0 -9
- package/dist/server/src/controllers/index.d.ts +0 -10
- package/dist/server/src/destroy.d.ts +0 -2
- package/dist/server/src/register.d.ts +0 -5
- package/dist/server/src/routes/admin.d.ts +0 -12
- package/dist/server/src/routes/index.d.ts +0 -14
- package/dist/server/src/types/config.d.ts +0 -26
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { useRef, useEffect } from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { PinMap } from "@strapi/icons";
|
|
4
|
+
import { Flex } from "@strapi/design-system";
|
|
5
|
+
import { styled } from "styled-components";
|
|
6
|
+
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
|
7
|
+
const v = glob[path];
|
|
8
|
+
if (v) {
|
|
9
|
+
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
10
|
+
}
|
|
11
|
+
return new Promise((_, reject) => {
|
|
12
|
+
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
|
13
|
+
reject.bind(
|
|
14
|
+
null,
|
|
15
|
+
new Error(
|
|
16
|
+
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
|
17
|
+
)
|
|
18
|
+
)
|
|
19
|
+
);
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const name$1 = "@premiate/strapi-plugin-maplibre-field";
|
|
23
|
+
const strapi = { "name": "maplibre-field" };
|
|
24
|
+
const pluginPkg = {
|
|
25
|
+
name: name$1,
|
|
26
|
+
strapi
|
|
27
|
+
};
|
|
28
|
+
const pluginId = pluginPkg.name.replace(/^(@[^/]+\/)?strapi-plugin-/i, "");
|
|
29
|
+
const getTrad = (id) => `${pluginId}.${id}`;
|
|
30
|
+
const Initializer = ({ setPlugin }) => {
|
|
31
|
+
const ref = useRef(false);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!ref.current) {
|
|
34
|
+
setPlugin("maplibre-field");
|
|
35
|
+
ref.current = true;
|
|
36
|
+
}
|
|
37
|
+
}, [setPlugin]);
|
|
38
|
+
return null;
|
|
39
|
+
};
|
|
40
|
+
const IconBox = styled(Flex)`
|
|
41
|
+
/* Hard code color values */
|
|
42
|
+
/* to stay consistent between themes */
|
|
43
|
+
background-color: #f0f0ff; /* primary100 */
|
|
44
|
+
border: 1px solid #d9d8ff; /* primary200 */
|
|
45
|
+
|
|
46
|
+
svg > path {
|
|
47
|
+
fill: #4945ff; /* primary600 */
|
|
48
|
+
}
|
|
49
|
+
`;
|
|
50
|
+
const PluginIcon = () => {
|
|
51
|
+
return /* @__PURE__ */ jsx(IconBox, { justifyContent: "center", alignItems: "center", width: 7, height: 6, hasRadius: true, "aria-hidden": true, children: /* @__PURE__ */ jsx(PinMap, {}) });
|
|
52
|
+
};
|
|
53
|
+
const mutateLayouts = (layouts) => {
|
|
54
|
+
return layouts.map((row) => {
|
|
55
|
+
return row.map((field) => {
|
|
56
|
+
const hasMapFieldEnabled = field.attribute?.pluginOptions?.["maplibre-field"]?.enabled;
|
|
57
|
+
if (!hasMapFieldEnabled) {
|
|
58
|
+
return field;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
...field,
|
|
62
|
+
size: 12,
|
|
63
|
+
// Full width (12 columns out of 12)
|
|
64
|
+
attribute: {
|
|
65
|
+
...field.attribute,
|
|
66
|
+
customField: `plugin::${pluginId}.map`
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
const mutateEditViewHook = (editLayout) => {
|
|
73
|
+
if (!editLayout) {
|
|
74
|
+
return editLayout;
|
|
75
|
+
}
|
|
76
|
+
if (!Array.isArray(editLayout.layout)) {
|
|
77
|
+
return editLayout;
|
|
78
|
+
}
|
|
79
|
+
const mutatedLayout = mutateLayouts(editLayout.layout);
|
|
80
|
+
return {
|
|
81
|
+
...editLayout,
|
|
82
|
+
layout: mutatedLayout
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
const prefixPluginTranslations = (trad, pluginId2) => {
|
|
86
|
+
if (!pluginId2) {
|
|
87
|
+
throw new TypeError("pluginId can't be empty");
|
|
88
|
+
}
|
|
89
|
+
return Object.keys(trad).reduce((acc, current) => {
|
|
90
|
+
acc[`${pluginId2}.${current}`] = trad[current];
|
|
91
|
+
return acc;
|
|
92
|
+
}, {});
|
|
93
|
+
};
|
|
94
|
+
const name = pluginPkg.strapi.name;
|
|
95
|
+
const index = {
|
|
96
|
+
register(app) {
|
|
97
|
+
app.customFields.register({
|
|
98
|
+
name: "map",
|
|
99
|
+
pluginId,
|
|
100
|
+
type: "json",
|
|
101
|
+
intlLabel: {
|
|
102
|
+
id: getTrad("label"),
|
|
103
|
+
defaultMessage: "Map"
|
|
104
|
+
},
|
|
105
|
+
intlDescription: {
|
|
106
|
+
id: getTrad("description"),
|
|
107
|
+
defaultMessage: "A map custom field using MapLibre"
|
|
108
|
+
},
|
|
109
|
+
icon: PluginIcon,
|
|
110
|
+
components: {
|
|
111
|
+
Input: async () => import(
|
|
112
|
+
/* webpackChunkName: "input-component" */
|
|
113
|
+
"./index-B-3vqPUe.mjs"
|
|
114
|
+
)
|
|
115
|
+
},
|
|
116
|
+
options: {
|
|
117
|
+
advanced: [
|
|
118
|
+
{
|
|
119
|
+
sectionTitle: null,
|
|
120
|
+
items: [
|
|
121
|
+
{
|
|
122
|
+
name: "options.pluginOptions.i18n.localized",
|
|
123
|
+
type: "checkbox",
|
|
124
|
+
intlLabel: {
|
|
125
|
+
id: getTrad("i18n.localized.label"),
|
|
126
|
+
defaultMessage: "Enable localization for this field"
|
|
127
|
+
},
|
|
128
|
+
intlDescription: {
|
|
129
|
+
id: getTrad("i18n.localized.description"),
|
|
130
|
+
defaultMessage: "The field can have different values in each language"
|
|
131
|
+
},
|
|
132
|
+
defaultValue: false
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
app.registerPlugin({
|
|
140
|
+
id: pluginId,
|
|
141
|
+
initializer: Initializer,
|
|
142
|
+
isReady: false,
|
|
143
|
+
name
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
bootstrap(app) {
|
|
147
|
+
app.registerHook("Admin/CM/pages/EditView/mutate-edit-view-layout", mutateEditViewHook);
|
|
148
|
+
},
|
|
149
|
+
async registerTrads({ locales }) {
|
|
150
|
+
const importedTrads = await Promise.all(
|
|
151
|
+
locales.map((locale) => {
|
|
152
|
+
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/de.json": () => import("./de-BMK0skCB.mjs"), "./translations/en.json": () => import("./en-C8iInpNv.mjs"), "./translations/es.json": () => import("./es-DZO4NHjt.mjs"), "./translations/fr.json": () => import("./fr-B8NDboqe.mjs"), "./translations/it.json": () => import("./it-DFH6n6E1.mjs") }), `./translations/${locale}.json`, 3).then(({ default: data }) => {
|
|
153
|
+
return {
|
|
154
|
+
data: prefixPluginTranslations(data, pluginId),
|
|
155
|
+
locale
|
|
156
|
+
};
|
|
157
|
+
}).catch(() => {
|
|
158
|
+
return {
|
|
159
|
+
data: {},
|
|
160
|
+
locale
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
})
|
|
164
|
+
);
|
|
165
|
+
return Promise.resolve(importedTrads);
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
export {
|
|
169
|
+
getTrad as g,
|
|
170
|
+
index as i
|
|
171
|
+
};
|
package/dist/admin/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const index = require("./index-B0LVK-NK.js");
|
|
4
|
+
exports.default = index.index;
|
package/dist/admin/index.mjs
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const label = "Mappa";
|
|
4
|
+
const description = "Un custom field per mappe usando MapLibre";
|
|
5
|
+
const search = "Cerca un indirizzo o luogo su OpenStreetMap";
|
|
6
|
+
const it = {
|
|
7
|
+
label,
|
|
8
|
+
description,
|
|
9
|
+
search,
|
|
10
|
+
"search.placeholder": "Cerca una località...",
|
|
11
|
+
"search.button": "Cerca",
|
|
12
|
+
"fields.address": "Indirizzo",
|
|
13
|
+
"fields.longitude": "Longitudine",
|
|
14
|
+
"fields.latitude": "Latitudine",
|
|
15
|
+
"fields.poi-name": "Nome POI",
|
|
16
|
+
"fields.poi-address": "Indirizzo completo",
|
|
17
|
+
"coordinates-saved": "Coordinate impostate",
|
|
18
|
+
"geocoding.success": "Indirizzo aggiornato con successo",
|
|
19
|
+
"geocoding.error": "Impossibile recuperare l'indirizzo. Riprova.",
|
|
20
|
+
"geocoding.no-results": "Nessun indirizzo trovato per questa posizione",
|
|
21
|
+
"i18n.localized.label": "Abilita la localizzazione per questo campo",
|
|
22
|
+
"i18n.localized.description": "Il campo può avere valori diversi in ogni lingua"
|
|
23
|
+
};
|
|
24
|
+
exports.default = it;
|
|
25
|
+
exports.description = description;
|
|
26
|
+
exports.label = label;
|
|
27
|
+
exports.search = search;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const label = "Mappa";
|
|
2
|
+
const description = "Un custom field per mappe usando MapLibre";
|
|
3
|
+
const search = "Cerca un indirizzo o luogo su OpenStreetMap";
|
|
4
|
+
const it = {
|
|
5
|
+
label,
|
|
6
|
+
description,
|
|
7
|
+
search,
|
|
8
|
+
"search.placeholder": "Cerca una località...",
|
|
9
|
+
"search.button": "Cerca",
|
|
10
|
+
"fields.address": "Indirizzo",
|
|
11
|
+
"fields.longitude": "Longitudine",
|
|
12
|
+
"fields.latitude": "Latitudine",
|
|
13
|
+
"fields.poi-name": "Nome POI",
|
|
14
|
+
"fields.poi-address": "Indirizzo completo",
|
|
15
|
+
"coordinates-saved": "Coordinate impostate",
|
|
16
|
+
"geocoding.success": "Indirizzo aggiornato con successo",
|
|
17
|
+
"geocoding.error": "Impossibile recuperare l'indirizzo. Riprova.",
|
|
18
|
+
"geocoding.no-results": "Nessun indirizzo trovato per questa posizione",
|
|
19
|
+
"i18n.localized.label": "Abilita la localizzazione per questo campo",
|
|
20
|
+
"i18n.localized.description": "Il campo può avere valori diversi in ogni lingua"
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
it as default,
|
|
24
|
+
description,
|
|
25
|
+
label,
|
|
26
|
+
search
|
|
27
|
+
};
|
package/dist/server/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
2
3
|
const register = ({ strapi }) => {
|
|
3
4
|
strapi.customFields.register({
|
|
4
5
|
name: "map",
|
|
@@ -16,9 +17,9 @@ const schema = {
|
|
|
16
17
|
type: "array",
|
|
17
18
|
default: [
|
|
18
19
|
{
|
|
19
|
-
id: "
|
|
20
|
-
name: "
|
|
21
|
-
url: "https://
|
|
20
|
+
id: "ofm",
|
|
21
|
+
name: "OpenFreeMap",
|
|
22
|
+
url: "https://tiles.openfreemap.org/styles/liberty",
|
|
22
23
|
isDefault: true
|
|
23
24
|
}
|
|
24
25
|
]
|
|
@@ -63,6 +64,11 @@ const schema = {
|
|
|
63
64
|
type: "number",
|
|
64
65
|
default: 5,
|
|
65
66
|
description: "Snap radius in meters for double-click POI detection (default: 5m)"
|
|
67
|
+
},
|
|
68
|
+
useFullscreenPseudo: {
|
|
69
|
+
type: "boolean",
|
|
70
|
+
default: true,
|
|
71
|
+
description: "Use CSS-based fullscreen (faster on some devices) instead of native fullscreen API (requires MapLibre v5.18.0+)"
|
|
66
72
|
}
|
|
67
73
|
};
|
|
68
74
|
function validator(config2) {
|
|
@@ -150,8 +156,7 @@ const admin = {
|
|
|
150
156
|
path: "/config",
|
|
151
157
|
handler: "config.getConfig",
|
|
152
158
|
config: {
|
|
153
|
-
|
|
154
|
-
// Config must be accessible from frontend to initialize the map
|
|
159
|
+
policies: ["admin::isAuthenticatedAdmin"]
|
|
155
160
|
}
|
|
156
161
|
}
|
|
157
162
|
]
|
|
@@ -167,4 +172,4 @@ const index = {
|
|
|
167
172
|
controllers,
|
|
168
173
|
routes
|
|
169
174
|
};
|
|
170
|
-
|
|
175
|
+
exports.default = index;
|
package/dist/server/index.mjs
CHANGED
|
@@ -15,9 +15,9 @@ const schema = {
|
|
|
15
15
|
type: "array",
|
|
16
16
|
default: [
|
|
17
17
|
{
|
|
18
|
-
id: "
|
|
19
|
-
name: "
|
|
20
|
-
url: "https://
|
|
18
|
+
id: "ofm",
|
|
19
|
+
name: "OpenFreeMap",
|
|
20
|
+
url: "https://tiles.openfreemap.org/styles/liberty",
|
|
21
21
|
isDefault: true
|
|
22
22
|
}
|
|
23
23
|
]
|
|
@@ -62,6 +62,11 @@ const schema = {
|
|
|
62
62
|
type: "number",
|
|
63
63
|
default: 5,
|
|
64
64
|
description: "Snap radius in meters for double-click POI detection (default: 5m)"
|
|
65
|
+
},
|
|
66
|
+
useFullscreenPseudo: {
|
|
67
|
+
type: "boolean",
|
|
68
|
+
default: true,
|
|
69
|
+
description: "Use CSS-based fullscreen (faster on some devices) instead of native fullscreen API (requires MapLibre v5.18.0+)"
|
|
65
70
|
}
|
|
66
71
|
};
|
|
67
72
|
function validator(config2) {
|
|
@@ -149,8 +154,7 @@ const admin = {
|
|
|
149
154
|
path: "/config",
|
|
150
155
|
handler: "config.getConfig",
|
|
151
156
|
config: {
|
|
152
|
-
|
|
153
|
-
// Config must be accessible from frontend to initialize the map
|
|
157
|
+
policies: ["admin::isAuthenticatedAdmin"]
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
160
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
register: ({ strapi }: {
|
|
3
|
-
strapi: import(
|
|
3
|
+
strapi: import('@strapi/types/dist/core').Strapi;
|
|
4
4
|
}) => void;
|
|
5
5
|
bootstrap: () => void;
|
|
6
6
|
destroy: () => void;
|
|
@@ -56,12 +56,17 @@ declare const _default: {
|
|
|
56
56
|
default: number;
|
|
57
57
|
description: string;
|
|
58
58
|
};
|
|
59
|
+
useFullscreenPseudo: {
|
|
60
|
+
type: string;
|
|
61
|
+
default: boolean;
|
|
62
|
+
description: string;
|
|
63
|
+
};
|
|
59
64
|
};
|
|
60
|
-
validator: (config: import(
|
|
65
|
+
validator: (config: import('./types/config').MapLibreConfig) => void;
|
|
61
66
|
};
|
|
62
67
|
controllers: {
|
|
63
68
|
config: ({ strapi }: {
|
|
64
|
-
strapi: import(
|
|
69
|
+
strapi: import('@strapi/types/dist/core').Strapi;
|
|
65
70
|
}) => {
|
|
66
71
|
getConfig(ctx: {
|
|
67
72
|
body: unknown;
|
|
@@ -76,7 +81,7 @@ declare const _default: {
|
|
|
76
81
|
path: string;
|
|
77
82
|
handler: string;
|
|
78
83
|
config: {
|
|
79
|
-
|
|
84
|
+
policies: string[];
|
|
80
85
|
};
|
|
81
86
|
}[];
|
|
82
87
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@premiate/strapi-plugin-maplibre-field",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Strapi plugin that provides a MapLibre custom field",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"CHANGELOG.md",
|
|
24
24
|
"logo.png"
|
|
25
25
|
],
|
|
26
|
+
"types": "./dist/server/src/index.d.ts",
|
|
26
27
|
"exports": {
|
|
27
28
|
"./package.json": "./package.json",
|
|
28
29
|
"./strapi-admin": {
|
|
@@ -52,23 +53,21 @@
|
|
|
52
53
|
"prepublishOnly": "npm run build && npm run verify && npm test"
|
|
53
54
|
},
|
|
54
55
|
"dependencies": {
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"pmtiles": "^4.3.2",
|
|
56
|
+
"maplibre-gl": "5.16.0",
|
|
57
|
+
"pmtiles": "^4.4.0",
|
|
58
58
|
"react-map-gl": "^8.1.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@strapi/
|
|
62
|
-
"@strapi/sdk-plugin": "^5.4.0",
|
|
61
|
+
"@strapi/sdk-plugin": "^6.0.0",
|
|
63
62
|
"@strapi/typescript-utils": "^5.0.0",
|
|
64
63
|
"@testing-library/jest-dom": "^6.0.0",
|
|
65
64
|
"@testing-library/react": "^14.0.0",
|
|
66
65
|
"@types/jest": "^30.0.0",
|
|
67
66
|
"@types/react": "^18.0.0",
|
|
68
67
|
"@types/react-dom": "^18.0.0",
|
|
69
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
70
|
-
"@typescript-eslint/parser": "^
|
|
71
|
-
"eslint": "^8.
|
|
68
|
+
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
69
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
70
|
+
"eslint": "^8.57.0",
|
|
72
71
|
"eslint-config-prettier": "^10.1.8",
|
|
73
72
|
"eslint-plugin-prettier": "^5.5.5",
|
|
74
73
|
"identity-obj-proxy": "^3.0.0",
|
|
@@ -76,7 +75,7 @@
|
|
|
76
75
|
"jest-environment-jsdom": "^30.2.0",
|
|
77
76
|
"ts-jest": "^29.0.0",
|
|
78
77
|
"ts-node": "^10.9.2",
|
|
79
|
-
"typescript": "^5.
|
|
78
|
+
"typescript": "^5.5.0"
|
|
80
79
|
},
|
|
81
80
|
"author": {
|
|
82
81
|
"name": "Claudio Bernardini",
|
|
@@ -96,6 +95,9 @@
|
|
|
96
95
|
"access": "public",
|
|
97
96
|
"registry": "https://registry.npmjs.org/"
|
|
98
97
|
},
|
|
98
|
+
"overrides": {
|
|
99
|
+
"@microsoft/api-extractor": "7.56.3"
|
|
100
|
+
},
|
|
99
101
|
"engines": {
|
|
100
102
|
"node": ">=20.0.0 <=24.x.x",
|
|
101
103
|
"npm": ">=6.0.0"
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const de = {
|
|
2
|
-
"maplibre-field.label": "Karte",
|
|
3
|
-
"maplibre-field.search": "Suchen Sie nach einem Ort oder einer Adresse",
|
|
4
|
-
"maplibre-field.description": "Eine Kartenkomponente, basierend auf MapLibre",
|
|
5
|
-
"maplibre-field.fields.address": "Adresse",
|
|
6
|
-
"maplibre-field.fields.longitude": "Längengrad",
|
|
7
|
-
"maplibre-field.fields.latitude": "Breitengrad",
|
|
8
|
-
"maplibre-field.geocoding.success": "Adresse erfolgreich aktualisiert",
|
|
9
|
-
"maplibre-field.geocoding.error": "Fehler beim Abrufen der Adresse. Bitte versuchen Sie es erneut.",
|
|
10
|
-
"maplibre-field.geocoding.no-results": "Keine Adresse für diesen Standort gefunden",
|
|
11
|
-
"maplibre-field.i18n.localized.label": "Lokalisierung für dieses Feld aktivieren",
|
|
12
|
-
"maplibre-field.i18n.localized.description": "Das Feld kann in jeder Sprache unterschiedliche Werte haben"
|
|
13
|
-
};
|
|
14
|
-
export {
|
|
15
|
-
de as default
|
|
16
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const de = {
|
|
4
|
-
"maplibre-field.label": "Karte",
|
|
5
|
-
"maplibre-field.search": "Suchen Sie nach einem Ort oder einer Adresse",
|
|
6
|
-
"maplibre-field.description": "Eine Kartenkomponente, basierend auf MapLibre",
|
|
7
|
-
"maplibre-field.fields.address": "Adresse",
|
|
8
|
-
"maplibre-field.fields.longitude": "Längengrad",
|
|
9
|
-
"maplibre-field.fields.latitude": "Breitengrad",
|
|
10
|
-
"maplibre-field.geocoding.success": "Adresse erfolgreich aktualisiert",
|
|
11
|
-
"maplibre-field.geocoding.error": "Fehler beim Abrufen der Adresse. Bitte versuchen Sie es erneut.",
|
|
12
|
-
"maplibre-field.geocoding.no-results": "Keine Adresse für diesen Standort gefunden",
|
|
13
|
-
"maplibre-field.i18n.localized.label": "Lokalisierung für dieses Feld aktivieren",
|
|
14
|
-
"maplibre-field.i18n.localized.description": "Das Feld kann in jeder Sprache unterschiedliche Werte haben"
|
|
15
|
-
};
|
|
16
|
-
exports.default = de;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const en = {
|
|
2
|
-
"maplibre-field.label": "Map",
|
|
3
|
-
"maplibre-field.search": "Search for a place or address on OpenStreetMap",
|
|
4
|
-
"maplibre-field.description": "A map custom field using MapLibre",
|
|
5
|
-
"maplibre-field.fields.address": "address",
|
|
6
|
-
"maplibre-field.fields.longitude": "longitude",
|
|
7
|
-
"maplibre-field.fields.latitude": "latitude",
|
|
8
|
-
"maplibre-field.geocoding.success": "Address updated successfully",
|
|
9
|
-
"maplibre-field.geocoding.error": "Failed to fetch address. Please try again.",
|
|
10
|
-
"maplibre-field.geocoding.no-results": "No address found for this location",
|
|
11
|
-
"maplibre-field.i18n.localized.label": "Enable localization for this field",
|
|
12
|
-
"maplibre-field.i18n.localized.description": "The field can have different values in each language"
|
|
13
|
-
};
|
|
14
|
-
export {
|
|
15
|
-
en as default
|
|
16
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const en = {
|
|
4
|
-
"maplibre-field.label": "Map",
|
|
5
|
-
"maplibre-field.search": "Search for a place or address on OpenStreetMap",
|
|
6
|
-
"maplibre-field.description": "A map custom field using MapLibre",
|
|
7
|
-
"maplibre-field.fields.address": "address",
|
|
8
|
-
"maplibre-field.fields.longitude": "longitude",
|
|
9
|
-
"maplibre-field.fields.latitude": "latitude",
|
|
10
|
-
"maplibre-field.geocoding.success": "Address updated successfully",
|
|
11
|
-
"maplibre-field.geocoding.error": "Failed to fetch address. Please try again.",
|
|
12
|
-
"maplibre-field.geocoding.no-results": "No address found for this location",
|
|
13
|
-
"maplibre-field.i18n.localized.label": "Enable localization for this field",
|
|
14
|
-
"maplibre-field.i18n.localized.description": "The field can have different values in each language"
|
|
15
|
-
};
|
|
16
|
-
exports.default = en;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const es = {
|
|
2
|
-
"maplibre-field.label": "Mapa",
|
|
3
|
-
"maplibre-field.search": "Buscar un lugar o dirección en OpenStreetMap",
|
|
4
|
-
"maplibre-field.description": "Un campo personalizado de mapa usando MapLibre",
|
|
5
|
-
"maplibre-field.fields.address": "dirección",
|
|
6
|
-
"maplibre-field.fields.longitude": "longitud",
|
|
7
|
-
"maplibre-field.fields.latitude": "latitud",
|
|
8
|
-
"maplibre-field.geocoding.success": "Dirección actualizada con éxito",
|
|
9
|
-
"maplibre-field.geocoding.error": "Error al obtener la dirección. Por favor, inténtelo de nuevo.",
|
|
10
|
-
"maplibre-field.geocoding.no-results": "No se encontró dirección para esta ubicación",
|
|
11
|
-
"maplibre-field.i18n.localized.label": "Activar localización para este campo",
|
|
12
|
-
"maplibre-field.i18n.localized.description": "El campo puede tener valores diferentes en cada idioma"
|
|
13
|
-
};
|
|
14
|
-
export {
|
|
15
|
-
es as default
|
|
16
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const es = {
|
|
4
|
-
"maplibre-field.label": "Mapa",
|
|
5
|
-
"maplibre-field.search": "Buscar un lugar o dirección en OpenStreetMap",
|
|
6
|
-
"maplibre-field.description": "Un campo personalizado de mapa usando MapLibre",
|
|
7
|
-
"maplibre-field.fields.address": "dirección",
|
|
8
|
-
"maplibre-field.fields.longitude": "longitud",
|
|
9
|
-
"maplibre-field.fields.latitude": "latitud",
|
|
10
|
-
"maplibre-field.geocoding.success": "Dirección actualizada con éxito",
|
|
11
|
-
"maplibre-field.geocoding.error": "Error al obtener la dirección. Por favor, inténtelo de nuevo.",
|
|
12
|
-
"maplibre-field.geocoding.no-results": "No se encontró dirección para esta ubicación",
|
|
13
|
-
"maplibre-field.i18n.localized.label": "Activar localización para este campo",
|
|
14
|
-
"maplibre-field.i18n.localized.description": "El campo puede tener valores diferentes en cada idioma"
|
|
15
|
-
};
|
|
16
|
-
exports.default = es;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const fr = {
|
|
4
|
-
"maplibre-field.label": "Carte",
|
|
5
|
-
"maplibre-field.search": "Recherche d'un lieu ou d'une adresse",
|
|
6
|
-
"maplibre-field.description": "Un champ carte utilisant MapLibre",
|
|
7
|
-
"maplibre-field.fields.address": "adresse",
|
|
8
|
-
"maplibre-field.fields.longitude": "longitude",
|
|
9
|
-
"maplibre-field.fields.latitude": "latitude",
|
|
10
|
-
"maplibre-field.geocoding.success": "Adresse mise à jour avec succès",
|
|
11
|
-
"maplibre-field.geocoding.error": "Impossible de récupérer l'adresse. Veuillez réessayer.",
|
|
12
|
-
"maplibre-field.geocoding.no-results": "Aucune adresse trouvée pour cet emplacement",
|
|
13
|
-
"maplibre-field.i18n.localized.label": "Activer la localisation pour ce champ",
|
|
14
|
-
"maplibre-field.i18n.localized.description": "Le champ peut avoir des valeurs différentes dans chaque langue"
|
|
15
|
-
};
|
|
16
|
-
exports.default = fr;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const fr = {
|
|
2
|
-
"maplibre-field.label": "Carte",
|
|
3
|
-
"maplibre-field.search": "Recherche d'un lieu ou d'une adresse",
|
|
4
|
-
"maplibre-field.description": "Un champ carte utilisant MapLibre",
|
|
5
|
-
"maplibre-field.fields.address": "adresse",
|
|
6
|
-
"maplibre-field.fields.longitude": "longitude",
|
|
7
|
-
"maplibre-field.fields.latitude": "latitude",
|
|
8
|
-
"maplibre-field.geocoding.success": "Adresse mise à jour avec succès",
|
|
9
|
-
"maplibre-field.geocoding.error": "Impossible de récupérer l'adresse. Veuillez réessayer.",
|
|
10
|
-
"maplibre-field.geocoding.no-results": "Aucune adresse trouvée pour cet emplacement",
|
|
11
|
-
"maplibre-field.i18n.localized.label": "Activer la localisation pour ce champ",
|
|
12
|
-
"maplibre-field.i18n.localized.description": "Le champ peut avoir des valeurs différentes dans chaque langue"
|
|
13
|
-
};
|
|
14
|
-
export {
|
|
15
|
-
fr as default
|
|
16
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const it = {
|
|
4
|
-
"maplibre-field.label": "Mappa",
|
|
5
|
-
"maplibre-field.search": "Cerca un indirizzo o luogo su OpenStreetMap",
|
|
6
|
-
"maplibre-field.description": "Un custom field per mappe usando Maplibre",
|
|
7
|
-
"maplibre-field.fields.address": "indirizzo",
|
|
8
|
-
"maplibre-field.fields.longitude": "longitudine",
|
|
9
|
-
"maplibre-field.fields.latitude": "latitudine",
|
|
10
|
-
"maplibre-field.geocoding.success": "Indirizzo aggiornato con successo",
|
|
11
|
-
"maplibre-field.geocoding.error": "Impossibile recuperare l'indirizzo. Riprova.",
|
|
12
|
-
"maplibre-field.geocoding.no-results": "Nessun indirizzo trovato per questa posizione",
|
|
13
|
-
"maplibre-field.i18n.localized.label": "Abilita la localizzazione per questo campo",
|
|
14
|
-
"maplibre-field.i18n.localized.description": "Il campo può avere valori diversi in ogni lingua"
|
|
15
|
-
};
|
|
16
|
-
exports.default = it;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const it = {
|
|
2
|
-
"maplibre-field.label": "Mappa",
|
|
3
|
-
"maplibre-field.search": "Cerca un indirizzo o luogo su OpenStreetMap",
|
|
4
|
-
"maplibre-field.description": "Un custom field per mappe usando Maplibre",
|
|
5
|
-
"maplibre-field.fields.address": "indirizzo",
|
|
6
|
-
"maplibre-field.fields.longitude": "longitudine",
|
|
7
|
-
"maplibre-field.fields.latitude": "latitudine",
|
|
8
|
-
"maplibre-field.geocoding.success": "Indirizzo aggiornato con successo",
|
|
9
|
-
"maplibre-field.geocoding.error": "Impossibile recuperare l'indirizzo. Riprova.",
|
|
10
|
-
"maplibre-field.geocoding.no-results": "Nessun indirizzo trovato per questa posizione",
|
|
11
|
-
"maplibre-field.i18n.localized.label": "Abilita la localizzazione per questo campo",
|
|
12
|
-
"maplibre-field.i18n.localized.description": "Il campo può avere valori diversi in ogni lingua"
|
|
13
|
-
};
|
|
14
|
-
export {
|
|
15
|
-
it as default
|
|
16
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { MapStyle } from '../../../../server/src/types/config';
|
|
2
|
-
interface BasemapControlProps {
|
|
3
|
-
mapStyles: MapStyle[];
|
|
4
|
-
currentStyleUrl: string;
|
|
5
|
-
onStyleChange: (styleUrl: string) => void;
|
|
6
|
-
}
|
|
7
|
-
export default function BasemapControlComponent({ mapStyles, currentStyleUrl, onStyleChange, }: BasemapControlProps): null;
|
|
8
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { MapRef } from 'react-map-gl/maplibre';
|
|
3
|
-
interface CreditsControlProps {
|
|
4
|
-
mapRef: React.RefObject<MapRef>;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* React wrapper for MapLibre Credits Control
|
|
8
|
-
*/
|
|
9
|
-
declare const CreditsControl: React.FC<CreditsControlProps>;
|
|
10
|
-
export default CreditsControl;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { MapRef } from 'react-map-gl/maplibre';
|
|
3
|
-
import '@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css';
|
|
4
|
-
interface GeocoderResult {
|
|
5
|
-
result: {
|
|
6
|
-
center?: [number, number];
|
|
7
|
-
place_name: string;
|
|
8
|
-
geometry?: {
|
|
9
|
-
type: string;
|
|
10
|
-
coordinates: [number, number];
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
interface GeocoderControlProps {
|
|
15
|
-
mapRef: React.RefObject<MapRef>;
|
|
16
|
-
position?: string;
|
|
17
|
-
onResult?: (evt: GeocoderResult) => void;
|
|
18
|
-
}
|
|
19
|
-
declare const GeocoderControl: React.FC<GeocoderControlProps>;
|
|
20
|
-
export default GeocoderControl;
|