New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@nft/chat

Package Overview
Dependencies
Maintainers
5
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nft/chat - npm Package Compare versions

Comparing version 0.1.4 to 0.1.5

22

dist/components/Conversation/MessageComposer.js

@@ -65,5 +65,5 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importStar(require("react"));
var react_2 = require("@chakra-ui/react");
var react_1 = require("@chakra-ui/react");
var outline_1 = require("@heroicons/react/outline");
var react_2 = __importStar(require("react"));
var useChat_1 = __importDefault(require("../../hooks/useChat"));

@@ -73,4 +73,4 @@ var MessageComposer = function (_a) {

var recipient = (0, useChat_1.default)().recipient;
var _b = (0, react_1.useState)(''), message = _b[0], setMessage = _b[1];
(0, react_1.useEffect)(function () { return setMessage(''); }, [recipient]);
var _b = (0, react_2.useState)(''), message = _b[0], setMessage = _b[1];
(0, react_2.useEffect)(function () { return setMessage(''); }, [recipient]);
var onMessageChange = function (e) {

@@ -95,11 +95,11 @@ return setMessage(e.currentTarget.value);

}); };
return (react_1.default.createElement("form", { onSubmit: onSubmit },
react_1.default.createElement(react_2.FormControl, null,
react_1.default.createElement(react_2.InputGroup, null,
react_1.default.createElement(react_2.Input, { id: "message", type: "text", placeholder: "Type something...", value: message, onChange: onMessageChange, required: true, autoComplete: "off" }),
react_1.default.createElement(react_2.InputRightElement, null,
react_1.default.createElement(react_2.IconButton, { size: "sm", type: "submit", "aria-label": "Send" },
react_1.default.createElement(outline_1.PaperAirplaneIcon, { style: { transform: 'rotateZ(90deg) scale(0.8)' } })))))));
return (react_2.default.createElement(react_1.chakra.form, { onSubmit: onSubmit, px: 3, py: 4 },
react_2.default.createElement(react_1.FormControl, null,
react_2.default.createElement(react_1.InputGroup, null,
react_2.default.createElement(react_1.Input, { id: "message", type: "text", placeholder: "Type something...", value: message, onChange: onMessageChange, required: true, autoComplete: "off" }),
react_2.default.createElement(react_1.InputRightElement, null,
react_2.default.createElement(react_1.IconButton, { size: "sm", type: "submit", "aria-label": "Send" },
react_2.default.createElement(outline_1.PaperAirplaneIcon, { style: { transform: 'rotateZ(90deg) scale(0.6)' } })))))));
};
exports.default = MessageComposer;
//# sourceMappingURL=MessageComposer.js.map

