@projectcor/maia-components 2.11.36-6 → 2.11.36
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/lib/App.js +11 -24
- package/lib/components/atoms/MAIAInput/MAIAInput.js +191 -61
- package/lib/components/atoms/icons/index.js +1 -3
- package/lib/components/index.js +1 -2
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +2 -2
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +3 -3
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +2 -2
- package/lib/components/molecules/AbmSection/index.js +1 -2
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -15
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +4 -8
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -21
- package/lib/components/molecules/ChatAIMessages/newStyles.js +2 -2
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +88 -90
- package/lib/components/molecules/ChatAIModal/constants.js +2 -10
- package/lib/components/molecules/ChatFooter/ChatFooter.js +4 -5
- package/lib/components/molecules/Sidebar/Sidebar.js +31 -68
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -6
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +50 -235
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +4 -4
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +3 -13
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +3 -6
- package/lib/dev/Providers.js +6 -11
- package/lib/hooks/useAgentModel/useCreateAgent.js +10 -11
- package/lib/hooks/useAgentModel/useUpdateAgent.js +11 -12
- package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
- package/lib/hooks/useChatManager/useChatManager.js +11 -21
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +1 -1
- package/lib/hooks/useChatMessages/useChatMessages.js +14 -30
- package/lib/hooks/useEvent.js +1 -5
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +4 -6
- package/lib/lang/br/index.js +1 -267
- package/lib/lang/en/index.js +1 -267
- package/lib/lang/es/index.js +1 -267
- package/lib/lang/fr/index.js +2 -269
- package/lib/services/maia/Agents/createAgent.js +1 -1
- package/lib/services/maia/Agents/getAgentById.js +2 -3
- package/lib/services/maia/Agents/updateAgent.js +1 -1
- package/lib/services/maia/Chats/getChatMessages.js +4 -29
- package/lib/services/maia/Orchestrator/orchestrator.js +9 -11
- package/lib/services/maia/RecentProjects/getRecentProjects.js +4 -12
- package/lib/services/utils/mapChatMessages.js +5 -12
- package/lib/types/Chat.js +1 -1
- package/lib/types/agent.js +1 -1
- package/lib/types/agentModal.js +1 -1
- package/package.json +1 -1
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -28
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -84
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -123
- package/lib/components/atoms/ContextMentionChip/index.js +0 -4
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -85
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -6
- package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -188
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -98
- package/lib/components/atoms/ContextMentionItem/index.js +0 -2
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -131
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -63
- package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
- package/lib/components/atoms/icons/NotionIcon.js +0 -36
- package/lib/components/atoms/icons/RocketIcon.js +0 -31
- package/lib/components/atoms/icons/WrenchIcon.js +0 -42
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.js +0 -483
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.styles.js +0 -238
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/catalog.js +0 -437
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/index.js +0 -3
- package/lib/components/molecules/AbmSection/AbmSkillsSection.styles.js +0 -80
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.interface.js +0 -2
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.js +0 -722
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.styles.js +0 -165
- package/lib/components/molecules/AbmSection/AbmTriggersSection/index.js +0 -2
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -55
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
- package/lib/components/molecules/ContextMentionInput/index.js +0 -2
- package/lib/components/molecules/SchedulesPage/SchedulesPage.js +0 -625
- package/lib/components/molecules/SchedulesPage/index.js +0 -2
- package/lib/components/molecules/SkillsPage/SkillsPage.js +0 -708
- package/lib/components/molecules/SkillsPage/index.js +0 -2
- package/lib/components/molecules/maiaSectionModalStyles.js +0 -91
- package/lib/components/molecules/maiaSectionUiTokens.js +0 -31
- package/lib/constants/taskLinkIcon.js +0 -6
- package/lib/dev/DevAbmAgentModal.js +0 -114
- package/lib/dev/DevContextMentionInput.js +0 -65
- package/lib/dev/mocks/abmModalMocks.js +0 -193
- package/lib/hooks/useCaretPosition.js +0 -35
- package/lib/hooks/useContextMentions.js +0 -204
- package/lib/hooks/useEntitySearch.js +0 -405
- package/lib/hooks/useMentionAllowedTypes.js +0 -86
- package/lib/hooks/useMentionPopover.js +0 -284
- package/lib/services/maia/Agents/connectors.js +0 -89
- package/lib/services/maia/Agents/skills.js +0 -164
- package/lib/services/maia/Schedules/createSchedule.js +0 -39
- package/lib/services/maia/Schedules/deleteSchedule.js +0 -36
- package/lib/services/maia/Schedules/getMySchedules.js +0 -55
- package/lib/services/maia/Schedules/getSchedules.js +0 -58
- package/lib/services/maia/Schedules/index.js +0 -5
- package/lib/services/query/entitySearchQuery.js +0 -16
- package/lib/services/query/usersDirectoryQuery.js +0 -19
- package/lib/types/agentSkill.js +0 -2
- package/lib/types/attachment.js +0 -2
- package/lib/types/contextMention.js +0 -37
- package/lib/utils/contextMentionIcons.js +0 -115
- package/lib/utils/contextMentionLabel.js +0 -4
- package/lib/utils/contextMentionTypeLabel.js +0 -17
- package/lib/utils/renderContextMentions.js +0 -216
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { CONTEXT_MENTION_CHIP_CLASS } from '../../../types/contextMention';
|
|
2
|
-
import { getContextMentionIcon } from '../../../utils/contextMentionIcons';
|
|
3
|
-
import { normalizeContextMentionLabel } from '../../../utils/contextMentionLabel';
|
|
4
|
-
import { MENTION_CHIP_COLORS, SCMCChip, SCMCChipIcon } from './ContextMentionChip.styles';
|
|
5
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
-
/**
|
|
7
|
-
* Representación visual de una mention. Es el chip único usado tanto adentro
|
|
8
|
-
* del ContextMentionEditor (inline, atomic via contentEditable=false) como
|
|
9
|
-
* dentro de los mensajes del chat e historial. La className compartida
|
|
10
|
-
* (`CONTEXT_MENTION_CHIP_CLASS`) permite estilarlo desde cualquier lugar y
|
|
11
|
-
* funciona como "key de estilos" del feature.
|
|
12
|
-
*/
|
|
13
|
-
export var ContextMentionChip = function ContextMentionChip(_ref) {
|
|
14
|
-
var type = _ref.type,
|
|
15
|
-
label = _ref.label,
|
|
16
|
-
_ref$inline = _ref.inline,
|
|
17
|
-
inline = _ref$inline === void 0 ? true : _ref$inline;
|
|
18
|
-
return /*#__PURE__*/_jsxs(SCMCChip, {
|
|
19
|
-
$type: type,
|
|
20
|
-
className: CONTEXT_MENTION_CHIP_CLASS,
|
|
21
|
-
contentEditable: inline ? false : undefined,
|
|
22
|
-
"data-mention-chip": "true",
|
|
23
|
-
children: [/*#__PURE__*/_jsx(SCMCChipIcon, {
|
|
24
|
-
children: getContextMentionIcon(type, MENTION_CHIP_COLORS[type].fg, undefined)
|
|
25
|
-
}), normalizeContextMentionLabel(label)]
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJNRU5USU9OX0NISVBfQ09MT1JTIiwiU0NNQ0NoaXAiLCJTQ01DQ2hpcEljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ29udGV4dE1lbnRpb25DaGlwIiwiX3JlZiIsInR5cGUiLCJsYWJlbCIsIl9yZWYkaW5saW5lIiwiaW5saW5lIiwiJHR5cGUiLCJjbGFzc05hbWUiLCJjb250ZW50RWRpdGFibGUiLCJ1bmRlZmluZWQiLCJjaGlsZHJlbiIsImZnIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25DaGlwL0NvbnRleHRNZW50aW9uQ2hpcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkMgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTLCBDb250ZXh0RW50aXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZ2V0Q29udGV4dE1lbnRpb25JY29uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb250ZXh0TWVudGlvbkxhYmVsJ1xuaW1wb3J0IHsgTUVOVElPTl9DSElQX0NPTE9SUywgU0NNQ0NoaXAsIFNDTUNDaGlwSWNvbiB9IGZyb20gJy4vQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcblxudHlwZSBDb250ZXh0TWVudGlvbkNoaXBQcm9wcyA9IHtcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGVcbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogQ3VhbmRvIGVzIHRydWUgZWwgY2hpcCBzZSBtb250YSBkZW50cm8gZGVsIGNvbnRlbnRlZGl0YWJsZSAoZWRpdG9yKSAqL1xuICBpbmxpbmU/OiBib29sZWFuXG59XG5cbi8qKlxuICogUmVwcmVzZW50YWNpw7NuIHZpc3VhbCBkZSB1bmEgbWVudGlvbi4gRXMgZWwgY2hpcCDDum5pY28gdXNhZG8gdGFudG8gYWRlbnRyb1xuICogZGVsIENvbnRleHRNZW50aW9uRWRpdG9yIChpbmxpbmUsIGF0b21pYyB2aWEgY29udGVudEVkaXRhYmxlPWZhbHNlKSBjb21vXG4gKiBkZW50cm8gZGUgbG9zIG1lbnNhamVzIGRlbCBjaGF0IGUgaGlzdG9yaWFsLiBMYSBjbGFzc05hbWUgY29tcGFydGlkYVxuICogKGBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU2ApIHBlcm1pdGUgZXN0aWxhcmxvIGRlc2RlIGN1YWxxdWllciBsdWdhciB5XG4gKiBmdW5jaW9uYSBjb21vIFwia2V5IGRlIGVzdGlsb3NcIiBkZWwgZmVhdHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uQ2hpcDogRkM8Q29udGV4dE1lbnRpb25DaGlwUHJvcHM+ID0gKHsgdHlwZSwgbGFiZWwsIGlubGluZSA9IHRydWUgfSkgPT4gKFxuICA8U0NNQ0NoaXBcbiAgICAkdHlwZT17dHlwZX1cbiAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgIGNvbnRlbnRFZGl0YWJsZT17aW5saW5lID8gZmFsc2UgOiB1bmRlZmluZWR9XG4gICAgZGF0YS1tZW50aW9uLWNoaXA9XCJ0cnVlXCJcbiAgPlxuICAgIDxTQ01DQ2hpcEljb24+e2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCB1bmRlZmluZWQpfTwvU0NNQ0NoaXBJY29uPlxuICAgIHtub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKX1cbiAgPC9TQ01DQ2hpcD5cbilcbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsMEJBQTBCLFFBQTJCLCtCQUErQjtBQUM3RixTQUFTQyxxQkFBcUIsUUFBUSxvQ0FBb0M7QUFDMUUsU0FBU0MsNEJBQTRCLFFBQVEsb0NBQW9DO0FBQ2pGLFNBQVNDLG1CQUFtQixFQUFFQyxRQUFRLEVBQUVDLFlBQVksUUFBUSw2QkFBNkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBU3pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQyxrQkFBK0MsR0FBRyxTQUFsREEsa0JBQStDQSxDQUFBQyxJQUFBO0VBQUEsSUFBTUMsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7SUFBRUMsS0FBSyxHQUFBRixJQUFBLENBQUxFLEtBQUs7SUFBQUMsV0FBQSxHQUFBSCxJQUFBLENBQUVJLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsSUFBSSxHQUFBQSxXQUFBO0VBQUEsb0JBQzFGTCxLQUFBLENBQUNMLFFBQVE7SUFDUFksS0FBSyxFQUFFSixJQUFLO0lBQ1pLLFNBQVMsRUFBRWpCLDBCQUEyQjtJQUN0Q2tCLGVBQWUsRUFBRUgsTUFBTSxHQUFHLEtBQUssR0FBR0ksU0FBVTtJQUM1QyxxQkFBa0IsTUFBTTtJQUFBQyxRQUFBLGdCQUV4QmIsSUFBQSxDQUFDRixZQUFZO01BQUFlLFFBQUEsRUFBRW5CLHFCQUFxQixDQUFDVyxJQUFJLEVBQUVULG1CQUFtQixDQUFDUyxJQUFJLENBQUMsQ0FBQ1MsRUFBRSxFQUFFRixTQUFTO0lBQUMsQ0FBZSxDQUFDLEVBQ2xHakIsNEJBQTRCLENBQUNXLEtBQUssQ0FBQztFQUFBLENBQzVCLENBQUM7QUFBQSxDQUNaIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import styled, { css } from 'styled-components';
|
|
2
|
-
/**
|
|
3
|
-
* Paleta compartida entre el styled-component (`SCMCChip`) y el builder
|
|
4
|
-
* imperativo (`buildChipElement`) que inserta el chip dentro del contenteditable.
|
|
5
|
-
* Cambiar colores acá impacta en ambos caminos.
|
|
6
|
-
*/
|
|
7
|
-
export var MENTION_CHIP_COLORS = {
|
|
8
|
-
client: {
|
|
9
|
-
bg: 'rgba(45, 119, 189, 0.08)',
|
|
10
|
-
fg: '#2d77bd'
|
|
11
|
-
},
|
|
12
|
-
project: {
|
|
13
|
-
bg: 'rgba(45, 119, 189, 0.08)',
|
|
14
|
-
fg: '#2d77bd'
|
|
15
|
-
},
|
|
16
|
-
task: {
|
|
17
|
-
bg: 'rgba(45, 119, 189, 0.08)',
|
|
18
|
-
fg: '#2d77bd'
|
|
19
|
-
},
|
|
20
|
-
user: {
|
|
21
|
-
bg: 'rgba(45, 119, 189, 0.08)',
|
|
22
|
-
fg: '#2d77bd'
|
|
23
|
-
},
|
|
24
|
-
mcp: {
|
|
25
|
-
bg: 'rgba(45, 119, 189, 0.08)',
|
|
26
|
-
fg: '#2d77bd'
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Estilos base aplicados tanto al span imperativo como al styled component.
|
|
32
|
-
* Mantenerlos como objeto para poder aplicarlos vía `Object.assign(el.style, ...)`.
|
|
33
|
-
*/
|
|
34
|
-
export var MENTION_CHIP_BASE_STYLE = {
|
|
35
|
-
display: 'inline-flex',
|
|
36
|
-
alignItems: 'center',
|
|
37
|
-
gap: '4px',
|
|
38
|
-
padding: '0 6px',
|
|
39
|
-
margin: '0 1px',
|
|
40
|
-
borderRadius: '4px',
|
|
41
|
-
fontFamily: "var(--cor-typography-font-family, 'Work Sans')",
|
|
42
|
-
fontSize: '12px',
|
|
43
|
-
fontWeight: '500',
|
|
44
|
-
lineHeight: '12px',
|
|
45
|
-
whiteSpace: 'nowrap',
|
|
46
|
-
userSelect: 'none',
|
|
47
|
-
verticalAlign: 'baseline',
|
|
48
|
-
cursor: 'default'
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* CSS shared por el styled-component: usa la misma paleta que el builder.
|
|
53
|
-
*/
|
|
54
|
-
var chipCssByType = function chipCssByType(type) {
|
|
55
|
-
var _MENTION_CHIP_COLORS$;
|
|
56
|
-
var c = (_MENTION_CHIP_COLORS$ = MENTION_CHIP_COLORS[type]) !== null && _MENTION_CHIP_COLORS$ !== void 0 ? _MENTION_CHIP_COLORS$ : MENTION_CHIP_COLORS.user;
|
|
57
|
-
return css(["background:", ";color:", ";"], c.bg, c.fg);
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Aplica los estilos del chip a un nodo DOM existente.
|
|
62
|
-
* Usado por `buildChipElement` para insertar el chip dentro del contenteditable,
|
|
63
|
-
* donde necesitamos un nodo imperativo (no un componente React).
|
|
64
|
-
*/
|
|
65
|
-
export var applyMentionChipStyles = function applyMentionChipStyles(el, type) {
|
|
66
|
-
var _MENTION_CHIP_COLORS$2;
|
|
67
|
-
var c = (_MENTION_CHIP_COLORS$2 = MENTION_CHIP_COLORS[type]) !== null && _MENTION_CHIP_COLORS$2 !== void 0 ? _MENTION_CHIP_COLORS$2 : MENTION_CHIP_COLORS.user;
|
|
68
|
-
Object.assign(el.style, MENTION_CHIP_BASE_STYLE, {
|
|
69
|
-
background: c.bg,
|
|
70
|
-
color: c.fg
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
export var SCMCChip = styled.span.withConfig({
|
|
74
|
-
displayName: "ContextMentionChipstyles__SCMCChip",
|
|
75
|
-
componentId: "sc-11ynxow-0"
|
|
76
|
-
})(["display:inline-flex;align-items:center;gap:4px;padding:0 6px;margin:0 1px;border-radius:4px;", " font-family:var(--cor-typography-font-family,'Work Sans');font-size:12px;font-weight:500;line-height:12px;white-space:nowrap;user-select:none;vertical-align:baseline;height:20px;cursor:default;"], function (_ref) {
|
|
77
|
-
var $type = _ref.$type;
|
|
78
|
-
return chipCssByType($type !== null && $type !== void 0 ? $type : 'user');
|
|
79
|
-
});
|
|
80
|
-
export var SCMCChipIcon = styled.span.withConfig({
|
|
81
|
-
displayName: "ContextMentionChipstyles__SCMCChipIcon",
|
|
82
|
-
componentId: "sc-11ynxow-1"
|
|
83
|
-
})(["display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex:0 0 12px;"]);
|
|
84
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNRU5USU9OX0NISVBfQ09MT1JTIiwiY2xpZW50IiwiYmciLCJmZyIsInByb2plY3QiLCJ0YXNrIiwidXNlciIsIm1jcCIsIk1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJnYXAiLCJwYWRkaW5nIiwibWFyZ2luIiwiYm9yZGVyUmFkaXVzIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJ3aGl0ZVNwYWNlIiwidXNlclNlbGVjdCIsInZlcnRpY2FsQWxpZ24iLCJjdXJzb3IiLCJjaGlwQ3NzQnlUeXBlIiwidHlwZSIsIl9NRU5USU9OX0NISVBfQ09MT1JTJCIsImMiLCJhcHBseU1lbnRpb25DaGlwU3R5bGVzIiwiZWwiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQyIiwiT2JqZWN0IiwiYXNzaWduIiwic3R5bGUiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJTQ01DQ2hpcCIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkdHlwZSIsIlNDTUNDaGlwSWNvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuLyoqXG4gKiBQYWxldGEgY29tcGFydGlkYSBlbnRyZSBlbCBzdHlsZWQtY29tcG9uZW50IChgU0NNQ0NoaXBgKSB5IGVsIGJ1aWxkZXJcbiAqIGltcGVyYXRpdm8gKGBidWlsZENoaXBFbGVtZW50YCkgcXVlIGluc2VydGEgZWwgY2hpcCBkZW50cm8gZGVsIGNvbnRlbnRlZGl0YWJsZS5cbiAqIENhbWJpYXIgY29sb3JlcyBhY8OhIGltcGFjdGEgZW4gYW1ib3MgY2FtaW5vcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fQ0hJUF9DT0xPUlM6IFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgeyBiZzogc3RyaW5nOyBmZzogc3RyaW5nIH0+ID0ge1xuICBjbGllbnQ6IHsgYmc6ICdyZ2JhKDQ1LCAxMTksIDE4OSwgMC4wOCknLCBmZzogJyMyZDc3YmQnIH0sXG4gIHByb2plY3Q6IHsgYmc6ICdyZ2JhKDQ1LCAxMTksIDE4OSwgMC4wOCknLCBmZzogJyMyZDc3YmQnIH0sXG4gIHRhc2s6IHsgYmc6ICdyZ2JhKDQ1LCAxMTksIDE4OSwgMC4wOCknLCBmZzogJyMyZDc3YmQnIH0sXG4gIHVzZXI6IHsgYmc6ICdyZ2JhKDQ1LCAxMTksIDE4OSwgMC4wOCknLCBmZzogJyMyZDc3YmQnIH0sXG4gIG1jcDogeyBiZzogJ3JnYmEoNDUsIDExOSwgMTg5LCAwLjA4KScsIGZnOiAnIzJkNzdiZCcgfSxcbn1cblxuLyoqXG4gKiBFc3RpbG9zIGJhc2UgYXBsaWNhZG9zIHRhbnRvIGFsIHNwYW4gaW1wZXJhdGl2byBjb21vIGFsIHN0eWxlZCBjb21wb25lbnQuXG4gKiBNYW50ZW5lcmxvcyBjb21vIG9iamV0byBwYXJhIHBvZGVyIGFwbGljYXJsb3MgdsOtYSBgT2JqZWN0LmFzc2lnbihlbC5zdHlsZSwgLi4uKWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX0NISVBfQkFTRV9TVFlMRSA9IHtcbiAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGdhcDogJzRweCcsXG4gIHBhZGRpbmc6ICcwIDZweCcsXG4gIG1hcmdpbjogJzAgMXB4JyxcbiAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgZm9udEZhbWlseTogYHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJylgLFxuICBmb250U2l6ZTogJzEycHgnLFxuICBmb250V2VpZ2h0OiAnNTAwJyxcbiAgbGluZUhlaWdodDogJzEycHgnLFxuICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxuICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUnLFxuICBjdXJzb3I6ICdkZWZhdWx0Jyxcbn0gYXMgY29uc3RcblxuLyoqXG4gKiBDU1Mgc2hhcmVkIHBvciBlbCBzdHlsZWQtY29tcG9uZW50OiB1c2EgbGEgbWlzbWEgcGFsZXRhIHF1ZSBlbCBidWlsZGVyLlxuICovXG5jb25zdCBjaGlwQ3NzQnlUeXBlID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKSA9PiB7XG4gIGNvbnN0IGMgPSBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdID8/IE1FTlRJT05fQ0hJUF9DT0xPUlMudXNlclxuICByZXR1cm4gY3NzYFxuICAgIGJhY2tncm91bmQ6ICR7Yy5iZ307XG4gICAgY29sb3I6ICR7Yy5mZ307XG4gIGBcbn1cblxuLyoqXG4gKiBBcGxpY2EgbG9zIGVzdGlsb3MgZGVsIGNoaXAgYSB1biBub2RvIERPTSBleGlzdGVudGUuXG4gKiBVc2FkbyBwb3IgYGJ1aWxkQ2hpcEVsZW1lbnRgIHBhcmEgaW5zZXJ0YXIgZWwgY2hpcCBkZW50cm8gZGVsIGNvbnRlbnRlZGl0YWJsZSxcbiAqIGRvbmRlIG5lY2VzaXRhbW9zIHVuIG5vZG8gaW1wZXJhdGl2byAobm8gdW4gY29tcG9uZW50ZSBSZWFjdCkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBseU1lbnRpb25DaGlwU3R5bGVzID0gKGVsOiBIVE1MRWxlbWVudCwgdHlwZTogQ29udGV4dEVudGl0eVR5cGUpID0+IHtcbiAgY29uc3QgYyA9IE1FTlRJT05fQ0hJUF9DT0xPUlNbdHlwZV0gPz8gTUVOVElPTl9DSElQX0NPTE9SUy51c2VyXG4gIE9iamVjdC5hc3NpZ24oZWwuc3R5bGUsIE1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFLCB7XG4gICAgYmFja2dyb3VuZDogYy5iZyxcbiAgICBjb2xvcjogYy5mZyxcbiAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IFNDTUNDaGlwID0gc3R5bGVkLnNwYW48eyAkdHlwZT86IENvbnRleHRFbnRpdHlUeXBlIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIHBhZGRpbmc6IDAgNnB4O1xuICBtYXJnaW46IDAgMXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICR7KHsgJHR5cGUgfSkgPT4gY2hpcENzc0J5VHlwZSgkdHlwZSA/PyAndXNlcicpfVxuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01DQ2hpcEljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBmbGV4OiAwIDAgMTJweDtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLFFBQVEsbUJBQW1CO0FBRy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLG1CQUEwRSxHQUFHO0VBQ3hGQyxNQUFNLEVBQUU7SUFBRUMsRUFBRSxFQUFFLDBCQUEwQjtJQUFFQyxFQUFFLEVBQUU7RUFBVSxDQUFDO0VBQ3pEQyxPQUFPLEVBQUU7SUFB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
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import { createElement, useState } from 'react';
|
|
3
|
-
import { flushSync } from 'react-dom';
|
|
4
|
-
import { createRoot } from 'react-dom/client';
|
|
5
|
-
import { Cross } from '@projectcor/icons/lib/components/Cross';
|
|
6
|
-
import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
|
|
7
|
-
import { CONTEXT_MENTION_CHIP_CLASS } from '../../../types/contextMention';
|
|
8
|
-
import { getContextMentionIcon } from '../../../utils/contextMentionIcons';
|
|
9
|
-
import { normalizeContextMentionLabel } from '../../../utils/contextMentionLabel';
|
|
10
|
-
import { getContextMentionTypeLabel } from '../../../utils/contextMentionTypeLabel';
|
|
11
|
-
import { applyMentionChipStyles, MENTION_CHIP_COLORS } from './ContextMentionChip.styles';
|
|
12
|
-
var EditableMentionChip = function EditableMentionChip(_ref) {
|
|
13
|
-
var mention = _ref.mention,
|
|
14
|
-
onRemove = _ref.onRemove;
|
|
15
|
-
var _useState = useState(false),
|
|
16
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
17
|
-
hovered = _useState2[0],
|
|
18
|
-
setHovered = _useState2[1];
|
|
19
|
-
var mentionLabel = normalizeContextMentionLabel(mention.label);
|
|
20
|
-
var mentionTypeLabel = getContextMentionTypeLabel(mention.type);
|
|
21
|
-
var iconColor = MENTION_CHIP_COLORS[mention.type].fg;
|
|
22
|
-
return /*#__PURE__*/createElement(Tooltip, {
|
|
23
|
-
title: mentionTypeLabel
|
|
24
|
-
}, /*#__PURE__*/createElement('span', {
|
|
25
|
-
style: {
|
|
26
|
-
display: 'inline-flex',
|
|
27
|
-
alignItems: 'baseline',
|
|
28
|
-
gap: '2px',
|
|
29
|
-
lineHeight: '20px',
|
|
30
|
-
boxSizing: 'border-box'
|
|
31
|
-
},
|
|
32
|
-
onMouseEnter: function onMouseEnter() {
|
|
33
|
-
return setHovered(true);
|
|
34
|
-
},
|
|
35
|
-
onMouseLeave: function onMouseLeave() {
|
|
36
|
-
return setHovered(false);
|
|
37
|
-
}
|
|
38
|
-
}, /*#__PURE__*/createElement('span', {
|
|
39
|
-
style: {
|
|
40
|
-
display: 'inline-flex',
|
|
41
|
-
alignItems: 'center',
|
|
42
|
-
justifyContent: 'center',
|
|
43
|
-
width: '14px',
|
|
44
|
-
flex: '0 0 14px',
|
|
45
|
-
cursor: hovered ? 'pointer' : 'default',
|
|
46
|
-
alignSelf: 'center',
|
|
47
|
-
transform: 'translateY(-1px)'
|
|
48
|
-
},
|
|
49
|
-
role: hovered ? 'button' : undefined,
|
|
50
|
-
'aria-label': hovered ? 'Eliminar mention' : undefined,
|
|
51
|
-
onMouseDown: function onMouseDown(event) {
|
|
52
|
-
if (!hovered) return;
|
|
53
|
-
event.preventDefault();
|
|
54
|
-
event.stopPropagation();
|
|
55
|
-
onRemove();
|
|
56
|
-
}
|
|
57
|
-
}, hovered ? /*#__PURE__*/createElement(Cross, {
|
|
58
|
-
width: '14px',
|
|
59
|
-
height: '14px',
|
|
60
|
-
color: iconColor
|
|
61
|
-
}) : getContextMentionIcon(mention.type, iconColor, mention.id, 14)), /*#__PURE__*/createElement('span', {
|
|
62
|
-
style: {
|
|
63
|
-
display: 'inline-block',
|
|
64
|
-
lineHeight: '12px',
|
|
65
|
-
alignSelf: 'baseline'
|
|
66
|
-
}
|
|
67
|
-
}, mentionLabel)));
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Crea un `<span>` atómico listo para insertarse dentro del contenteditable
|
|
72
|
-
* del `ContextMentionEditor`. Se marca con los `data-mention*` necesarios para
|
|
73
|
-
* que `useContextMentions.serialize()` pueda volver a extraer la mention.
|
|
74
|
-
*
|
|
75
|
-
* Comparte los estilos con el componente `ContextMentionChip` via
|
|
76
|
-
* `applyMentionChipStyles`, asegurando una única fuente de verdad visual.
|
|
77
|
-
*/
|
|
78
|
-
export var buildChipElement = function buildChipElement(mention) {
|
|
79
|
-
var chip = document.createElement('span');
|
|
80
|
-
chip.setAttribute('contenteditable', 'false');
|
|
81
|
-
chip.setAttribute('data-mention-chip', 'true');
|
|
82
|
-
chip.className = CONTEXT_MENTION_CHIP_CLASS;
|
|
83
|
-
chip.setAttribute('data-mention-type', mention.type);
|
|
84
|
-
applyMentionChipStyles(chip, mention.type);
|
|
85
|
-
// Mantener baseline del texto del editor aunque el chip sea inline-flex.
|
|
86
|
-
Object.assign(chip.style, {
|
|
87
|
-
height: '20px',
|
|
88
|
-
minHeight: '20px',
|
|
89
|
-
maxHeight: '20px',
|
|
90
|
-
lineHeight: '20px',
|
|
91
|
-
boxSizing: 'border-box',
|
|
92
|
-
padding: '0 6px',
|
|
93
|
-
verticalAlign: 'baseline',
|
|
94
|
-
overflow: 'hidden'
|
|
95
|
-
});
|
|
96
|
-
var mountNode = document.createElement('span');
|
|
97
|
-
chip.appendChild(mountNode);
|
|
98
|
-
var root = createRoot(mountNode);
|
|
99
|
-
var removeMention = function removeMention() {
|
|
100
|
-
var selection = window.getSelection();
|
|
101
|
-
var range = document.createRange();
|
|
102
|
-
range.setStartBefore(chip);
|
|
103
|
-
range.collapse(true);
|
|
104
|
-
root.unmount();
|
|
105
|
-
chip.remove();
|
|
106
|
-
var editableRoot = chip.closest('[contenteditable="true"]');
|
|
107
|
-
editableRoot === null || editableRoot === void 0 || editableRoot.dispatchEvent(new Event('input', {
|
|
108
|
-
bubbles: true
|
|
109
|
-
}));
|
|
110
|
-
if (selection) {
|
|
111
|
-
selection.removeAllRanges();
|
|
112
|
-
selection.addRange(range);
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
flushSync(function () {
|
|
116
|
-
root.render(/*#__PURE__*/createElement(EditableMentionChip, {
|
|
117
|
-
mention: mention,
|
|
118
|
-
onRemove: removeMention
|
|
119
|
-
}));
|
|
120
|
-
});
|
|
121
|
-
return chip;
|
|
122
|
-
};
|
|
123
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFbGVtZW50IiwidXNlU3RhdGUiLCJmbHVzaFN5bmMiLCJjcmVhdGVSb290IiwiQ3Jvc3MiLCJUb29sdGlwIiwiQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MiLCJnZXRDb250ZXh0TWVudGlvbkljb24iLCJub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIiwiZ2V0Q29udGV4dE1lbnRpb25UeXBlTGFiZWwiLCJhcHBseU1lbnRpb25DaGlwU3R5bGVzIiwiTUVOVElPTl9DSElQX0NPTE9SUyIsIkVkaXRhYmxlTWVudGlvbkNoaXAiLCJfcmVmIiwibWVudGlvbiIsIm9uUmVtb3ZlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaG92ZXJlZCIsInNldEhvdmVyZWQiLCJtZW50aW9uTGFiZWwiLCJsYWJlbCIsIm1lbnRpb25UeXBlTGFiZWwiLCJ0eXBlIiwiaWNvbkNvbG9yIiwiZmciLCJ0aXRsZSIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJnYXAiLCJsaW5lSGVpZ2h0IiwiYm94U2l6aW5nIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwianVzdGlmeUNvbnRlbnQiLCJ3aWR0aCIsImZsZXgiLCJjdXJzb3IiLCJhbGlnblNlbGYiLCJ0cmFuc2Zvcm0iLCJyb2xlIiwidW5kZWZpbmVkIiwib25Nb3VzZURvd24iLCJldmVudCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiaGVpZ2h0IiwiY29sb3IiLCJpZCIsImJ1aWxkQ2hpcEVsZW1lbnQiLCJjaGlwIiwiZG9jdW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJjbGFzc05hbWUiLCJPYmplY3QiLCJhc3NpZ24iLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiLCJwYWRkaW5nIiwidmVydGljYWxBbGlnbiIsIm92ZXJmbG93IiwibW91bnROb2RlIiwiYXBwZW5kQ2hpbGQiLCJyb290IiwicmVtb3ZlTWVudGlvbiIsInNlbGVjdGlvbiIsIndpbmRvdyIsImdldFNlbGVjdGlvbiIsInJhbmdlIiwiY3JlYXRlUmFuZ2UiLCJzZXRTdGFydEJlZm9yZSIsImNvbGxhcHNlIiwidW5tb3VudCIsInJlbW92ZSIsImVkaXRhYmxlUm9vdCIsImNsb3Nlc3QiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwicmVtb3ZlQWxsUmFuZ2VzIiwiYWRkUmFuZ2UiLCJyZW5kZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkNoaXAvYnVpbGRDaGlwRWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmx1c2hTeW5jIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MsIENvbnRleHRNZW50aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb250ZXh0TWVudGlvbkljb25zJ1xuaW1wb3J0IHsgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uTGFiZWwnXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvblR5cGVMYWJlbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uVHlwZUxhYmVsJ1xuaW1wb3J0IHsgYXBwbHlNZW50aW9uQ2hpcFN0eWxlcywgTUVOVElPTl9DSElQX0NPTE9SUyB9IGZyb20gJy4vQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcblxudHlwZSBFZGl0YWJsZU1lbnRpb25DaGlwUHJvcHMgPSB7XG4gIG1lbnRpb246IENvbnRleHRNZW50aW9uXG4gIG9uUmVtb3ZlOiAoKSA9PiB2b2lkXG59XG5cbmNvbnN0IEVkaXRhYmxlTWVudGlvbkNoaXAgPSAoeyBtZW50aW9uLCBvblJlbW92ZSB9OiBFZGl0YWJsZU1lbnRpb25DaGlwUHJvcHMpID0+IHtcbiAgY29uc3QgW2hvdmVyZWQsIHNldEhvdmVyZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IG1lbnRpb25MYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobWVudGlvbi5sYWJlbClcbiAgY29uc3QgbWVudGlvblR5cGVMYWJlbCA9IGdldENvbnRleHRNZW50aW9uVHlwZUxhYmVsKG1lbnRpb24udHlwZSlcbiAgY29uc3QgaWNvbkNvbG9yID0gTUVOVElPTl9DSElQX0NPTE9SU1ttZW50aW9uLnR5cGVdLmZnXG5cbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgVG9vbHRpcCxcbiAgICB7IHRpdGxlOiBtZW50aW9uVHlwZUxhYmVsIH0sXG4gICAgY3JlYXRlRWxlbWVudChcbiAgICAgICdzcGFuJyxcbiAgICAgIHtcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdiYXNlbGluZScsXG4gICAgICAgICAgZ2FwOiAnMnB4JyxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgIH0sXG4gICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gc2V0SG92ZXJlZCh0cnVlKSxcbiAgICAgICAgb25Nb3VzZUxlYXZlOiAoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKSxcbiAgICAgIH0sXG4gICAgICBjcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIHtcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgd2lkdGg6ICcxNHB4JyxcbiAgICAgICAgICAgIGZsZXg6ICcwIDAgMTRweCcsXG4gICAgICAgICAgICBjdXJzb3I6IGhvdmVyZWQgPyAncG9pbnRlcicgOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMXB4KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByb2xlOiBob3ZlcmVkID8gJ2J1dHRvbicgOiB1bmRlZmluZWQsXG4gICAgICAgICAgJ2FyaWEtbGFiZWwnOiBob3ZlcmVkID8gJ0VsaW1pbmFyIG1lbnRpb24nIDogdW5kZWZpbmVkLFxuICAgICAgICAgIG9uTW91c2VEb3duOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICghaG92ZXJlZCkgcmV0dXJuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgb25SZW1vdmUoKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGhvdmVyZWRcbiAgICAgICAgICA/IGNyZWF0ZUVsZW1lbnQoQ3Jvc3MsIHsgd2lkdGg6ICcxNHB4JywgaGVpZ2h0OiAnMTRweCcsIGNvbG9yOiBpY29uQ29sb3IgfSlcbiAgICAgICAgICA6IGdldENvbnRleHRNZW50aW9uSWNvbihtZW50aW9uLnR5cGUsIGljb25Db2xvciwgbWVudGlvbi5pZCwgMTQpXG4gICAgICApLFxuICAgICAgY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ3NwYW4nLFxuICAgICAgICB7XG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgbGluZUhlaWdodDogJzEycHgnLFxuICAgICAgICAgICAgYWxpZ25TZWxmOiAnYmFzZWxpbmUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIG1lbnRpb25MYWJlbFxuICAgICAgKVxuICAgIClcbiAgKVxufVxuXG4vKipcbiAqIENyZWEgdW4gYDxzcGFuPmAgYXTDs21pY28gbGlzdG8gcGFyYSBpbnNlcnRhcnNlIGRlbnRybyBkZWwgY29udGVudGVkaXRhYmxlXG4gKiBkZWwgYENvbnRleHRNZW50aW9uRWRpdG9yYC4gU2UgbWFyY2EgY29uIGxvcyBgZGF0YS1tZW50aW9uKmAgbmVjZXNhcmlvcyBwYXJhXG4gKiBxdWUgYHVzZUNvbnRleHRNZW50aW9ucy5zZXJpYWxpemUoKWAgcHVlZGEgdm9sdmVyIGEgZXh0cmFlciBsYSBtZW50aW9uLlxuICpcbiAqIENvbXBhcnRlIGxvcyBlc3RpbG9zIGNvbiBlbCBjb21wb25lbnRlIGBDb250ZXh0TWVudGlvbkNoaXBgIHZpYVxuICogYGFwcGx5TWVudGlvbkNoaXBTdHlsZXNgLCBhc2VndXJhbmRvIHVuYSDDum5pY2EgZnVlbnRlIGRlIHZlcmRhZCB2aXN1YWwuXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZENoaXBFbGVtZW50ID0gKG1lbnRpb246IENvbnRleHRNZW50aW9uKTogSFRNTFNwYW5FbGVtZW50ID0+IHtcbiAgY29uc3QgY2hpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICBjaGlwLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgJ2ZhbHNlJylcbiAgY2hpcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVudGlvbi1jaGlwJywgJ3RydWUnKVxuICBjaGlwLmNsYXNzTmFtZSA9IENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTXG4gIGNoaXAuc2V0QXR0cmlidXRlKCdkYXRhLW1lbnRpb24tdHlwZScsIG1lbnRpb24udHlwZSlcbiAgYXBwbHlNZW50aW9uQ2hpcFN0eWxlcyhjaGlwLCBtZW50aW9uLnR5cGUpXG4gIC8vIE1hbnRlbmVyIGJhc2VsaW5lIGRlbCB0ZXh0byBkZWwgZWRpdG9yIGF1bnF1ZSBlbCBjaGlwIHNlYSBpbmxpbmUtZmxleC5cbiAgT2JqZWN0LmFzc2lnbihjaGlwLnN0eWxlLCB7XG4gICAgaGVpZ2h0OiAnMjBweCcsXG4gICAgbWluSGVpZ2h0OiAnMjBweCcsXG4gICAgbWF4SGVpZ2h0OiAnMjBweCcsXG4gICAgbGluZUhlaWdodDogJzIwcHgnLFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIHBhZGRpbmc6ICcwIDZweCcsXG4gICAgdmVydGljYWxBbGlnbjogJ2Jhc2VsaW5lJyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gIH0pXG4gIGNvbnN0IG1vdW50Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICBjaGlwLmFwcGVuZENoaWxkKG1vdW50Tm9kZSlcbiAgY29uc3Qgcm9vdCA9IGNyZWF0ZVJvb3QobW91bnROb2RlKVxuXG4gIGNvbnN0IHJlbW92ZU1lbnRpb24gPSAoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpXG4gICAgcmFuZ2Uuc2V0U3RhcnRCZWZvcmUoY2hpcClcbiAgICByYW5nZS5jb2xsYXBzZSh0cnVlKVxuXG4gICAgcm9vdC51bm1vdW50KClcbiAgICBjaGlwLnJlbW92ZSgpXG5cbiAgICBjb25zdCBlZGl0YWJsZVJvb3QgPSBjaGlwLmNsb3Nlc3QoJ1tjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCJdJylcbiAgICBlZGl0YWJsZVJvb3Q/LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSB9KSlcblxuICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKVxuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKVxuICAgIH1cbiAgfVxuXG4gIGZsdXNoU3luYygoKSA9PiB7XG4gICAgcm9vdC5yZW5kZXIoY3JlYXRlRWxlbWVudChFZGl0YWJsZU1lbnRpb25DaGlwLCB7IG1lbnRpb24sIG9uUmVtb3ZlOiByZW1vdmVNZW50aW9uIH0pKVxuICB9KVxuXG4gIHJldHVybiBjaGlwXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxhQUFhLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQy9DLFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBQ3JDLFNBQVNDLFVBQVUsUUFBUSxrQkFBa0I7QUFDN0MsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLDBCQUEwQixRQUF3QiwrQkFBK0I7QUFDMUYsU0FBU0MscUJBQXFCLFFBQVEsb0NBQW9DO0FBQzFFLFNBQVNDLDRCQUE0QixRQUFRLG9DQUFvQztBQUNqRixTQUFTQywwQkFBMEIsUUFBUSx3Q0FBd0M7QUFDbkYsU0FBU0Msc0JBQXNCLEVBQUVDLG1CQUFtQixRQUFRLDZCQUE2QjtBQU96RixJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFBQyxJQUFBLEVBQXdEO0VBQUEsSUFBbERDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQUVDLFFBQVEsR0FBQUYsSUFBQSxDQUFSRSxRQUFRO0VBQzlDLElBQUFDLFNBQUEsR0FBOEJmLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQWdCLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXRDRyxPQUFPLEdBQUFGLFVBQUE7SUFBRUcsVUFBVSxHQUFBSCxVQUFBO0VBQzFCLElBQU1JLFlBQVks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
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { ContextMentionChip } from './ContextMentionChip';
|
|
2
|
-
export { buildChipElement } from './buildChipElement';
|
|
3
|
-
export { MENTION_CHIP_COLORS, applyMentionChipStyles } from './ContextMentionChip.styles';
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZXh0TWVudGlvbkNoaXAiLCJidWlsZENoaXBFbGVtZW50IiwiTUVOVElPTl9DSElQX0NPTE9SUyIsImFwcGx5TWVudGlvbkNoaXBTdHlsZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkNoaXAvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29udGV4dE1lbnRpb25DaGlwIH0gZnJvbSAnLi9Db250ZXh0TWVudGlvbkNoaXAnXG5leHBvcnQgeyBidWlsZENoaXBFbGVtZW50IH0gZnJvbSAnLi9idWlsZENoaXBFbGVtZW50J1xuZXhwb3J0IHsgTUVOVElPTl9DSElQX0NPTE9SUywgYXBwbHlNZW50aW9uQ2hpcFN0eWxlcyB9IGZyb20gJy4vQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0Esa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUNyRCxTQUFTQyxtQkFBbUIsRUFBRUMsc0JBQXNCLFFBQVEsNkJBQTZCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
import { forwardRef, useImperativeHandle, useRef } from 'react';
|
|
5
|
-
import { useContextMentions } from '../../../hooks/useContextMentions';
|
|
6
|
-
import { buildChipElement } from '../ContextMentionChip';
|
|
7
|
-
import { SCMEEditable } from './ContextMentionEditor.styles';
|
|
8
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
export var ContextMentionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
10
|
-
var placeholder = _ref.placeholder,
|
|
11
|
-
disabled = _ref.disabled,
|
|
12
|
-
className = _ref.className,
|
|
13
|
-
onInput = _ref.onInput,
|
|
14
|
-
onKeyDown = _ref.onKeyDown,
|
|
15
|
-
onFocus = _ref.onFocus,
|
|
16
|
-
onBlur = _ref.onBlur;
|
|
17
|
-
var _useContextMentions = useContextMentions(),
|
|
18
|
-
editorRef = _useContextMentions.editorRef,
|
|
19
|
-
updateTrigger = _useContextMentions.updateTrigger,
|
|
20
|
-
replaceTriggerWithChip = _useContextMentions.replaceTriggerWithChip,
|
|
21
|
-
serialize = _useContextMentions.serialize,
|
|
22
|
-
clear = _useContextMentions.clear,
|
|
23
|
-
focus = _useContextMentions.focus;
|
|
24
|
-
var skipNextInput = useRef(false);
|
|
25
|
-
useImperativeHandle(ref, function () {
|
|
26
|
-
return {
|
|
27
|
-
focus: focus,
|
|
28
|
-
clear: clear,
|
|
29
|
-
serialize: serialize,
|
|
30
|
-
insertMention: function insertMention(mention) {
|
|
31
|
-
var chip = buildChipElement(mention);
|
|
32
|
-
replaceTriggerWithChip(chip, mention);
|
|
33
|
-
skipNextInput.current = true;
|
|
34
|
-
var state = serialize();
|
|
35
|
-
onInput === null || onInput === void 0 || onInput(_objectSpread(_objectSpread({}, state), {}, {
|
|
36
|
-
trigger: {
|
|
37
|
-
active: false,
|
|
38
|
-
query: ''
|
|
39
|
-
}
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
}, [focus, clear, serialize, replaceTriggerWithChip, onInput]);
|
|
44
|
-
var handleInput = function handleInput() {
|
|
45
|
-
if (skipNextInput.current) {
|
|
46
|
-
skipNextInput.current = false;
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
var trig = updateTrigger();
|
|
50
|
-
var state = serialize();
|
|
51
|
-
onInput === null || onInput === void 0 || onInput(_objectSpread(_objectSpread({}, state), {}, {
|
|
52
|
-
trigger: {
|
|
53
|
-
active: trig.active,
|
|
54
|
-
query: trig.query
|
|
55
|
-
}
|
|
56
|
-
}));
|
|
57
|
-
};
|
|
58
|
-
var handlePaste = function handlePaste(e) {
|
|
59
|
-
e.preventDefault();
|
|
60
|
-
var text = e.clipboardData.getData('text/plain');
|
|
61
|
-
var selection = window.getSelection();
|
|
62
|
-
if (!selection || selection.rangeCount === 0) return;
|
|
63
|
-
selection.deleteFromDocument();
|
|
64
|
-
selection.getRangeAt(0).insertNode(document.createTextNode(text));
|
|
65
|
-
selection.collapseToEnd();
|
|
66
|
-
handleInput();
|
|
67
|
-
};
|
|
68
|
-
return /*#__PURE__*/_jsx(SCMEEditable, {
|
|
69
|
-
ref: editorRef,
|
|
70
|
-
className: className,
|
|
71
|
-
"data-placeholder": placeholder,
|
|
72
|
-
contentEditable: !disabled,
|
|
73
|
-
"data-disabled": String(!!disabled),
|
|
74
|
-
suppressContentEditableWarning: true,
|
|
75
|
-
role: "textbox",
|
|
76
|
-
"aria-multiline": "true",
|
|
77
|
-
onInput: handleInput,
|
|
78
|
-
onKeyDown: onKeyDown,
|
|
79
|
-
onPaste: handlePaste,
|
|
80
|
-
onFocus: onFocus,
|
|
81
|
-
onBlur: onBlur
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
ContextMentionEditor.displayName = 'ContextMentionEditor';
|
|
85
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZVJlZiIsInVzZUNvbnRleHRNZW50aW9ucyIsImJ1aWxkQ2hpcEVsZW1lbnQiLCJTQ01FRWRpdGFibGUiLCJqc3giLCJfanN4IiwiQ29udGV4dE1lbnRpb25FZGl0b3IiLCJfcmVmIiwicmVmIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsImNsYXNzTmFtZSIsIm9uSW5wdXQiLCJvbktleURvd24iLCJvbkZvY3VzIiwib25CbHVyIiwiX3VzZUNvbnRleHRNZW50aW9ucyIsImVkaXRvclJlZiIsInVwZGF0ZVRyaWdnZXIiLCJyZXBsYWNlVHJpZ2dlcldpdGhDaGlwIiwic2VyaWFsaXplIiwiY2xlYXIiLCJmb2N1cyIsInNraXBOZXh0SW5wdXQiLCJpbnNlcnRNZW50aW9uIiwibWVudGlvbiIsImNoaXAiLCJjdXJyZW50Iiwic3RhdGUiLCJfb2JqZWN0U3ByZWFkIiwidHJpZ2dlciIsImFjdGl2ZSIsInF1ZXJ5IiwiaGFuZGxlSW5wdXQiLCJ0cmlnIiwiaGFuZGxlUGFzdGUiLCJlIiwicHJldmVudERlZmF1bHQiLCJ0ZXh0IiwiY2xpcGJvYXJkRGF0YSIsImdldERhdGEiLCJzZWxlY3Rpb24iLCJ3aW5kb3ciLCJnZXRTZWxlY3Rpb24iLCJyYW5nZUNvdW50IiwiZGVsZXRlRnJvbURvY3VtZW50IiwiZ2V0UmFuZ2VBdCIsImluc2VydE5vZGUiLCJkb2N1bWVudCIsImNyZWF0ZVRleHROb2RlIiwiY29sbGFwc2VUb0VuZCIsImNvbnRlbnRFZGl0YWJsZSIsIlN0cmluZyIsInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIsInJvbGUiLCJvblBhc3RlIiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkVkaXRvci9Db250ZXh0TWVudGlvbkVkaXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpcGJvYXJkRXZlbnQsIGZvcndhcmRSZWYsIEtleWJvYXJkRXZlbnQsIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlQ29udGV4dE1lbnRpb25zIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlQ29udGV4dE1lbnRpb25zJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IGJ1aWxkQ2hpcEVsZW1lbnQgfSBmcm9tICcuLi9Db250ZXh0TWVudGlvbkNoaXAnXG5pbXBvcnQgeyBTQ01FRWRpdGFibGUgfSBmcm9tICcuL0NvbnRleHRNZW50aW9uRWRpdG9yLnN0eWxlcydcblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25FZGl0b3JIYW5kbGUgPSB7XG4gIGZvY3VzOiAoKSA9PiB2b2lkXG4gIGNsZWFyOiAoKSA9PiB2b2lkXG4gIGluc2VydE1lbnRpb246IChtZW50aW9uOiBDb250ZXh0TWVudGlvbikgPT4gdm9pZFxuICBzZXJpYWxpemU6ICgpID0+IHsgdGV4dDogc3RyaW5nOyBtZW50aW9uczogQ29udGV4dE1lbnRpb25bXSB9XG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uRWRpdG9yUHJvcHMgPSB7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgb25JbnB1dD86IChzdGF0ZTogeyB0ZXh0OiBzdHJpbmc7IG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdOyB0cmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZyB9IH0pID0+IHZvaWRcbiAgb25LZXlEb3duPzogKGU6IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRm9jdXM/OiAoKSA9PiB2b2lkXG4gIG9uQmx1cj86ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uRWRpdG9yID0gZm9yd2FyZFJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSwgQ29udGV4dE1lbnRpb25FZGl0b3JQcm9wcz4oXG4gICh7IHBsYWNlaG9sZGVyLCBkaXNhYmxlZCwgY2xhc3NOYW1lLCBvbklucHV0LCBvbktleURvd24sIG9uRm9jdXMsIG9uQmx1ciB9LCByZWYpID0+IHtcbiAgICBjb25zdCB7IGVkaXRvclJlZiwgdXBkYXRlVHJpZ2dlciwgcmVwbGFjZVRyaWdnZXJXaXRoQ2hpcCwgc2VyaWFsaXplLCBjbGVhciwgZm9jdXMgfSA9IHVzZUNvbnRleHRNZW50aW9ucygpXG4gICAgY29uc3Qgc2tpcE5leHRJbnB1dCA9IHVzZVJlZihmYWxzZSlcblxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoXG4gICAgICByZWYsXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBmb2N1cyxcbiAgICAgICAgY2xlYXIsXG4gICAgICAgIHNlcmlhbGl6ZSxcbiAgICAgICAgaW5zZXJ0TWVudGlvbjogKG1lbnRpb246IENvbnRleHRNZW50aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgY2hpcCA9IGJ1aWxkQ2hpcEVsZW1lbnQobWVudGlvbilcbiAgICAgICAgICByZXBsYWNlVHJpZ2dlcldpdGhDaGlwKGNoaXAsIG1lbnRpb24pXG4gICAgICAgICAgc2tpcE5leHRJbnB1dC5jdXJyZW50ID0gdHJ1ZVxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gc2VyaWFsaXplKClcbiAgICAgICAgICBvbklucHV0Py4oeyAuLi5zdGF0ZSwgdHJpZ2dlcjogeyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycgfSB9KVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBbZm9jdXMsIGNsZWFyLCBzZXJpYWxpemUsIHJlcGxhY2VUcmlnZ2VyV2l0aENoaXAsIG9uSW5wdXRdXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlSW5wdXQgPSAoKSA9PiB7XG4gICAgICBpZiAoc2tpcE5leHRJbnB1dC5jdXJyZW50KSB7XG4gICAgICAgIHNraXBOZXh0SW5wdXQuY3VycmVudCA9IGZhbHNlXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgdHJpZyA9IHVwZGF0ZVRyaWdnZXIoKVxuICAgICAgY29uc3Qgc3RhdGUgPSBzZXJpYWxpemUoKVxuICAgICAgb25JbnB1dD8uKHsgLi4uc3RhdGUsIHRyaWdnZXI6IHsgYWN0aXZlOiB0cmlnLmFjdGl2ZSwgcXVlcnk6IHRyaWcucXVlcnkgfSB9KVxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVBhc3RlID0gKGU6IENsaXBib2FyZEV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBjb25zdCB0ZXh0ID0gZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKVxuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkgcmV0dXJuXG4gICAgICBzZWxlY3Rpb24uZGVsZXRlRnJvbURvY3VtZW50KClcbiAgICAgIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmluc2VydE5vZGUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dCkpXG4gICAgICBzZWxlY3Rpb24uY29sbGFwc2VUb0VuZCgpXG4gICAgICBoYW5kbGVJbnB1dCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ01FRWRpdGFibGVcbiAgICAgICAgcmVmPXtlZGl0b3JSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBkYXRhLXBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgY29udGVudEVkaXRhYmxlPXshZGlzYWJsZWR9XG4gICAgICAgIGRhdGEtZGlzYWJsZWQ9e1N0cmluZyghIWRpc2FibGVkKX1cbiAgICAgICAgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nXG4gICAgICAgIHJvbGU9XCJ0ZXh0Ym94XCJcbiAgICAgICAgYXJpYS1tdWx0aWxpbmU9XCJ0cnVlXCJcbiAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICBvblBhc3RlPXtoYW5kbGVQYXN0ZX1cbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAvPlxuICAgIClcbiAgfVxuKVxuXG5Db250ZXh0TWVudGlvbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdDb250ZXh0TWVudGlvbkVkaXRvcidcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBeUJBLFVBQVUsRUFBaUJDLG1CQUFtQixFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUM5RixTQUFTQyxrQkFBa0IsUUFBUSxtQ0FBbUM7QUFFdEUsU0FBU0MsZ0JBQWdCLFFBQVEsdUJBQXVCO0FBQ3hELFNBQVNDLFlBQVksUUFBUSwrQkFBK0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFtQjVELE9BQU8sSUFBTUMsb0JBQW9CLGdCQUFHUixVQUFVLENBQzVDLFVBQUFTLElBQUEsRUFBNEVDLEdBQUcsRUFBSztFQUFBLElBQWpGQyxXQUFXLEdBQUFGLElBQUEsQ0FBWEUsV0FBVztJQUFFQyxRQUFRLEdBQUFILElBQUEsQ0FBUkcsUUFBUTtJQUFFQyxTQUFTLEdBQUFKLElBQUEsQ0FBVEksU0FBUztJQUFFQyxPQUFPLEdBQUFMLElBQUEsQ0FBUEssT0FBTztJQUFFQyxTQUFTLEdBQUFOLElBQUEsQ0FBVE0sU0FBUztJQUFFQyxPQUFPLEdBQUFQLElBQUEsQ0FBUE8sT0FBTztJQUFFQyxNQUFNLEdBQUFSLElBQUEsQ0FBTlEsTUFBTTtFQUN0RSxJQUFBQyxtQkFBQSxHQUFzRmYsa0JBQWtCLENBQUMsQ0FBQztJQUFsR2dCLFNBQVMsR0FBQUQsbUJBQUEsQ0FBVEMsU0FBUztJQUFFQyxhQUFhLEdBQUFGLG1CQUFBLENBQWJFLGFBQWE7SUFBRUMsc0JBQXNCLEdBQUFILG1CQUFBLENBQXRCRyxzQkFBc0I7SUFBRUMsU0FBUyxHQUFBSixtQkFBQSxDQUFUSSxTQUFTO0lBQUVDLEtBQUssR0FBQUwsbUJBQUEsQ0FBTEssS0FBSztJQUFFQyxLQUFLLEdBQUFOLG1CQUFBLENBQUxNLEtBQUs7RUFDakYsSUFBTUMsYUFBYSxHQUFHdkIsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUVuQ0QsbUJBQW1CLENBQ2pCUyxHQUFHLEVBQ0g7SUFBQSxPQUFPO01BQ0xjLEtBQUssRUFBTEEsS0FBSztNQUNMRCxLQUFLLEVBQUxBLEtBQUs7TUFDTEQsU0FBUyxFQUFUQSxTQUFTO01BQ1RJLGFBQWEsRUFBRSxTQUFmQSxhQUFhQSxDQUFHQyxPQUF1QixFQUFLO1FBQzFDLElBQU1DLElBQUksR0FBR3hCLGdCQUFnQixDQUFDdUIsT0FBTyxDQUFDO1FBQ3RDTixzQkFBc0IsQ0FBQ08sSUFBSSxFQUFFRCxPQUFPLENBQUM7UUFDckNGLGFBQWEsQ0FBQ0ksT0FBTyxHQUFHLElBQUk7UUFDNUIsSUFBTUMsS0FBSyxHQUFHUixTQUFTLENBQUMsQ0FBQztRQUN6QlIsT0FBTyxhQUFQQSxPQUFPLGVBQVBBLE9BQU8sQ0FBQWlCLGFBQUEsQ0FBQUEsYUFBQSxLQUFRRCxLQUFLO1VBQUVFLE9BQU8sRUFBRTtZQUFFQyxNQUFNLEVBQUUsS0FBSztZQUFFQyxLQUFLLEVBQUU7VUFBRztRQUFDLEVBQUUsQ0FBQztNQUNoRTtJQUNGLENBQUM7RUFBQSxDQUFDLEVBQ0YsQ0FBQ1YsS0FBSyxFQUFFRCxLQUFLLEVBQUVELFNBQVMsRUFBRUQsc0JBQXNCLEVBQUVQLE9BQU8sQ0FDM0QsQ0FBQztFQUVELElBQU1xQixXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQSxFQUFTO0lBQ3hCLElBQUlWLGFBQWEsQ0FBQ0ksT0FBTyxFQUFFO01BQ3pCSixhQUFhLENBQUNJLE9BQU8sR0FBRyxLQUFLO01BQzdCO0lBQ0Y7SUFDQSxJQUFNTyxJQUFJLEdBQUdoQixhQUFhLENBQUMsQ0FBQztJQUM1QixJQUFNVSxLQUFLLEdBQUdSLFNBQVMsQ0FBQyxDQUFDO0lBQ3pCUixPQUFPLGFBQVBBLE9BQU8sZUFBUEEsT0FBTyxDQUFBaUIsYUFBQSxDQUFBQSxhQUFBLEtBQVFELEtBQUs7TUFBRUUsT0FBTyxFQUFFO1FBQUVDLE1BQU0sRUFBRUcsSUFBSSxDQUFDSCxNQUFNO1FBQUVDLEtBQUssRUFBRUUsSUFBSSxDQUFDRjtNQUFNO0lBQUMsRUFBRSxDQUFDO0VBQzlFLENBQUM7RUFFRCxJQUFNRyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsQ0FBaUMsRUFBSztJQUN6REEsQ0FBQyxDQUFDQyxjQUFjLENBQUMsQ0FBQztJQUNsQixJQUFNQyxJQUFJLEdBQUdGLENBQUMsQ0FBQ0csYUFBYSxDQUFDQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ2xELElBQU1DLFNBQVMsR0FBR0MsTUFBTSxDQUFDQyxZQUFZLENBQUMsQ0FBQztJQUN2QyxJQUFJLENBQUNGLFNBQVMsSUFBSUEsU0FBUyxDQUFDRyxVQUFVLEtBQUssQ0FBQyxFQUFFO0lBQzlDSCxTQUFTLENBQUNJLGtCQUFrQixDQUFDLENBQUM7SUFDOUJKLFNBQVMsQ0FBQ0ssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDQyxVQUFVLENBQUNDLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDWCxJQUFJLENBQUMsQ0FBQztJQUNqRUcsU0FBUyxDQUFDUyxhQUFhLENBQUMsQ0FBQztJQUN6QmpCLFdBQVcsQ0FBQyxDQUFDO0VBQ2YsQ0FBQztFQUVELG9CQUNFNUIsSUFBQSxDQUFDRixZQUFZO0lBQ1hLLEdBQUcsRUFBRVMsU0FBVTtJQUNmTixTQUFTLEVBQUVBLFNBQVU7SUFDckIsb0JBQWtCRixXQUFZO0lBQzlCMEMsZUFBZSxFQUFFLENBQUN6QyxRQUFTO0lBQzNCLGlCQUFlMEMsTUFBTSxDQUFDLENBQUMsQ0FBQzFDLFFBQVEsQ0FBRTtJQUNsQzJDLDhCQUE4QjtJQUM5QkMsSUFBSSxFQUFDLFNBQVM7SUFDZCxrQkFBZSxNQUFNO0lBQ3JCMUMsT0FBTyxFQUFFcUIsV0FBWTtJQUNyQnBCLFNBQVMsRUFBRUEsU0FBVTtJQUNyQjBDLE9BQU8sRUFBRXBCLFdBQVk7SUFDckJyQixPQUFPLEVBQUVBLE9BQVE7SUFDakJDLE1BQU0sRUFBRUE7RUFBTyxDQUNoQixDQUFDO0FBRU4sQ0FDRixDQUFDO0FBRURULG9CQUFvQixDQUFDa0QsV0FBVyxHQUFHLHNCQUFzQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import styled from 'styled-components';
|
|
2
|
-
export var SCMEEditable = styled.div.withConfig({
|
|
3
|
-
displayName: "ContextMentionEditorstyles__SCMEEditable",
|
|
4
|
-
componentId: "sc-vz0osf-0"
|
|
5
|
-
})(["min-height:24px;max-height:200px;overflow-y:auto;color:var(--Text-Primary-Dark,#20201f);font-family:var(--cor-typography-font-family,'Work Sans');font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:0;outline:none;word-break:break-word;&:empty::before{content:attr(data-placeholder);color:var(--Text-Secondary-Dark,#666);pointer-events:none;}&[data-disabled='true']{opacity:0.5;pointer-events:none;}&::-webkit-scrollbar{width:6px;}&::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px;}"]);
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ01FRWRpdGFibGUiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uRWRpdG9yL0NvbnRleHRNZW50aW9uRWRpdG9yLnN0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuZXhwb3J0IGNvbnN0IFNDTUVFZGl0YWJsZSA9IHN0eWxlZC5kaXZgXG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBjb2xvcjogdmFyKC0tVGV4dC1QcmltYXJ5LURhcmssICMyMDIwMWYpO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAmOmVtcHR5OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1wbGFjZWhvbGRlcik7XG4gICAgY29sb3I6IHZhcigtLVRleHQtU2Vjb25kYXJ5LURhcmssICM2NjYpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJltkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xuICB9XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDBkMGQwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1CO0FBRXRDLE9BQU8sSUFBTUMsWUFBWSxHQUFHRCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvaEJBZ0NyQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { ContextMentionEditor } from './ContextMentionEditor';
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZXh0TWVudGlvbkVkaXRvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uRWRpdG9yL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENvbnRleHRNZW50aW9uRWRpdG9yIH0gZnJvbSAnLi9Db250ZXh0TWVudGlvbkVkaXRvcidcbmV4cG9ydCB0eXBlIHsgQ29udGV4dE1lbnRpb25FZGl0b3JIYW5kbGUsIENvbnRleHRNZW50aW9uRWRpdG9yUHJvcHMgfSBmcm9tICcuL0NvbnRleHRNZW50aW9uRWRpdG9yJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxvQkFBb0IsUUFBUSx3QkFBd0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { ChevronRight } from '@projectcor/icons/lib/components/ChevronRight';
|
|
4
|
-
import { useT } from '../../../hooks/useT';
|
|
5
|
-
import { TASK_LINK_ICON_DATA_URL } from '../../../constants/taskLinkIcon';
|
|
6
|
-
import { NotionIcon } from '../icons/NotionIcon';
|
|
7
|
-
import { getContextMentionIcon, isNotionMcpSlug } from '../../../utils/contextMentionIcons';
|
|
8
|
-
import { SCMIRow, SCMIName, SCMITitle, SCMITitleHighlight, SCMIBreadcrumb, SCMIBreadcrumbParent, SCMIRowUser, SCMUserAvatarWrap, SCMUserAvatarImg, SCMUserAvatarFallback, SCMUserInfo, SCMUserNamePositionRow, SCMUserNameCell, SCMUserNameText, SCMUserPositionText, SCMITaskRowInner, SCMITaskIconImg, SCMITaskTitle, SCMProjectMetaClientName } from './ContextMentionItem.styles';
|
|
9
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
var renderTitle = function renderTitle(primary, highlight) {
|
|
11
|
-
if (!highlight || highlight.length <= 0) return primary;
|
|
12
|
-
var start = highlight.start,
|
|
13
|
-
length = highlight.length;
|
|
14
|
-
var end = start + length;
|
|
15
|
-
if (start < 0 || start > primary.length || end > primary.length) return primary;
|
|
16
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
17
|
-
children: [primary.slice(0, start), /*#__PURE__*/_jsx(SCMITitleHighlight, {
|
|
18
|
-
children: primary.slice(start, end)
|
|
19
|
-
}), primary.slice(end)]
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var UserRowAvatar = function UserRowAvatar(_ref) {
|
|
23
|
-
var picture = _ref.picture,
|
|
24
|
-
label = _ref.label;
|
|
25
|
-
var _useState = useState(false),
|
|
26
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
27
|
-
broken = _useState2[0],
|
|
28
|
-
setBroken = _useState2[1];
|
|
29
|
-
var initial = (label.trim()[0] || '?').toUpperCase();
|
|
30
|
-
return /*#__PURE__*/_jsx(SCMUserAvatarWrap, {
|
|
31
|
-
children: picture && !broken ? /*#__PURE__*/_jsx(SCMUserAvatarImg, {
|
|
32
|
-
src: picture,
|
|
33
|
-
alt: "",
|
|
34
|
-
onError: function onError() {
|
|
35
|
-
return setBroken(true);
|
|
36
|
-
},
|
|
37
|
-
loading: "lazy",
|
|
38
|
-
decoding: "async"
|
|
39
|
-
}) : /*#__PURE__*/_jsx(SCMUserAvatarFallback, {
|
|
40
|
-
"aria-hidden": true,
|
|
41
|
-
children: initial
|
|
42
|
-
})
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
export var ContextMentionItem = function ContextMentionItem(_ref2) {
|
|
46
|
-
var item = _ref2.item,
|
|
47
|
-
active = _ref2.active,
|
|
48
|
-
onSelect = _ref2.onSelect,
|
|
49
|
-
onHover = _ref2.onHover;
|
|
50
|
-
var _useT = useT(),
|
|
51
|
-
t = _useT.t;
|
|
52
|
-
var primary = item.primary,
|
|
53
|
-
primaryHighlight = item.primaryHighlight,
|
|
54
|
-
breadcrumb = item.breadcrumb,
|
|
55
|
-
type = item.type,
|
|
56
|
-
raw = item.raw;
|
|
57
|
-
var handleClick = function handleClick(e) {
|
|
58
|
-
e.preventDefault();
|
|
59
|
-
e.stopPropagation();
|
|
60
|
-
onSelect(item);
|
|
61
|
-
};
|
|
62
|
-
var hasCount = typeof (breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.count) === 'number';
|
|
63
|
-
var hasParent = !!(breadcrumb !== null && breadcrumb !== void 0 && breadcrumb.parent);
|
|
64
|
-
var countLabel = (breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.countLabel) && t("contextMention.counters.".concat(breadcrumb.countLabel), {
|
|
65
|
-
defaultValue: breadcrumb.countLabel
|
|
66
|
-
});
|
|
67
|
-
if (type === 'user') {
|
|
68
|
-
var _raw$positionName, _raw$email;
|
|
69
|
-
var positionLine = ((_raw$positionName = raw.positionName) === null || _raw$positionName === void 0 ? void 0 : _raw$positionName.trim()) || ((_raw$email = raw.email) === null || _raw$email === void 0 ? void 0 : _raw$email.trim()) || '';
|
|
70
|
-
var showPosition = positionLine.length > 0;
|
|
71
|
-
return /*#__PURE__*/_jsxs(SCMIRowUser, {
|
|
72
|
-
$active: active,
|
|
73
|
-
onMouseDown: handleClick,
|
|
74
|
-
onMouseEnter: function onMouseEnter() {
|
|
75
|
-
return onHover === null || onHover === void 0 ? void 0 : onHover(item);
|
|
76
|
-
},
|
|
77
|
-
children: [/*#__PURE__*/_jsx(UserRowAvatar, {
|
|
78
|
-
picture: raw.picture,
|
|
79
|
-
label: primary
|
|
80
|
-
}), /*#__PURE__*/_jsx(SCMUserInfo, {
|
|
81
|
-
children: /*#__PURE__*/_jsxs(SCMUserNamePositionRow, {
|
|
82
|
-
children: [/*#__PURE__*/_jsx(SCMUserNameCell, {
|
|
83
|
-
$withDivider: showPosition,
|
|
84
|
-
children: /*#__PURE__*/_jsx(SCMUserNameText, {
|
|
85
|
-
children: renderTitle(primary, primaryHighlight)
|
|
86
|
-
})
|
|
87
|
-
}), showPosition && /*#__PURE__*/_jsx(SCMUserPositionText, {
|
|
88
|
-
title: positionLine,
|
|
89
|
-
children: positionLine
|
|
90
|
-
})]
|
|
91
|
-
})
|
|
92
|
-
})]
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
if (type === 'project') {
|
|
96
|
-
var _raw$clientName;
|
|
97
|
-
var clientName = ((_raw$clientName = raw.clientName) === null || _raw$clientName === void 0 ? void 0 : _raw$clientName.trim()) || '';
|
|
98
|
-
return /*#__PURE__*/_jsx(SCMIRow, {
|
|
99
|
-
$active: active,
|
|
100
|
-
onMouseDown: handleClick,
|
|
101
|
-
onMouseEnter: function onMouseEnter() {
|
|
102
|
-
return onHover === null || onHover === void 0 ? void 0 : onHover(item);
|
|
103
|
-
},
|
|
104
|
-
children: /*#__PURE__*/_jsxs(SCMIName, {
|
|
105
|
-
children: [clientName ? /*#__PURE__*/_jsx(SCMProjectMetaClientName, {
|
|
106
|
-
title: clientName,
|
|
107
|
-
children: clientName
|
|
108
|
-
}) : null, /*#__PURE__*/_jsx(SCMITitle, {
|
|
109
|
-
title: primary,
|
|
110
|
-
children: renderTitle(primary, primaryHighlight)
|
|
111
|
-
})]
|
|
112
|
-
})
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
if (type === 'task') {
|
|
116
|
-
return /*#__PURE__*/_jsx(SCMIRow, {
|
|
117
|
-
$active: active,
|
|
118
|
-
onMouseDown: handleClick,
|
|
119
|
-
onMouseEnter: function onMouseEnter() {
|
|
120
|
-
return onHover === null || onHover === void 0 ? void 0 : onHover(item);
|
|
121
|
-
},
|
|
122
|
-
children: /*#__PURE__*/_jsxs(SCMITaskRowInner, {
|
|
123
|
-
children: [/*#__PURE__*/_jsx(SCMITaskIconImg, {
|
|
124
|
-
src: TASK_LINK_ICON_DATA_URL,
|
|
125
|
-
alt: "",
|
|
126
|
-
draggable: false,
|
|
127
|
-
"aria-hidden": true
|
|
128
|
-
}), /*#__PURE__*/_jsx(SCMITaskTitle, {
|
|
129
|
-
title: primary,
|
|
130
|
-
children: renderTitle(primary, primaryHighlight)
|
|
131
|
-
})]
|
|
132
|
-
})
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
if (type === 'mcp') {
|
|
136
|
-
return /*#__PURE__*/_jsx(SCMIRow, {
|
|
137
|
-
$active: active,
|
|
138
|
-
onMouseDown: handleClick,
|
|
139
|
-
onMouseEnter: function onMouseEnter() {
|
|
140
|
-
return onHover === null || onHover === void 0 ? void 0 : onHover(item);
|
|
141
|
-
},
|
|
142
|
-
children: /*#__PURE__*/_jsxs(SCMITaskRowInner, {
|
|
143
|
-
children: [/*#__PURE__*/_jsx("span", {
|
|
144
|
-
style: {
|
|
145
|
-
display: 'inline-flex',
|
|
146
|
-
alignItems: 'center',
|
|
147
|
-
justifyContent: 'center',
|
|
148
|
-
width: 16,
|
|
149
|
-
height: 16,
|
|
150
|
-
flex: '0 0 16px'
|
|
151
|
-
},
|
|
152
|
-
children: isNotionMcpSlug(raw.id) ? /*#__PURE__*/_jsx(NotionIcon, {
|
|
153
|
-
width: 16,
|
|
154
|
-
height: 16
|
|
155
|
-
}) : getContextMentionIcon('mcp', '#2d77bd', raw.id, 16)
|
|
156
|
-
}), /*#__PURE__*/_jsx(SCMITaskTitle, {
|
|
157
|
-
title: primary,
|
|
158
|
-
children: renderTitle(primary, primaryHighlight)
|
|
159
|
-
})]
|
|
160
|
-
})
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
return /*#__PURE__*/_jsx(SCMIRow, {
|
|
164
|
-
$active: active,
|
|
165
|
-
onMouseDown: handleClick,
|
|
166
|
-
onMouseEnter: function onMouseEnter() {
|
|
167
|
-
return onHover === null || onHover === void 0 ? void 0 : onHover(item);
|
|
168
|
-
},
|
|
169
|
-
children: /*#__PURE__*/_jsxs(SCMIName, {
|
|
170
|
-
children: [/*#__PURE__*/_jsx(SCMITitle, {
|
|
171
|
-
children: renderTitle(primary, primaryHighlight)
|
|
172
|
-
}), (hasCount || hasParent) && /*#__PURE__*/_jsxs(SCMIBreadcrumb, {
|
|
173
|
-
children: [hasCount && /*#__PURE__*/_jsxs("span", {
|
|
174
|
-
children: [breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.count, " ", countLabel]
|
|
175
|
-
}), hasParent && /*#__PURE__*/_jsxs(SCMIBreadcrumbParent, {
|
|
176
|
-
children: [/*#__PURE__*/_jsx(ChevronRight, {
|
|
177
|
-
width: "12px",
|
|
178
|
-
height: "12px",
|
|
179
|
-
color: "#808080"
|
|
180
|
-
}), /*#__PURE__*/_jsx("span", {
|
|
181
|
-
children: breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.parent
|
|
182
|
-
})]
|
|
183
|
-
})]
|
|
184
|
-
})]
|
|
185
|
-
})
|
|
186
|
-
});
|
|
187
|
-
};
|
|
188
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIkNoZXZyb25SaWdodCIsInVzZVQiLCJUQVNLX0xJTktfSUNPTl9EQVRBX1VSTCIsIk5vdGlvbkljb24iLCJnZXRDb250ZXh0TWVudGlvbkljb24iLCJpc05vdGlvbk1jcFNsdWciLCJTQ01JUm93IiwiU0NNSU5hbWUiLCJTQ01JVGl0bGUiLCJTQ01JVGl0bGVIaWdobGlnaHQiLCJTQ01JQnJlYWRjcnVtYiIsIlNDTUlCcmVhZGNydW1iUGFyZW50IiwiU0NNSVJvd1VzZXIiLCJTQ01Vc2VyQXZhdGFyV3JhcCIsIlNDTVVzZXJBdmF0YXJJbWciLCJTQ01Vc2VyQXZhdGFyRmFsbGJhY2siLCJTQ01Vc2VySW5mbyIsIlNDTVVzZXJOYW1lUG9zaXRpb25Sb3ciLCJTQ01Vc2VyTmFtZUNlbGwiLCJTQ01Vc2VyTmFtZVRleHQiLCJTQ01Vc2VyUG9zaXRpb25UZXh0IiwiU0NNSVRhc2tSb3dJbm5lciIsIlNDTUlUYXNrSWNvbkltZyIsIlNDTUlUYXNrVGl0bGUiLCJTQ01Qcm9qZWN0TWV0YUNsaWVudE5hbWUiLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3hzIiwiX2pzeHMiLCJyZW5kZXJUaXRsZSIsInByaW1hcnkiLCJoaWdobGlnaHQiLCJsZW5ndGgiLCJzdGFydCIsImVuZCIsImNoaWxkcmVuIiwic2xpY2UiLCJVc2VyUm93QXZhdGFyIiwiX3JlZiIsInBpY3R1cmUiLCJsYWJlbCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImJyb2tlbiIsInNldEJyb2tlbiIsImluaXRpYWwiLCJ0cmltIiwidG9VcHBlckNhc2UiLCJzcmMiLCJhbHQiLCJvbkVycm9yIiwibG9hZGluZyIsImRlY29kaW5nIiwiQ29udGV4dE1lbnRpb25JdGVtIiwiX3JlZjIiLCJpdGVtIiwiYWN0aXZlIiwib25TZWxlY3QiLCJvbkhvdmVyIiwiX3VzZVQiLCJ0IiwicHJpbWFyeUhpZ2hsaWdodCIsImJyZWFkY3J1bWIiLCJ0eXBlIiwicmF3IiwiaGFuZGxlQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYXNDb3VudCIsImNvdW50IiwiaGFzUGFyZW50IiwicGFyZW50IiwiY291bnRMYWJlbCIsImNvbmNhdCIsImRlZmF1bHRWYWx1ZSIsIl9yYXckcG9zaXRpb25OYW1lIiwiX3JhdyRlbWFpbCIsInBvc2l0aW9uTGluZSIsInBvc2l0aW9uTmFtZSIsImVtYWlsIiwic2hvd1Bvc2l0aW9uIiwiJGFjdGl2ZSIsIm9uTW91c2VEb3duIiwib25Nb3VzZUVudGVyIiwiJHdpdGhEaXZpZGVyIiwidGl0bGUiLCJfcmF3JGNsaWVudE5hbWUiLCJjbGllbnROYW1lIiwiZHJhZ2dhYmxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50Iiwid2lkdGgiLCJoZWlnaHQiLCJmbGV4IiwiaWQiLCJjb2xvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uSXRlbS9Db250ZXh0TWVudGlvbkl0ZW0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZDLCBNb3VzZUV2ZW50LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ2hldnJvblJpZ2h0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvblJpZ2h0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBUQVNLX0xJTktfSUNPTl9EQVRBX1VSTCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy90YXNrTGlua0ljb24nXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbkl0ZW0gYXMgQ29udGV4dE1lbnRpb25JdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgTm90aW9uSWNvbiB9IGZyb20gJy4uL2ljb25zL05vdGlvbkljb24nXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24sIGlzTm90aW9uTWNwU2x1ZyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQge1xuICBTQ01JUm93LFxuICBTQ01JTmFtZSxcbiAgU0NNSVRpdGxlLFxuICBTQ01JVGl0bGVIaWdobGlnaHQsXG4gIFNDTUlCcmVhZGNydW1iLFxuICBTQ01JQnJlYWRjcnVtYlBhcmVudCxcbiAgU0NNSVJvd1VzZXIsXG4gIFNDTVVzZXJBdmF0YXJXcmFwLFxuICBTQ01Vc2VyQXZhdGFySW1nLFxuICBTQ01Vc2VyQXZhdGFyRmFsbGJhY2ssXG4gIFNDTVVzZXJJbmZvLFxuICBTQ01Vc2VyTmFtZVBvc2l0aW9uUm93LFxuICBTQ01Vc2VyTmFtZUNlbGwsXG4gIFNDTVVzZXJOYW1lVGV4dCxcbiAgU0NNVXNlclBvc2l0aW9uVGV4dCxcbiAgU0NNSVRhc2tSb3dJbm5lcixcbiAgU0NNSVRhc2tJY29uSW1nLFxuICBTQ01JVGFza1RpdGxlLFxuICBTQ01Qcm9qZWN0TWV0YUNsaWVudE5hbWUsXG59IGZyb20gJy4vQ29udGV4dE1lbnRpb25JdGVtLnN0eWxlcydcblxudHlwZSBDb250ZXh0TWVudGlvbkl0ZW1Qcm9wcyA9IHtcbiAgaXRlbTogQ29udGV4dE1lbnRpb25JdGVtVHlwZVxuICBhY3RpdmU/OiBib29sZWFuXG4gIG9uU2VsZWN0OiAoaXRlbTogQ29udGV4dE1lbnRpb25JdGVtVHlwZSkgPT4gdm9pZFxuICBvbkhvdmVyPzogKGl0ZW06IENvbnRleHRNZW50aW9uSXRlbVR5cGUpID0+IHZvaWRcbn1cblxuY29uc3QgcmVuZGVyVGl0bGUgPSAocHJpbWFyeTogc3RyaW5nLCBoaWdobGlnaHQ/OiB7IHN0YXJ0OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyIH0pID0+IHtcbiAgaWYgKCFoaWdobGlnaHQgfHwgaGlnaGxpZ2h0Lmxlbmd0aCA8PSAwKSByZXR1cm4gcHJpbWFyeVxuICBjb25zdCB7IHN0YXJ0LCBsZW5ndGggfSA9IGhpZ2hsaWdodFxuICBjb25zdCBlbmQgPSBzdGFydCArIGxlbmd0aFxuICBpZiAoc3RhcnQgPCAwIHx8IHN0YXJ0ID4gcHJpbWFyeS5sZW5ndGggfHwgZW5kID4gcHJpbWFyeS5sZW5ndGgpIHJldHVybiBwcmltYXJ5XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtwcmltYXJ5LnNsaWNlKDAsIHN0YXJ0KX1cbiAgICAgIDxTQ01JVGl0bGVIaWdobGlnaHQ+e3ByaW1hcnkuc2xpY2Uoc3RhcnQsIGVuZCl9PC9TQ01JVGl0bGVIaWdobGlnaHQ+XG4gICAgICB7cHJpbWFyeS5zbGljZShlbmQpfVxuICAgIDwvPlxuICApXG59XG5cbmNvbnN0IFVzZXJSb3dBdmF0YXI6IEZDPHsgcGljdHVyZT86IHN0cmluZyB8IG51bGw7IGxhYmVsOiBzdHJpbmcgfT4gPSAoeyBwaWN0dXJlLCBsYWJlbCB9KSA9PiB7XG4gIGNvbnN0IFticm9rZW4sIHNldEJyb2tlbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgaW5pdGlhbCA9IChsYWJlbC50cmltKClbMF0gfHwgJz8nKS50b1VwcGVyQ2FzZSgpXG5cbiAgcmV0dXJuIChcbiAgICA8U0NNVXNlckF2YXRhcldyYXA+XG4gICAgICB7cGljdHVyZSAmJiAhYnJva2VuID8gKFxuICAgICAgICA8U0NNVXNlckF2YXRhckltZyBzcmM9e3BpY3R1cmV9IGFsdD1cIlwiIG9uRXJyb3I9eygpID0+IHNldEJyb2tlbih0cnVlKX0gbG9hZGluZz1cImxhenlcIiBkZWNvZGluZz1cImFzeW5jXCIgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxTQ01Vc2VyQXZhdGFyRmFsbGJhY2sgYXJpYS1oaWRkZW4+e2luaXRpYWx9PC9TQ01Vc2VyQXZhdGFyRmFsbGJhY2s+XG4gICAgICApfVxuICAgIDwvU0NNVXNlckF2YXRhcldyYXA+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uSXRlbTogRkM8Q29udGV4dE1lbnRpb25JdGVtUHJvcHM+ID0gKHsgaXRlbSwgYWN0aXZlLCBvblNlbGVjdCwgb25Ib3ZlciB9KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IHsgcHJpbWFyeSwgcHJpbWFyeUhpZ2hsaWdodCwgYnJlYWRjcnVtYiwgdHlwZSwgcmF3IH0gPSBpdGVtXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBvblNlbGVjdChpdGVtKVxuICB9XG5cbiAgY29uc3QgaGFzQ291bnQgPSB0eXBlb2YgYnJlYWRjcnVtYj8uY291bnQgPT09ICdudW1iZXInXG4gIGNvbnN0IGhhc1BhcmVudCA9ICEhYnJlYWRjcnVtYj8ucGFyZW50XG4gIGNvbnN0IGNvdW50TGFiZWwgPVxuICAgIGJyZWFkY3J1bWI/LmNvdW50TGFiZWwgJiZcbiAgICB0KGBjb250ZXh0TWVudGlvbi5jb3VudGVycy4ke2JyZWFkY3J1bWIuY291bnRMYWJlbH1gLCB7IGRlZmF1bHRWYWx1ZTogYnJlYWRjcnVtYi5jb3VudExhYmVsIH0pXG5cbiAgaWYgKHR5cGUgPT09ICd1c2VyJykge1xuICAgIGNvbnN0IHBvc2l0aW9uTGluZSA9IHJhdy5wb3NpdGlvbk5hbWU/LnRyaW0oKSB8fCByYXcuZW1haWw/LnRyaW0oKSB8fCAnJ1xuICAgIGNvbnN0IHNob3dQb3NpdGlvbiA9IHBvc2l0aW9uTGluZS5sZW5ndGggPiAwXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTUlSb3dVc2VyICRhY3RpdmU9e2FjdGl2ZX0gb25Nb3VzZURvd249e2hhbmRsZUNsaWNrfSBvbk1vdXNlRW50ZXI9eygpID0+IG9uSG92ZXI/LihpdGVtKX0+XG4gICAgICAgIDxVc2VyUm93QXZhdGFyIHBpY3R1cmU9e3Jhdy5waWN0dXJlfSBsYWJlbD17cHJpbWFyeX0gLz5cbiAgICAgICAgPFNDTVVzZXJJbmZvPlxuICAgICAgICAgIDxTQ01Vc2VyTmFtZVBvc2l0aW9uUm93PlxuICAgICAgICAgICAgPFNDTVVzZXJOYW1lQ2VsbCAkd2l0aERpdmlkZXI9e3Nob3dQb3NpdGlvbn0+XG4gICAgICAgICAgICAgIDxTQ01Vc2VyTmFtZVRleHQ+e3JlbmRlclRpdGxlKHByaW1hcnksIHByaW1hcnlIaWdobGlnaHQpfTwvU0NNVXNlck5hbWVUZXh0PlxuICAgICAgICAgICAgPC9TQ01Vc2VyTmFtZUNlbGw+XG4gICAgICAgICAgICB7c2hvd1Bvc2l0aW9uICYmIDxTQ01Vc2VyUG9zaXRpb25UZXh0IHRpdGxlPXtwb3NpdGlvbkxpbmV9Pntwb3NpdGlvbkxpbmV9PC9TQ01Vc2VyUG9zaXRpb25UZXh0Pn1cbiAgICAgICAgICA8L1NDTVVzZXJOYW1lUG9zaXRpb25Sb3c+XG4gICAgICAgIDwvU0NNVXNlckluZm8+XG4gICAgICA8L1NDTUlSb3dVc2VyPlxuICAgIClcbiAgfVxuXG4gIGlmICh0eXBlID09PSAncHJvamVjdCcpIHtcbiAgICBjb25zdCBjbGllbnROYW1lID0gcmF3LmNsaWVudE5hbWU/LnRyaW0oKSB8fCAnJ1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ01JUm93ICRhY3RpdmU9e2FjdGl2ZX0gb25Nb3VzZURvd249e2hhbmRsZUNsaWNrfSBvbk1vdXNlRW50ZXI9eygpID0+IG9uSG92ZXI/LihpdGVtKX0+XG4gICAgICAgIDxTQ01JTmFtZT5cbiAgICAgICAgICB7Y2xpZW50TmFtZSA/IDxTQ01Qcm9qZWN0TWV0YUNsaWVudE5hbWUgdGl0bGU9e2NsaWVudE5hbWV9PntjbGllbnROYW1lfTwvU0NNUHJvamVjdE1ldGFDbGllbnROYW1lPiA6IG51bGx9XG4gICAgICAgICAgPFNDTUlUaXRsZSB0aXRsZT17cHJpbWFyeX0+e3JlbmRlclRpdGxlKHByaW1hcnksIHByaW1hcnlIaWdobGlnaHQpfTwvU0NNSVRpdGxlPlxuICAgICAgICA8L1NDTUlOYW1lPlxuICAgICAgPC9TQ01JUm93PlxuICAgIClcbiAgfVxuXG4gIGlmICh0eXBlID09PSAndGFzaycpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDTUlSb3cgJGFjdGl2ZT17YWN0aXZlfSBvbk1vdXNlRG93bj17aGFuZGxlQ2xpY2t9IG9uTW91c2VFbnRlcj17KCkgPT4gb25Ib3Zlcj8uKGl0ZW0pfT5cbiAgICAgICAgPFNDTUlUYXNrUm93SW5uZXI+XG4gICAgICAgICAgPFNDTUlUYXNrSWNvbkltZyBzcmM9e1RBU0tfTElOS19JQ09OX0RBVEFfVVJMfSBhbHQ9XCJcIiBkcmFnZ2FibGU9e2ZhbHNlfSBhcmlhLWhpZGRlbiAvPlxuICAgICAgICAgIDxTQ01JVGFza1RpdGxlIHRpdGxlPXtwcmltYXJ5fT57cmVuZGVyVGl0bGUocHJpbWFyeSwgcHJpbWFyeUhpZ2hsaWdodCl9PC9TQ01JVGFza1RpdGxlPlxuICAgICAgICA8L1NDTUlUYXNrUm93SW5uZXI+XG4gICAgICA8L1NDTUlSb3c+XG4gICAgKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICdtY3AnKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ01JUm93ICRhY3RpdmU9e2FjdGl2ZX0gb25Nb3VzZURvd249e2hhbmRsZUNsaWNrfSBvbk1vdXNlRW50ZXI9eygpID0+IG9uSG92ZXI/LihpdGVtKX0+XG4gICAgICAgIDxTQ01JVGFza1Jvd0lubmVyPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICB3aWR0aDogMTYsXG4gICAgICAgICAgICAgIGhlaWdodDogMTYsXG4gICAgICAgICAgICAgIGZsZXg6ICcwIDAgMTZweCcsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpc05vdGlvbk1jcFNsdWcocmF3LmlkKSA/IChcbiAgICAgICAgICAgICAgPE5vdGlvbkljb24gd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgZ2V0Q29udGV4dE1lbnRpb25JY29uKCdtY3AnLCAnIzJkNzdiZCcsIHJhdy5pZCwgMTYpXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8U0NNSVRhc2tUaXRsZSB0aXRsZT17cHJpbWFyeX0+e3JlbmRlclRpdGxlKHByaW1hcnksIHByaW1hcnlIaWdobGlnaHQpfTwvU0NNSVRhc2tUaXRsZT5cbiAgICAgICAgPC9TQ01JVGFza1Jvd0lubmVyPlxuICAgICAgPC9TQ01JUm93PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDTUlSb3cgJGFjdGl2ZT17YWN0aXZlfSBvbk1vdXNlRG93bj17aGFuZGxlQ2xpY2t9IG9uTW91c2VFbnRlcj17KCkgPT4gb25Ib3Zlcj8uKGl0ZW0pfT5cbiAgICAgIDxTQ01JTmFtZT5cbiAgICAgICAgPFNDTUlUaXRsZT57cmVuZGVyVGl0bGUocHJpbWFyeSwgcHJpbWFyeUhpZ2hsaWdodCl9PC9TQ01JVGl0bGU+XG4gICAgICAgIHsoaGFzQ291bnQgfHwgaGFzUGFyZW50KSAmJiAoXG4gICAgICAgICAgPFNDTUlCcmVhZGNydW1iPlxuICAgICAgICAgICAge2hhc0NvdW50ICYmIChcbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAge2JyZWFkY3J1bWI/LmNvdW50fSB7Y291bnRMYWJlbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtoYXNQYXJlbnQgJiYgKFxuICAgICAgICAgICAgICA8U0NNSUJyZWFkY3J1bWJQYXJlbnQ+XG4gICAgICAgICAgICAgICAgPENoZXZyb25SaWdodCB3aWR0aD1cIjEycHhcIiBoZWlnaHQ9XCIxMnB4XCIgY29sb3I9XCIjODA4MDgwXCIgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj57YnJlYWRjcnVtYj8ucGFyZW50fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9TQ01JQnJlYWRjcnVtYlBhcmVudD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ01JQnJlYWRjcnVtYj5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NNSU5hbWU+XG4gICAgPC9TQ01JUm93PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUF5QkEsUUFBUSxRQUFRLE9BQU87QUFDaEQsU0FBU0MsWUFBWSxRQUFRLCtDQUErQztBQUM1RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLHVCQUF1QixRQUFRLGlDQUFpQztBQUV6RSxTQUFTQyxVQUFVLFFBQVEscUJBQXFCO0FBQ2hELFNBQVNDLHFCQUFxQixFQUFFQyxlQUFlLFFBQVEsb0NBQW9DO0FBQzNGLFNBQ0VDLE9BQU8sRUFDUEMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLGtCQUFrQixFQUNsQkMsY0FBYyxFQUNkQyxvQkFBb0IsRUFDcEJDLFdBQVcsRUFDWEMsaUJBQWlCLEVBQ2pCQyxnQkFBZ0IsRUFDaEJDLHFCQUFxQixFQUNyQkMsV0FBVyxFQUNYQyxzQkFBc0IsRUFDdEJDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxtQkFBbUIsRUFDbkJDLGdCQUFnQixFQUNoQkMsZUFBZSxFQUNmQyxhQUFhLEVBQ2JDLHdCQUF3QixRQUNuQiw2QkFBNkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQVNwQyxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsT0FBZSxFQUFFQyxTQUE2QyxFQUFLO0VBQ3RGLElBQUksQ0FBQ0EsU0FBUyxJQUFJQSxTQUFTLENBQUNDLE1BQU0sSUFBSSxDQUFDLEVBQUUsT0FBT0YsT0FBTztFQUN2RCxJQUFRRyxLQUFLLEdBQWFGLFNBQVMsQ0FBM0JFLEtBQUs7SUFBRUQsTUFBTSxHQUFLRCxTQUFTLENBQXBCQyxN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
|