@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.
Files changed (73) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/components/ChatBubble/ChatBubble.css +7 -2
  3. package/dist/components/ChatBubble/ChatBubble.js +9 -7
  4. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  5. package/dist/components/MemoriWidget/MemoriWidget.js +58 -5
  6. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  7. package/dist/components/PositionDrawer/PositionDrawer.d.ts +8 -1
  8. package/dist/components/PositionDrawer/PositionDrawer.js +8 -1
  9. package/dist/components/PositionDrawer/PositionDrawer.js.map +1 -1
  10. package/dist/components/VenueWidget/VenueWidget.css +142 -0
  11. package/dist/components/VenueWidget/VenueWidget.d.ts +33 -0
  12. package/dist/components/VenueWidget/VenueWidget.js +195 -0
  13. package/dist/components/VenueWidget/VenueWidget.js.map +1 -0
  14. package/dist/components/ui/Select.d.ts +2 -1
  15. package/dist/components/ui/Select.js +2 -2
  16. package/dist/components/ui/Select.js.map +1 -1
  17. package/dist/helpers/utils.d.ts +1 -0
  18. package/dist/helpers/utils.js +25 -1
  19. package/dist/helpers/utils.js.map +1 -1
  20. package/dist/helpers/venue.d.ts +3 -0
  21. package/dist/helpers/venue.js +23 -0
  22. package/dist/helpers/venue.js.map +1 -0
  23. package/dist/locales/en.json +5 -0
  24. package/dist/locales/it.json +5 -0
  25. package/dist/styles.css +1 -0
  26. package/esm/components/ChatBubble/ChatBubble.css +7 -2
  27. package/esm/components/ChatBubble/ChatBubble.js +9 -7
  28. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  29. package/esm/components/MemoriWidget/MemoriWidget.js +58 -5
  30. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  31. package/esm/components/PositionDrawer/PositionDrawer.d.ts +8 -1
  32. package/esm/components/PositionDrawer/PositionDrawer.js +7 -1
  33. package/esm/components/PositionDrawer/PositionDrawer.js.map +1 -1
  34. package/esm/components/VenueWidget/VenueWidget.css +142 -0
  35. package/esm/components/VenueWidget/VenueWidget.d.ts +33 -0
  36. package/esm/components/VenueWidget/VenueWidget.js +192 -0
  37. package/esm/components/VenueWidget/VenueWidget.js.map +1 -0
  38. package/esm/components/ui/Select.d.ts +2 -1
  39. package/esm/components/ui/Select.js +2 -2
  40. package/esm/components/ui/Select.js.map +1 -1
  41. package/esm/helpers/utils.d.ts +1 -0
  42. package/esm/helpers/utils.js +24 -1
  43. package/esm/helpers/utils.js.map +1 -1
  44. package/esm/helpers/venue.d.ts +3 -0
  45. package/esm/helpers/venue.js +19 -0
  46. package/esm/helpers/venue.js.map +1 -0
  47. package/esm/locales/en.json +5 -0
  48. package/esm/locales/it.json +5 -0
  49. package/esm/styles.css +1 -0
  50. package/package.json +5 -2
  51. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +0 -154
  52. package/src/components/ChatBubble/ChatBubble.css +7 -2
  53. package/src/components/ChatBubble/ChatBubble.tsx +3 -1
  54. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +41 -100
  55. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +9 -0
  56. package/src/components/MemoriWidget/MemoriWidget.tsx +86 -4
  57. package/src/components/PositionDrawer/PositionDrawer.stories.tsx +46 -0
  58. package/src/components/PositionDrawer/PositionDrawer.test.tsx +33 -0
  59. package/src/components/PositionDrawer/PositionDrawer.tsx +24 -5
  60. package/src/components/PositionDrawer/__snapshots__/PositionDrawer.test.tsx.snap +5 -0
  61. package/src/components/VenueWidget/VenueWidget.css +142 -0
  62. package/src/components/VenueWidget/VenueWidget.stories.tsx +66 -0
  63. package/src/components/VenueWidget/VenueWidget.test.tsx +49 -0
  64. package/src/components/VenueWidget/VenueWidget.tsx +430 -0
  65. package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +335 -0
  66. package/src/components/ui/Select.tsx +3 -1
  67. package/src/components/ui/__snapshots__/Select.test.tsx.snap +0 -24
  68. package/src/helpers/utils.ts +36 -1
  69. package/src/helpers/venue.ts +36 -0
  70. package/src/locales/en.json +5 -0
  71. package/src/locales/it.json +5 -0
  72. package/src/mocks/data.ts +8 -0
  73. 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: "day", 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', {
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;AAa7C,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,KAAK,EACL,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,EAAC,KAAK,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"}
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"}
@@ -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;
@@ -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)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,gBAAgB,IAAI,SAAS,EAAE;QACjC,cAAc,GAAG,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;KAC/C;SAAM,IAAI,kBAAkB,IAAI,SAAS,EAAE;QAC1C,cAAc,GAAI,SAAiB,CAAC,gBAAgB,GAAG,CAAC,CAAC;KAC1D;SAAM;QACL,MAAM,EAAE,GACN,MAAM,IAAI,YAAY,IAAI,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,kBAAkB,EAAE;YACzC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;SAC/B;aAAM,IAAI,aAAa,IAAI,MAAM,EAAE;YAClC,cAAc,GAAG,IAAI,CAAC;SACvB;aAAM;YAEL,IAAI,EAAE,GAAI,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,SAAS,CAAC;YACvC,cAAc;gBACZ,yCAAyC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClD,wCAAwC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrD;KACF;IAGD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAY,EAAE;;IACjC,IAAI,QAAQ,GACV,CAAA,MAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,aAAa,0CAAE,QAAQ;SAC3C,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA;QACnB,SAAS,CAAC;IACZ,IAAI,SAAS,GAAG,CAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,SAAS,KAAI,SAAS,CAAC;IAE3D,IAAI,KAAK,GACP;QACE,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,MAAM;QACN,QAAQ;QACR,MAAM;KACP,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEpB,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAC,CAAC;IAE1D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAY,EAAE;;IACrC,IAAI,QAAQ,GACV,CAAA,MAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,aAAa,0CAAE,QAAQ;SAC3C,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA;QACnB,SAAS,CAAC;IAEZ,IAAI,SAAS,GACX,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS;QACpC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAG1C,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GACnB,4EAA4E,CAAC;AAC/E,MAAM,CAAC,MAAM,SAAS,GAAG,iDAAiD,CAAC;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG,yCAAyC,CAAC;AACvE,MAAM,CAAC,MAAM,aAAa,GAAG,+BAA+B,CAAC;AAE7D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,IAAI;QACF,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,KAAa;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAI,KAAK,CAAC,CAAC;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAAK,EACL,KAAa;IAEb,MAAM,SAAS,GAAG,MAAM,EAAsB,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAW,IAAI,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;QACxB,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE;QACtB,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEhC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACzC,IAAI,UAAU,CAAC,OAAO,EAAE;gBACtB,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;aAC7B;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAiB,EACpB,CAAC,KAAK,CAAC,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IAC9C,IACE,IAAI;SACD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACzB,IAAI,EAAE;SACN,WAAW,EAAE;QAChB,IAAI;aACD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;aAC1B,IAAI,EAAE;aACN,WAAW,EAAE;QAEhB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,SAAiB,EACjB,IAAwB,EACxB,EAAE;IACF,IAAI;QACF,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC5B;QACD,OAAO,EAAE,CAAC;KACX;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAA2B,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAChC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAA+B,EAC/B,MAA8B,EACN,EAAE,CAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACxC,IAAI,IAAI,GAA2B,EAAE,GAAG,KAAK,EAAE,CAAC;IAEhD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;KACzB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI;QACF,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7C;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const EARTH_RADIUS_AT_45_DEGRESS: number;
2
+ export declare const DEGREES_TO_RADIANS: number;
3
+ export declare const getUncertaintyByViewport: (bouningBox: [number, number, number, number] | [string, string, string, string]) => number;
@@ -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"}
@@ -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}}",
@@ -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.1.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.3",
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",