@replyke/ui-core-react-native 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CustomButton.d.ts +11 -0
- package/dist/cjs/components/CustomButton.js +27 -0
- package/dist/cjs/components/CustomButton.js.map +1 -0
- package/dist/cjs/components/EmojiSuggestions.d.ts +6 -0
- package/dist/cjs/components/EmojiSuggestions.js +59 -0
- package/dist/cjs/components/EmojiSuggestions.js.map +1 -0
- package/dist/cjs/components/FromNow.d.ts +9 -0
- package/dist/cjs/components/FromNow.js +54 -0
- package/dist/cjs/components/FromNow.js.map +1 -0
- package/dist/cjs/components/GiphyContainer.d.ts +14 -0
- package/dist/cjs/components/GiphyContainer.js +232 -0
- package/dist/cjs/components/GiphyContainer.js.map +1 -0
- package/dist/cjs/components/Skeleton.d.ts +6 -0
- package/dist/cjs/components/Skeleton.js +56 -0
- package/dist/cjs/components/Skeleton.js.map +1 -0
- package/dist/cjs/components/UserAvatar.d.ts +12 -0
- package/dist/cjs/components/UserAvatar.js +41 -0
- package/dist/cjs/components/UserAvatar.js.map +1 -0
- package/dist/cjs/components/index.d.ts +6 -0
- package/dist/cjs/components/index.js +21 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/constants/index.d.ts +1 -0
- package/dist/cjs/constants/index.js +18 -0
- package/dist/cjs/constants/index.js.map +1 -0
- package/dist/cjs/constants/reset-styles.d.ts +9 -0
- package/dist/cjs/constants/reset-styles.js +40 -0
- package/dist/cjs/constants/reset-styles.js.map +1 -0
- package/dist/cjs/helpers/getImageComponent.d.ts +10 -0
- package/dist/cjs/helpers/getImageComponent.js +25 -0
- package/dist/cjs/helpers/getImageComponent.js.map +1 -0
- package/dist/cjs/helpers/index.d.ts +2 -0
- package/dist/cjs/helpers/index.js +8 -0
- package/dist/cjs/helpers/index.js.map +1 -0
- package/dist/cjs/helpers/parseContentWithMentions.d.ts +2 -0
- package/dist/cjs/helpers/parseContentWithMentions.js +44 -0
- package/dist/cjs/helpers/parseContentWithMentions.js.map +1 -0
- package/dist/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/index.js +9 -0
- package/dist/cjs/hooks/index.js.map +1 -0
- package/dist/cjs/hooks/useTextInputCursorIndicator.d.ts +7 -0
- package/dist/cjs/hooks/useTextInputCursorIndicator.js +24 -0
- package/dist/cjs/hooks/useTextInputCursorIndicator.js.map +1 -0
- package/dist/cjs/icons/FlagIcon.d.ts +7 -0
- package/dist/cjs/icons/FlagIcon.js +42 -0
- package/dist/cjs/icons/FlagIcon.js.map +1 -0
- package/dist/cjs/icons/HeartFullIcon.d.ts +7 -0
- package/dist/cjs/icons/HeartFullIcon.js +40 -0
- package/dist/cjs/icons/HeartFullIcon.js.map +1 -0
- package/dist/cjs/icons/HeartIcon.d.ts +7 -0
- package/dist/cjs/icons/HeartIcon.js +40 -0
- package/dist/cjs/icons/HeartIcon.js.map +1 -0
- package/dist/cjs/icons/MagnifyingGlassIcon.d.ts +8 -0
- package/dist/cjs/icons/MagnifyingGlassIcon.js +40 -0
- package/dist/cjs/icons/MagnifyingGlassIcon.js.map +1 -0
- package/dist/cjs/icons/TrashIcon.d.ts +7 -0
- package/dist/cjs/icons/TrashIcon.js +40 -0
- package/dist/cjs/icons/TrashIcon.js.map +1 -0
- package/dist/cjs/icons/index.d.ts +6 -0
- package/dist/cjs/icons/index.js +17 -0
- package/dist/cjs/icons/index.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/components/CustomButton.d.ts +11 -0
- package/dist/esm/components/CustomButton.js +25 -0
- package/dist/esm/components/CustomButton.js.map +1 -0
- package/dist/esm/components/EmojiSuggestions.d.ts +6 -0
- package/dist/esm/components/EmojiSuggestions.js +57 -0
- package/dist/esm/components/EmojiSuggestions.js.map +1 -0
- package/dist/esm/components/FromNow.d.ts +9 -0
- package/dist/esm/components/FromNow.js +49 -0
- package/dist/esm/components/FromNow.js.map +1 -0
- package/dist/esm/components/GiphyContainer.d.ts +14 -0
- package/dist/esm/components/GiphyContainer.js +229 -0
- package/dist/esm/components/GiphyContainer.js.map +1 -0
- package/dist/esm/components/Skeleton.d.ts +6 -0
- package/dist/esm/components/Skeleton.js +52 -0
- package/dist/esm/components/Skeleton.js.map +1 -0
- package/dist/esm/components/UserAvatar.d.ts +12 -0
- package/dist/esm/components/UserAvatar.js +39 -0
- package/dist/esm/components/UserAvatar.js.map +1 -0
- package/dist/esm/components/index.d.ts +6 -0
- package/dist/esm/components/index.js +7 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.js +2 -0
- package/dist/esm/constants/index.js.map +1 -0
- package/dist/esm/constants/reset-styles.d.ts +9 -0
- package/dist/esm/constants/reset-styles.js +37 -0
- package/dist/esm/constants/reset-styles.js.map +1 -0
- package/dist/esm/helpers/getImageComponent.d.ts +10 -0
- package/dist/esm/helpers/getImageComponent.js +21 -0
- package/dist/esm/helpers/getImageComponent.js.map +1 -0
- package/dist/esm/helpers/index.d.ts +2 -0
- package/dist/esm/helpers/index.js +3 -0
- package/dist/esm/helpers/index.js.map +1 -0
- package/dist/esm/helpers/parseContentWithMentions.d.ts +2 -0
- package/dist/esm/helpers/parseContentWithMentions.js +40 -0
- package/dist/esm/helpers/parseContentWithMentions.js.map +1 -0
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.js +2 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/useTextInputCursorIndicator.d.ts +7 -0
- package/dist/esm/hooks/useTextInputCursorIndicator.js +21 -0
- package/dist/esm/hooks/useTextInputCursorIndicator.js.map +1 -0
- package/dist/esm/icons/FlagIcon.d.ts +7 -0
- package/dist/esm/icons/FlagIcon.js +7 -0
- package/dist/esm/icons/FlagIcon.js.map +1 -0
- package/dist/esm/icons/HeartFullIcon.d.ts +7 -0
- package/dist/esm/icons/HeartFullIcon.js +5 -0
- package/dist/esm/icons/HeartFullIcon.js.map +1 -0
- package/dist/esm/icons/HeartIcon.d.ts +7 -0
- package/dist/esm/icons/HeartIcon.js +5 -0
- package/dist/esm/icons/HeartIcon.js.map +1 -0
- package/dist/esm/icons/MagnifyingGlassIcon.d.ts +8 -0
- package/dist/esm/icons/MagnifyingGlassIcon.js +5 -0
- package/dist/esm/icons/MagnifyingGlassIcon.js.map +1 -0
- package/dist/esm/icons/TrashIcon.d.ts +7 -0
- package/dist/esm/icons/TrashIcon.js +5 -0
- package/dist/esm/icons/TrashIcon.js.map +1 -0
- package/dist/esm/icons/index.d.ts +6 -0
- package/dist/esm/icons/index.js +7 -0
- package/dist/esm/icons/index.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamically loads the Image component.
|
|
3
|
+
* Tries to require expo-image's Image, and if not found, falls back to React Native's Image.
|
|
4
|
+
*
|
|
5
|
+
* @returns {Object} An object containing the ImageComponent and a flag indicating if it's expo-image.
|
|
6
|
+
*/
|
|
7
|
+
export declare const getImageComponent: () => {
|
|
8
|
+
ImageComponent: any;
|
|
9
|
+
isExpo: boolean;
|
|
10
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamically loads the Image component.
|
|
3
|
+
* Tries to require expo-image's Image, and if not found, falls back to React Native's Image.
|
|
4
|
+
*
|
|
5
|
+
* @returns {Object} An object containing the ImageComponent and a flag indicating if it's expo-image.
|
|
6
|
+
*/
|
|
7
|
+
export const getImageComponent = () => {
|
|
8
|
+
let ImageComponent;
|
|
9
|
+
let isExpo = false;
|
|
10
|
+
try {
|
|
11
|
+
// Try to load expo-image's Image component.
|
|
12
|
+
ImageComponent = require("expo-image").Image;
|
|
13
|
+
isExpo = true;
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
// Fallback to React Native's Image.
|
|
17
|
+
ImageComponent = require("react-native").Image;
|
|
18
|
+
}
|
|
19
|
+
return { ImageComponent, isExpo };
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=getImageComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getImageComponent.js","sourceRoot":"","sources":["../../../src/helpers/getImageComponent.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,cAAc,CAAC;IACnB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC;QACH,4CAA4C;QAC5C,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QAC7C,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oCAAoC;QACpC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { Mention } from "@replyke/core";
|
|
2
|
+
export declare const parseContentWithMentions: (content: string, mentions: Mention[], currentUserId: string | undefined, currentUserClickCallback: (() => void) | undefined, otherUserClickCallback: ((userId: string) => void) | undefined) => (string | JSX.Element)[];
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from "react-native";
|
|
3
|
+
export const parseContentWithMentions = (content, mentions, currentUserId, currentUserClickCallback, otherUserClickCallback) => {
|
|
4
|
+
if (!mentions.length)
|
|
5
|
+
return [content];
|
|
6
|
+
// Create a regex pattern to match all mentions in the array, escaping special characters
|
|
7
|
+
const mentionPattern = new RegExp(mentions
|
|
8
|
+
.map((mention) => `@${mention.username.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")}`)
|
|
9
|
+
.join("|"), "g");
|
|
10
|
+
// Replace mentions with a placeholder and split content based on the regex
|
|
11
|
+
const parts = content.split(mentionPattern);
|
|
12
|
+
// Find all matched mentions in the content
|
|
13
|
+
const matches = Array.from(content.matchAll(mentionPattern));
|
|
14
|
+
// Construct the parsed output
|
|
15
|
+
const parsedContent = [];
|
|
16
|
+
let lastIndex = 0;
|
|
17
|
+
parts.forEach((part, index) => {
|
|
18
|
+
if (part) {
|
|
19
|
+
parsedContent.push(part);
|
|
20
|
+
lastIndex += part.length;
|
|
21
|
+
}
|
|
22
|
+
const match = matches[index];
|
|
23
|
+
if (match) {
|
|
24
|
+
const matchedMention = mentions.find((mention) => `@${mention.username}` === match[0]);
|
|
25
|
+
if (matchedMention) {
|
|
26
|
+
parsedContent.push(_jsx(Text, { style: { color: "#1e40af" }, onPress: () => {
|
|
27
|
+
if (matchedMention.id === currentUserId) {
|
|
28
|
+
currentUserClickCallback?.();
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
otherUserClickCallback?.(matchedMention.id);
|
|
32
|
+
}
|
|
33
|
+
}, children: match[0] }, lastIndex));
|
|
34
|
+
lastIndex += match[0].length;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return parsedContent;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=parseContentWithMentions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseContentWithMentions.js","sourceRoot":"","sources":["../../../src/helpers/parseContentWithMentions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAe,EACf,QAAmB,EACnB,aAAiC,EACjC,wBAAkD,EAClD,sBAA8D,EACpC,EAAE;IAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC,yFAAyF;IACzF,MAAM,cAAc,GAAG,IAAI,MAAM,CAC/B,QAAQ;SACL,GAAG,CACF,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,EAAE,CAClE;SACA,IAAI,CAAC,GAAG,CAAC,EACZ,GAAG,CACJ,CAAC;IAEF,2EAA2E;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE5C,2CAA2C;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAE7D,8BAA8B;IAC9B,MAAM,aAAa,GAA6B,EAAE,CAAC;IACnD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,IAAI,IAAI,EAAE,CAAC;YACT,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CACjD,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,IAAI,CAChB,KAAC,IAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAC3B,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,cAAc,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;4BACxC,wBAAwB,EAAE,EAAE,CAAC;wBAC/B,CAAC;6BAAM,CAAC;4BACN,sBAAsB,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC,YAGA,KAAK,CAAC,CAAC,CAAC,IAFJ,SAAS,CAGT,CACR,CAAC;gBACF,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as useTextInputCursorIndicator } from "./useTextInputCursorIndicator";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NativeSyntheticEvent, TextInputSelectionChangeEventData } from "react-native";
|
|
2
|
+
export default function useTextInputCursorIndicator(): {
|
|
3
|
+
cursorPosition: number;
|
|
4
|
+
isSelectionActive: boolean;
|
|
5
|
+
handleSelectionChange: (event: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;
|
|
6
|
+
handleTextChange: (text: string) => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useState, useCallback } from "react";
|
|
2
|
+
export default function useTextInputCursorIndicator() {
|
|
3
|
+
const [cursorPosition, setCursorPosition] = useState(0);
|
|
4
|
+
const [isSelectionActive, setIsSelectionActive] = useState(false);
|
|
5
|
+
const handleSelectionChange = useCallback((event) => {
|
|
6
|
+
const { selection } = event.nativeEvent;
|
|
7
|
+
setCursorPosition(selection.start); // Keeps cursor position in sync
|
|
8
|
+
setIsSelectionActive(selection.start !== selection.end);
|
|
9
|
+
}, []);
|
|
10
|
+
const handleTextChange = useCallback((text) => {
|
|
11
|
+
setIsSelectionActive(false); // Reset selection state if typing
|
|
12
|
+
// No need to modify cursorPosition, as onSelectionChange will update it automatically
|
|
13
|
+
}, []);
|
|
14
|
+
return {
|
|
15
|
+
cursorPosition,
|
|
16
|
+
isSelectionActive,
|
|
17
|
+
handleSelectionChange,
|
|
18
|
+
handleTextChange,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=useTextInputCursorIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTextInputCursorIndicator.js","sourceRoot":"","sources":["../../../src/hooks/useTextInputCursorIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAM9C,MAAM,CAAC,OAAO,UAAU,2BAA2B;IACjD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE3E,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,KAA8D,EAAE,EAAE;QACjE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;QACxC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,gCAAgC;QACpE,oBAAoB,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QACpD,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,kCAAkC;QAC/D,sFAAsF;IACxF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,cAAc;QACd,iBAAiB;QACjB,qBAAqB;QACrB,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Svg, { Path } from "react-native-svg";
|
|
3
|
+
const FlagIcon = ({ size = 20, color = "#DC2626" }) => {
|
|
4
|
+
return (_jsx(Svg, { width: size, height: size, viewBox: "0 0 16 16", fill: "none", children: _jsx(Path, { d: "M14.27 1.48a1.3 1.3 0 0 0-.65.18 6.32 6.32 0 0 1-3 1.1c-1.66 0-3.65-1-5.65-1a11.41 11.41 0 0 0-3.18.46v-.09a.63.63 0 0 0-1.25 0v11.76a.63.63 0 1 0 1.25 0V11a10.56 10.56 0 0 1 3.18-.46c1.66 0 4.4 1 6.45 1A5.86 5.86 0 0 0 15 10.11a1.17 1.17 0 0 0 .47-.93V2.66a1.21 1.21 0 0 0-1.2-1.18zm0 7.65a4.58 4.58 0 0 1-2.87 1.08 17.73 17.73 0 0 1-3.29-.49 16 16 0 0 0-3.16-.48A12.3 12.3 0 0 0 2 9.57v-6.1A9.85 9.85 0 0 1 4.93 3a11.59 11.59 0 0 1 2.78.48 11.9 11.9 0 0 0 2.87.52 7.5 7.5 0 0 0 3.67-1.27z", fill: color }) }));
|
|
5
|
+
};
|
|
6
|
+
export default FlagIcon;
|
|
7
|
+
//# sourceMappingURL=FlagIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlagIcon.js","sourceRoot":"","sources":["../../../src/icons/FlagIcon.tsx"],"names":[],"mappings":";AACA,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,MAAM,QAAQ,GAAwB,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,SAAS,EAAE,EAAE,EAAE;IACzE,OAAO,CACL,KAAC,GAAG,IAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,YAC7D,KAAC,IAAI,IACH,CAAC,EAAC,4eAA4e,EAC9e,IAAI,EAAE,KAAK,GACX,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Svg, { Path } from "react-native-svg";
|
|
3
|
+
const HeartFullIcon = ({ color = "#DC2626", size = 20, }) => (_jsx(Svg, { viewBox: "0 0 512 512", width: size, height: size, fill: color, children: _jsx(Path, { d: "M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z" }) }));
|
|
4
|
+
export default HeartFullIcon;
|
|
5
|
+
//# sourceMappingURL=HeartFullIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeartFullIcon.js","sourceRoot":"","sources":["../../../src/icons/HeartFullIcon.tsx"],"names":[],"mappings":";AACA,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,MAAM,aAAa,GAAiC,CAAC,EACnD,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,EAAE,GACV,EAAE,EAAE,CAAC,CACJ,KAAC,GAAG,IAAC,OAAO,EAAC,aAAa,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,YAC/D,KAAC,IAAI,IAAC,CAAC,EAAC,kRAAkR,GAAG,GACzR,CACP,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Svg, { Path } from "react-native-svg";
|
|
3
|
+
const HeartIcon = ({ color = "#000", size = 20 }) => (_jsx(Svg, { viewBox: "0 0 512 512", width: size, height: size, fill: color, children: _jsx(Path, { d: "M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8l0-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5l0 3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1s0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5l0 3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2l0-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z" }) }));
|
|
4
|
+
export default HeartIcon;
|
|
5
|
+
//# sourceMappingURL=HeartIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeartIcon.js","sourceRoot":"","sources":["../../../src/icons/HeartIcon.tsx"],"names":[],"mappings":";AACA,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,MAAM,SAAS,GAA6B,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAC7E,KAAC,GAAG,IACF,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,KAAK,YAEX,KAAC,IAAI,IAAC,CAAC,EAAC,ksBAAksB,GAAG,GACzsB,CACP,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Svg, { Path } from "react-native-svg";
|
|
3
|
+
const MagnifyingGlassIcon = ({ color = "#000000", width = 24, height = 24, }) => (_jsx(Svg, { viewBox: "0 0 256 256", width: width, height: height, fill: "none", children: _jsx(Path, { d: "M232.47656,215.51563l-40.67773-40.67774a96.10791,96.10791,0,1,0-16.97168,16.96973l40.67871,40.67871a12.0001,12.0001,0,1,0,16.9707-16.9707ZM43.99707,116a72,72,0,1,1,72,72A72.08124,72.08124,0,0,1,43.99707,116Z", fill: color }) }));
|
|
4
|
+
export default MagnifyingGlassIcon;
|
|
5
|
+
//# sourceMappingURL=MagnifyingGlassIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MagnifyingGlassIcon.js","sourceRoot":"","sources":["../../../src/icons/MagnifyingGlassIcon.tsx"],"names":[],"mappings":";AACA,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQ7C,MAAM,mBAAmB,GAAuC,CAAC,EAC/D,KAAK,GAAG,SAAS,EACjB,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,GACZ,EAAE,EAAE,CAAC,CACJ,KAAC,GAAG,IAAC,OAAO,EAAC,aAAa,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,YAClE,KAAC,IAAI,IACH,CAAC,EAAC,iNAAiN,EACnN,IAAI,EAAE,KAAK,GACX,GACE,CACP,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Svg, { Path } from "react-native-svg";
|
|
3
|
+
const TrashIcon = ({ color = "#1C274C", size = 24, }) => (_jsxs(Svg, { viewBox: "0 0 24 24", width: size, height: size, fill: "none", children: [_jsx(Path, { d: "M20.5001 6H3.5", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), _jsx(Path, { d: "M18.8332 8.5L18.3732 15.3991C18.1962 18.054 18.1077 19.3815 17.2427 20.1907C16.3777 21 15.0473 21 12.3865 21H11.6132C8.95235 21 7.62195 21 6.75694 20.1907C5.89194 19.3815 5.80344 18.054 5.62644 15.3991L5.1665 8.5", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), _jsx(Path, { d: "M9.5 11L10 16", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), _jsx(Path, { d: "M14.5 11L14 16", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), _jsx(Path, { d: "M6.5 6C6.55588 6 6.58382 6 6.60915 5.99936C7.43259 5.97849 8.15902 5.45491 8.43922 4.68032C8.44784 4.65649 8.45667 4.62999 8.47434 4.57697L8.57143 4.28571C8.65431 4.03708 8.69575 3.91276 8.75071 3.8072C8.97001 3.38607 9.37574 3.09364 9.84461 3.01877C9.96213 3 10.0932 3 10.3553 3H13.6447C13.9068 3 14.0379 3 14.1554 3.01877C14.6243 3.09364 15.03 3.38607 15.2493 3.8072C15.3043 3.91276 15.3457 4.03708 15.4286 4.28571L15.5257 4.57697C15.5433 4.62992 15.5522 4.65651 15.5608 4.68032C15.841 5.45491 16.5674 5.97849 17.3909 5.99936C17.4162 6 17.4441 6 17.5 6", stroke: color, strokeWidth: "1.5" })] }));
|
|
4
|
+
export default TrashIcon;
|
|
5
|
+
//# sourceMappingURL=TrashIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrashIcon.js","sourceRoot":"","sources":["../../../src/icons/TrashIcon.tsx"],"names":[],"mappings":";AACA,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,MAAM,SAAS,GAA6B,CAAC,EAC3C,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,EAAE,GACV,EAAE,EAAE,CAAC,CACJ,MAAC,GAAG,IAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,aAC7D,KAAC,IAAI,IACH,CAAC,EAAC,gBAAgB,EAClB,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,GACrB,EACF,KAAC,IAAI,IACH,CAAC,EAAC,sNAAsN,EACxN,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,GACrB,EACF,KAAC,IAAI,IACH,CAAC,EAAC,eAAe,EACjB,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,GACrB,EACF,KAAC,IAAI,IACH,CAAC,EAAC,gBAAgB,EAClB,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,GACrB,EACF,KAAC,IAAI,IACH,CAAC,EAAC,4iBAA4iB,EAC9iB,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,KAAK,GACjB,IACE,CACP,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import FlagIcon from "./FlagIcon";
|
|
2
|
+
import HeartFullIcon from "./HeartFullIcon";
|
|
3
|
+
import HeartIcon from "./HeartIcon";
|
|
4
|
+
import MagnifyingGlassIcon from "./MagnifyingGlassIcon";
|
|
5
|
+
import TrashIcon from "./TrashIcon";
|
|
6
|
+
export { FlagIcon, HeartFullIcon, HeartIcon, MagnifyingGlassIcon, TrashIcon };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import FlagIcon from "./FlagIcon";
|
|
2
|
+
import HeartFullIcon from "./HeartFullIcon";
|
|
3
|
+
import HeartIcon from "./HeartIcon";
|
|
4
|
+
import MagnifyingGlassIcon from "./MagnifyingGlassIcon";
|
|
5
|
+
import TrashIcon from "./TrashIcon";
|
|
6
|
+
export { FlagIcon, HeartFullIcon, HeartIcon, MagnifyingGlassIcon, TrashIcon };
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@replyke/ui-core-react-native",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"author": "Replyke, maintained by Yanay Tsabary",
|
|
5
|
+
"description": "Replyke React components: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"react",
|
|
8
|
+
"social features",
|
|
9
|
+
"comment section",
|
|
10
|
+
"comments",
|
|
11
|
+
"nested comments",
|
|
12
|
+
"likes",
|
|
13
|
+
"votes",
|
|
14
|
+
"feeds",
|
|
15
|
+
"user lists",
|
|
16
|
+
"notifications",
|
|
17
|
+
"interactive apps",
|
|
18
|
+
"reactions",
|
|
19
|
+
"content moderation",
|
|
20
|
+
"reporting",
|
|
21
|
+
"mentions",
|
|
22
|
+
"user interactions",
|
|
23
|
+
"frontend tools",
|
|
24
|
+
"social media",
|
|
25
|
+
"replyke",
|
|
26
|
+
"react-component"
|
|
27
|
+
],
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"main": "dist/cjs/index.js",
|
|
30
|
+
"module": "dist/esm/index.js",
|
|
31
|
+
"types": "dist/esm/index.d.ts",
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist"
|
|
37
|
+
],
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@giphy/js-fetch-api": "^5.6.0",
|
|
40
|
+
"@giphy/react-components": "^9.8.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@replyke/core": "^4.0.3",
|
|
44
|
+
"expo-image": "^2.0.4",
|
|
45
|
+
"moment": "^2.30.1",
|
|
46
|
+
"react-native-gesture-handler": "^2.22.1",
|
|
47
|
+
"react-native-svg": "^15.11.1"
|
|
48
|
+
},
|
|
49
|
+
"peerDependencies": {
|
|
50
|
+
"@replyke/core": "^4",
|
|
51
|
+
"expo-image": "^2",
|
|
52
|
+
"moment": "^2",
|
|
53
|
+
"react-native-gesture-handler": "^2",
|
|
54
|
+
"react-native-svg": "^15"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
58
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
59
|
+
"build": "rimraf dist && pnpm run build:esm && pnpm run build:cjs",
|
|
60
|
+
"prepublish": "pnpm run build"
|
|
61
|
+
}
|
|
62
|
+
}
|