@@ -29,43 +29,43 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importStar(require("react"));
var react_1 = require("@chakra-ui/react");
var react_2 = __importStar(require("react"));
var react_emoji_render_1 = __importDefault(require("react-emoji-render"));
var Avatar_1 = __importDefault(require("../Avatar"));
var helpers_1 = require("../../helpers");
var Address_1 = __importDefault(require("../Address"));
var react_2 = require("@chakra-ui/react");
var Avatar_1 = __importDefault(require("../Avatar"));
var MessageTile = function (_a) {
var _b;
var message = _a.message;
return (react_1.default.createElement(react_2.Flex, { marginY: "2" },
react_1.default.createElement(Avatar_1.default, { peerAddress: message.senderAddress }),
react_1.default.createElement(react_2.Flex, { direction: "column", marginLeft: "2" },
react_1.default.createElement(react_2.Flex, { alignItems: "center" },
react_1.default.createElement(Address_1.default, { address: message.senderAddress }),
react_1.default.createElement(react_2.Text, { marginX: "2" }, (0, helpers_1.formatTime)(message.sent))),
react_1.default.createElement(react_2.Text, null, message.error ? ("Error: ".concat((_b = message.error) === null || _b === void 0 ? void 0 : _b.message)) : (react_1.default.createElement(react_emoji_render_1.default, { text: message.content || '' }))))));
return (react_2.default.createElement(react_1.Flex, { marginY: "2" },
react_2.default.createElement(Avatar_1.default, { peerAddress: message.senderAddress }),
react_2.default.createElement(react_1.Flex, { direction: "column", marginLeft: "2" },
react_2.default.createElement(react_1.Flex, { alignItems: "center" },
react_2.default.createElement(Address_1.default, { address: message.senderAddress }),
react_2.default.createElement(react_1.Text, { marginX: "2" }, (0, helpers_1.formatTime)(message.sent))),
react_2.default.createElement(react_1.Text, null, message.error ? ("Error: ".concat((_b = message.error) === null || _b === void 0 ? void 0 : _b.message)) : (react_2.default.createElement(react_emoji_render_1.default, { text: message.content || '' }))))));
};
var DateDivider = function (_a) {
var date = _a.date;
return (react_1.default.createElement(react_2.Flex, { alignItems: "center", justifyContent: "center", marginY: "2" },
react_1.default.createElement(react_2.Divider, null),
react_1.default.createElement(react_2.Text, { width: "full", align: "center" }, (0, helpers_1.formatDate)(date, { year: 'numeric', month: 'long', day: 'numeric' })),
react_1.default.createElement(react_2.Divider, null)));
return (react_2.default.createElement(react_1.Flex, { alignItems: "center", justifyContent: "center", marginY: "2" },
react_2.default.createElement(react_1.Divider, null),
react_2.default.createElement(react_1.Text, { width: "full", align: "center" }, (0, helpers_1.formatDate)(date, { year: 'numeric', month: 'long', day: 'numeric' })),
react_2.default.createElement(react_1.Divider, null)));
};
var ConversationBeginningNotice = function () { return (react_1.default.createElement(react_2.Flex, { justifyContent: "center", marginY: "4" },
react_1.default.createElement(react_2.Text, null, "This is the beginning of the conversation"))); };
var ConversationBeginningNotice = function () { return (react_2.default.createElement(react_1.Flex, { justifyContent: "center", marginY: "4" },
react_2.default.createElement(react_1.Text, null, "This is the beginning of the conversation"))); };
var MessagesList = function (_a) {
var messages = _a.messages, messagesEndRef = _a.messagesEndRef;
var lastMessageDate;
return (react_1.default.createElement(react_2.Flex, { width: "full", direction: "column", alignSelf: "end", padding: "4", grow: 1, overflowY: "auto" },
messages && messages.length ? react_1.default.createElement(ConversationBeginningNotice, null) : null, messages === null || messages === void 0 ? void 0 :
return (react_2.default.createElement(react_1.Flex, { width: "full", direction: "column", alignSelf: "end", px: 3, py: 4, grow: 1, overflowY: "auto" },
messages && messages.length ? react_2.default.createElement(ConversationBeginningNotice, null) : null, messages === null || messages === void 0 ? void 0 :
messages.map(function (msg) {
var dateHasChanged = !(0, helpers_1.isOnSameDay)(lastMessageDate, msg.sent);
lastMessageDate = msg.sent;
return (react_1.default.createElement(react_1.Fragment, { key: msg.id },
dateHasChanged ? react_1.default.createElement(DateDivider, { date: msg.sent }) : null,
react_1.default.createElement(MessageTile, { message: msg })));
return (react_2.default.createElement(react_2.Fragment, { key: msg.id },
dateHasChanged ? react_2.default.createElement(DateDivider, { date: msg.sent }) : null,
react_2.default.createElement(MessageTile, { message: msg })));
}),
react_1.default.createElement("div", { ref: messagesEndRef })));
react_2.default.createElement("div", { ref: messagesEndRef })));
};
exports.default = MessagesList;
//# sourceMappingURL=MessagesList.js.map
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

@@ -42,8 +65,8 @@ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }

Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("@chakra-ui/react");
var address_1 = require("@ethersproject/address");
var react_1 = __importDefault(require("react"));
var react_2 = require("react");
var react_2 = __importStar(require("react"));
var helpers_1 = require("../../helpers");
var useChat_1 = __importDefault(require("../../hooks/useChat"));
var useLookup_1 = __importDefault(require("../../hooks/useLookup"));
var react_3 = require("@chakra-ui/react");
var useChat_1 = __importDefault(require("../../hooks/useChat"));
var RecipientControl = function (_a) {

@@ -87,9 +110,9 @@ var value = _a.value, onSubmit = _a.onSubmit;

}); }, [onSubmit, client]);
return (react_1.default.createElement(react_3.FormControl, { isInvalid: !!error },
react_1.default.createElement(react_3.Flex, { alignItems: "center" },
react_1.default.createElement(react_3.FormLabel, { htmlFor: "recipient", marginBottom: 0 }, "To:"),
!value ? (react_1.default.createElement(react_3.Input, { id: "recipient", type: "recipient", onChange: handleInputChange, variant: "unstyled", autoFocus: true })) : (react_1.default.createElement(react_3.Text, null, name || value))),
error && react_1.default.createElement(react_3.FormErrorMessage, null, error.message)));
return (react_2.default.createElement(react_1.FormControl, { isInvalid: !!error, overflow: "hidden" },
react_2.default.createElement(react_1.Flex, { alignItems: "center" },
react_2.default.createElement(react_1.FormLabel, { htmlFor: "recipient", marginBottom: 0 }, "To:"),
!value ? (react_2.default.createElement(react_1.Input, { id: "recipient", type: "recipient", onChange: handleInputChange, variant: "unstyled", autoFocus: true })) : (react_2.default.createElement(react_1.Text, { title: name || value, isTruncated: true }, name || (0, helpers_1.shortAddress)(value)))),
error && react_2.default.createElement(react_1.FormErrorMessage, null, error.message)));
};
exports.default = RecipientControl;
//# sourceMappingURL=RecipientControl.js.map

