@memori.ai/memori-react 6.1.6 → 6.2.0
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 +27 -0
- package/dist/components/ChatBubble/ChatBubble.css +7 -2
- package/dist/components/ChatBubble/ChatBubble.js +9 -7
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +58 -5
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/PositionDrawer/PositionDrawer.d.ts +8 -1
- package/dist/components/PositionDrawer/PositionDrawer.js +8 -1
- package/dist/components/PositionDrawer/PositionDrawer.js.map +1 -1
- package/dist/components/VenueWidget/VenueWidget.css +142 -0
- package/dist/components/VenueWidget/VenueWidget.d.ts +33 -0
- package/dist/components/VenueWidget/VenueWidget.js +195 -0
- package/dist/components/VenueWidget/VenueWidget.js.map +1 -0
- package/dist/components/ui/Select.d.ts +2 -1
- package/dist/components/ui/Select.js +2 -2
- package/dist/components/ui/Select.js.map +1 -1
- package/dist/helpers/utils.d.ts +1 -0
- package/dist/helpers/utils.js +25 -1
- package/dist/helpers/utils.js.map +1 -1
- package/dist/helpers/venue.d.ts +3 -0
- package/dist/helpers/venue.js +23 -0
- package/dist/helpers/venue.js.map +1 -0
- package/dist/locales/en.json +5 -0
- package/dist/locales/it.json +5 -0
- package/dist/styles.css +1 -0
- package/esm/components/ChatBubble/ChatBubble.css +7 -2
- package/esm/components/ChatBubble/ChatBubble.js +9 -7
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +58 -5
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/PositionDrawer/PositionDrawer.d.ts +8 -1
- package/esm/components/PositionDrawer/PositionDrawer.js +7 -1
- package/esm/components/PositionDrawer/PositionDrawer.js.map +1 -1
- package/esm/components/VenueWidget/VenueWidget.css +142 -0
- package/esm/components/VenueWidget/VenueWidget.d.ts +33 -0
- package/esm/components/VenueWidget/VenueWidget.js +192 -0
- package/esm/components/VenueWidget/VenueWidget.js.map +1 -0
- package/esm/components/ui/Select.d.ts +2 -1
- package/esm/components/ui/Select.js +2 -2
- package/esm/components/ui/Select.js.map +1 -1
- package/esm/helpers/utils.d.ts +1 -0
- package/esm/helpers/utils.js +24 -1
- package/esm/helpers/utils.js.map +1 -1
- package/esm/helpers/venue.d.ts +3 -0
- package/esm/helpers/venue.js +19 -0
- package/esm/helpers/venue.js.map +1 -0
- package/esm/locales/en.json +5 -0
- package/esm/locales/it.json +5 -0
- package/esm/styles.css +1 -0
- package/package.json +5 -2
- package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +0 -154
- package/src/components/ChatBubble/ChatBubble.css +7 -2
- package/src/components/ChatBubble/ChatBubble.tsx +3 -1
- package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +41 -100
- package/src/components/MemoriWidget/MemoriWidget.stories.tsx +9 -0
- package/src/components/MemoriWidget/MemoriWidget.tsx +86 -4
- package/src/components/PositionDrawer/PositionDrawer.stories.tsx +46 -0
- package/src/components/PositionDrawer/PositionDrawer.test.tsx +33 -0
- package/src/components/PositionDrawer/PositionDrawer.tsx +24 -5
- package/src/components/PositionDrawer/__snapshots__/PositionDrawer.test.tsx.snap +5 -0
- package/src/components/VenueWidget/VenueWidget.css +142 -0
- package/src/components/VenueWidget/VenueWidget.stories.tsx +66 -0
- package/src/components/VenueWidget/VenueWidget.test.tsx +49 -0
- package/src/components/VenueWidget/VenueWidget.tsx +430 -0
- package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +335 -0
- package/src/components/ui/Select.tsx +3 -1
- package/src/components/ui/__snapshots__/Select.test.tsx.snap +0 -24
- package/src/helpers/utils.ts +36 -1
- package/src/helpers/venue.ts +36 -0
- package/src/locales/en.json +5 -0
- package/src/locales/it.json +5 -0
- package/src/mocks/data.ts +8 -0
- package/src/styles.css +1 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
.memori--venue-widget {
|
|
2
|
+
padding: 0;
|
|
3
|
+
border: 0;
|
|
4
|
+
margin: 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.memori--venue-widget__uncertainty {
|
|
8
|
+
margin-inline: 0.5em;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.memori--venue-widget__map {
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 250px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.memori--venue-widget__form-item {
|
|
17
|
+
margin-bottom: 1rem;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.memori--venue-widget__select-label {
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.memori--venue-widget__geosuggest {
|
|
26
|
+
position: relative;
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
margin-bottom: 1rem;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.memori--venue-widget-search {
|
|
33
|
+
z-index: 1001;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.memori--venue-widget-search--label {
|
|
37
|
+
display: inline-block;
|
|
38
|
+
margin-bottom: 0.25rem;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.memori--venue-widget-search input,
|
|
42
|
+
.memori--venue-widget-search .memori--venue-widget-search--input {
|
|
43
|
+
flex: 1 1 auto;
|
|
44
|
+
padding: 10px;
|
|
45
|
+
border: 1px solid var(--memori-button-border-color, #ccc);
|
|
46
|
+
border-radius: 5px;
|
|
47
|
+
margin: 0;
|
|
48
|
+
font-size: 16px;
|
|
49
|
+
line-height: 1.5;
|
|
50
|
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.memori--venue-widget-search .memori--venue-widget-search--input.memori--venue-widget-search--input-disabled {
|
|
54
|
+
background-color: #f7fafc;
|
|
55
|
+
color: #a0aec0;
|
|
56
|
+
cursor: not-allowed;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.memori--venue-widget-search .memori--venue-widget-search--input:focus,
|
|
60
|
+
.memori--venue-widget-search button:focus,
|
|
61
|
+
.memori--venue-widget-search input:focus {
|
|
62
|
+
border-color: var(--memori-primary);
|
|
63
|
+
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
|
|
64
|
+
outline: none;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.memori--venue-widget-search a {
|
|
68
|
+
color: var(--memori-primary);
|
|
69
|
+
text-decoration: underline;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
ul.memori--venue-widget-search--options {
|
|
73
|
+
position: absolute;
|
|
74
|
+
z-index: 1;
|
|
75
|
+
overflow: auto;
|
|
76
|
+
width: 100%;
|
|
77
|
+
max-width: min(18rem, 30%);
|
|
78
|
+
max-height: 15rem;
|
|
79
|
+
padding-top: 0.25rem;
|
|
80
|
+
padding-right: 0;
|
|
81
|
+
padding-bottom: 0.25rem;
|
|
82
|
+
padding-left: 0;
|
|
83
|
+
border-radius: 0.375rem;
|
|
84
|
+
margin-top: 0.25rem;
|
|
85
|
+
margin-right: 0;
|
|
86
|
+
margin-bottom: 0;
|
|
87
|
+
margin-left: 0;
|
|
88
|
+
background: #fff;
|
|
89
|
+
box-shadow: rgb(255, 255, 255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px,
|
|
90
|
+
rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px;
|
|
91
|
+
list-style: none;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@media (min-width: 640px) {
|
|
95
|
+
.memori--venue-widget-search--options {
|
|
96
|
+
font-size: 0.875rem;
|
|
97
|
+
line-height: 1.25rem;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.memori--venue-widget-search--option {
|
|
102
|
+
position: relative;
|
|
103
|
+
padding-top: 0.5rem;
|
|
104
|
+
padding-right: 1rem;
|
|
105
|
+
padding-bottom: 0.5rem;
|
|
106
|
+
padding-left: 1rem;
|
|
107
|
+
color: rgb(17 24 39/1);
|
|
108
|
+
touch-action: none;
|
|
109
|
+
user-select: none;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
li.memori--venue-widget-search--option {
|
|
113
|
+
cursor: pointer;
|
|
114
|
+
touch-action: initial;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
li.memori--venue-widget-search--option:hover,
|
|
118
|
+
li.memori--venue-widget-search--option:focus {
|
|
119
|
+
background-color: #f7fafc;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
li.memori--venue-widget-search--option:focus {
|
|
123
|
+
outline: 2px solid #63b3ed;
|
|
124
|
+
outline-offset: 2px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
li.memori--venue-widget-search--option--selected {
|
|
128
|
+
background-color: #f7fafc;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
li.memori--venue-widget-search--option--active {
|
|
132
|
+
background-color: #f7fafc;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.memori--venue--widget__place-name {
|
|
136
|
+
margin: 0 0 1rem;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.memori--venue-widget__gps-button {
|
|
140
|
+
padding: 0.5rem 1rem;
|
|
141
|
+
margin-left: 1rem;
|
|
142
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Venue } from '@memori.ai/memori-api-client/dist/types';
|
|
2
|
+
export type NominatimItem = {
|
|
3
|
+
place_id: number;
|
|
4
|
+
lat: number;
|
|
5
|
+
lon: number;
|
|
6
|
+
display_name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
category: string;
|
|
9
|
+
importance: number;
|
|
10
|
+
place_rank: number;
|
|
11
|
+
address?: {
|
|
12
|
+
house_number?: string;
|
|
13
|
+
road?: string;
|
|
14
|
+
hamlet?: string;
|
|
15
|
+
village?: string;
|
|
16
|
+
suburb?: string;
|
|
17
|
+
town?: string;
|
|
18
|
+
city?: string;
|
|
19
|
+
municipality?: string;
|
|
20
|
+
county?: string;
|
|
21
|
+
state?: string;
|
|
22
|
+
country: string;
|
|
23
|
+
};
|
|
24
|
+
boundingbox: [number, number, number, number];
|
|
25
|
+
};
|
|
26
|
+
export interface Props {
|
|
27
|
+
venue?: Venue;
|
|
28
|
+
setVenue: (venue?: Venue) => void;
|
|
29
|
+
showUncertainty?: boolean;
|
|
30
|
+
showGpsButton?: boolean;
|
|
31
|
+
}
|
|
32
|
+
declare const VenueWidget: ({ venue, setVenue, showUncertainty, showGpsButton, }: Props) => JSX.Element;
|
|
33
|
+
export default VenueWidget;
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState, useCallback, Fragment } from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { getUncertaintyByViewport } from '../../helpers/venue';
|
|
5
|
+
import { MapContainer, TileLayer, Marker, Popup, useMap } from 'react-leaflet';
|
|
6
|
+
import { useLeafletContext } from '@react-leaflet/core';
|
|
7
|
+
import L from 'leaflet';
|
|
8
|
+
import toast from 'react-hot-toast';
|
|
9
|
+
import Button from '../ui/Button';
|
|
10
|
+
import { useDebounceFn } from '../../helpers/utils';
|
|
11
|
+
import { Combobox, Transition } from '@headlessui/react';
|
|
12
|
+
import cx from 'classnames';
|
|
13
|
+
import Spin from '../ui/Spin';
|
|
14
|
+
const Circle = ({ center, size, }) => {
|
|
15
|
+
const context = useLeafletContext();
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const square = new L.Circle(center, size);
|
|
18
|
+
const container = context.layerContainer || context.map;
|
|
19
|
+
container.addLayer(square);
|
|
20
|
+
return () => {
|
|
21
|
+
container.removeLayer(square);
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
return null;
|
|
25
|
+
};
|
|
26
|
+
const CenterAndZoomUpdater = ({ center, uncertainty, }) => {
|
|
27
|
+
const [init, setInit] = useState(false);
|
|
28
|
+
const map = useMap();
|
|
29
|
+
const updateView = useCallback(() => {
|
|
30
|
+
let zoom = uncertainty !== undefined
|
|
31
|
+
? Math.round(Math.log2((10000 * 1000) / uncertainty))
|
|
32
|
+
: map.getZoom();
|
|
33
|
+
map.setView(center, zoom);
|
|
34
|
+
}, [center, uncertainty, map]);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (!init) {
|
|
37
|
+
updateView();
|
|
38
|
+
setInit(true);
|
|
39
|
+
}
|
|
40
|
+
}, []);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
updateView();
|
|
43
|
+
}, [center, uncertainty, updateView]);
|
|
44
|
+
return null;
|
|
45
|
+
};
|
|
46
|
+
let DefaultIcon = L.icon({
|
|
47
|
+
iconUrl: 'https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png',
|
|
48
|
+
shadowUrl: 'https://unpkg.com/leaflet@1.9.4/dist/images/marker-shadow.png',
|
|
49
|
+
iconSize: [25, 41],
|
|
50
|
+
iconAnchor: [12.5, 20.5],
|
|
51
|
+
shadowAnchor: [12.5, 20.5],
|
|
52
|
+
});
|
|
53
|
+
L.Marker.prototype.options.icon = DefaultIcon;
|
|
54
|
+
const getPlaceName = (venue) => {
|
|
55
|
+
let placeName = 'Position';
|
|
56
|
+
if (venue === null || venue === void 0 ? void 0 : venue.address) {
|
|
57
|
+
placeName = [
|
|
58
|
+
venue.address.village || venue.address.suburb,
|
|
59
|
+
venue.address.town ||
|
|
60
|
+
venue.address.city ||
|
|
61
|
+
venue.address.county ||
|
|
62
|
+
venue.address.state,
|
|
63
|
+
venue.address.country,
|
|
64
|
+
]
|
|
65
|
+
.filter(Boolean)
|
|
66
|
+
.join(', ');
|
|
67
|
+
}
|
|
68
|
+
else if (venue === null || venue === void 0 ? void 0 : venue.display_name) {
|
|
69
|
+
placeName = venue.display_name;
|
|
70
|
+
}
|
|
71
|
+
return placeName;
|
|
72
|
+
};
|
|
73
|
+
const VenueWidget = ({ venue, setVenue, showUncertainty = false, showGpsButton = true, }) => {
|
|
74
|
+
var _a, _b, _c;
|
|
75
|
+
const { t } = useTranslation();
|
|
76
|
+
const [isClient, setIsClient] = useState(false);
|
|
77
|
+
const [updatingPosition, setUpdatingPosition] = useState(false);
|
|
78
|
+
const [fetching, setFetching] = useState(false);
|
|
79
|
+
const [query, setQuery] = useState('');
|
|
80
|
+
const [suggestions, setSuggestions] = useState([]);
|
|
81
|
+
const getGpsPosition = async () => {
|
|
82
|
+
setUpdatingPosition(true);
|
|
83
|
+
navigator.geolocation.getCurrentPosition(async (coords) => {
|
|
84
|
+
try {
|
|
85
|
+
const result = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${coords.coords.latitude}&lon=${coords.coords.longitude}&format=jsonv2&addressdetails=1`);
|
|
86
|
+
const response = (await result.json());
|
|
87
|
+
const placeName = getPlaceName(response);
|
|
88
|
+
setVenue({
|
|
89
|
+
latitude: coords.coords.latitude,
|
|
90
|
+
longitude: coords.coords.longitude,
|
|
91
|
+
placeName: placeName,
|
|
92
|
+
uncertainty: coords.coords.accuracy / 1000,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
let err = e;
|
|
97
|
+
console.error('[POSITION ERROR]', err);
|
|
98
|
+
if (err === null || err === void 0 ? void 0 : err.message)
|
|
99
|
+
toast.error(err.message);
|
|
100
|
+
setVenue({
|
|
101
|
+
latitude: coords.coords.latitude,
|
|
102
|
+
longitude: coords.coords.longitude,
|
|
103
|
+
placeName: 'Position',
|
|
104
|
+
uncertainty: coords.coords.accuracy / 1000,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
setUpdatingPosition(false);
|
|
108
|
+
}, err => {
|
|
109
|
+
console.error('[POSITION ERROR]', err);
|
|
110
|
+
toast.error(err.message);
|
|
111
|
+
setUpdatingPosition(false);
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
const handleSearch = useDebounceFn(async (value) => {
|
|
115
|
+
setFetching(true);
|
|
116
|
+
try {
|
|
117
|
+
let response = await fetch(`https://nominatim.openstreetmap.org/search?q=${value}&format=jsonv2&limit=5&addressdetails=1`);
|
|
118
|
+
let data = await response.json();
|
|
119
|
+
setSuggestions(data);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error(error);
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
setFetching(false);
|
|
126
|
+
}
|
|
127
|
+
}, 1000);
|
|
128
|
+
const handleChange = (value) => {
|
|
129
|
+
console.log(value);
|
|
130
|
+
const placeName = getPlaceName(value);
|
|
131
|
+
setVenue({
|
|
132
|
+
latitude: value.lat,
|
|
133
|
+
longitude: value.lon,
|
|
134
|
+
placeName: placeName,
|
|
135
|
+
uncertainty: (value === null || value === void 0 ? void 0 : value.boundingbox)
|
|
136
|
+
? getUncertaintyByViewport(value.boundingbox)
|
|
137
|
+
: 2,
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
const onQueryChange = (value) => {
|
|
141
|
+
setQuery(value);
|
|
142
|
+
handleSearch(value);
|
|
143
|
+
};
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
setIsClient(true);
|
|
146
|
+
}, []);
|
|
147
|
+
useEffect(() => {
|
|
148
|
+
const leafletCSS = document.createElement('link');
|
|
149
|
+
leafletCSS.href = 'https://unpkg.com/leaflet@1.9.4/dist/leaflet.css';
|
|
150
|
+
leafletCSS.rel = 'stylesheet';
|
|
151
|
+
leafletCSS.integrity =
|
|
152
|
+
'sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=';
|
|
153
|
+
leafletCSS.crossOrigin = '';
|
|
154
|
+
document.head.appendChild(leafletCSS);
|
|
155
|
+
return () => {
|
|
156
|
+
document.head.removeChild(leafletCSS);
|
|
157
|
+
};
|
|
158
|
+
}, []);
|
|
159
|
+
return (_jsxs("fieldset", { className: "memori--venue-widget", children: [_jsx("legend", { className: "sr-only", children: "Venue" }), _jsxs("div", { className: "memori--venue-widget__form-item", children: [_jsx("div", { className: "memori--venue-widget__geosuggest", children: updatingPosition ? (_jsx("p", { children: t('write_and_speak.updatingPosition') })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "memori--venue-widget-search", children: _jsxs(Combobox, { value: (venue
|
|
160
|
+
? {
|
|
161
|
+
place_id: 0,
|
|
162
|
+
lat: venue === null || venue === void 0 ? void 0 : venue.latitude,
|
|
163
|
+
lon: venue === null || venue === void 0 ? void 0 : venue.longitude,
|
|
164
|
+
display_name: venue === null || venue === void 0 ? void 0 : venue.placeName,
|
|
165
|
+
}
|
|
166
|
+
: undefined), onChange: handleChange, children: [_jsx(Combobox.Input, { className: "memori--venue-widget-search--input", displayValue: (i) => getPlaceName(i), placeholder: t('searchVenue'), onChange: e => onQueryChange(e.target.value) }), (fetching ||
|
|
167
|
+
suggestions.length > 0 ||
|
|
168
|
+
(suggestions.length === 0 && query !== '')) && (_jsx(Transition, { as: Fragment, leave: "transition ease-in duration-100", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: _jsx(Combobox.Options, { className: "memori--venue-widget-search--options", children: fetching ? (_jsx(Spin, { spinning: true, children: _jsxs("center", { className: "memori--venue-widget-search--option", children: [t('loading'), "..."] }) })) : suggestions.length === 0 && query !== '' ? (_jsx("center", { className: "memori--venue-widget-search--option", children: t('nothingFound') })) : (suggestions === null || suggestions === void 0 ? void 0 : suggestions.map(s => (_jsx(Combobox.Option, { as: Fragment, value: s, children: ({ active, selected }) => (_jsx("li", { className: cx('memori--venue-widget-search--option', {
|
|
169
|
+
'memori--venue-widget-search--option-active': active,
|
|
170
|
+
'memori--venue-widget-search--option-selected': selected,
|
|
171
|
+
}), children: s.display_name })) }, s.place_id)))) }) }))] }) }), showGpsButton && (_jsx(Button, { className: "memori--venue-widget__gps-button", outlined: true, loading: updatingPosition, onClick: () => {
|
|
172
|
+
setUpdatingPosition(true);
|
|
173
|
+
getGpsPosition();
|
|
174
|
+
}, children: t('write_and_speak.useMyPosition') }))] })) }), showUncertainty && (_jsxs("label", { className: "memori--venue-widget__select-label", children: [_jsxs("span", { children: [t('uncertain'), ": "] }), _jsxs("select", { className: "memori-select--button memori--venue-widget__uncertainty", value: parseFloat(((_a = venue === null || venue === void 0 ? void 0 : venue.uncertainty) !== null && _a !== void 0 ? _a : 0).toFixed(2)), disabled: !venue ||
|
|
175
|
+
!venue.placeName ||
|
|
176
|
+
!venue.latitude ||
|
|
177
|
+
!venue.longitude, onChange: e => {
|
|
178
|
+
setVenue({
|
|
179
|
+
...venue,
|
|
180
|
+
uncertainty: parseFloat(e.target.value),
|
|
181
|
+
});
|
|
182
|
+
}, children: [(venue === null || venue === void 0 ? void 0 : venue.uncertainty) &&
|
|
183
|
+
![0, 1, 2, 5, 10, 20, 50, 100].includes(venue.uncertainty) && (_jsxs("option", { value: venue.uncertainty, children: [venue.uncertainty, " Km"] })), _jsx("option", { value: 0, children: t('exactPosition') }), _jsx("option", { value: 1, children: "1 km" }), _jsx("option", { value: 2, children: "2 km" }), _jsx("option", { value: 5, children: "5 km" }), _jsx("option", { value: 10, children: "10 km" }), _jsx("option", { value: 20, children: "20 km" }), _jsx("option", { value: 50, children: "50 km" }), _jsx("option", { value: 100, children: "100 km" })] })] }))] }), _jsxs("div", { className: "memori--venue-widget__form-item", children: [(venue === null || venue === void 0 ? void 0 : venue.placeName) && (_jsxs("p", { className: "memori--venue--widget__place-name", children: [_jsx("strong", { children: t('venue') }), ": ", venue.placeName] })), _jsx("div", { className: "memori--venue-widget__map", children: isClient && (_jsxs(MapContainer, { className: "memori--venue-widget__map", center: (venue === null || venue === void 0 ? void 0 : venue.latitude) && (venue === null || venue === void 0 ? void 0 : venue.longitude)
|
|
184
|
+
? [venue.latitude, venue.longitude]
|
|
185
|
+
: [44.66579, 11.48823], zoom: 13, scrollWheelZoom: true, children: [_jsx(TileLayer, { attribution: '\u00A9 <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" }), _jsx(CenterAndZoomUpdater, { center: (venue === null || venue === void 0 ? void 0 : venue.latitude) && (venue === null || venue === void 0 ? void 0 : venue.longitude)
|
|
186
|
+
? [venue.latitude, venue.longitude]
|
|
187
|
+
: [44.66579, 11.48823], uncertainty: ((_b = venue === null || venue === void 0 ? void 0 : venue.uncertainty) !== null && _b !== void 0 ? _b : 0) * 1000 }), (venue === null || venue === void 0 ? void 0 : venue.latitude) && (venue === null || venue === void 0 ? void 0 : venue.longitude) && (_jsx(Marker, { position: [venue.latitude, venue.longitude], icon: DefaultIcon, children: _jsx(Popup, { children: (_c = venue.placeName) !== null && _c !== void 0 ? _c : '' }) })), (venue === null || venue === void 0 ? void 0 : venue.latitude) &&
|
|
188
|
+
(venue === null || venue === void 0 ? void 0 : venue.longitude) &&
|
|
189
|
+
(venue === null || venue === void 0 ? void 0 : venue.uncertainty) !== undefined && (_jsx(Circle, { center: [venue.latitude, venue.longitude], size: venue.uncertainty * 1000 }))] })) })] })] }));
|
|
190
|
+
};
|
|
191
|
+
export default VenueWidget;
|
|
192
|
+
//# sourceMappingURL=VenueWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VenueWidget.js","sourceRoot":"","sources":["../../../src/components/VenueWidget/VenueWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export interface Props<T = any> {
|
|
2
2
|
className?: string;
|
|
3
3
|
value?: T;
|
|
4
|
+
name?: string;
|
|
4
5
|
displayValue?: string;
|
|
5
6
|
onChange: (value: T) => void;
|
|
6
7
|
options: {
|
|
@@ -11,5 +12,5 @@ export interface Props<T = any> {
|
|
|
11
12
|
label?: string;
|
|
12
13
|
placeholder?: string;
|
|
13
14
|
}
|
|
14
|
-
declare const Select: ({ className, value, displayValue, options, onChange, disabled, label, placeholder, }: Props) => JSX.Element;
|
|
15
|
+
declare const Select: ({ className, value, name, displayValue, options, onChange, disabled, label, placeholder, }: Props) => JSX.Element;
|
|
15
16
|
export default Select;
|
|
@@ -3,10 +3,10 @@ import { Fragment } from 'react';
|
|
|
3
3
|
import cx from 'classnames';
|
|
4
4
|
import { Listbox, Transition } from '@headlessui/react';
|
|
5
5
|
import SelectIcon from '../icons/SelectIcon';
|
|
6
|
-
const Select = ({ className, value, displayValue, options, onChange, disabled = false, label, placeholder, }) => {
|
|
6
|
+
const Select = ({ className, value, name, displayValue, options, onChange, disabled = false, label, placeholder, }) => {
|
|
7
7
|
return (_jsx("div", { className: cx('memori-select', className), children: _jsxs(Listbox, { value: value, onChange: value => {
|
|
8
8
|
onChange(value);
|
|
9
|
-
}, disabled: disabled, name:
|
|
9
|
+
}, disabled: disabled, name: name, children: [label && (_jsxs(Listbox.Label, { className: "memori-select--label", children: [label, ":"] })), _jsxs(Listbox.Button, { "aria-label": label, className: "memori-select--button", children: [_jsx("span", { className: cx('memori-select--value', {
|
|
10
10
|
'memori-select--value-placeholder': !value,
|
|
11
11
|
}), children: value ? displayValue || value : placeholder }), _jsx("span", { className: "memori-select--icon", children: _jsx(SelectIcon, {}) })] }), _jsx(Transition, { as: Fragment, leave: "transition ease-in duration-100", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: _jsx(Listbox.Options, { className: "memori-select--options", children: options.map(opt => (_jsx(Listbox.Option, { value: opt.value, className: "memori-select--option", children: opt.label }, opt.value))) }) })] }) }));
|
|
12
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/ui/Select.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,UAAU,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/ui/Select.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAc7C,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,WAAW,GACL,EAAE,EAAE;IACV,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,YAC5C,MAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAChB,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,EACD,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,aAET,KAAK,IAAI,CACR,MAAC,OAAO,CAAC,KAAK,IAAC,SAAS,EAAC,sBAAsB,aAC5C,KAAK,SACQ,CACjB,EACD,MAAC,OAAO,CAAC,MAAM,kBAAa,KAAK,EAAE,SAAS,EAAC,uBAAuB,aAClE,eACE,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE;gCACpC,kCAAkC,EAAE,CAAC,KAAK;6BAC3C,CAAC,YAED,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,GACvC,EACP,eAAM,SAAS,EAAC,qBAAqB,YACnC,KAAC,UAAU,KAAG,GACT,IACQ,EACjB,KAAC,UAAU,IACT,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAC,iCAAiC,EACvC,SAAS,EAAC,aAAa,EACvB,OAAO,EAAC,WAAW,YAEnB,KAAC,OAAO,CAAC,OAAO,IAAC,SAAS,EAAC,wBAAwB,YAChD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAClB,KAAC,OAAO,CAAC,MAAM,IAEb,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,SAAS,EAAC,uBAAuB,YAEhC,GAAG,CAAC,KAAK,IAJL,GAAG,CAAC,KAAK,CAKC,CAClB,CAAC,GACc,GACP,IACL,GACN,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/esm/helpers/utils.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const usernameRegEx: RegExp;
|
|
|
7
7
|
export declare const validURLRegEx: RegExp;
|
|
8
8
|
export declare const isValidUrl: (url: string) => boolean;
|
|
9
9
|
export declare function useDebounce<T>(value: T, delay: number): T;
|
|
10
|
+
export declare function useDebounceFn<T extends (...args: any) => any>(fn: T, delay: number): T;
|
|
10
11
|
export declare const stripDuplicates: (text: string) => string;
|
|
11
12
|
export declare const stripEmojis: (text: string) => string;
|
|
12
13
|
export declare const getFieldFromCustomData: (fieldName: string, data: string | undefined) => any;
|
package/esm/helpers/utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
1
|
+
import { useState, useEffect, useRef, useMemo } from 'react';
|
|
2
2
|
export const hasTouchscreen = () => {
|
|
3
3
|
let hasTouchScreen = false;
|
|
4
4
|
if ('maxTouchPoints' in navigator) {
|
|
@@ -74,6 +74,29 @@ export function useDebounce(value, delay) {
|
|
|
74
74
|
}, [value, delay]);
|
|
75
75
|
return debouncedValue;
|
|
76
76
|
}
|
|
77
|
+
export function useDebounceFn(fn, delay) {
|
|
78
|
+
const timeoutId = useRef();
|
|
79
|
+
const originalFn = useRef(null);
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
originalFn.current = fn;
|
|
82
|
+
return () => {
|
|
83
|
+
originalFn.current = null;
|
|
84
|
+
};
|
|
85
|
+
}, [fn]);
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
return () => {
|
|
88
|
+
clearTimeout(timeoutId.current);
|
|
89
|
+
};
|
|
90
|
+
}, []);
|
|
91
|
+
return useMemo(() => ((...args) => {
|
|
92
|
+
clearTimeout(timeoutId.current);
|
|
93
|
+
timeoutId.current = window.setTimeout(() => {
|
|
94
|
+
if (originalFn.current) {
|
|
95
|
+
originalFn.current(...args);
|
|
96
|
+
}
|
|
97
|
+
}, delay);
|
|
98
|
+
}), [delay]);
|
|
99
|
+
}
|
|
77
100
|
export const stripDuplicates = (text) => {
|
|
78
101
|
if (text
|
|
79
102
|
.slice(0, text.length / 2)
|
package/esm/helpers/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const EARTH_RADIUS_AT_45_DEGRESS = (6357.0 + 6378.0) / 2.0;
|
|
2
|
+
export const DEGREES_TO_RADIANS = Math.PI / 180;
|
|
3
|
+
export const getUncertaintyByViewport = (bouningBox) => {
|
|
4
|
+
const [minLat, maxLat, minLng, maxLng] = typeof bouningBox[0] === 'string'
|
|
5
|
+
? bouningBox.map(parseFloat)
|
|
6
|
+
: bouningBox;
|
|
7
|
+
const phi1 = minLat * DEGREES_TO_RADIANS;
|
|
8
|
+
const lambda1 = minLng * DEGREES_TO_RADIANS;
|
|
9
|
+
const phi2 = maxLat * DEGREES_TO_RADIANS;
|
|
10
|
+
const lambda2 = maxLng * DEGREES_TO_RADIANS;
|
|
11
|
+
const angle = 2.0 *
|
|
12
|
+
Math.asin(Math.sqrt(Math.sin((phi2 - phi1) / 2.0) * Math.sin((phi2 - phi1) / 2.0) +
|
|
13
|
+
Math.cos(phi1) *
|
|
14
|
+
Math.cos(phi2) *
|
|
15
|
+
Math.sin((lambda2 - lambda1) / 2.0) *
|
|
16
|
+
Math.sin((lambda2 - lambda1) / 2.0)));
|
|
17
|
+
return EARTH_RADIUS_AT_45_DEGRESS * angle;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=venue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venue.js","sourceRoot":"","sources":["../../src/helpers/venue.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAEhD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,UAEoC,EACpC,EAAE;IAEF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC/B,CAAC,CAAE,UAAuB,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1C,CAAC,CAAE,UAAuB,CAAC;IAG/B,MAAM,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,GAAG,kBAAkB,CAAC;IAE5C,MAAM,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,GAAG,kBAAkB,CAAC;IAI5C,MAAM,KAAK,GACT,GAAG;QACH,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CACxC,CACF,CAAC;IACJ,OAAO,0BAA0B,GAAG,KAAK,CAAC;AAC5C,CAAC,CAAC"}
|
package/esm/locales/en.json
CHANGED
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
"copyToClipboard": "Copy to clipboard",
|
|
32
32
|
"showOriginalText": "Show original",
|
|
33
33
|
"showTranslatedText": "Show translation",
|
|
34
|
+
"exactPosition": "Exact position",
|
|
35
|
+
"uncertain": "Uncertain",
|
|
36
|
+
"nothingFound": "Nothing found",
|
|
37
|
+
"venue": "Venue",
|
|
38
|
+
"searchVenue": "Search venue...",
|
|
34
39
|
"memoriBlockedTitle": "Blocked",
|
|
35
40
|
"memoriBlockedUntil": "Memori blocked until {{date}}",
|
|
36
41
|
"memoriBlockedAnon": "Currently \"{{name}}\" can't answer, come back here on {{date}}",
|
package/esm/locales/it.json
CHANGED
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
"copyToClipboard": "Copia negli appunti",
|
|
32
32
|
"showOriginalText": "Mostra originale",
|
|
33
33
|
"showTranslatedText": "Mostra traduzione",
|
|
34
|
+
"exactPosition": "Posizione esatta",
|
|
35
|
+
"uncertain": "Incertezza",
|
|
36
|
+
"nothingFound": "Nessun risultato",
|
|
37
|
+
"venue": "Luogo",
|
|
38
|
+
"searchVenue": "Cerca luogo...",
|
|
34
39
|
"memoriBlockedTitle": "Bloccato",
|
|
35
40
|
"memoriBlockedUntil": "Memori bloccato fino al {{date}}",
|
|
36
41
|
"memoriBlockedAnon": "Attualmente \"{{name}}\" non può rispondere, torna qui il {{date}}",
|
package/esm/styles.css
CHANGED
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
@import url('./components/AgeVerificationModal/AgeVerificationModal.css');
|
|
41
41
|
@import url('./components/KnownFacts/KnownFacts.css');
|
|
42
42
|
@import url('./components/LoginDrawer/LoginDrawer.css');
|
|
43
|
+
@import url('./components/VenueWidget/VenueWidget.css');
|
|
43
44
|
@import url('./components/MemoriWidget/MemoriWidget.css');
|
|
44
45
|
|
|
45
46
|
@import url('https://fonts.bunny.net/css?family=lexend-deca:200,400,700');
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "6.
|
|
2
|
+
"version": "6.2.0",
|
|
3
3
|
"name": "@memori.ai/memori-react",
|
|
4
4
|
"author": "Memori Srl",
|
|
5
5
|
"main": "dist/index.js",
|
|
@@ -240,6 +240,7 @@
|
|
|
240
240
|
"@testing-library/react": "13.4.0",
|
|
241
241
|
"@types/dompurify": "^3.0.5",
|
|
242
242
|
"@types/jest": "29.2.4",
|
|
243
|
+
"@types/leaflet": "^1.9.11",
|
|
243
244
|
"@types/luxon": "^3.3.7",
|
|
244
245
|
"@types/prop-types": "15.7.5",
|
|
245
246
|
"@types/react": "18.0.25",
|
|
@@ -290,13 +291,14 @@
|
|
|
290
291
|
},
|
|
291
292
|
"dependencies": {
|
|
292
293
|
"@headlessui/react": "1.7.4",
|
|
293
|
-
"@memori.ai/memori-api-client": "^4.0
|
|
294
|
+
"@memori.ai/memori-api-client": "^4.1.0",
|
|
294
295
|
"@react-three/drei": "8.20.2",
|
|
295
296
|
"@react-three/fiber": "7.0.25",
|
|
296
297
|
"classnames": "2.3.2",
|
|
297
298
|
"dompurify": "^3.0.6",
|
|
298
299
|
"ellipsed": "1.6.0",
|
|
299
300
|
"i18next": "22.0.6",
|
|
301
|
+
"leaflet": "^1.9.4",
|
|
300
302
|
"luxon": "^3.4.4",
|
|
301
303
|
"marked": "^11.1.0",
|
|
302
304
|
"microsoft-cognitiveservices-speech-sdk": "1.34.0",
|
|
@@ -304,6 +306,7 @@
|
|
|
304
306
|
"react-hook-form": "7.39.5",
|
|
305
307
|
"react-hot-toast": "^2.4.1",
|
|
306
308
|
"react-i18next": "12.0.0",
|
|
309
|
+
"react-leaflet": "^4.2.1",
|
|
307
310
|
"react-syntax-highlighter": "15.5.0",
|
|
308
311
|
"standardized-audio-context": "25.3.34",
|
|
309
312
|
"three": "0.144.0",
|