@memori.ai/memori-react 8.45.6 → 8.46.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/components/ChatBubble/ChatBubble.css +94 -9
- package/dist/components/ChatInputs/ChatInputs.css +7 -5
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +27 -0
- package/dist/components/MemoriWidget/MemoriWidget.js +36 -29
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/layouts/chat.css +11 -1
- package/dist/components/layouts/totem.css +2 -0
- package/dist/helpers/message.js +45 -1
- package/dist/helpers/message.js.map +1 -1
- package/dist/styles.css +19 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/ChatBubble/ChatBubble.css +94 -9
- package/esm/components/ChatInputs/ChatInputs.css +7 -5
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +27 -0
- package/esm/components/MemoriWidget/MemoriWidget.js +36 -29
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/layouts/chat.css +11 -1
- package/esm/components/layouts/totem.css +2 -0
- package/esm/helpers/message.js +45 -1
- package/esm/helpers/message.js.map +1 -1
- package/esm/styles.css +19 -0
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +2 -2
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -78
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -39
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -43
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
- package/dist/components/ContentPreviewModal/DocumentMarkdown.d.ts +0 -7
- package/dist/components/ContentPreviewModal/DocumentMarkdown.js +0 -31
- package/dist/components/ContentPreviewModal/DocumentMarkdown.js.map +0 -1
- package/dist/components/DrawerFooter/DrawerFooter.css +0 -62
- package/dist/components/DrawerFooter/DrawerFooter.d.ts +0 -12
- package/dist/components/DrawerFooter/DrawerFooter.js +0 -10
- package/dist/components/DrawerFooter/DrawerFooter.js.map +0 -1
- package/dist/components/IconButton/IconButton.css +0 -135
- package/dist/components/IconButton/IconButton.d.ts +0 -9
- package/dist/components/IconButton/IconButton.js +0 -36
- package/dist/components/IconButton/IconButton.js.map +0 -1
- package/dist/components/LoginModal/LoginModal.css +0 -270
- package/dist/components/LoginModal/LoginModal.d.ts +0 -19
- package/dist/components/LoginModal/LoginModal.js +0 -355
- package/dist/components/LoginModal/LoginModal.js.map +0 -1
- package/dist/components/MobileSessionPanel/MobileSessionPanel.css +0 -540
- package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -65
- package/dist/components/MobileSessionPanel/MobileSessionPanel.js +0 -254
- package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
- package/dist/components/PositionPopover/PositionPopover.css +0 -218
- package/dist/components/PositionPopover/PositionPopover.d.ts +0 -22
- package/dist/components/PositionPopover/PositionPopover.js +0 -208
- package/dist/components/PositionPopover/PositionPopover.js.map +0 -1
- package/dist/components/ReasoningBlock/ReasoningBlock.css +0 -156
- package/dist/components/ReasoningBlock/ReasoningBlock.d.ts +0 -7
- package/dist/components/ReasoningBlock/ReasoningBlock.js +0 -61
- package/dist/components/ReasoningBlock/ReasoningBlock.js.map +0 -1
- package/dist/components/SideDrawer/SideDrawer.css +0 -112
- package/dist/components/SideDrawer/SideDrawer.d.ts +0 -22
- package/dist/components/SideDrawer/SideDrawer.js +0 -17
- package/dist/components/SideDrawer/SideDrawer.js.map +0 -1
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -144
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
- package/dist/components/layouts/WebsiteAssistant/website-assistant.css +0 -889
- package/dist/components/layouts/fullpage.css +0 -628
- package/dist/helpers/artifactPanel.d.ts +0 -6
- package/dist/helpers/artifactPanel.js +0 -42
- package/dist/helpers/artifactPanel.js.map +0 -1
- package/dist/helpers/chatScroll.d.ts +0 -12
- package/dist/helpers/chatScroll.js +0 -14
- package/dist/helpers/chatScroll.js.map +0 -1
- package/dist/helpers/conversationHistory.d.ts +0 -16
- package/dist/helpers/conversationHistory.js +0 -89
- package/dist/helpers/conversationHistory.js.map +0 -1
- package/dist/helpers/conversationTitle.d.ts +0 -8
- package/dist/helpers/conversationTitle.js +0 -27
- package/dist/helpers/conversationTitle.js.map +0 -1
- package/dist/helpers/enhanceBubbleCodeBlocks.d.ts +0 -5
- package/dist/helpers/enhanceBubbleCodeBlocks.js +0 -97
- package/dist/helpers/enhanceBubbleCodeBlocks.js.map +0 -1
- package/dist/helpers/highlightMatches.d.ts +0 -2
- package/dist/helpers/highlightMatches.js +0 -54
- package/dist/helpers/highlightMatches.js.map +0 -1
- package/dist/helpers/positionPopover.d.ts +0 -3
- package/dist/helpers/positionPopover.js +0 -22
- package/dist/helpers/positionPopover.js.map +0 -1
- package/dist/helpers/prism.d.ts +0 -16
- package/dist/helpers/prism.js +0 -78
- package/dist/helpers/prism.js.map +0 -1
- package/dist/helpers/reasoning.d.ts +0 -7
- package/dist/helpers/reasoning.js +0 -43
- package/dist/helpers/reasoning.js.map +0 -1
- package/dist/helpers/relativeTime.d.ts +0 -3
- package/dist/helpers/relativeTime.js +0 -56
- package/dist/helpers/relativeTime.js.map +0 -1
- package/dist/helpers/sourcesCount.d.ts +0 -2
- package/dist/helpers/sourcesCount.js +0 -22
- package/dist/helpers/sourcesCount.js.map +0 -1
- package/dist/helpers/tts/muteSpeaker.d.ts +0 -13
- package/dist/helpers/tts/muteSpeaker.js +0 -26
- package/dist/helpers/tts/muteSpeaker.js.map +0 -1
- package/dist/helpers/usePressTooltip.d.ts +0 -18
- package/dist/helpers/usePressTooltip.js +0 -38
- package/dist/helpers/usePressTooltip.js.map +0 -1
- package/dist/icons/FacebookIcon.d.ts +0 -3
- package/dist/icons/FacebookIcon.js +0 -6
- package/dist/icons/FacebookIcon.js.map +0 -1
- package/dist/icons/LinkedinIcon.d.ts +0 -3
- package/dist/icons/LinkedinIcon.js +0 -6
- package/dist/icons/LinkedinIcon.js.map +0 -1
- package/dist/icons/MemoriIcon.d.ts +0 -3
- package/dist/icons/MemoriIcon.js +0 -8
- package/dist/icons/MemoriIcon.js.map +0 -1
- package/dist/icons/TelegramIcon.d.ts +0 -3
- package/dist/icons/TelegramIcon.js +0 -6
- package/dist/icons/TelegramIcon.js.map +0 -1
- package/dist/icons/TwitterIcon.d.ts +0 -3
- package/dist/icons/TwitterIcon.js +0 -6
- package/dist/icons/TwitterIcon.js.map +0 -1
- package/dist/icons/WhatsappIcon.d.ts +0 -3
- package/dist/icons/WhatsappIcon.js +0 -6
- package/dist/icons/WhatsappIcon.js.map +0 -1
- package/dist/icons/artifacts/DocumentIcon.d.ts +0 -3
- package/dist/icons/artifacts/DocumentIcon.js +0 -6
- package/dist/icons/artifacts/DocumentIcon.js.map +0 -1
- package/dist/icons/artifacts/HtmlIcon.d.ts +0 -3
- package/dist/icons/artifacts/HtmlIcon.js +0 -6
- package/dist/icons/artifacts/HtmlIcon.js.map +0 -1
- package/dist/icons/artifacts/JavascriptIcon.d.ts +0 -3
- package/dist/icons/artifacts/JavascriptIcon.js +0 -6
- package/dist/icons/artifacts/JavascriptIcon.js.map +0 -1
- package/dist/icons/artifacts/MarkdownIcon.d.ts +0 -3
- package/dist/icons/artifacts/MarkdownIcon.js +0 -6
- package/dist/icons/artifacts/MarkdownIcon.js.map +0 -1
- package/dist/icons/artifacts/PythonIcon.d.ts +0 -3
- package/dist/icons/artifacts/PythonIcon.js +0 -6
- package/dist/icons/artifacts/PythonIcon.js.map +0 -1
- package/dist/icons/artifacts/SvgIcon.d.ts +0 -3
- package/dist/icons/artifacts/SvgIcon.js +0 -6
- package/dist/icons/artifacts/SvgIcon.js.map +0 -1
- package/dist/icons/artifacts/XmlIcon.d.ts +0 -3
- package/dist/icons/artifacts/XmlIcon.js +0 -6
- package/dist/icons/artifacts/XmlIcon.js.map +0 -1
- package/dist/icons/artifacts/cssIcon.d.ts +0 -3
- package/dist/icons/artifacts/cssIcon.js +0 -6
- package/dist/icons/artifacts/cssIcon.js.map +0 -1
- package/dist/styles/motion.css +0 -25
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -78
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -39
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -40
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
- package/esm/components/ContentPreviewModal/DocumentMarkdown.d.ts +0 -7
- package/esm/components/ContentPreviewModal/DocumentMarkdown.js +0 -28
- package/esm/components/ContentPreviewModal/DocumentMarkdown.js.map +0 -1
- package/esm/components/DrawerFooter/DrawerFooter.css +0 -62
- package/esm/components/DrawerFooter/DrawerFooter.d.ts +0 -12
- package/esm/components/DrawerFooter/DrawerFooter.js +0 -8
- package/esm/components/DrawerFooter/DrawerFooter.js.map +0 -1
- package/esm/components/IconButton/IconButton.css +0 -135
- package/esm/components/IconButton/IconButton.d.ts +0 -9
- package/esm/components/IconButton/IconButton.js +0 -33
- package/esm/components/IconButton/IconButton.js.map +0 -1
- package/esm/components/LoginModal/LoginModal.css +0 -270
- package/esm/components/LoginModal/LoginModal.d.ts +0 -19
- package/esm/components/LoginModal/LoginModal.js +0 -352
- package/esm/components/LoginModal/LoginModal.js.map +0 -1
- package/esm/components/MobileSessionPanel/MobileSessionPanel.css +0 -540
- package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -65
- package/esm/components/MobileSessionPanel/MobileSessionPanel.js +0 -251
- package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
- package/esm/components/PositionPopover/PositionPopover.css +0 -218
- package/esm/components/PositionPopover/PositionPopover.d.ts +0 -22
- package/esm/components/PositionPopover/PositionPopover.js +0 -203
- package/esm/components/PositionPopover/PositionPopover.js.map +0 -1
- package/esm/components/ReasoningBlock/ReasoningBlock.css +0 -156
- package/esm/components/ReasoningBlock/ReasoningBlock.d.ts +0 -7
- package/esm/components/ReasoningBlock/ReasoningBlock.js +0 -58
- package/esm/components/ReasoningBlock/ReasoningBlock.js.map +0 -1
- package/esm/components/SideDrawer/SideDrawer.css +0 -112
- package/esm/components/SideDrawer/SideDrawer.d.ts +0 -22
- package/esm/components/SideDrawer/SideDrawer.js +0 -12
- package/esm/components/SideDrawer/SideDrawer.js.map +0 -1
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -141
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
- package/esm/components/layouts/WebsiteAssistant/website-assistant.css +0 -889
- package/esm/components/layouts/fullpage.css +0 -628
- package/esm/helpers/artifactPanel.d.ts +0 -6
- package/esm/helpers/artifactPanel.js +0 -37
- package/esm/helpers/artifactPanel.js.map +0 -1
- package/esm/helpers/chatScroll.d.ts +0 -12
- package/esm/helpers/chatScroll.js +0 -9
- package/esm/helpers/chatScroll.js.map +0 -1
- package/esm/helpers/conversationHistory.d.ts +0 -16
- package/esm/helpers/conversationHistory.js +0 -82
- package/esm/helpers/conversationHistory.js.map +0 -1
- package/esm/helpers/conversationTitle.d.ts +0 -8
- package/esm/helpers/conversationTitle.js +0 -23
- package/esm/helpers/conversationTitle.js.map +0 -1
- package/esm/helpers/enhanceBubbleCodeBlocks.d.ts +0 -5
- package/esm/helpers/enhanceBubbleCodeBlocks.js +0 -94
- package/esm/helpers/enhanceBubbleCodeBlocks.js.map +0 -1
- package/esm/helpers/highlightMatches.d.ts +0 -2
- package/esm/helpers/highlightMatches.js +0 -49
- package/esm/helpers/highlightMatches.js.map +0 -1
- package/esm/helpers/positionPopover.d.ts +0 -3
- package/esm/helpers/positionPopover.js +0 -17
- package/esm/helpers/positionPopover.js.map +0 -1
- package/esm/helpers/prism.d.ts +0 -16
- package/esm/helpers/prism.js +0 -74
- package/esm/helpers/prism.js.map +0 -1
- package/esm/helpers/reasoning.d.ts +0 -7
- package/esm/helpers/reasoning.js +0 -39
- package/esm/helpers/reasoning.js.map +0 -1
- package/esm/helpers/relativeTime.d.ts +0 -3
- package/esm/helpers/relativeTime.js +0 -50
- package/esm/helpers/relativeTime.js.map +0 -1
- package/esm/helpers/sourcesCount.d.ts +0 -2
- package/esm/helpers/sourcesCount.js +0 -18
- package/esm/helpers/sourcesCount.js.map +0 -1
- package/esm/helpers/tts/muteSpeaker.d.ts +0 -13
- package/esm/helpers/tts/muteSpeaker.js +0 -21
- package/esm/helpers/tts/muteSpeaker.js.map +0 -1
- package/esm/helpers/usePressTooltip.d.ts +0 -18
- package/esm/helpers/usePressTooltip.js +0 -35
- package/esm/helpers/usePressTooltip.js.map +0 -1
- package/esm/icons/FacebookIcon.d.ts +0 -3
- package/esm/icons/FacebookIcon.js +0 -4
- package/esm/icons/FacebookIcon.js.map +0 -1
- package/esm/icons/LinkedinIcon.d.ts +0 -3
- package/esm/icons/LinkedinIcon.js +0 -4
- package/esm/icons/LinkedinIcon.js.map +0 -1
- package/esm/icons/MemoriIcon.d.ts +0 -3
- package/esm/icons/MemoriIcon.js +0 -6
- package/esm/icons/MemoriIcon.js.map +0 -1
- package/esm/icons/TelegramIcon.d.ts +0 -3
- package/esm/icons/TelegramIcon.js +0 -4
- package/esm/icons/TelegramIcon.js.map +0 -1
- package/esm/icons/TwitterIcon.d.ts +0 -3
- package/esm/icons/TwitterIcon.js +0 -4
- package/esm/icons/TwitterIcon.js.map +0 -1
- package/esm/icons/WhatsappIcon.d.ts +0 -3
- package/esm/icons/WhatsappIcon.js +0 -4
- package/esm/icons/WhatsappIcon.js.map +0 -1
- package/esm/icons/artifacts/DocumentIcon.d.ts +0 -3
- package/esm/icons/artifacts/DocumentIcon.js +0 -4
- package/esm/icons/artifacts/DocumentIcon.js.map +0 -1
- package/esm/icons/artifacts/HtmlIcon.d.ts +0 -3
- package/esm/icons/artifacts/HtmlIcon.js +0 -4
- package/esm/icons/artifacts/HtmlIcon.js.map +0 -1
- package/esm/icons/artifacts/JavascriptIcon.d.ts +0 -3
- package/esm/icons/artifacts/JavascriptIcon.js +0 -4
- package/esm/icons/artifacts/JavascriptIcon.js.map +0 -1
- package/esm/icons/artifacts/MarkdownIcon.d.ts +0 -3
- package/esm/icons/artifacts/MarkdownIcon.js +0 -4
- package/esm/icons/artifacts/MarkdownIcon.js.map +0 -1
- package/esm/icons/artifacts/PythonIcon.d.ts +0 -3
- package/esm/icons/artifacts/PythonIcon.js +0 -4
- package/esm/icons/artifacts/PythonIcon.js.map +0 -1
- package/esm/icons/artifacts/SvgIcon.d.ts +0 -3
- package/esm/icons/artifacts/SvgIcon.js +0 -4
- package/esm/icons/artifacts/SvgIcon.js.map +0 -1
- package/esm/icons/artifacts/XmlIcon.d.ts +0 -3
- package/esm/icons/artifacts/XmlIcon.js +0 -4
- package/esm/icons/artifacts/XmlIcon.js.map +0 -1
- package/esm/icons/artifacts/cssIcon.d.ts +0 -3
- package/esm/icons/artifacts/cssIcon.js +0 -4
- package/esm/icons/artifacts/cssIcon.js.map +0 -1
- package/esm/styles/motion.css +0 -25
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PositionPopoverContent = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const ui_1 = require("@memori.ai/ui");
|
|
7
|
-
const IconButton_1 = tslib_1.__importDefault(require("../IconButton/IconButton"));
|
|
8
|
-
const lucide_react_1 = require("lucide-react");
|
|
9
|
-
const react_1 = require("react");
|
|
10
|
-
const react_i18next_1 = require("react-i18next");
|
|
11
|
-
const venue_1 = require("../../helpers/venue");
|
|
12
|
-
const utils_1 = require("../../helpers/utils");
|
|
13
|
-
const VenueWidget_1 = require("../VenueWidget/VenueWidget");
|
|
14
|
-
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
15
|
-
const GEOCODE_TIMEOUT_MS = 8000;
|
|
16
|
-
function hasShareableCoords(v) {
|
|
17
|
-
return !!((v === null || v === void 0 ? void 0 : v.latitude) && (v === null || v === void 0 ? void 0 : v.longitude));
|
|
18
|
-
}
|
|
19
|
-
const PositionPopoverContent = ({ venue, setVenue, autoStartGeolocation = false, }) => {
|
|
20
|
-
var _a;
|
|
21
|
-
const { t } = (0, react_i18next_1.useTranslation)();
|
|
22
|
-
const [geolocationLoading, setGeolocationLoading] = (0, react_1.useState)(false);
|
|
23
|
-
const [editingLocation, setEditingLocation] = (0, react_1.useState)(false);
|
|
24
|
-
const [permissionDeniedMessage, setPermissionDeniedMessage] = (0, react_1.useState)(null);
|
|
25
|
-
const [geocodingError, setGeocodingError] = (0, react_1.useState)(null);
|
|
26
|
-
const [fetching, setFetching] = (0, react_1.useState)(false);
|
|
27
|
-
const [query, setQuery] = (0, react_1.useState)('');
|
|
28
|
-
const [suggestions, setSuggestions] = (0, react_1.useState)([]);
|
|
29
|
-
const geoGenRef = (0, react_1.useRef)(0);
|
|
30
|
-
const autocompleteInputRef = (0, react_1.useRef)(null);
|
|
31
|
-
const autoStartedRef = (0, react_1.useRef)(false);
|
|
32
|
-
const sharingActive = geolocationLoading || hasShareableCoords(venue);
|
|
33
|
-
const handleSearch = (0, utils_1.useDebounceFn)(async (value) => {
|
|
34
|
-
setFetching(true);
|
|
35
|
-
try {
|
|
36
|
-
const response = await fetch(`https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(value)}&format=jsonv2&limit=5&addressdetails=1`);
|
|
37
|
-
const data = await response.json();
|
|
38
|
-
setSuggestions(data);
|
|
39
|
-
}
|
|
40
|
-
catch (_a) {
|
|
41
|
-
setGeocodingError(String(t('widget.geocodingFailed')));
|
|
42
|
-
}
|
|
43
|
-
finally {
|
|
44
|
-
setFetching(false);
|
|
45
|
-
}
|
|
46
|
-
}, 1000);
|
|
47
|
-
const onQueryChange = (0, react_1.useCallback)((value, opts) => {
|
|
48
|
-
setQuery(value);
|
|
49
|
-
if (opts === null || opts === void 0 ? void 0 : opts.skipSearch)
|
|
50
|
-
return;
|
|
51
|
-
if (!value.trim()) {
|
|
52
|
-
setSuggestions([]);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
handleSearch(value);
|
|
56
|
-
}, [handleSearch]);
|
|
57
|
-
const handleAutocompletePick = (0, react_1.useCallback)((value) => {
|
|
58
|
-
const placeName = (0, VenueWidget_1.getPlaceName)(value);
|
|
59
|
-
setVenue({
|
|
60
|
-
latitude: value.lat,
|
|
61
|
-
longitude: value.lon,
|
|
62
|
-
placeName,
|
|
63
|
-
uncertainty: (value === null || value === void 0 ? void 0 : value.boundingbox)
|
|
64
|
-
? (0, venue_1.getUncertaintyByViewport)(value.boundingbox)
|
|
65
|
-
: 2,
|
|
66
|
-
});
|
|
67
|
-
setEditingLocation(false);
|
|
68
|
-
setQuery('');
|
|
69
|
-
setSuggestions([]);
|
|
70
|
-
setGeocodingError(null);
|
|
71
|
-
setPermissionDeniedMessage(null);
|
|
72
|
-
}, [setVenue, t]);
|
|
73
|
-
const startGeolocation = (0, react_1.useCallback)(() => {
|
|
74
|
-
const gen = ++geoGenRef.current;
|
|
75
|
-
setPermissionDeniedMessage(null);
|
|
76
|
-
setGeocodingError(null);
|
|
77
|
-
if (!navigator.geolocation) {
|
|
78
|
-
setGeolocationLoading(false);
|
|
79
|
-
setPermissionDeniedMessage(String(t('widget.positionUnavailableManual')));
|
|
80
|
-
setEditingLocation(true);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
setGeolocationLoading(true);
|
|
84
|
-
navigator.geolocation.getCurrentPosition(pos => {
|
|
85
|
-
if (gen !== geoGenRef.current)
|
|
86
|
-
return;
|
|
87
|
-
const next = {
|
|
88
|
-
latitude: pos.coords.latitude,
|
|
89
|
-
longitude: pos.coords.longitude,
|
|
90
|
-
placeName: '',
|
|
91
|
-
uncertainty: pos.coords.accuracy / 1000,
|
|
92
|
-
};
|
|
93
|
-
setVenue(next);
|
|
94
|
-
setGeolocationLoading(false);
|
|
95
|
-
const controller = new AbortController();
|
|
96
|
-
const timeoutId = window.setTimeout(() => controller.abort(), GEOCODE_TIMEOUT_MS);
|
|
97
|
-
void (async () => {
|
|
98
|
-
try {
|
|
99
|
-
const result = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${pos.coords.latitude}&lon=${pos.coords.longitude}&format=jsonv2&addressdetails=1`, { signal: controller.signal });
|
|
100
|
-
if (gen !== geoGenRef.current)
|
|
101
|
-
return;
|
|
102
|
-
const response = (await result.json());
|
|
103
|
-
const placeName = (0, VenueWidget_1.getPlaceName)(response);
|
|
104
|
-
setVenue({
|
|
105
|
-
...next,
|
|
106
|
-
placeName,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
catch (e) {
|
|
110
|
-
if (gen !== geoGenRef.current)
|
|
111
|
-
return;
|
|
112
|
-
if (e.name === 'AbortError')
|
|
113
|
-
return;
|
|
114
|
-
console.error('[PositionPopover] reverse geocode failed', e);
|
|
115
|
-
setGeocodingError(String(t('widget.geocodingFailed')));
|
|
116
|
-
}
|
|
117
|
-
finally {
|
|
118
|
-
window.clearTimeout(timeoutId);
|
|
119
|
-
}
|
|
120
|
-
})();
|
|
121
|
-
}, err => {
|
|
122
|
-
if (gen !== geoGenRef.current)
|
|
123
|
-
return;
|
|
124
|
-
setGeolocationLoading(false);
|
|
125
|
-
setVenue(undefined);
|
|
126
|
-
const code = err.code;
|
|
127
|
-
if (code === 1) {
|
|
128
|
-
setPermissionDeniedMessage(String(t('widget.positionUnavailableManual')));
|
|
129
|
-
setEditingLocation(true);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
setGeocodingError(String(t('widget.geocodingFailed')));
|
|
133
|
-
}
|
|
134
|
-
}, { enableHighAccuracy: true, timeout: 15000, maximumAge: 0 });
|
|
135
|
-
}, [setVenue, t]);
|
|
136
|
-
const toggleSharing = (0, react_1.useCallback)(() => {
|
|
137
|
-
setPermissionDeniedMessage(null);
|
|
138
|
-
setGeocodingError(null);
|
|
139
|
-
if (sharingActive && !geolocationLoading) {
|
|
140
|
-
geoGenRef.current += 1;
|
|
141
|
-
setVenue({
|
|
142
|
-
latitude: 0,
|
|
143
|
-
longitude: 0,
|
|
144
|
-
placeName: '',
|
|
145
|
-
uncertainty: 0,
|
|
146
|
-
});
|
|
147
|
-
setEditingLocation(false);
|
|
148
|
-
setQuery('');
|
|
149
|
-
setSuggestions([]);
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
if (geolocationLoading) {
|
|
153
|
-
geoGenRef.current += 1;
|
|
154
|
-
setGeolocationLoading(false);
|
|
155
|
-
setVenue(undefined);
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
startGeolocation();
|
|
159
|
-
}, [geolocationLoading, setVenue, sharingActive, startGeolocation]);
|
|
160
|
-
(0, react_1.useEffect)(() => {
|
|
161
|
-
if (!autoStartGeolocation) {
|
|
162
|
-
autoStartedRef.current = false;
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
if (autoStartedRef.current)
|
|
166
|
-
return;
|
|
167
|
-
if (hasShareableCoords(venue) || geolocationLoading)
|
|
168
|
-
return;
|
|
169
|
-
autoStartedRef.current = true;
|
|
170
|
-
startGeolocation();
|
|
171
|
-
}, [autoStartGeolocation, geolocationLoading, startGeolocation, venue]);
|
|
172
|
-
(0, react_1.useEffect)(() => {
|
|
173
|
-
if (!editingLocation)
|
|
174
|
-
return;
|
|
175
|
-
const id = requestAnimationFrame(() => {
|
|
176
|
-
var _a;
|
|
177
|
-
(_a = autocompleteInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
178
|
-
});
|
|
179
|
-
return () => cancelAnimationFrame(id);
|
|
180
|
-
}, [editingLocation]);
|
|
181
|
-
const inlineError = permissionDeniedMessage || geocodingError;
|
|
182
|
-
const shareLocationHint = t('widget.shareLocationHint') || 'Get answers tailored to where you are';
|
|
183
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-position-popover__row memori-position-popover__switch-row", children: (0, jsx_runtime_1.jsxs)("button", { type: "button", className: "memori-dropdown--auth-row", onClick: () => {
|
|
184
|
-
toggleSharing();
|
|
185
|
-
}, children: [(0, jsx_runtime_1.jsx)("span", { className: "memori-dropdown--auth-icon-wrap", children: (0, jsx_runtime_1.jsx)(lucide_react_1.MapPin, { size: 16 }) }), (0, jsx_runtime_1.jsxs)("span", { className: "memori-dropdown--auth-copy", children: [(0, jsx_runtime_1.jsx)("span", { className: "memori-dropdown--auth-title", children: t('widget.shareLocation') || 'Share my location' }), (0, jsx_runtime_1.jsx)(ui_1.Tooltip, { title: shareLocationHint, placement: "top", children: (0, jsx_runtime_1.jsx)("span", { className: "memori-dropdown--auth-subtitle", children: shareLocationHint }) })] }), (0, jsx_runtime_1.jsx)("span", { className: (0, classnames_1.default)('memori-dropdown--switch', sharingActive && 'memori-dropdown--switch--on'), "aria-hidden": true })] }) }), (sharingActive || geolocationLoading || editingLocation) && ((0, jsx_runtime_1.jsx)("div", { className: "memori-position-popover__tag-block", children: geolocationLoading ? ((0, jsx_runtime_1.jsxs)("div", { className: "memori-position-popover__tag memori-position-popover__tag--loading", "aria-busy": "true", "aria-live": "polite", children: [(0, jsx_runtime_1.jsx)("span", { className: "memori-position-popover__spinner", "aria-hidden": true }), (0, jsx_runtime_1.jsx)("span", { className: "memori-position-popover__tag-skeleton" })] })) : editingLocation ? ((0, jsx_runtime_1.jsx)("div", { className: "memori-position-popover__autocomplete-wrap", children: (0, jsx_runtime_1.jsx)(VenueWidget_1.VenueCombobox, { venue: venue, query: query, fetching: fetching, suggestions: suggestions, onQueryChange: onQueryChange, onChange: handleAutocompletePick, getPlaceName: VenueWidget_1.getPlaceName, t: t, autocompleteRootId: "memori-position-popover-venue-search", inputRef: autocompleteInputRef }) })) : ((0, jsx_runtime_1.jsxs)("div", { className: "memori-position-popover__tag", children: [(0, jsx_runtime_1.jsx)("span", { className: "memori-position-popover__tag-text", children: ((_a = venue === null || venue === void 0 ? void 0 : venue.placeName) === null || _a === void 0 ? void 0 : _a.trim())
|
|
186
|
-
? venue.placeName
|
|
187
|
-
: t('widget.positionResolving') }), (0, jsx_runtime_1.jsx)(ui_1.Button, { type: "button", variant: "ghost", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Pencil, { size: 16, strokeWidth: 2, "aria-hidden": true }), size: "sm", className: "memori-position-popover__tag-edit", "aria-label": String(t('widget.editPositionAria')), onClick: () => {
|
|
188
|
-
setEditingLocation(true);
|
|
189
|
-
setPermissionDeniedMessage(null);
|
|
190
|
-
} })] })) })), inlineError && ((0, jsx_runtime_1.jsx)("p", { className: "memori-position-popover__error", role: "alert", children: inlineError })), hasShareableCoords(venue) && !geolocationLoading && ((0, jsx_runtime_1.jsx)("div", { className: "memori-position-popover__map", children: (0, jsx_runtime_1.jsx)(VenueWidget_1.VenueMapPreview, { venue: venue }) }))] }));
|
|
191
|
-
};
|
|
192
|
-
exports.PositionPopoverContent = PositionPopoverContent;
|
|
193
|
-
const PositionPopover = ({ venue, setVenue, open, onOpenChange, triggerClassName, triggerButtonVariant = 'toolbar', triggerAriaLabel, positionerClassName, autoStartGeolocation = false, }) => {
|
|
194
|
-
const sharingActive = hasShareableCoords(venue);
|
|
195
|
-
return ((0, jsx_runtime_1.jsx)(ui_1.Popover, { open: open, onOpenChange: onOpenChange, modal: false, closable: false, placement: "bottom-end", sideOffset: 8, contentClassName: "memori-position-popover__popup", slotProps: {
|
|
196
|
-
trigger: {
|
|
197
|
-
className: triggerClassName,
|
|
198
|
-
render: (props) => {
|
|
199
|
-
return ((0, jsx_runtime_1.jsx)(IconButton_1.default, { ...props, type: "button", variant: triggerButtonVariant, active: open, className: (0, classnames_1.default)('memori-header--button', 'memori-header--button--position', sharingActive && 'memori-header--button--position--active', triggerClassName), "aria-label": triggerAriaLabel, "aria-expanded": open, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.MapPin, { "aria-hidden": true }) }));
|
|
200
|
-
},
|
|
201
|
-
},
|
|
202
|
-
positioner: {
|
|
203
|
-
className: (0, classnames_1.default)('memori-position-popover__positioner', positionerClassName),
|
|
204
|
-
},
|
|
205
|
-
}, content: (0, jsx_runtime_1.jsx)(exports.PositionPopoverContent, { venue: venue, setVenue: setVenue, autoStartGeolocation: open && autoStartGeolocation }), children: null }));
|
|
206
|
-
};
|
|
207
|
-
exports.default = PositionPopover;
|
|
208
|
-
//# sourceMappingURL=PositionPopover.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PositionPopover.js","sourceRoot":"","sources":["../../../src/components/PositionPopover/PositionPopover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
.memori-reasoning {
|
|
2
|
-
display: flex;
|
|
3
|
-
width: 100%;
|
|
4
|
-
max-width: 100%;
|
|
5
|
-
flex-direction: column;
|
|
6
|
-
align-items: flex-start;
|
|
7
|
-
margin-bottom: 0;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.memori-reasoning__trigger {
|
|
11
|
-
display: inline-flex;
|
|
12
|
-
align-items: center;
|
|
13
|
-
padding: 2px 4px 2px 0;
|
|
14
|
-
border: 0;
|
|
15
|
-
border-radius: 6px;
|
|
16
|
-
margin: 0;
|
|
17
|
-
background: transparent;
|
|
18
|
-
color: color-mix(in oklch, var(--memori-text-color) 52%, transparent);
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
font-family: inherit;
|
|
21
|
-
font-size: 13px;
|
|
22
|
-
font-weight: 500;
|
|
23
|
-
gap: 4px;
|
|
24
|
-
letter-spacing: -0.01em;
|
|
25
|
-
line-height: 1.4;
|
|
26
|
-
transition: color 0.16s ease;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.memori-reasoning__trigger:hover,
|
|
30
|
-
.memori-reasoning__trigger:focus-visible {
|
|
31
|
-
color: color-mix(in oklch, var(--memori-text-color) 82%, transparent);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.memori-reasoning__trigger:focus-visible {
|
|
35
|
-
outline: 2px solid var(--memori-primary, currentColor);
|
|
36
|
-
outline-offset: 2px;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.memori-reasoning__chevron {
|
|
40
|
-
width: 14px;
|
|
41
|
-
height: 14px;
|
|
42
|
-
flex-shrink: 0;
|
|
43
|
-
opacity: 0.85;
|
|
44
|
-
transform: rotate(0deg);
|
|
45
|
-
transform-origin: 50% 50%;
|
|
46
|
-
transition: transform 0.2s ease;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.memori-reasoning--open .memori-reasoning__chevron {
|
|
50
|
-
transform: rotate(90deg);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.memori-reasoning__label {
|
|
54
|
-
min-width: 0;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.memori-reasoning__label--thinking {
|
|
58
|
-
animation: memori-reasoning-shimmer 1.8s ease-in-out infinite;
|
|
59
|
-
-webkit-background-clip: text;
|
|
60
|
-
background-clip: text;
|
|
61
|
-
background-image: linear-gradient(
|
|
62
|
-
90deg,
|
|
63
|
-
color-mix(in oklch, var(--memori-text-color) 38%, transparent) 0%,
|
|
64
|
-
color-mix(in oklch, var(--memori-text-color) 38%, transparent) 36%,
|
|
65
|
-
var(--memori-text-color) 50%,
|
|
66
|
-
color-mix(in oklch, var(--memori-text-color) 38%, transparent) 64%,
|
|
67
|
-
color-mix(in oklch, var(--memori-text-color) 38%, transparent) 100%
|
|
68
|
-
);
|
|
69
|
-
background-size: 220% 100%;
|
|
70
|
-
color: transparent;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.memori-reasoning__collapsible {
|
|
74
|
-
display: grid;
|
|
75
|
-
width: 100%;
|
|
76
|
-
grid-template-rows: 0fr;
|
|
77
|
-
opacity: 0;
|
|
78
|
-
transition:
|
|
79
|
-
grid-template-rows 0.22s ease,
|
|
80
|
-
opacity 0.18s ease;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.memori-reasoning--open .memori-reasoning__collapsible {
|
|
84
|
-
grid-template-rows: 1fr;
|
|
85
|
-
opacity: 1;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.memori-reasoning__clip {
|
|
89
|
-
overflow: hidden;
|
|
90
|
-
min-height: 0;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.memori-reasoning__panel {
|
|
94
|
-
display: grid;
|
|
95
|
-
width: 100%;
|
|
96
|
-
padding: 4px 0 8px;
|
|
97
|
-
grid-template-columns: 12px minmax(0, 1fr);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.memori-reasoning__panel::before {
|
|
101
|
-
width: 1px;
|
|
102
|
-
border-radius: 1px;
|
|
103
|
-
margin: 2px 0;
|
|
104
|
-
background: color-mix(in oklch, var(--memori-text-color) 16%, transparent);
|
|
105
|
-
content: '';
|
|
106
|
-
justify-self: center;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.memori-reasoning__body {
|
|
110
|
-
min-width: 0;
|
|
111
|
-
color: color-mix(in oklch, var(--memori-text-color) 62%, transparent);
|
|
112
|
-
font-size: 13px;
|
|
113
|
-
font-style: normal;
|
|
114
|
-
font-weight: 400;
|
|
115
|
-
letter-spacing: 0;
|
|
116
|
-
line-height: 1.65;
|
|
117
|
-
overflow-wrap: anywhere;
|
|
118
|
-
white-space: pre-wrap;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.memori-reasoning--streaming.memori-reasoning--overflow .memori-reasoning__body {
|
|
122
|
-
overflow: hidden;
|
|
123
|
-
max-height: 9.5rem;
|
|
124
|
-
-webkit-mask-image: linear-gradient(to bottom, #000 48%, transparent 100%);
|
|
125
|
-
mask-image: linear-gradient(to bottom, #000 48%, transparent 100%);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.memori-reasoning--open:not(.memori-reasoning--streaming) .memori-reasoning__body {
|
|
129
|
-
max-height: min(40vh, 22rem);
|
|
130
|
-
overflow-x: hidden;
|
|
131
|
-
overflow-y: auto;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
@keyframes memori-reasoning-shimmer {
|
|
135
|
-
0% {
|
|
136
|
-
background-position: 100% 50%;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
100% {
|
|
140
|
-
background-position: 0% 50%;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
@media (prefers-reduced-motion: reduce) {
|
|
145
|
-
.memori-reasoning__chevron,
|
|
146
|
-
.memori-reasoning__collapsible {
|
|
147
|
-
transition: none;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.memori-reasoning__label--thinking {
|
|
151
|
-
animation: none;
|
|
152
|
-
background: none;
|
|
153
|
-
color: color-mix(in oklch, var(--memori-text-color) 58%, transparent);
|
|
154
|
-
-webkit-text-fill-color: unset;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
7
|
-
const lucide_react_1 = require("lucide-react");
|
|
8
|
-
const react_i18next_1 = require("react-i18next");
|
|
9
|
-
const ReasoningBlock = ({ content, complete, }) => {
|
|
10
|
-
const { t } = (0, react_i18next_1.useTranslation)();
|
|
11
|
-
const panelId = (0, react_1.useId)();
|
|
12
|
-
const userToggled = (0, react_1.useRef)(false);
|
|
13
|
-
const startedAt = (0, react_1.useRef)(null);
|
|
14
|
-
const bodyRef = (0, react_1.useRef)(null);
|
|
15
|
-
const [open, setOpen] = (0, react_1.useState)(!complete);
|
|
16
|
-
const [elapsedSeconds, setElapsedSeconds] = (0, react_1.useState)(null);
|
|
17
|
-
const [overflowing, setOverflowing] = (0, react_1.useState)(false);
|
|
18
|
-
(0, react_1.useEffect)(() => {
|
|
19
|
-
if (!complete && startedAt.current == null) {
|
|
20
|
-
startedAt.current = Date.now();
|
|
21
|
-
}
|
|
22
|
-
}, [complete]);
|
|
23
|
-
(0, react_1.useEffect)(() => {
|
|
24
|
-
if (!complete || startedAt.current == null || elapsedSeconds != null) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
setElapsedSeconds(Math.max(1, Math.round((Date.now() - startedAt.current) / 1000)));
|
|
28
|
-
}, [complete, elapsedSeconds]);
|
|
29
|
-
(0, react_1.useEffect)(() => {
|
|
30
|
-
if (userToggled.current)
|
|
31
|
-
return;
|
|
32
|
-
setOpen(!complete);
|
|
33
|
-
}, [complete]);
|
|
34
|
-
(0, react_1.useLayoutEffect)(() => {
|
|
35
|
-
const el = bodyRef.current;
|
|
36
|
-
if (!el)
|
|
37
|
-
return;
|
|
38
|
-
if (open && !complete) {
|
|
39
|
-
el.scrollTop = el.scrollHeight;
|
|
40
|
-
}
|
|
41
|
-
setOverflowing(el.scrollHeight > el.clientHeight + 1);
|
|
42
|
-
}, [content, open, complete]);
|
|
43
|
-
const label = !complete
|
|
44
|
-
? t('thinking') || 'Thinking'
|
|
45
|
-
: elapsedSeconds != null
|
|
46
|
-
? t('thoughtFor', { count: elapsedSeconds }) ||
|
|
47
|
-
`Thought for ${elapsedSeconds}s`
|
|
48
|
-
: t('thought') || 'Thought';
|
|
49
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('memori-reasoning', {
|
|
50
|
-
'memori-reasoning--open': open,
|
|
51
|
-
'memori-reasoning--streaming': !complete,
|
|
52
|
-
'memori-reasoning--overflow': overflowing,
|
|
53
|
-
}), children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", className: "memori-reasoning__trigger", "aria-expanded": open, "aria-controls": panelId, onClick: () => {
|
|
54
|
-
userToggled.current = true;
|
|
55
|
-
setOpen(value => !value);
|
|
56
|
-
}, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "memori-reasoning__chevron", "aria-hidden": true, size: 14, strokeWidth: 2.25 }), (0, jsx_runtime_1.jsx)("span", { className: (0, classnames_1.default)('memori-reasoning__label', {
|
|
57
|
-
'memori-reasoning__label--thinking': !complete,
|
|
58
|
-
}), children: label })] }), (0, jsx_runtime_1.jsx)("div", { id: panelId, className: "memori-reasoning__collapsible", role: "region", "aria-hidden": !open, children: (0, jsx_runtime_1.jsx)("div", { className: "memori-reasoning__clip", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-reasoning__panel", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-reasoning__body", ref: bodyRef, children: content }) }) }) })] }));
|
|
59
|
-
};
|
|
60
|
-
exports.default = ReasoningBlock;
|
|
61
|
-
//# sourceMappingURL=ReasoningBlock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReasoningBlock.js","sourceRoot":"","sources":["../../../src/components/ReasoningBlock/ReasoningBlock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
.memori-side-drawer.memori-drawer {
|
|
2
|
-
display: flex;
|
|
3
|
-
min-height: 0;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.memori-side-drawer .memori-drawer__header {
|
|
8
|
-
align-items: flex-start;
|
|
9
|
-
gap: var(--memori-spacing-md);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.memori-side-drawer .memori-drawer__header > :first-child {
|
|
13
|
-
min-width: 0;
|
|
14
|
-
flex: 1 1 auto;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.memori-side-drawer .memori-drawer__title {
|
|
18
|
-
font-size: var(--memori-text-size-2xl);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.memori-side-drawer .memori-drawer__description {
|
|
22
|
-
color: color-mix(in oklch, var(--memori-text-color) 64%, transparent);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.memori-side-drawer .memori-drawer__body {
|
|
26
|
-
display: flex;
|
|
27
|
-
overflow: hidden;
|
|
28
|
-
min-height: 0;
|
|
29
|
-
flex: 1 1 auto;
|
|
30
|
-
flex-direction: column;
|
|
31
|
-
padding: 0;
|
|
32
|
-
padding-bottom: var(--memori-spacing-lg);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.memori-side-drawer__body {
|
|
36
|
-
display: flex;
|
|
37
|
-
overflow: auto;
|
|
38
|
-
min-height: 0;
|
|
39
|
-
flex: 1 1 auto;
|
|
40
|
-
flex-direction: column;
|
|
41
|
-
padding: var(--memori-spacing-md) var(--memori-spacing-lg);
|
|
42
|
-
gap: var(--memori-spacing-md);
|
|
43
|
-
scrollbar-color: color-mix(in oklch, var(--memori-neutral, #6b7280) 55%, transparent) transparent;
|
|
44
|
-
scrollbar-width: thin;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.memori-side-drawer__body::-webkit-scrollbar {
|
|
48
|
-
width: 8px;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.memori-side-drawer__body::-webkit-scrollbar-track {
|
|
52
|
-
background: transparent;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.memori-side-drawer__body::-webkit-scrollbar-thumb {
|
|
56
|
-
border-radius: 999px;
|
|
57
|
-
background-color: color-mix(in oklch, var(--memori-neutral, #6b7280) 45%, transparent);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.memori-side-drawer__body::-webkit-scrollbar-thumb:hover {
|
|
61
|
-
background-color: color-mix(in oklch, var(--memori-neutral, #6b7280) 60%, transparent);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.memori-side-drawer .memori-drawer__footer {
|
|
65
|
-
display: block;
|
|
66
|
-
justify-content: stretch;
|
|
67
|
-
padding: var(--memori-spacing-md) var(--memori-spacing-lg);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.memori-side-drawer .memori-drawer__footer .memori-drawer-footer {
|
|
71
|
-
width: 100%;
|
|
72
|
-
padding: 0;
|
|
73
|
-
border-top: none;
|
|
74
|
-
box-shadow: none;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.memori-side-drawer-empty {
|
|
78
|
-
display: flex;
|
|
79
|
-
flex-direction: column;
|
|
80
|
-
align-items: center;
|
|
81
|
-
padding: var(--memori-spacing-xl) var(--memori-spacing-md);
|
|
82
|
-
color: var(--memori-text-color);
|
|
83
|
-
gap: var(--memori-spacing-sm);
|
|
84
|
-
text-align: center;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.memori-side-drawer-empty__icon {
|
|
88
|
-
display: inline-flex;
|
|
89
|
-
width: 3.25rem;
|
|
90
|
-
height: 3.25rem;
|
|
91
|
-
align-items: center;
|
|
92
|
-
justify-content: center;
|
|
93
|
-
border-radius: var(--memori-radius-surface);
|
|
94
|
-
margin-bottom: var(--memori-spacing-xs);
|
|
95
|
-
background: var(--memori-main-background);
|
|
96
|
-
color: color-mix(in oklch, var(--memori-text-color) 55%, transparent);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.memori-side-drawer-empty__title {
|
|
100
|
-
margin: 0;
|
|
101
|
-
font-size: var(--memori-text-size-lg);
|
|
102
|
-
font-weight: var(--memori-text-weight-semibold);
|
|
103
|
-
line-height: var(--memori-text-line-tight);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.memori-side-drawer-empty__text {
|
|
107
|
-
max-width: 22.5rem;
|
|
108
|
-
margin: 0;
|
|
109
|
-
color: color-mix(in oklch, var(--memori-text-color) 64%, transparent);
|
|
110
|
-
font-size: var(--memori-text-size-sm);
|
|
111
|
-
line-height: var(--memori-text-line-relaxed);
|
|
112
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface SideDrawerProps {
|
|
3
|
-
open?: boolean;
|
|
4
|
-
onClose: () => void;
|
|
5
|
-
title: React.ReactNode;
|
|
6
|
-
description?: React.ReactNode;
|
|
7
|
-
footer?: React.ReactNode;
|
|
8
|
-
children?: React.ReactNode;
|
|
9
|
-
className?: string;
|
|
10
|
-
size?: 'sm' | 'md' | 'lg';
|
|
11
|
-
loading?: boolean;
|
|
12
|
-
closeLabel?: string;
|
|
13
|
-
}
|
|
14
|
-
declare const SideDrawer: React.FC<SideDrawerProps>;
|
|
15
|
-
export interface SideDrawerEmptyProps {
|
|
16
|
-
icon?: React.ReactNode;
|
|
17
|
-
title: React.ReactNode;
|
|
18
|
-
description?: React.ReactNode;
|
|
19
|
-
children?: React.ReactNode;
|
|
20
|
-
}
|
|
21
|
-
export declare const SideDrawerEmpty: React.FC<SideDrawerEmptyProps>;
|
|
22
|
-
export default SideDrawer;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SideDrawerEmpty = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
7
|
-
const ui_1 = require("@memori.ai/ui");
|
|
8
|
-
const SideDrawer = ({ open = true, onClose, title, description, footer, children, className, size = 'md', loading, closeLabel, }) => {
|
|
9
|
-
return ((0, jsx_runtime_1.jsx)(ui_1.Drawer, { open: open, anchor: "right", size: size, loading: loading, closeLabel: closeLabel, className: (0, classnames_1.default)('memori-side-drawer', className), title: title, description: description, footer: footer, onClose: onClose, onOpenChange: nextOpen => {
|
|
10
|
-
if (!nextOpen)
|
|
11
|
-
onClose();
|
|
12
|
-
}, children: (0, jsx_runtime_1.jsx)("div", { className: "memori-side-drawer__body", children: children }) }));
|
|
13
|
-
};
|
|
14
|
-
const SideDrawerEmpty = ({ icon, title, description, children, }) => ((0, jsx_runtime_1.jsxs)("div", { className: "memori-side-drawer-empty", role: "status", children: [icon != null && ((0, jsx_runtime_1.jsx)("span", { className: "memori-side-drawer-empty__icon", "aria-hidden": true, children: icon })), (0, jsx_runtime_1.jsx)("p", { className: "memori-side-drawer-empty__title", children: title }), description != null && ((0, jsx_runtime_1.jsx)("p", { className: "memori-side-drawer-empty__text", children: description })), children] }));
|
|
15
|
-
exports.SideDrawerEmpty = SideDrawerEmpty;
|
|
16
|
-
exports.default = SideDrawer;
|
|
17
|
-
//# sourceMappingURL=SideDrawer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SideDrawer.js","sourceRoot":"","sources":["../../../src/components/SideDrawer/SideDrawer.tsx"],"names":[],"mappings":";;;;;AACA,oEAA4B;AAC5B,sCAAuC;AAoBvC,MAAM,UAAU,GAA8B,CAAC,EAC7C,IAAI,GAAG,IAAI,EACX,OAAO,EACP,KAAK,EACL,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,IAAI,EACX,OAAO,EACP,UAAU,GACX,EAAE,EAAE;IACH,OAAO,CACL,uBAAC,WAAM,IACL,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,OAAO,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,IAAA,oBAAE,EAAC,oBAAoB,EAAE,SAAS,CAAC,EAC9C,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,QAAQ,CAAC,EAAE;YACvB,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;QAC3B,CAAC,YAED,gCAAK,SAAS,EAAC,0BAA0B,YAAE,QAAQ,GAAO,GACnD,CACV,CAAC;AACJ,CAAC,CAAC;AASK,MAAM,eAAe,GAAmC,CAAC,EAC9D,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,GACT,EAAE,EAAE,CAAC,CACJ,iCAAK,SAAS,EAAC,0BAA0B,EAAC,IAAI,EAAC,QAAQ,aACpD,IAAI,IAAI,IAAI,IAAI,CACf,iCAAM,SAAS,EAAC,gCAAgC,iCAC7C,IAAI,GACA,CACR,EACD,8BAAG,SAAS,EAAC,iCAAiC,YAAE,KAAK,GAAK,EACzD,WAAW,IAAI,IAAI,IAAI,CACtB,8BAAG,SAAS,EAAC,gCAAgC,YAAE,WAAW,GAAK,CAChE,EACA,QAAQ,IACL,CACP,CAAC;AAlBW,QAAA,eAAe,mBAkB1B;AAEF,kBAAe,UAAU,CAAC"}
|