@@ -6,9 +6,9 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var Address_1 = __importDefault(require("../Address"));
var react_1 = require("@chakra-ui/react");
var react_2 = __importDefault(require("react"));
var react_emoji_render_1 = __importDefault(require("react-emoji-render"));
var helpers_1 = require("../../helpers");
var useConversation_1 = __importDefault(require("../../hooks/useConversation"));
var Address_1 = __importDefault(require("../Address"));
var Avatar_1 = __importDefault(require("../Avatar"));
var react_emoji_render_1 = __importDefault(require("react-emoji-render"));
var react_2 = require("@chakra-ui/react");
// TODO: add design for `isSelected`

@@ -19,17 +19,17 @@ var ConversationTile = function (_a) {

var latestMessage = messages.length ? messages[messages.length - 1] : null;
return (react_1.default.createElement(react_2.LinkBox, { key: conversation.peerAddress },
react_1.default.createElement(react_2.Flex, { width: "full", paddingX: 2, paddingY: 4 },
react_1.default.createElement(Avatar_1.default, { peerAddress: conversation.peerAddress }),
react_1.default.createElement(react_2.Flex, { direction: "column", width: "full", marginLeft: "2" },
react_1.default.createElement(react_2.Flex, { justifyContent: "space-between", alignItems: "center", width: "full" },
react_1.default.createElement(react_2.LinkOverlay, { onClick: onClick, cursor: "pointer" },
react_1.default.createElement(Address_1.default, { address: conversation.peerAddress })),
react_1.default.createElement(react_2.Text, null, latestMessage ? (0, helpers_1.formatDate)(latestMessage.sent) : '-')),
react_1.default.createElement(react_2.Text, null,
react_1.default.createElement(react_emoji_render_1.default, { text: latestMessage
return (react_2.default.createElement(react_1.LinkBox, { key: conversation.peerAddress },
react_2.default.createElement(react_1.Flex, { width: "full", paddingX: 3, paddingY: 4 },
react_2.default.createElement(Avatar_1.default, { peerAddress: conversation.peerAddress }),
react_2.default.createElement(react_1.Flex, { direction: "column", width: "full", marginLeft: "2" },
react_2.default.createElement(react_1.Flex, { justifyContent: "space-between", alignItems: "center", width: "full" },
react_2.default.createElement(react_1.LinkOverlay, { onClick: onClick, cursor: "pointer" },
react_2.default.createElement(Address_1.default, { address: conversation.peerAddress })),
react_2.default.createElement(react_1.Text, null, latestMessage ? (0, helpers_1.formatDate)(latestMessage.sent) : '-')),
react_2.default.createElement(react_1.Text, null,
react_2.default.createElement(react_emoji_render_1.default, { text: latestMessage
? (0, helpers_1.truncate)(latestMessage.content, 75)
: 'loading...' })))),
react_1.default.createElement(react_2.Divider, null)));
react_2.default.createElement(react_1.Divider, null)));
};
exports.default = ConversationTile;
//# sourceMappingURL=ConversationTile.js.map

@@ -7,7 +7,7 @@ "use strict";

var react_1 = __importDefault(require("react"));
var useChat_1 = __importDefault(require("../../hooks/useChat"));
var useMessageStore_1 = __importDefault(require("../../hooks/useMessageStore"));
var Loader_1 = __importDefault(require("../Loader"));
var ConversationTile_1 = __importDefault(require("./ConversationTile"));
var NoConversationsMessage_1 = __importDefault(require("./NoConversationsMessage"));
var ConversationTile_1 = __importDefault(require("./ConversationTile"));
var Loader_1 = __importDefault(require("../Loader"));
var useChat_1 = __importDefault(require("../../hooks/useChat"));
var getLatestMessage = function (messages) {

@@ -14,0 +14,0 @@ return (messages === null || messages === void 0 ? void 0 : messages.length) ? messages[messages.length - 1] : null;

@@ -6,10 +6,10 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var react_2 = require("@chakra-ui/react");
var react_1 = require("@chakra-ui/react");
var react_2 = __importDefault(require("react"));
var NoConversationsMessage = function () {
return (react_1.default.createElement(react_2.Flex, { justifyItems: "center", alignItems: "center", direction: "column", textAlign: "center" },
react_1.default.createElement(react_2.Heading, { marginY: "4" }, "Your message list is empty"),
react_1.default.createElement(react_2.Heading, { size: "sm" }, "There are no messages for this address")));
return (react_2.default.createElement(react_1.Flex, { justifyItems: "center", alignItems: "center", direction: "column", textAlign: "center", p: 4 },
react_2.default.createElement(react_1.Heading, { size: "lg", marginY: "4" }, "Your message list is empty"),
react_2.default.createElement(react_1.Heading, { size: "sm" }, "There are no messages for this address")));
};
exports.default = NoConversationsMessage;
//# sourceMappingURL=NoConversationsMessage.js.map

@@ -51,16 +51,15 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importStar(require("react"));
var react_1 = require("@chakra-ui/react");
var outline_1 = require("@heroicons/react/outline");
var react_2 = __importStar(require("react"));
var useChat_1 = __importDefault(require("../hooks/useChat"));
var useThemeBackground_1 = __importDefault(require("../hooks/useThemeBackground"));
var Conversation_1 = require("./Conversation");
var NavigationPanel_1 = __importDefault(require("./NavigationPanel"));
var react_2 = require("react");
var react_3 = require("@chakra-ui/react");
var outline_1 = require("@heroicons/react/outline");
var useThemeBackground_1 = __importDefault(require("../hooks/useThemeBackground"));
var useChat_1 = __importDefault(require("../hooks/useChat"));
var AddressInput = function (_a) {
var onCancel = _a.onCancel, onSubmit = _a.onSubmit, recipient = _a.recipient, children = _a.children;
return (react_1.default.createElement(react_3.Flex, { alignItems: "center", padding: "4" },
react_1.default.createElement(react_3.Link, { onClick: onCancel, marginRight: "2" },
react_1.default.createElement(outline_1.ChevronLeftIcon, { width: "20" })),
react_1.default.createElement(Conversation_1.RecipientControl, { value: recipient, onSubmit: onSubmit }),
return (react_2.default.createElement(react_1.Flex, { alignItems: "center", paddingX: "3", paddingY: "4", overflow: "hidden" },
react_2.default.createElement(react_1.Link, { onClick: onCancel, marginRight: "2" },
react_2.default.createElement(outline_1.ChevronLeftIcon, { width: "20" })),
react_2.default.createElement(Conversation_1.RecipientControl, { value: recipient, onSubmit: onSubmit }),
children));

@@ -70,6 +69,6 @@ };

var createMode = _a.createMode, onCreate = _a.onCreate, children = _a.children, addressInputProps = __rest(_a, ["createMode", "onCreate", "children"]);
return createMode ? (react_1.default.createElement(AddressInput, __assign({}, addressInputProps), children)) : (react_1.default.createElement(react_3.Flex, { justifyContent: "space-between", padding: "3", alignItems: "center" },
react_1.default.createElement(react_3.Heading, { size: "md" }, "Messages"),
react_1.default.createElement(react_3.Spacer, null),
react_1.default.createElement(react_3.Button, { size: "sm", onClick: onCreate }, "+ New"),
return createMode ? (react_2.default.createElement(AddressInput, __assign({}, addressInputProps), children)) : (react_2.default.createElement(react_1.Flex, { justifyContent: "space-between", padding: "3", alignItems: "center" },
react_2.default.createElement(react_1.Heading, { size: "md" }, "Messages"),
react_2.default.createElement(react_1.Spacer, null),
react_2.default.createElement(react_1.Button, { size: "sm", onClick: onCreate }, "+ New"),
children));

@@ -82,4 +81,4 @@ };

var backgroundColor = (0, useThemeBackground_1.default)();
var ref = (0, react_1.createRef)();
var dimensions = (0, react_3.useDimensions)(ref, true);
var ref = (0, react_2.createRef)();
var dimensions = (0, react_1.useDimensions)(ref, true);
var reset = (0, react_2.useCallback)(function () {

@@ -105,13 +104,13 @@ setRecipient(undefined);

var shouldDisplayNavbar = !recipient || largeView;
return (react_1.default.createElement(react_3.Flex, { ref: ref, width: "full", height: "full", backgroundColor: backgroundColor },
shouldDisplayNavbar && (react_1.default.createElement(react_3.Flex, { direction: "column", borderRight: largeView ? '1px' : 0, borderRightColor: "inherit", overflowY: "auto", height: height, width: largeView ? menuWidth : 'full', minWidth: menuWidth },
react_1.default.createElement(Navbar, { createMode: createMode, onCancel: reset, onCreate: edit, onSubmit: selectRecipient, recipient: recipient }, children),
react_1.default.createElement(react_3.Divider, null),
react_1.default.createElement(NavigationPanel_1.default, null))),
signer && client && (recipient || largeView) && (react_1.default.createElement(react_3.Flex, { direction: "column", height: height, width: "full" },
react_1.default.createElement(AddressInput, { onCancel: reset, onSubmit: selectRecipient, recipient: recipient }, children),
react_1.default.createElement(react_3.Divider, null),
react_1.default.createElement(Conversation_1.Conversation, null)))));
return (react_2.default.createElement(react_1.Flex, { ref: ref, width: "full", height: "full", backgroundColor: backgroundColor },
shouldDisplayNavbar && (react_2.default.createElement(react_1.Flex, { direction: "column", borderRight: largeView ? '1px' : 0, borderRightColor: "inherit", overflowY: "auto", height: height, width: largeView ? menuWidth : 'full', minWidth: menuWidth },
react_2.default.createElement(Navbar, { createMode: createMode, onCancel: reset, onCreate: edit, onSubmit: selectRecipient, recipient: recipient }, children),
react_2.default.createElement(react_1.Divider, null),
react_2.default.createElement(NavigationPanel_1.default, null))),
signer && client && (recipient || largeView) && (react_2.default.createElement(react_1.Flex, { direction: "column", height: height, width: "full" },
react_2.default.createElement(AddressInput, { onCancel: reset, onSubmit: selectRecipient, recipient: recipient }, children),
react_2.default.createElement(react_1.Divider, null),
react_2.default.createElement(Conversation_1.Conversation, null)))));
};
exports.default = Layout;
//# sourceMappingURL=Layout.js.map

@@ -11,5 +11,5 @@ "use strict";

var headingText = _a.headingText, subHeadingText = _a.subHeadingText;
return (react_2.default.createElement(react_1.Flex, { justifyItems: "center", alignItems: "center", direction: "column", textAlign: "center", marginTop: "10" },
return (react_2.default.createElement(react_1.Flex, { justifyItems: "center", alignItems: "center", direction: "column", textAlign: "center", marginTop: "10", p: 4 },
react_2.default.createElement(react_1.Spinner, { size: "lg" }),
react_2.default.createElement(react_1.Heading, { marginY: "4" }, headingText),
react_2.default.createElement(react_1.Heading, { size: "lg", marginY: "4" }, headingText),
subHeadingText && react_2.default.createElement(react_1.Heading, { size: "sm" }, subHeadingText)));

@@ -16,0 +16,0 @@ };

@@ -6,12 +6,12 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var react_1 = require("@chakra-ui/react");
var outline_1 = require("@heroicons/react/outline");
var react_2 = require("@chakra-ui/react");
var react_2 = __importDefault(require("react"));
var NoWalletConnectedMessage = function () {
return (react_1.default.createElement(react_2.Flex, { justifyItems: "center", alignItems: "center", direction: "column", textAlign: "center" },
react_1.default.createElement(outline_1.LinkIcon, { width: "48" }),
react_1.default.createElement(react_2.Heading, { marginY: "4" }, "No wallet connected"),
react_1.default.createElement(react_2.Heading, { size: "sm" }, "Please connect a wallet to begin")));
return (react_2.default.createElement(react_1.Flex, { justifyItems: "center", alignItems: "center", direction: "column", textAlign: "center", p: 4 },
react_2.default.createElement(outline_1.LinkIcon, { width: "48" }),
react_2.default.createElement(react_1.Heading, { size: "lg", marginY: "4" }, "No wallet connected"),
react_2.default.createElement(react_1.Heading, { size: "sm" }, "Please connect a wallet to begin")));
};
exports.default = NoWalletConnectedMessage;
//# sourceMappingURL=NoWalletConnectedMessage.js.map
{
"name": "@nft/chat",
"version": "0.1.4",
"version": "0.1.5",
"description": "Wallet to wallet chat widget",

@@ -5,0 +5,0 @@ "private": false,

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc