@geops/rvf-mobility-web-component 0.1.9 → 0.1.11
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/.github/CODEOWNERS +37 -0
- package/.github/workflows/conventional-pr-title.yml +36 -0
- package/CHANGELOG.md +55 -0
- package/README.md +3 -1
- package/doc/package.json +5 -5
- package/doc/src/app/components/GeopsMobilityDoc.tsx +19 -0
- package/docutils.js +198 -0
- package/index.html +48 -217
- package/index.js +683 -91
- package/input.css +15 -1
- package/jest-setup.js +3 -2
- package/package.json +9 -8
- package/scripts/dev.mjs +1 -1
- package/search.html +38 -69
- package/src/GeolocationButton/GeolocationButton.tsx +6 -17
- package/src/LayerTree/LayerTree.tsx +44 -0
- package/src/LayerTree/TreeItem/TreeItem.tsx +145 -0
- package/src/LayerTree/TreeItem/index.tsx +1 -0
- package/src/LayerTree/TreeItemContainer/TreeItemContainer.tsx +16 -0
- package/src/LayerTree/TreeItemContainer/index.tsx +1 -0
- package/src/LayerTree/index.tsx +1 -0
- package/src/LayerTree/layersTreeContext.ts +4 -0
- package/src/LayerTree/layersTreeReducer.ts +156 -0
- package/src/Map/Map.tsx +57 -12
- package/src/MobilityMap/MobilityMap.tsx +22 -9
- package/src/MobilityMap/index.css +0 -13
- package/src/RealtimeLayer/RealtimeLayer.tsx +1 -1
- package/src/RvfButton/RvfButton.tsx +45 -0
- package/src/RvfButton/index.tsx +1 -0
- package/src/RvfExportMenu/RvfExportMenu.tsx +95 -0
- package/src/RvfExportMenu/index.tsx +1 -0
- package/src/RvfExportMenuButton/RvfExportMenuButton.tsx +27 -0
- package/src/RvfExportMenuButton/index.tsx +1 -0
- package/src/RvfFeatureDetails/RvfFeatureDetails.tsx +29 -0
- package/src/RvfFeatureDetails/index.tsx +1 -0
- package/src/RvfIconButton/RvfIconButton.tsx +35 -0
- package/src/RvfIconButton/index.tsx +1 -0
- package/src/RvfMobilityMap/RvfMobilityMap.tsx +132 -52
- package/src/RvfMobilityMap/index.css +0 -13
- package/src/RvfModal/RvfModal.tsx +52 -0
- package/src/RvfModal/index.tsx +1 -0
- package/src/RvfPoisLayer/RvfPoisLayer.tsx +39 -0
- package/src/RvfPoisLayer/index.tsx +1 -0
- package/src/RvfSharedMobilityLayerGroup/RvfSharedMobilityLayerGroup.tsx +88 -0
- package/src/RvfSharedMobilityLayerGroup/index.tsx +1 -0
- package/src/RvfSingleClickListener/RvfSingleClickListener.tsx +137 -0
- package/src/RvfSingleClickListener/index.tsx +1 -0
- package/src/RvfZoomButtons/RvfZoomButtons.tsx +73 -0
- package/src/RvfZoomButtons/index.tsx +1 -0
- package/src/Search/Search.tsx +11 -9
- package/src/SingleClickListener/index.tsx +1 -1
- package/src/StationsLayer/StationsLayer.tsx +0 -1
- package/src/StopsSearch/StopsSearch.tsx +38 -6
- package/src/TopicMenu/TopicMenu.tsx +143 -0
- package/src/TopicMenu/index.tsx +1 -0
- package/src/icons/Cancel/Cancel.tsx +21 -0
- package/src/icons/Cancel/cancel.svg +7 -0
- package/src/icons/Cancel/index.tsx +1 -0
- package/src/icons/Download/Download.tsx +20 -0
- package/src/icons/Download/download.svg +15 -0
- package/src/icons/Download/index.tsx +1 -0
- package/src/icons/Elevator/Elevator.tsx +1 -1
- package/src/icons/Geolocation/Geolocation.tsx +21 -0
- package/src/icons/Geolocation/index.tsx +1 -0
- package/src/icons/Menu/Menu.tsx +32 -0
- package/src/icons/Menu/index.tsx +1 -0
- package/src/icons/Menu/menu.svg +9 -0
- package/src/icons/Minus/Minus.tsx +19 -0
- package/src/icons/Minus/index.tsx +1 -0
- package/src/icons/Minus/minus.svg +7 -0
- package/src/icons/Plus/Plus.tsx +19 -0
- package/src/icons/Plus/index.tsx +1 -0
- package/src/icons/Plus/plus.svg +7 -0
- package/src/index.tsx +2 -0
- package/src/utils/constants.ts +9 -0
- package/src/utils/createMobiDataBwWfsLayer.ts +120 -0
- package/src/utils/exportPdf.ts +677 -0
- package/src/utils/hooks/useRvfContext.tsx +37 -0
- package/src/utils/hooks/useUpdatePermalink.tsx +2 -9
- package/tailwind.config.mjs +60 -8
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { unByKey } from "ol/Observable";
|
|
2
|
+
import { memo } from "preact/compat";
|
|
3
|
+
import { useCallback, useEffect, useState } from "preact/hooks";
|
|
4
|
+
|
|
5
|
+
import Minus from "../icons/Minus";
|
|
6
|
+
import Plus from "../icons/Plus";
|
|
7
|
+
import RvfIconButton from "../RvfIconButton";
|
|
8
|
+
import useMapContext from "../utils/hooks/useMapContext";
|
|
9
|
+
|
|
10
|
+
function RvfZoomButtons() {
|
|
11
|
+
const { map } = useMapContext();
|
|
12
|
+
const [isZoomInDisabled, setIsZoomInDisabled] = useState(false);
|
|
13
|
+
const [isZoomOutDisabled, setIsZoomOutDisabled] = useState(false);
|
|
14
|
+
|
|
15
|
+
const handleZoomIn = useCallback(() => {
|
|
16
|
+
if (!map?.getView()) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const view = map.getView();
|
|
20
|
+
const zoom = view.getZoom();
|
|
21
|
+
view.setZoom(zoom + 1);
|
|
22
|
+
}, [map]);
|
|
23
|
+
|
|
24
|
+
const handleZoomOut = useCallback(() => {
|
|
25
|
+
if (!map?.getView()) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const view = map.getView();
|
|
29
|
+
const zoom = view.getZoom();
|
|
30
|
+
view.setZoom(zoom - 1);
|
|
31
|
+
}, [map]);
|
|
32
|
+
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
const key = map?.on("moveend", () => {
|
|
35
|
+
const view = map.getView();
|
|
36
|
+
const zoom = view.getZoom();
|
|
37
|
+
const maxzoom = view.getMaxZoom();
|
|
38
|
+
const minzoom = view.getMinZoom();
|
|
39
|
+
|
|
40
|
+
if (maxzoom && zoom === Number(maxzoom)) {
|
|
41
|
+
setIsZoomInDisabled(true);
|
|
42
|
+
} else {
|
|
43
|
+
setIsZoomInDisabled(false);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (minzoom && zoom === Number(minzoom)) {
|
|
47
|
+
setIsZoomOutDisabled(true);
|
|
48
|
+
} else {
|
|
49
|
+
setIsZoomOutDisabled(false);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return () => {
|
|
53
|
+
unByKey(key);
|
|
54
|
+
};
|
|
55
|
+
}, [map]);
|
|
56
|
+
|
|
57
|
+
return (
|
|
58
|
+
<>
|
|
59
|
+
<RvfIconButton
|
|
60
|
+
disabled={isZoomInDisabled}
|
|
61
|
+
Icon={Plus}
|
|
62
|
+
onClick={handleZoomIn}
|
|
63
|
+
/>
|
|
64
|
+
<RvfIconButton
|
|
65
|
+
disabled={isZoomOutDisabled}
|
|
66
|
+
Icon={Minus}
|
|
67
|
+
onClick={handleZoomOut}
|
|
68
|
+
/>
|
|
69
|
+
</>
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export default memo(RvfZoomButtons);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./RvfZoomButtons";
|
package/src/Search/Search.tsx
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { memo } from "preact/compat";
|
|
2
|
+
import { useCallback } from "preact/hooks";
|
|
3
|
+
|
|
1
4
|
import StopsSearch from "../StopsSearch";
|
|
2
5
|
import centerOnStation from "../utils/centerOnStation";
|
|
3
6
|
import useMapContext from "../utils/hooks/useMapContext";
|
|
@@ -5,14 +8,13 @@ import useMapContext from "../utils/hooks/useMapContext";
|
|
|
5
8
|
function Search() {
|
|
6
9
|
const { apikey, map, stopsurl } = useMapContext();
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}}
|
|
14
|
-
url={stopsurl}
|
|
15
|
-
/>
|
|
11
|
+
const onSelect = useCallback(
|
|
12
|
+
(selected) => {
|
|
13
|
+
return centerOnStation(selected, map);
|
|
14
|
+
},
|
|
15
|
+
[map],
|
|
16
16
|
);
|
|
17
|
+
|
|
18
|
+
return <StopsSearch apikey={apikey} onselect={onSelect} url={stopsurl} />;
|
|
17
19
|
}
|
|
18
|
-
export default Search;
|
|
20
|
+
export default memo(Search);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from "
|
|
1
|
+
export { default } from "../RvfSingleClickListener";
|
|
@@ -18,7 +18,7 @@ import tailwind from "../style.css";
|
|
|
18
18
|
import i18n from "../utils/i18n";
|
|
19
19
|
import MobilityEvent from "../utils/MobilityEvent";
|
|
20
20
|
|
|
21
|
-
export type
|
|
21
|
+
export type MobilityStopsSearchProps = {
|
|
22
22
|
apikey: string;
|
|
23
23
|
bbox?: string;
|
|
24
24
|
countrycode?: string;
|
|
@@ -58,13 +58,45 @@ function StopsSearch({
|
|
|
58
58
|
prefagencies,
|
|
59
59
|
reflocation,
|
|
60
60
|
url = "https://api.geops.io/stops/v1/",
|
|
61
|
-
}:
|
|
61
|
+
}: MobilityStopsSearchProps) {
|
|
62
62
|
const { t } = i18n;
|
|
63
63
|
const [query, setQuery] = useState("");
|
|
64
64
|
const [selectedStation, setSelectedStation] = useState<StationFeature>();
|
|
65
65
|
const [results, setResults] = useState<StopsResponse["features"]>(undefined);
|
|
66
66
|
const myRef = useRef<HTMLDivElement>();
|
|
67
67
|
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
myRef.current?.dispatchEvent(
|
|
70
|
+
new MobilityEvent<MobilityStopsSearchProps>("mwc:attribute", {
|
|
71
|
+
apikey,
|
|
72
|
+
bbox,
|
|
73
|
+
countrycode,
|
|
74
|
+
event,
|
|
75
|
+
field,
|
|
76
|
+
limit,
|
|
77
|
+
mots,
|
|
78
|
+
onselect,
|
|
79
|
+
params,
|
|
80
|
+
prefagencies,
|
|
81
|
+
reflocation,
|
|
82
|
+
url,
|
|
83
|
+
}),
|
|
84
|
+
);
|
|
85
|
+
}, [
|
|
86
|
+
apikey,
|
|
87
|
+
bbox,
|
|
88
|
+
countrycode,
|
|
89
|
+
event,
|
|
90
|
+
field,
|
|
91
|
+
limit,
|
|
92
|
+
mots,
|
|
93
|
+
onselect,
|
|
94
|
+
params,
|
|
95
|
+
prefagencies,
|
|
96
|
+
reflocation,
|
|
97
|
+
url,
|
|
98
|
+
]);
|
|
99
|
+
|
|
68
100
|
const api: StopsAPI = useMemo(() => {
|
|
69
101
|
return new StopsAPI({ apiKey: apikey, url: url });
|
|
70
102
|
}, [apikey, url]);
|
|
@@ -78,9 +110,9 @@ function StopsSearch({
|
|
|
78
110
|
bubbles: true,
|
|
79
111
|
},
|
|
80
112
|
);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
113
|
+
|
|
114
|
+
myRef.current?.dispatchEvent(customEvt);
|
|
115
|
+
|
|
84
116
|
if (onselect && typeof onselect === "function") {
|
|
85
117
|
onselect(station);
|
|
86
118
|
}
|
|
@@ -208,7 +240,7 @@ function StopsSearch({
|
|
|
208
240
|
</div>
|
|
209
241
|
</div>
|
|
210
242
|
|
|
211
|
-
<div className="mt-
|
|
243
|
+
<div className="-mt-4px flex grow overflow-auto rounded-md rounded-t-none bg-white shadow">
|
|
212
244
|
{results && results.length === 0 && (
|
|
213
245
|
<div
|
|
214
246
|
className={
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { Map } from "ol";
|
|
2
|
+
import { Group } from "ol/layer";
|
|
3
|
+
|
|
4
|
+
import LayerTree from "../LayerTree";
|
|
5
|
+
import { SelectionType } from "../LayerTree/TreeItem/TreeItem";
|
|
6
|
+
|
|
7
|
+
function TopicMenu({ map }: { map: Map }) {
|
|
8
|
+
const layers = map
|
|
9
|
+
.getLayers()
|
|
10
|
+
.getArray()
|
|
11
|
+
.filter((layer) => {
|
|
12
|
+
return !layer.get("isNotInLayerTree");
|
|
13
|
+
})
|
|
14
|
+
.map((layer) => {
|
|
15
|
+
return {
|
|
16
|
+
childItems:
|
|
17
|
+
(layer as Group)
|
|
18
|
+
?.getLayers?.()
|
|
19
|
+
.getArray()
|
|
20
|
+
.map((subLayer) => {
|
|
21
|
+
return {
|
|
22
|
+
childItems: [],
|
|
23
|
+
id: (Math.random() + 1).toString(36).substring(7),
|
|
24
|
+
isControlChecked: subLayer.getVisible(),
|
|
25
|
+
layer: subLayer,
|
|
26
|
+
selectionType: SelectionType.CHECKBOX,
|
|
27
|
+
title: subLayer.get("title"),
|
|
28
|
+
};
|
|
29
|
+
}) || [],
|
|
30
|
+
id: (Math.random() + 1).toString(36).substring(7),
|
|
31
|
+
isControlChecked: layer.getVisible(),
|
|
32
|
+
layer,
|
|
33
|
+
selectionType: SelectionType.CHECKBOX,
|
|
34
|
+
title: layer.get("title"),
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// const readyLayers = [
|
|
39
|
+
// {
|
|
40
|
+
// childItems: layers.map((layer) => {
|
|
41
|
+
// return {
|
|
42
|
+
// ...layer,
|
|
43
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
44
|
+
// };
|
|
45
|
+
// }),
|
|
46
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
47
|
+
// isCollapsedOnControlClick: true,
|
|
48
|
+
// isControlChecked: true,
|
|
49
|
+
// selectionType: SelectionType.RADIO,
|
|
50
|
+
// title: "Topic 1",
|
|
51
|
+
// },
|
|
52
|
+
// {
|
|
53
|
+
// childItems: layers.map((layer) => {
|
|
54
|
+
// return {
|
|
55
|
+
// ...layer,
|
|
56
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
57
|
+
// };
|
|
58
|
+
// }),
|
|
59
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
60
|
+
// isCollapsedOnControlClick: true,
|
|
61
|
+
// selectionType: SelectionType.RADIO,
|
|
62
|
+
// title: "Topic 2",
|
|
63
|
+
// },
|
|
64
|
+
// {
|
|
65
|
+
// childItems: layers.map((layer) => {
|
|
66
|
+
// return {
|
|
67
|
+
// ...layer,
|
|
68
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
69
|
+
// isControlChecked: false,
|
|
70
|
+
// selectionType: SelectionType.RADIO,
|
|
71
|
+
// };
|
|
72
|
+
// }),
|
|
73
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
74
|
+
// isCollapsedOnControlClick: true,
|
|
75
|
+
// selectionType: SelectionType.RADIO,
|
|
76
|
+
// title: "Topic 3",
|
|
77
|
+
// },
|
|
78
|
+
// ];
|
|
79
|
+
|
|
80
|
+
// readyLayers[0].childItems[0].childItems = layers.map((layer, idx) => {
|
|
81
|
+
// return {
|
|
82
|
+
// ...layer,
|
|
83
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
84
|
+
// isControlChecked: idx === 0,
|
|
85
|
+
// selectionType: SelectionType.RADIO,
|
|
86
|
+
// };
|
|
87
|
+
// });
|
|
88
|
+
|
|
89
|
+
// readyLayers[1].childItems[0].childItems = layers.map((layer, idx) => {
|
|
90
|
+
// return {
|
|
91
|
+
// ...layer,
|
|
92
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
93
|
+
// isControlChecked: idx === 0,
|
|
94
|
+
// selectionType: SelectionType.RADIO,
|
|
95
|
+
// };
|
|
96
|
+
// });
|
|
97
|
+
|
|
98
|
+
// readyLayers[0].childItems[1].childItems = layers.map((layer) => {
|
|
99
|
+
// return {
|
|
100
|
+
// ...layer,
|
|
101
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
102
|
+
// selectionType: SelectionType.CHECKBOX,
|
|
103
|
+
// };
|
|
104
|
+
// });
|
|
105
|
+
|
|
106
|
+
// readyLayers[0].childItems[1].childItems[0].childItems = layers.map(
|
|
107
|
+
// (layer) => {
|
|
108
|
+
// return {
|
|
109
|
+
// ...layer,
|
|
110
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
111
|
+
// selectionType: SelectionType.CHECKBOX,
|
|
112
|
+
// };
|
|
113
|
+
// },
|
|
114
|
+
// );
|
|
115
|
+
|
|
116
|
+
// readyLayers[2].childItems[0].childItems = layers.map((layer) => {
|
|
117
|
+
// return {
|
|
118
|
+
// ...layer,
|
|
119
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
120
|
+
// isControlChecked: false,
|
|
121
|
+
// selectionType: SelectionType.RADIO,
|
|
122
|
+
// };
|
|
123
|
+
// });
|
|
124
|
+
|
|
125
|
+
// readyLayers[2].childItems[1].childItems = layers.map((layer) => {
|
|
126
|
+
// return {
|
|
127
|
+
// ...layer,
|
|
128
|
+
// id: (Math.random() + 1).toString(36).substring(7),
|
|
129
|
+
// isControlChecked: false,
|
|
130
|
+
// selectionType: SelectionType.RADIO,
|
|
131
|
+
// };
|
|
132
|
+
// });
|
|
133
|
+
|
|
134
|
+
// console.log("READY LAYERS", readyLayers);
|
|
135
|
+
|
|
136
|
+
return (
|
|
137
|
+
<div className="max-h-80 overflow-scroll bg-white medium:w-largeMenu large:w-mediumMenu">
|
|
138
|
+
<LayerTree layers={layers} />
|
|
139
|
+
</div>
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export default TopicMenu;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./TopicMenu";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
function Cancel({ ...props }) {
|
|
2
|
+
return (
|
|
3
|
+
<svg
|
|
4
|
+
height="24px"
|
|
5
|
+
version="1.1"
|
|
6
|
+
viewBox="0 0 24 24"
|
|
7
|
+
width="24px"
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
+
{...props}
|
|
10
|
+
>
|
|
11
|
+
<g>
|
|
12
|
+
<path
|
|
13
|
+
d="M5.29289322,5.29289322 C5.68341751,4.90236893 6.31658249,4.90236893 6.70710678,5.29289322 L12,10.585 L17.2928932,5.29289322 C17.6533772,4.93240926 18.2206082,4.90467972 18.6128994,5.20970461 L18.7071068,5.29289322 C19.0976311,5.68341751 19.0976311,6.31658249 18.7071068,6.70710678 L13.415,12 L18.7071068,17.2928932 C19.0675907,17.6533772 19.0953203,18.2206082 18.7902954,18.6128994 L18.7071068,18.7071068 C18.3165825,19.0976311 17.6834175,19.0976311 17.2928932,18.7071068 L12,13.415 L6.70710678,18.7071068 C6.34662282,19.0675907 5.77939176,19.0953203 5.38710056,18.7902954 L5.29289322,18.7071068 C4.90236893,18.3165825 4.90236893,17.6834175 5.29289322,17.2928932 L10.585,12 L5.29289322,6.70710678 C4.93240926,6.34662282 4.90467972,5.77939176 5.20970461,5.38710056 Z"
|
|
14
|
+
fill="currentColor"
|
|
15
|
+
></path>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default Cancel;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>iconfont/cancel</title>
|
|
4
|
+
<g id="iconfont/cancel" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<path d="M5.29289322,5.29289322 C5.68341751,4.90236893 6.31658249,4.90236893 6.70710678,5.29289322 L12,10.585 L17.2928932,5.29289322 C17.6533772,4.93240926 18.2206082,4.90467972 18.6128994,5.20970461 L18.7071068,5.29289322 C19.0976311,5.68341751 19.0976311,6.31658249 18.7071068,6.70710678 L13.415,12 L18.7071068,17.2928932 C19.0675907,17.6533772 19.0953203,18.2206082 18.7902954,18.6128994 L18.7071068,18.7071068 C18.3165825,19.0976311 17.6834175,19.0976311 17.2928932,18.7071068 L12,13.415 L6.70710678,18.7071068 C6.34662282,19.0675907 5.77939176,19.0953203 5.38710056,18.7902954 L5.29289322,18.7071068 C4.90236893,18.3165825 4.90236893,17.6834175 5.29289322,17.2928932 L10.585,12 L5.29289322,6.70710678 C4.93240926,6.34662282 4.90467972,5.77939176 5.20970461,5.38710056 Z" id="Combined-Shape" fill="#000000" fill-rule="nonzero"></path>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Cancel";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function Download({ ...props }) {
|
|
2
|
+
return (
|
|
3
|
+
<svg
|
|
4
|
+
height="24px"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
width="24px"
|
|
7
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
+
{...props}
|
|
9
|
+
>
|
|
10
|
+
<g>
|
|
11
|
+
<path
|
|
12
|
+
d="M21,16 C21.5522847,16 22,16.4477153 22,17 L22,20 C22,21.6568542 20.6568542,23 19,23 L5,23 C3.34314575,23 2,21.6568542 2,20 L2,17 C2,16.4477153 2.44771525,16 3,16 C3.55228475,16 4,16.4477153 4,17 L4,20 C4,20.5522847 4.44771525,21 5,21 L19,21 C19.5522847,21 20,20.5522847 20,20 L20,17 C20,16.4477153 20.4477153,16 21,16 Z M12,1 C12.5522847,1 13,1.44771525 13,2 L13,13.585 L15.2928932,11.2928932 C15.6533772,10.9324093 16.2206082,10.9046797 16.6128994,11.2097046 L16.7071068,11.2928932 C17.0976311,11.6834175 17.0976311,12.3165825 16.7071068,12.7071068 L12.7071068,16.7071068 C12.6786405,16.7355731 12.6484659,16.7623312 12.6167501,16.787214 C12.6098424,16.7927155 12.602603,16.7982466 12.5953066,16.8036654 C12.5711307,16.8215099 12.546275,16.8382813 12.5206602,16.8539326 C12.5086131,16.8613931 12.4963944,16.8685012 12.4840621,16.8753288 C12.4642939,16.8862061 12.4438914,16.8966234 12.4230991,16.9063462 C12.4060985,16.914321 12.3887956,16.9218036 12.371336,16.9287745 C12.3515792,16.9366843 12.3317977,16.9438775 12.3117364,16.9504533 C12.2968513,16.9552713 12.2814633,16.9599023 12.265993,16.9641549 C12.2444365,16.9701664 12.2227461,16.9753602 12.2007941,16.9798348 C12.1833753,16.9832978 12.165949,16.9863719 12.1484669,16.9889822 C12.1003621,16.9962388 12.0506203,17 12,17 L12.0852242,16.996384 C12.0679231,16.997855 12.050591,16.9988772 12.0332468,16.9994506 L12,17 C11.9888734,17 11.9777892,16.9998183 11.9667503,16.9994576 C11.9497336,16.9989053 11.9317345,16.9978436 11.9137692,16.9962979 C11.892114,16.9944666 11.8714753,16.9920328 11.8510388,16.9889807 C11.834051,16.9863719 11.8166247,16.9832978 11.7992742,16.9797599 C11.7772539,16.9753602 11.7555635,16.9701664 11.7341604,16.964279 C11.7185367,16.9599023 11.7031487,16.9552713 11.6878575,16.9502619 C11.6682023,16.9438775 11.6484208,16.9366843 11.6289415,16.928896 C11.6112044,16.9218036 11.5939015,16.914321 11.5767785,16.9063266 C11.5561086,16.8966234 11.5357061,16.8862061 11.515723,16.8751242 C11.5036056,16.8685012 11.4913869,16.8613931 11.4792912,16.8540045 C11.453725,16.8382813 11.4288693,16.8215099 11.4048407,16.8036865 C11.3656744,16.774687 11.3282873,16.7425008 11.2928932,16.7071068 L11.3832499,16.787214 C11.3515341,16.7623312 11.3213595,16.7355731 11.2928932,16.7071068 L7.29289322,12.7071068 C6.90236893,12.3165825 6.90236893,11.6834175 7.29289322,11.2928932 C7.68341751,10.9023689 8.31658249,10.9023689 8.70710678,11.2928932 L11,13.585 L11,2 C11,1.48716416 11.3860402,1.06449284 11.8833789,1.00672773 Z"
|
|
13
|
+
fill="currentColor"
|
|
14
|
+
></path>
|
|
15
|
+
</g>
|
|
16
|
+
</svg>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default Download;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
height="24px"
|
|
3
|
+
version="1.1"
|
|
4
|
+
viewBox="0 0 24 24"
|
|
5
|
+
width="24px"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<g
|
|
9
|
+
>
|
|
10
|
+
<path
|
|
11
|
+
d="M21,16 C21.5522847,16 22,16.4477153 22,17 L22,20 C22,21.6568542 20.6568542,23 19,23 L5,23 C3.34314575,23 2,21.6568542 2,20 L2,17 C2,16.4477153 2.44771525,16 3,16 C3.55228475,16 4,16.4477153 4,17 L4,20 C4,20.5522847 4.44771525,21 5,21 L19,21 C19.5522847,21 20,20.5522847 20,20 L20,17 C20,16.4477153 20.4477153,16 21,16 Z M12,1 C12.5522847,1 13,1.44771525 13,2 L13,13.585 L15.2928932,11.2928932 C15.6533772,10.9324093 16.2206082,10.9046797 16.6128994,11.2097046 L16.7071068,11.2928932 C17.0976311,11.6834175 17.0976311,12.3165825 16.7071068,12.7071068 L12.7071068,16.7071068 C12.6786405,16.7355731 12.6484659,16.7623312 12.6167501,16.787214 C12.6098424,16.7927155 12.602603,16.7982466 12.5953066,16.8036654 C12.5711307,16.8215099 12.546275,16.8382813 12.5206602,16.8539326 C12.5086131,16.8613931 12.4963944,16.8685012 12.4840621,16.8753288 C12.4642939,16.8862061 12.4438914,16.8966234 12.4230991,16.9063462 C12.4060985,16.914321 12.3887956,16.9218036 12.371336,16.9287745 C12.3515792,16.9366843 12.3317977,16.9438775 12.3117364,16.9504533 C12.2968513,16.9552713 12.2814633,16.9599023 12.265993,16.9641549 C12.2444365,16.9701664 12.2227461,16.9753602 12.2007941,16.9798348 C12.1833753,16.9832978 12.165949,16.9863719 12.1484669,16.9889822 C12.1003621,16.9962388 12.0506203,17 12,17 L12.0852242,16.996384 C12.0679231,16.997855 12.050591,16.9988772 12.0332468,16.9994506 L12,17 C11.9888734,17 11.9777892,16.9998183 11.9667503,16.9994576 C11.9497336,16.9989053 11.9317345,16.9978436 11.9137692,16.9962979 C11.892114,16.9944666 11.8714753,16.9920328 11.8510388,16.9889807 C11.834051,16.9863719 11.8166247,16.9832978 11.7992742,16.9797599 C11.7772539,16.9753602 11.7555635,16.9701664 11.7341604,16.964279 C11.7185367,16.9599023 11.7031487,16.9552713 11.6878575,16.9502619 C11.6682023,16.9438775 11.6484208,16.9366843 11.6289415,16.928896 C11.6112044,16.9218036 11.5939015,16.914321 11.5767785,16.9063266 C11.5561086,16.8966234 11.5357061,16.8862061 11.515723,16.8751242 C11.5036056,16.8685012 11.4913869,16.8613931 11.4792912,16.8540045 C11.453725,16.8382813 11.4288693,16.8215099 11.4048407,16.8036865 C11.3656744,16.774687 11.3282873,16.7425008 11.2928932,16.7071068 L11.3832499,16.787214 C11.3515341,16.7623312 11.3213595,16.7355731 11.2928932,16.7071068 L7.29289322,12.7071068 C6.90236893,12.3165825 6.90236893,11.6834175 7.29289322,11.2928932 C7.68341751,10.9023689 8.31658249,10.9023689 8.70710678,11.2928932 L11,13.585 L11,2 C11,1.48716416 11.3860402,1.06449284 11.8833789,1.00672773 Z"
|
|
12
|
+
fill="currentColor"
|
|
13
|
+
></path>
|
|
14
|
+
</g>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Download";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SVGProps } from "preact/compat";
|
|
2
|
+
|
|
3
|
+
function Geolocation(props: SVGProps<SVGSVGElement>) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
fill="currentColor"
|
|
7
|
+
focusable="false"
|
|
8
|
+
height="1.5em"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
strokeWidth="0"
|
|
11
|
+
viewBox="0 0 512 512"
|
|
12
|
+
width="1.5em"
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
{...props}
|
|
15
|
+
>
|
|
16
|
+
<path d="M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z" />
|
|
17
|
+
</svg>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default Geolocation;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Geolocation";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SVGProps } from "preact/compat";
|
|
2
|
+
|
|
3
|
+
function Menu(props: SVGProps<SVGSVGElement>) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
fill="currentColor"
|
|
7
|
+
height="24px"
|
|
8
|
+
version="1.1"
|
|
9
|
+
viewBox="0 0 24 24"
|
|
10
|
+
width="24px"
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<g>
|
|
15
|
+
<path
|
|
16
|
+
d="M3,7 L21,7 C21.552,7 22,6.552 22,6 C22,5.448 21.552,5 21,5 L3,5 C2.448,5 2,5.448 2,6 C2,6.552 2.448,7 3,7"
|
|
17
|
+
fill="currentColor"
|
|
18
|
+
></path>
|
|
19
|
+
<path
|
|
20
|
+
d="M3,19 L21,19 C21.552,19 22,18.552 22,18 C22,17.448 21.552,17 21,17 L3,17 C2.448,17 2,17.448 2,18 C2,18.552 2.448,19 3,19"
|
|
21
|
+
fill="currentColor"
|
|
22
|
+
></path>
|
|
23
|
+
<path
|
|
24
|
+
d="M3,13 L21,13 C21.552,13 22,12.552 22,12 C22,11.448 21.552,11 21,11 L3,11 C2.448,11 2,11.448 2,12 C2,12.552 2.448,13 3,13"
|
|
25
|
+
fill="currentColor"
|
|
26
|
+
></path>
|
|
27
|
+
</g>
|
|
28
|
+
</svg>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default Menu;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Menu";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>iconfont/menue</title>
|
|
4
|
+
<g id="iconfont/menue" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<path d="M3,7 L21,7 C21.552,7 22,6.552 22,6 C22,5.448 21.552,5 21,5 L3,5 C2.448,5 2,5.448 2,6 C2,6.552 2.448,7 3,7" id="Fill-1" fill="#000000"></path>
|
|
6
|
+
<path d="M3,19 L21,19 C21.552,19 22,18.552 22,18 C22,17.448 21.552,17 21,17 L3,17 C2.448,17 2,17.448 2,18 C2,18.552 2.448,19 3,19" id="Fill-3" fill="#000000"></path>
|
|
7
|
+
<path d="M3,13 L21,13 C21.552,13 22,12.552 22,12 C22,11.448 21.552,11 21,11 L3,11 C2.448,11 2,11.448 2,12 C2,12.552 2.448,13 3,13" id="Fill-5" fill="#000000"></path>
|
|
8
|
+
</g>
|
|
9
|
+
</svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SVGProps } from "preact/compat";
|
|
2
|
+
|
|
3
|
+
function Minus(props: SVGProps<SVGSVGElement>) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
fill="currentColor"
|
|
7
|
+
height="24px"
|
|
8
|
+
version="1.1"
|
|
9
|
+
viewBox="0 0 24 24"
|
|
10
|
+
width="24px"
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<path d="M19,10.9999 C19.5522847,10.9999 20,11.4476153 20,11.9999 C20,12.5521847 19.5522847,12.9999 19,12.9999 L5,12.9999 C4.44771525,12.9999 4,12.5521847 4,11.9999 C4,11.4476153 4.44771525,10.9999 5,10.9999 L19,10.9999 Z" />
|
|
15
|
+
</svg>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default Minus;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Minus";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>iconfont/minus</title>
|
|
4
|
+
<g id="iconfont/minus" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<path d="M19,10.9999 C19.5522847,10.9999 20,11.4476153 20,11.9999 C20,12.5521847 19.5522847,12.9999 19,12.9999 L5,12.9999 C4.44771525,12.9999 4,12.5521847 4,11.9999 C4,11.4476153 4.44771525,10.9999 5,10.9999 L19,10.9999 Z" id="Line-6" fill="#000000" fill-rule="nonzero"></path>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SVGProps } from "preact/compat";
|
|
2
|
+
|
|
3
|
+
function Plus(props: SVGProps<SVGSVGElement>) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
fill="currentColor"
|
|
7
|
+
height="24px"
|
|
8
|
+
version="1.1"
|
|
9
|
+
viewBox="0 0 24 24"
|
|
10
|
+
width="24px"
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<path d="M12,4 C12.5522847,4 13,4.44771525 13,5 L13,11 L19,11 C19.5128358,11 19.9355072,11.3860402 19.9932723,11.8833789 L20,12 C20,12.5522847 19.5522847,13 19,13 L13,13 L13,19 C13,19.5128358 12.6139598,19.9355072 12.1166211,19.9932723 L12,20 C11.4477153,20 11,19.5522847 11,19 L11,13 L5,13 C4.48716416,13 4.06449284,12.6139598 4.00672773,12.1166211 L4,12 C4,11.4477153 4.44771525,11 5,11 L11,11 L11,5 C11,4.48716416 11.3860402,4.06449284 11.8833789,4.00672773 Z" />
|
|
15
|
+
</svg>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default Plus;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Plus";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>iconfont/plus</title>
|
|
4
|
+
<g id="iconfont/plus" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<path d="M12,4 C12.5522847,4 13,4.44771525 13,5 L13,11 L19,11 C19.5128358,11 19.9355072,11.3860402 19.9932723,11.8833789 L20,12 C20,12.5522847 19.5522847,13 19,13 L13,13 L13,19 C13,19.5128358 12.6139598,19.9355072 12.1166211,19.9932723 L12,20 C11.4477153,20 11,19.5522847 11,19 L11,13 L5,13 C4.48716416,13 4.06449284,12.6139598 4.00672773,12.1166211 L4,12 C4,11.4477153 4.44771525,11 5,11 L11,11 L11,5 C11,4.48716416 11.3860402,4.06449284 11.8833789,4.00672773 Z" id="Combined-Shape" fill="#000000" fill-rule="nonzero"></path>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
package/src/index.tsx
CHANGED