@chayns-components/emoji-input 5.0.0-beta.1050 → 5.0.0-beta.1055

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.
@@ -1 +1 @@
1
- {"version":3,"file":"emojiHistory.js","names":["useCallback","useEffect","useRef","useState","getEmojiHistory","putEmojiHistory","useEmojiHistory","_ref","accessToken","personId","selectedCategory","historyEmojis","setHistoryEmojis","tempHistoryEmojis","addOrUpdateEmojiInHistory","_ref2","emoji","name","skin_tone_support","newHistoryEmojis","Array","from","current","historyItemIndex","findIndex","item","historyItem","splice","push","count","modifiedTime","Date","toISOString","sort","a","b","getTime","data","value","slice","loadHistoryEmojis"],"sources":["../../../src/hooks/emojiHistory.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { getEmojiHistory } from '../api/item-storage/get';\nimport { putEmojiHistory } from '../api/item-storage/put';\nimport type { Category } from '../types/category';\n\nexport interface HistoryItem {\n count: number;\n emoji: string;\n modifiedTime: string;\n name: string;\n skin_tone_support: boolean;\n}\n\ninterface UseEmojiHistoryOptions {\n accessToken?: string;\n personId?: string;\n selectedCategory: Category;\n}\n\nexport const useEmojiHistory = ({\n accessToken,\n personId,\n selectedCategory,\n}: UseEmojiHistoryOptions) => {\n const [historyEmojis, setHistoryEmojis] = useState<HistoryItem[]>([]);\n\n const tempHistoryEmojis = useRef<HistoryItem[] | null>(null);\n\n const addOrUpdateEmojiInHistory = useCallback(\n async ({\n emoji,\n name,\n skin_tone_support,\n }: {\n emoji: string;\n name: string;\n skin_tone_support: boolean;\n }) => {\n if (typeof accessToken !== 'string' || typeof personId !== 'string') {\n return;\n }\n\n const newHistoryEmojis = Array.from(tempHistoryEmojis.current ?? historyEmojis);\n\n const historyItemIndex = newHistoryEmojis.findIndex((item) => item.emoji === emoji);\n\n let historyItem;\n\n if (historyItemIndex > -1) {\n [historyItem] = newHistoryEmojis.splice(historyItemIndex, 1);\n }\n\n newHistoryEmojis.push({\n count: (historyItem?.count ?? 0) + 1,\n emoji,\n modifiedTime: new Date().toISOString(),\n name,\n skin_tone_support,\n });\n\n newHistoryEmojis.sort((a, b) => {\n if (a.count === b.count) {\n return new Date(b.modifiedTime).getTime() - new Date(a.modifiedTime).getTime();\n }\n\n return b.count - a.count;\n });\n\n const { data } = await putEmojiHistory({\n accessToken,\n personId,\n value: newHistoryEmojis.slice(0, 50),\n });\n\n if (data) {\n if (selectedCategory === 'history') {\n tempHistoryEmojis.current = data;\n } else {\n tempHistoryEmojis.current = null;\n\n setHistoryEmojis(data);\n }\n }\n },\n [accessToken, historyEmojis, personId, selectedCategory]\n );\n\n const loadHistoryEmojis = useCallback(async () => {\n if (typeof accessToken !== 'string' || typeof personId !== 'string') {\n return;\n }\n\n const { data } = await getEmojiHistory({ accessToken, personId });\n\n if (data) {\n setHistoryEmojis(data);\n }\n }, [accessToken, personId]);\n\n useEffect(() => {\n void loadHistoryEmojis();\n }, [loadHistoryEmojis]);\n\n useEffect(() => {\n if (selectedCategory !== 'history' && tempHistoryEmojis.current) {\n setHistoryEmojis(tempHistoryEmojis.current);\n }\n }, [selectedCategory]);\n\n return { addOrUpdateEmojiInHistory, historyEmojis: historyEmojis.slice(0, 25) };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"emojiHistory.js","names":["useCallback","useEffect","useRef","useState","getEmojiHistory","putEmojiHistory","useEmojiHistory","_ref","accessToken","personId","selectedCategory","historyEmojis","setHistoryEmojis","tempHistoryEmojis","addOrUpdateEmojiInHistory","_ref2","emoji","name","skin_tone_support","newHistoryEmojis","Array","from","current","historyItemIndex","findIndex","item","historyItem","splice","push","count","modifiedTime","Date","toISOString","sort","a","b","getTime","data","value","slice","loadHistoryEmojis"],"sources":["../../../src/hooks/emojiHistory.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { getEmojiHistory } from '../api/item-storage/get';\nimport { putEmojiHistory } from '../api/item-storage/put';\nimport type { Category } from '../types/category';\n\nexport interface HistoryItem {\n count: number;\n emoji: string;\n modifiedTime: string;\n name: string;\n skin_tone_support: boolean;\n}\n\ninterface UseEmojiHistoryOptions {\n accessToken?: string;\n personId?: string;\n selectedCategory: Category;\n}\n\nexport const useEmojiHistory = ({\n accessToken,\n personId,\n selectedCategory,\n}: UseEmojiHistoryOptions) => {\n const [historyEmojis, setHistoryEmojis] = useState<HistoryItem[]>([]);\n\n const tempHistoryEmojis = useRef<HistoryItem[] | null>(null);\n\n const addOrUpdateEmojiInHistory = useCallback(\n async ({\n emoji,\n name,\n skin_tone_support,\n }: {\n emoji: string;\n name: string;\n skin_tone_support: boolean;\n }) => {\n if (typeof accessToken !== 'string' || typeof personId !== 'string') {\n return;\n }\n\n const newHistoryEmojis = Array.from(tempHistoryEmojis.current ?? historyEmojis);\n\n const historyItemIndex = newHistoryEmojis.findIndex((item) => item.emoji === emoji);\n\n let historyItem;\n\n if (historyItemIndex > -1) {\n [historyItem] = newHistoryEmojis.splice(historyItemIndex, 1);\n }\n\n newHistoryEmojis.push({\n count: (historyItem?.count ?? 0) + 1,\n emoji,\n modifiedTime: new Date().toISOString(),\n name,\n skin_tone_support,\n });\n\n newHistoryEmojis.sort((a, b) => {\n if (a.count === b.count) {\n return new Date(b.modifiedTime).getTime() - new Date(a.modifiedTime).getTime();\n }\n\n return b.count - a.count;\n });\n\n const { data } = await putEmojiHistory({\n accessToken,\n personId,\n value: newHistoryEmojis.slice(0, 50),\n });\n\n if (data) {\n if (selectedCategory === 'history') {\n tempHistoryEmojis.current = data;\n } else {\n tempHistoryEmojis.current = null;\n\n setHistoryEmojis(data);\n }\n }\n },\n [accessToken, historyEmojis, personId, selectedCategory],\n );\n\n const loadHistoryEmojis = useCallback(async () => {\n if (typeof accessToken !== 'string' || typeof personId !== 'string') {\n return;\n }\n\n const { data } = await getEmojiHistory({ accessToken, personId });\n\n if (data) {\n setHistoryEmojis(data);\n }\n }, [accessToken, personId]);\n\n useEffect(() => {\n void loadHistoryEmojis();\n }, [loadHistoryEmojis]);\n\n useEffect(() => {\n if (selectedCategory !== 'history' && tempHistoryEmojis.current) {\n setHistoryEmojis(tempHistoryEmojis.current);\n }\n }, [selectedCategory]);\n\n return { addOrUpdateEmojiInHistory, historyEmojis: historyEmojis.slice(0, 25) };\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/emoji-input",
3
- "version": "5.0.0-beta.1050",
3
+ "version": "5.0.0-beta.1055",
4
4
  "description": "Input field that supports HTML elements and emojis",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -65,14 +65,14 @@
65
65
  "@types/uuid": "^10.0.0",
66
66
  "babel-loader": "^9.2.1",
67
67
  "cross-env": "^7.0.3",
68
- "lerna": "^8.1.9",
68
+ "lerna": "^8.2.1",
69
69
  "react": "^18.3.1",
70
70
  "react-dom": "^18.3.1",
71
71
  "styled-components": "^6.1.15",
72
- "typescript": "^5.7.3"
72
+ "typescript": "^5.8.2"
73
73
  },
74
74
  "dependencies": {
75
- "@chayns-components/core": "^5.0.0-beta.1050",
75
+ "@chayns-components/core": "^5.0.0-beta.1055",
76
76
  "emojilib": "^3.0.12",
77
77
  "unicode-emoji-json": "^0.8.0"
78
78
  },
@@ -86,5 +86,5 @@
86
86
  "publishConfig": {
87
87
  "access": "public"
88
88
  },
89
- "gitHead": "3e018ff5272fbb07b59380b1b1a1f82a8b0484a5"
89
+ "gitHead": "294463d8172dba57696db2ae43d630dc21de51b6"
90
90
  }