@projectcor/maia-components 2.11.40-8 → 2.11.40
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 -22
- package/lib/components/atoms/MAIAInput/MAIAInput.js +321 -238
- package/lib/components/atoms/MAIAInput/styles.js +46 -75
- package/lib/components/atoms/icons/index.js +1 -2
- package/lib/components/index.js +1 -2
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +4 -8
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +3 -31
- package/lib/components/molecules/ChatAIMessages/newStyles.js +2 -5
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +6 -8
- package/lib/components/molecules/ChatFooter/ChatFooter.js +4 -5
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +3 -2
- package/lib/components/molecules/Sidebar/Sidebar.js +5 -9
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -6
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +2 -5
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +3 -6
- package/lib/constants/config.js +1 -3
- package/lib/context/cor-user.js +1 -1
- package/lib/dev/Providers.js +6 -11
- 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/useClientSearch.js +2 -3
- package/lib/hooks/useEvent.js +1 -6
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +4 -6
- package/lib/hooks/useProjectSearch.js +2 -3
- package/lib/hooks/useRecentClientsSearch.js +2 -3
- package/lib/hooks/useTaskPanel.js +10 -3
- package/lib/lang/br/index.js +1 -24
- package/lib/lang/en/index.js +1 -24
- package/lib/lang/es/index.js +1 -24
- package/lib/lang/fr/index.js +1 -23
- package/lib/services/maia/Chats/getChatMessages.js +4 -29
- package/lib/services/maia/Orchestrator/orchestrator.js +5 -8
- 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/package.json +1 -2
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -38
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -184
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +0 -39
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -325
- package/lib/components/atoms/ContextMentionChip/index.js +0 -4
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -195
- 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 -280
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -130
- package/lib/components/atoms/ContextMentionItem/index.js +0 -2
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -168
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -79
- package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +0 -269
- package/lib/components/atoms/icons/NotionIcon.js +0 -36
- package/lib/components/atoms/icons/SubtaskIcon.js +0 -36
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -68
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
- package/lib/components/molecules/ContextMentionInput/index.js +0 -2
- package/lib/constants/taskLinkIcon.js +0 -6
- package/lib/dev/DevContextMentionInput.js +0 -65
- package/lib/hooks/useCaretPosition.js +0 -35
- package/lib/hooks/useContextMentions.js +0 -270
- package/lib/hooks/useEntitySearch.js +0 -996
- package/lib/hooks/useMentionAllowedTypes.js +0 -103
- package/lib/hooks/useMentionPopover.js +0 -333
- package/lib/hooks/useTextOverflowEllipsisTooltip.js +0 -34
- package/lib/services/maia/RecentTasks/getRecentTasks.js +0 -54
- package/lib/services/maia/RecentTasks/index.js +0 -6
- package/lib/services/maia/RecentUsers/getRecentUsers.js +0 -59
- package/lib/services/maia/RecentUsers/index.js +0 -6
- package/lib/services/query/entitySearchQuery.js +0 -18
- package/lib/services/query/usersDirectoryQuery.js +0 -19
- 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/maiaStreamdownRehypePlugins.js +0 -27
- package/lib/utils/openTaskInCorPanel.js +0 -18
- package/lib/utils/renderContextMentions.js +0 -299
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/** Paths del logo Notion (viewBox 0 0 100 100). Compartidos con el builder imperativo del chip. */
|
|
3
|
-
export var NOTION_BRAND_PATH_WHITE = 'M6.017 4.313 61.35.226c6.797-.583 8.543-.19 12.817 2.917L91.83 15.586c2.913 2.14 3.883 2.723 3.883 5.053v68.243c0 4.277-1.553 6.807-6.99 7.193l-64.256 3.892c-4.08.193-6.023-.39-8.16-3.113L3.3 79.94C.967 76.827 0 74.497 0 71.773v-60.66c0-3.497 1.553-6.413 6.017-6.8z';
|
|
4
|
-
export var NOTION_BRAND_PATH_BLACK = 'M61.35.227 6.017 4.314C1.553 4.7 0 7.617 0 11.113v60.66c0 2.723.967 5.053 3.3 8.167l13.007 16.913c2.137 2.723 4.08 3.307 8.16 3.113l64.257-3.89c5.433-.387 6.99-2.917 6.99-7.193V20.64c0-2.21-.873-2.847-3.443-4.733L74.167 3.143C69.894.036 68.147-.357 61.35.226zM25.92 19.523c-5.247.353-6.437.433-9.417-1.99l-7.576-6.026c-.77-.78-.383-1.753 1.557-1.947l53.193-3.887c4.467-.39 6.793 1.167 8.54 2.527l9.123 6.61c.39.197 1.36 1.36.193 1.36L26.6 19.477l-.68.047zM19.803 88.3V30.367c0-2.53.777-3.697 3.103-3.893L86 22.78c2.14-.193 3.107 1.167 3.107 3.693V84.02c0 2.53-.39 4.67-3.883 4.863l-60.377 3.5c-3.493.193-5.043-.97-5.043-4.083zm59.6-54.827c.387 1.75 0 3.5-1.75 3.7l-2.91.577v42.773c-2.527 1.36-4.853 2.137-6.797 2.137-3.107 0-3.883-.973-6.21-3.887l-19.03-29.94V77.8l6.02 1.363s0 3.5-4.857 3.5l-13.39.777c-.39-.78 0-2.723 1.357-3.11l3.497-.97v-38.3l-4.853-.393c-.39-1.75.58-4.277 3.3-4.473l14.367-.967 19.8 30.327v-26.83l-5.047-.58c-.39-2.143 1.163-3.7 3.103-3.89l13.4-.78z';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Logo Notion (geometría del asset de marca). viewBox 0 0 100 100.
|
|
8
|
-
*/
|
|
9
|
-
export var NotionIcon = function NotionIcon(_ref) {
|
|
10
|
-
var _ref$width = _ref.width,
|
|
11
|
-
width = _ref$width === void 0 ? 100 : _ref$width,
|
|
12
|
-
_ref$height = _ref.height,
|
|
13
|
-
height = _ref$height === void 0 ? 100 : _ref$height,
|
|
14
|
-
className = _ref.className,
|
|
15
|
-
_ref$ariaHidden = _ref['aria-hidden'],
|
|
16
|
-
ariaHidden = _ref$ariaHidden === void 0 ? true : _ref$ariaHidden;
|
|
17
|
-
return /*#__PURE__*/_jsxs("svg", {
|
|
18
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
19
|
-
width: width,
|
|
20
|
-
height: height,
|
|
21
|
-
fill: "none",
|
|
22
|
-
viewBox: "0 0 100 100",
|
|
23
|
-
className: className,
|
|
24
|
-
"aria-hidden": ariaHidden,
|
|
25
|
-
children: [/*#__PURE__*/_jsx("path", {
|
|
26
|
-
fill: "#fff",
|
|
27
|
-
d: NOTION_BRAND_PATH_WHITE
|
|
28
|
-
}), /*#__PURE__*/_jsx("path", {
|
|
29
|
-
fill: "#000",
|
|
30
|
-
fillRule: "evenodd",
|
|
31
|
-
clipRule: "evenodd",
|
|
32
|
-
d: NOTION_BRAND_PATH_BLACK
|
|
33
|
-
})]
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOT1RJT05fQlJBTkRfUEFUSF9XSElURSIsIk5PVElPTl9CUkFORF9QQVRIX0JMQUNLIiwiTm90aW9uSWNvbiIsIl9yZWYiLCJfcmVmJHdpZHRoIiwid2lkdGgiLCJfcmVmJGhlaWdodCIsImhlaWdodCIsImNsYXNzTmFtZSIsIl9yZWYkYXJpYUhpZGRlbiIsImFyaWFIaWRkZW4iLCJfanN4cyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJjaGlsZHJlbiIsIl9qc3giLCJkIiwiZmlsbFJ1bGUiLCJjbGlwUnVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL2ljb25zL05vdGlvbkljb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbInR5cGUgTm90aW9uSWNvblByb3BzID0ge1xuICB3aWR0aD86IG51bWJlclxuICBoZWlnaHQ/OiBudW1iZXJcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gICdhcmlhLWhpZGRlbic/OiBib29sZWFuXG59XG5cbi8qKiBQYXRocyBkZWwgbG9nbyBOb3Rpb24gKHZpZXdCb3ggMCAwIDEwMCAxMDApLiBDb21wYXJ0aWRvcyBjb24gZWwgYnVpbGRlciBpbXBlcmF0aXZvIGRlbCBjaGlwLiAqL1xuZXhwb3J0IGNvbnN0IE5PVElPTl9CUkFORF9QQVRIX1dISVRFID1cbiAgJ002LjAxNyA0LjMxMyA2MS4zNS4yMjZjNi43OTctLjU4MyA4LjU0My0uMTkgMTIuODE3IDIuOTE3TDkxLjgzIDE1LjU4NmMyLjkxMyAyLjE0IDMuODgzIDIuNzIzIDMuODgzIDUuMDUzdjY4LjI0M2MwIDQuMjc3LTEuNTUzIDYuODA3LTYuOTkgNy4xOTNsLTY0LjI1NiAzLjg5MmMtNC4wOC4xOTMtNi4wMjMtLjM5LTguMTYtMy4xMTNMMy4zIDc5Ljk0Qy45NjcgNzYuODI3IDAgNzQuNDk3IDAgNzEuNzczdi02MC42NmMwLTMuNDk3IDEuNTUzLTYuNDEzIDYuMDE3LTYuOHonXG5cbmV4cG9ydCBjb25zdCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSyA9XG4gICdNNjEuMzUuMjI3IDYuMDE3IDQuMzE0QzEuNTUzIDQuNyAwIDcuNjE3IDAgMTEuMTEzdjYwLjY2YzAgMi43MjMuOTY3IDUuMDUzIDMuMyA4LjE2N2wxMy4wMDcgMTYuOTEzYzIuMTM3IDIuNzIzIDQuMDggMy4zMDcgOC4xNiAzLjExM2w2NC4yNTctMy44OWM1LjQzMy0uMzg3IDYuOTktMi45MTcgNi45OS03LjE5M1YyMC42NGMwLTIuMjEtLjg3My0yLjg0Ny0zLjQ0My00LjczM0w3NC4xNjcgMy4xNDNDNjkuODk0LjAzNiA2OC4xNDctLjM1NyA2MS4zNS4yMjZ6TTI1LjkyIDE5LjUyM2MtNS4yNDcuMzUzLTYuNDM3LjQzMy05LjQxNy0xLjk5bC03LjU3Ni02LjAyNmMtLjc3LS43OC0uMzgzLTEuNzUzIDEuNTU3LTEuOTQ3bDUzLjE5My0zLjg4N2M0LjQ2Ny0uMzkgNi43OTMgMS4xNjcgOC41NCAyLjUyN2w5LjEyMyA2LjYxYy4zOS4xOTcgMS4zNiAxLjM2LjE5MyAxLjM2TDI2LjYgMTkuNDc3bC0uNjguMDQ3ek0xOS44MDMgODguM1YzMC4zNjdjMC0yLjUzLjc3Ny0zLjY5NyAzLjEwMy0zLjg5M0w4NiAyMi43OGMyLjE0LS4xOTMgMy4xMDcgMS4xNjcgMy4xMDcgMy42OTNWODQuMDJjMCAyLjUzLS4zOSA0LjY3LTMuODgzIDQuODYzbC02MC4zNzcgMy41Yy0zLjQ5My4xOTMtNS4wNDMtLjk3LTUuMDQzLTQuMDgzem01OS42LTU0LjgyN2MuMzg3IDEuNzUgMCAzLjUtMS43NSAzLjdsLTIuOTEuNTc3djQyLjc3M2MtMi41MjcgMS4zNi00Ljg1MyAyLjEzNy02Ljc5NyAyLjEzNy0zLjEwNyAwLTMuODgzLS45NzMtNi4yMS0zLjg4N2wtMTkuMDMtMjkuOTRWNzcuOGw2LjAyIDEuMzYzczAgMy41LTQuODU3IDMuNWwtMTMuMzkuNzc3Yy0uMzktLjc4IDAtMi43MjMgMS4zNTctMy4xMWwzLjQ5Ny0uOTd2LTM4LjNsLTQuODUzLS4zOTNjLS4zOS0xLjc1LjU4LTQuMjc3IDMuMy00LjQ3M2wxNC4zNjctLjk2NyAxOS44IDMwLjMyN3YtMjYuODNsLTUuMDQ3LS41OGMtLjM5LTIuMTQzIDEuMTYzLTMuNyAzLjEwMy0zLjg5bDEzLjQtLjc4eidcblxuLyoqXG4gKiBMb2dvIE5vdGlvbiAoZ2VvbWV0csOtYSBkZWwgYXNzZXQgZGUgbWFyY2EpLiB2aWV3Qm94IDAgMCAxMDAgMTAwLlxuICovXG5leHBvcnQgY29uc3QgTm90aW9uSWNvbiA9ICh7XG4gIHdpZHRoID0gMTAwLFxuICBoZWlnaHQgPSAxMDAsXG4gIGNsYXNzTmFtZSxcbiAgJ2FyaWEtaGlkZGVuJzogYXJpYUhpZGRlbiA9IHRydWUsXG59OiBOb3Rpb25JY29uUHJvcHMpID0+IChcbiAgPHN2Z1xuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHdpZHRoPXt3aWR0aH1cbiAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICBmaWxsPVwibm9uZVwiXG4gICAgdmlld0JveD1cIjAgMCAxMDAgMTAwXCJcbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgPlxuICAgIDxwYXRoIGZpbGw9XCIjZmZmXCIgZD17Tk9USU9OX0JSQU5EX1BBVEhfV0hJVEV9IC8+XG4gICAgPHBhdGggZmlsbD1cIiMwMDBcIiBmaWxsUnVsZT1cImV2ZW5vZGRcIiBjbGlwUnVsZT1cImV2ZW5vZGRcIiBkPXtOT1RJT05fQlJBTkRfUEFUSF9CTEFDS30gLz5cbiAgPC9zdmc+XG4pXG4iXSwibWFwcGluZ3MiOiI7QUFPQTtBQUNBLE9BQU8sSUFBTUEsdUJBQXVCLEdBQ2xDLDJRQUEyUTtBQUU3USxPQUFPLElBQU1DLHVCQUF1QixHQUNsQyw2OEJBQTY4Qjs7QUFFLzhCO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUFDLElBQUE7RUFBQSxJQUFBQyxVQUFBLEdBQUFELElBQUEsQ0FDckJFLEtBQUs7SUFBTEEsS0FBSyxHQUFBRCxVQUFBLGNBQUcsR0FBRyxHQUFBQSxVQUFBO0lBQUFFLFdBQUEsR0FBQUgsSUFBQSxDQUNYSSxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsV0FBQSxjQUFHLEdBQUcsR0FBQUEsV0FBQTtJQUNaRSxTQUFTLEdBQUFMLElBQUEsQ0FBVEssU0FBUztJQUFBQyxlQUFBLEdBQUFOLElBQUEsQ0FDVCxhQUFhO0lBQUVPLFVBQVUsR0FBQUQsZUFBQSxjQUFHLElBQUksR0FBQUEsZUFBQTtFQUFBLG9CQUVoQ0UsS0FBQTtJQUNFQyxLQUFLLEVBQUMsNEJBQTRCO0lBQ2xDUCxLQUFLLEVBQUVBLEtBQU07SUFDYkUsTUFBTSxFQUFFQSxNQUFPO0lBQ2ZNLElBQUksRUFBQyxNQUFNO0lBQ1hDLE9BQU8sRUFBQyxhQUFhO0lBQ3JCTixTQUFTLEVBQUVBLFNBQVU7SUFDckIsZUFBYUUsVUFBVztJQUFBSyxRQUFBLGdCQUV4QkMsSUFBQTtNQUFNSCxJQUFJLEVBQUMsTUFBTTtNQUFDSSxDQUFDLEVBQUVqQjtJQUF3QixDQUFFLENBQUMsZUFDaERnQixJQUFBO01BQU1ILElBQUksRUFBQyxNQUFNO01BQUNLLFFBQVEsRUFBQyxTQUFTO01BQUNDLFFBQVEsRUFBQyxTQUFTO01BQUNGLENBQUMsRUFBRWhCO0lBQXdCLENBQUUsQ0FBQztFQUFBLENBQ25GLENBQUM7QUFBQSxDQUNQIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
var PATHS = {
|
|
3
|
-
regular: 'M14.3947 13.7031C14.5351 13.5939 14.5351 13.3754 14.3947 13.2662L13.7767 12.6382C13.6363 12.5017 13.4116 12.529 13.2712 12.6655L11.6982 14.3311V3.65529C11.6982 3.30034 11.3893 3 11.0241 3H5.85599C5.54702 3 5.3785 3.35495 5.6032 3.57338L6.50201 4.4471C6.55818 4.50171 6.67054 4.52901 6.7548 4.52901H10.1253V14.3311L8.52433 12.6655C8.38389 12.529 8.15919 12.5017 8.01875 12.6382L7.40082 13.2662C7.26038 13.3754 7.26038 13.5939 7.40082 13.7031L10.659 16.8976C10.7994 17.0341 10.9961 17.0341 11.1365 16.8976L14.3947 13.7031Z',
|
|
4
|
-
solid: 'M14.3306 13.0527C14.5605 12.8068 14.5605 12.3971 14.3051 12.1512L13.7431 11.5502C13.5132 11.2771 13.1044 11.2771 12.8745 11.5502L11.4439 13.2166V3.65561C11.4439 3.30049 11.1629 3 10.8308 3H5.82378C5.54277 3 5.38949 3.35512 5.59386 3.57366L7.02444 5.10341C7.07554 5.15805 7.17772 5.18537 7.25436 5.18537H9.40023V13.2166L7.9441 11.5502C7.71419 11.2771 7.30545 11.2771 7.07554 11.5502L6.51352 12.1512C6.25806 12.3971 6.25806 12.8068 6.48798 13.0527L9.96225 16.7951C10.2177 17.0683 10.6009 17.0683 10.8564 16.7951L14.3306 13.0527Z'
|
|
5
|
-
};
|
|
6
|
-
export var SubtaskIcon = function SubtaskIcon(_ref) {
|
|
7
|
-
var _ref$color = _ref.color,
|
|
8
|
-
color = _ref$color === void 0 ? 'rgba(0, 0, 0, 0.9)' : _ref$color,
|
|
9
|
-
_ref$className = _ref.className,
|
|
10
|
-
className = _ref$className === void 0 ? '' : _ref$className,
|
|
11
|
-
_ref$width = _ref.width,
|
|
12
|
-
width = _ref$width === void 0 ? '24px' : _ref$width,
|
|
13
|
-
_ref$height = _ref.height,
|
|
14
|
-
height = _ref$height === void 0 ? '24px' : _ref$height,
|
|
15
|
-
_ref$variant = _ref.variant,
|
|
16
|
-
variant = _ref$variant === void 0 ? 'regular' : _ref$variant;
|
|
17
|
-
return /*#__PURE__*/_jsx("svg", {
|
|
18
|
-
width: width,
|
|
19
|
-
height: height,
|
|
20
|
-
className: className,
|
|
21
|
-
viewBox: "0 0 20 20",
|
|
22
|
-
"aria-hidden": "true",
|
|
23
|
-
children: /*#__PURE__*/_jsx("g", {
|
|
24
|
-
stroke: "none",
|
|
25
|
-
strokeWidth: "1",
|
|
26
|
-
fill: color,
|
|
27
|
-
fillRule: "evenodd",
|
|
28
|
-
children: /*#__PURE__*/_jsx("path", {
|
|
29
|
-
d: PATHS[variant],
|
|
30
|
-
fill: color,
|
|
31
|
-
fillRule: "nonzero"
|
|
32
|
-
})
|
|
33
|
-
})
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQQVRIUyIsInJlZ3VsYXIiLCJzb2xpZCIsIlN1YnRhc2tJY29uIiwiX3JlZiIsIl9yZWYkY29sb3IiLCJjb2xvciIsIl9yZWYkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3JlZiR3aWR0aCIsIndpZHRoIiwiX3JlZiRoZWlnaHQiLCJoZWlnaHQiLCJfcmVmJHZhcmlhbnQiLCJ2YXJpYW50IiwiX2pzeCIsInZpZXdCb3giLCJjaGlsZHJlbiIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwiZmlsbCIsImZpbGxSdWxlIiwiZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL2ljb25zL1N1YnRhc2tJY29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGQyB9IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBQQVRIUzogUmVjb3JkPCdyZWd1bGFyJyB8ICdzb2xpZCcsIHN0cmluZz4gPSB7XG4gIHJlZ3VsYXI6XG4gICAgJ00xNC4zOTQ3IDEzLjcwMzFDMTQuNTM1MSAxMy41OTM5IDE0LjUzNTEgMTMuMzc1NCAxNC4zOTQ3IDEzLjI2NjJMMTMuNzc2NyAxMi42MzgyQzEzLjYzNjMgMTIuNTAxNyAxMy40MTE2IDEyLjUyOSAxMy4yNzEyIDEyLjY2NTVMMTEuNjk4MiAxNC4zMzExVjMuNjU1MjlDMTEuNjk4MiAzLjMwMDM0IDExLjM4OTMgMyAxMS4wMjQxIDNINS44NTU5OUM1LjU0NzAyIDMgNS4zNzg1IDMuMzU0OTUgNS42MDMyIDMuNTczMzhMNi41MDIwMSA0LjQ0NzFDNi41NTgxOCA0LjUwMTcxIDYuNjcwNTQgNC41MjkwMSA2Ljc1NDggNC41MjkwMUgxMC4xMjUzVjE0LjMzMTFMOC41MjQzMyAxMi42NjU1QzguMzgzODkgMTIuNTI5IDguMTU5MTkgMTIuNTAxNyA4LjAxODc1IDEyLjYzODJMNy40MDA4MiAxMy4yNjYyQzcuMjYwMzggMTMuMzc1NCA3LjI2MDM4IDEzLjU5MzkgNy40MDA4MiAxMy43MDMxTDEwLjY1OSAxNi44OTc2QzEwLjc5OTQgMTcuMDM0MSAxMC45OTYxIDE3LjAzNDEgMTEuMTM2NSAxNi44OTc2TDE0LjM5NDcgMTMuNzAzMVonLFxuICBzb2xpZDpcbiAgICAnTTE0LjMzMDYgMTMuMDUyN0MxNC41NjA1IDEyLjgwNjggMTQuNTYwNSAxMi4zOTcxIDE0LjMwNTEgMTIuMTUxMkwxMy43NDMxIDExLjU1MDJDMTMuNTEzMiAxMS4yNzcxIDEzLjEwNDQgMTEuMjc3MSAxMi44NzQ1IDExLjU1MDJMMTEuNDQzOSAxMy4yMTY2VjMuNjU1NjFDMTEuNDQzOSAzLjMwMDQ5IDExLjE2MjkgMyAxMC44MzA4IDNINS44MjM3OEM1LjU0Mjc3IDMgNS4zODk0OSAzLjM1NTEyIDUuNTkzODYgMy41NzM2Nkw3LjAyNDQ0IDUuMTAzNDFDNy4wNzU1NCA1LjE1ODA1IDcuMTc3NzIgNS4xODUzNyA3LjI1NDM2IDUuMTg1MzdIOS40MDAyM1YxMy4yMTY2TDcuOTQ0MSAxMS41NTAyQzcuNzE0MTkgMTEuMjc3MSA3LjMwNTQ1IDExLjI3NzEgNy4wNzU1NCAxMS41NTAyTDYuNTEzNTIgMTIuMTUxMkM2LjI1ODA2IDEyLjM5NzEgNi4yNTgwNiAxMi44MDY4IDYuNDg3OTggMTMuMDUyN0w5Ljk2MjI1IDE2Ljc5NTFDMTAuMjE3NyAxNy4wNjgzIDEwLjYwMDkgMTcuMDY4MyAxMC44NTY0IDE2Ljc5NTFMMTQuMzMwNiAxMy4wNTI3WicsXG59XG5cbmV4cG9ydCB0eXBlIFN1YnRhc2tJY29uUHJvcHMgPSB7XG4gIGNvbG9yPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICB3aWR0aD86IHN0cmluZ1xuICBoZWlnaHQ/OiBzdHJpbmdcbiAgdmFyaWFudD86ICdyZWd1bGFyJyB8ICdzb2xpZCdcbn1cblxuZXhwb3J0IGNvbnN0IFN1YnRhc2tJY29uOiBGQzxTdWJ0YXNrSWNvblByb3BzPiA9ICh7XG4gIGNvbG9yID0gJ3JnYmEoMCwgMCwgMCwgMC45KScsXG4gIGNsYXNzTmFtZSA9ICcnLFxuICB3aWR0aCA9ICcyNHB4JyxcbiAgaGVpZ2h0ID0gJzI0cHgnLFxuICB2YXJpYW50ID0gJ3JlZ3VsYXInLFxufSkgPT4gKFxuICA8c3ZnIHdpZHRoPXt3aWR0aH0gaGVpZ2h0PXtoZWlnaHR9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgPGcgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZVdpZHRoPVwiMVwiIGZpbGw9e2NvbG9yfSBmaWxsUnVsZT1cImV2ZW5vZGRcIj5cbiAgICAgIDxwYXRoIGQ9e1BBVEhTW3ZhcmlhbnRdfSBmaWxsPXtjb2xvcn0gZmlsbFJ1bGU9XCJub256ZXJvXCIgLz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKVxuIl0sIm1hcHBpbmdzIjoiO0FBRUEsSUFBTUEsS0FBMEMsR0FBRztFQUNqREMsT0FBTyxFQUNMLDBnQkFBMGdCO0VBQzVnQkMsS0FBSyxFQUNIO0FBQ0osQ0FBQztBQVVELE9BQU8sSUFBTUMsV0FBaUMsR0FBRyxTQUFwQ0EsV0FBaUNBLENBQUFDLElBQUE7RUFBQSxJQUFBQyxVQUFBLEdBQUFELElBQUEsQ0FDNUNFLEtBQUs7SUFBTEEsS0FBSyxHQUFBRCxVQUFBLGNBQUcsb0JBQW9CLEdBQUFBLFVBQUE7SUFBQUUsY0FBQSxHQUFBSCxJQUFBLENBQzVCSSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsY0FBQSxjQUFHLEVBQUUsR0FBQUEsY0FBQTtJQUFBRSxVQUFBLEdBQUFMLElBQUEsQ0FDZE0sS0FBSztJQUFMQSxLQUFLLEdBQUFELFVBQUEsY0FBRyxNQUFNLEdBQUFBLFVBQUE7SUFBQUUsV0FBQSxHQUFBUCxJQUFBLENBQ2RRLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsTUFBTSxHQUFBQSxXQUFBO0lBQUFFLFlBQUEsR0FBQVQsSUFBQSxDQUNmVSxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsWUFBQSxjQUFHLFNBQVMsR0FBQUEsWUFBQTtFQUFBLG9CQUVuQkUsSUFBQTtJQUFLTCxLQUFLLEVBQUVBLEtBQU07SUFBQ0UsTUFBTSxFQUFFQSxNQUFPO0lBQUNKLFNBQVMsRUFBRUEsU0FBVTtJQUFDUSxPQUFPLEVBQUMsV0FBVztJQUFDLGVBQVksTUFBTTtJQUFBQyxRQUFBLGVBQzdGRixJQUFBO01BQUdHLE1BQU0sRUFBQyxNQUFNO01BQUNDLFdBQVcsRUFBQyxHQUFHO01BQUNDLElBQUksRUFBRWQsS0FBTTtNQUFDZSxRQUFRLEVBQUMsU0FBUztNQUFBSixRQUFBLGVBQzlERixJQUFBO1FBQU1PLENBQUMsRUFBRXRCLEtBQUssQ0FBQ2MsT0FBTyxDQUFFO1FBQUNNLElBQUksRUFBRWQsS0FBTTtRQUFDZSxRQUFRLEVBQUM7TUFBUyxDQUFFO0lBQUMsQ0FDMUQ7RUFBQyxDQUNELENBQUM7QUFBQSxDQUNQIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { useCallback, useRef } from 'react';
|
|
2
|
-
import { createPortal } from 'react-dom';
|
|
3
|
-
import { ContextMentionEditor } from '../../atoms/ContextMentionEditor';
|
|
4
|
-
import { useMentionPopover } from '../../../hooks/useMentionPopover';
|
|
5
|
-
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
6
|
-
import { SCMIWrapper } from './ContextMentionInput.styles';
|
|
7
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
export var ContextMentionInput = function ContextMentionInput(_ref) {
|
|
9
|
-
var placeholder = _ref.placeholder,
|
|
10
|
-
disabled = _ref.disabled,
|
|
11
|
-
enabledTypes = _ref.enabledTypes,
|
|
12
|
-
onSendMessage = _ref.onSendMessage,
|
|
13
|
-
onMentionAdded = _ref.onMentionAdded,
|
|
14
|
-
onChange = _ref.onChange;
|
|
15
|
-
var editorRef = useRef(null);
|
|
16
|
-
var wrapperRef = useRef(null);
|
|
17
|
-
var event = useEvent();
|
|
18
|
-
var _useMentionPopover = useMentionPopover({
|
|
19
|
-
editorRef: editorRef,
|
|
20
|
-
popoverAnchorRef: wrapperRef,
|
|
21
|
-
enabledTypes: enabledTypes,
|
|
22
|
-
onMentionAdded: onMentionAdded
|
|
23
|
-
}),
|
|
24
|
-
popoverOpen = _useMentionPopover.popoverOpen,
|
|
25
|
-
resetMentionOpenTracking = _useMentionPopover.resetMentionOpenTracking,
|
|
26
|
-
handleTrigger = _useMentionPopover.handleTrigger,
|
|
27
|
-
handlePopoverKeyDown = _useMentionPopover.handleKeyDown,
|
|
28
|
-
popoverNode = _useMentionPopover.popoverNode;
|
|
29
|
-
var handleEditorInput = useCallback(function (_ref2) {
|
|
30
|
-
var text = _ref2.text,
|
|
31
|
-
mentions = _ref2.mentions,
|
|
32
|
-
trigger = _ref2.trigger;
|
|
33
|
-
onChange === null || onChange === void 0 || onChange({
|
|
34
|
-
text: text,
|
|
35
|
-
mentions: mentions
|
|
36
|
-
});
|
|
37
|
-
handleTrigger(trigger);
|
|
38
|
-
}, [onChange, handleTrigger]);
|
|
39
|
-
var handleKeyDown = function handleKeyDown(e) {
|
|
40
|
-
if (handlePopoverKeyDown(e)) return;
|
|
41
|
-
if (e.key === 'Enter' && !e.shiftKey && !popoverOpen) {
|
|
42
|
-
var _editorRef$current, _editorRef$current2;
|
|
43
|
-
e.preventDefault();
|
|
44
|
-
var state = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.serialize();
|
|
45
|
-
if (!state || !state.text.trim()) return;
|
|
46
|
-
state.mentions.forEach(function (m) {
|
|
47
|
-
event(EVENTS.aiChatMentionSend, {
|
|
48
|
-
type: m.type,
|
|
49
|
-
id: String(m.id)
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
onSendMessage(state.text, state.mentions);
|
|
53
|
-
(_editorRef$current2 = editorRef.current) === null || _editorRef$current2 === void 0 || _editorRef$current2.clear();
|
|
54
|
-
resetMentionOpenTracking();
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
return /*#__PURE__*/_jsxs(SCMIWrapper, {
|
|
58
|
-
ref: wrapperRef,
|
|
59
|
-
children: [/*#__PURE__*/_jsx(ContextMentionEditor, {
|
|
60
|
-
ref: editorRef,
|
|
61
|
-
placeholder: placeholder,
|
|
62
|
-
disabled: disabled,
|
|
63
|
-
onInput: handleEditorInput,
|
|
64
|
-
onKeyDown: handleKeyDown
|
|
65
|
-
}), popoverNode && /*#__PURE__*/createPortal(popoverNode, document.body)]
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsImNyZWF0ZVBvcnRhbCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwidXNlTWVudGlvblBvcG92ZXIiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlNDTUlXcmFwcGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNvbnRleHRNZW50aW9uSW5wdXQiLCJfcmVmIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsImVuYWJsZWRUeXBlcyIsIm9uU2VuZE1lc3NhZ2UiLCJvbk1lbnRpb25BZGRlZCIsIm9uQ2hhbmdlIiwiZWRpdG9yUmVmIiwid3JhcHBlclJlZiIsImV2ZW50IiwiX3VzZU1lbnRpb25Qb3BvdmVyIiwicG9wb3ZlckFuY2hvclJlZiIsInBvcG92ZXJPcGVuIiwicmVzZXRNZW50aW9uT3BlblRyYWNraW5nIiwiaGFuZGxlVHJpZ2dlciIsImhhbmRsZVBvcG92ZXJLZXlEb3duIiwiaGFuZGxlS2V5RG93biIsInBvcG92ZXJOb2RlIiwiaGFuZGxlRWRpdG9ySW5wdXQiLCJfcmVmMiIsInRleHQiLCJtZW50aW9ucyIsInRyaWdnZXIiLCJlIiwia2V5Iiwic2hpZnRLZXkiLCJfZWRpdG9yUmVmJGN1cnJlbnQiLCJfZWRpdG9yUmVmJGN1cnJlbnQyIiwicHJldmVudERlZmF1bHQiLCJzdGF0ZSIsImN1cnJlbnQiLCJzZXJpYWxpemUiLCJ0cmltIiwiZm9yRWFjaCIsIm0iLCJhaUNoYXRNZW50aW9uU2VuZCIsInR5cGUiLCJpZCIsIlN0cmluZyIsImNsZWFyIiwicmVmIiwiY2hpbGRyZW4iLCJvbklucHV0Iiwib25LZXlEb3duIiwiZG9jdW1lbnQiLCJib2R5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NvbnRleHRNZW50aW9uSW5wdXQvQ29udGV4dE1lbnRpb25JbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5Ym9hcmRFdmVudCwgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb25FZGl0b3IsIENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ29udGV4dE1lbnRpb25FZGl0b3InXG5pbXBvcnQgeyB1c2VNZW50aW9uUG9wb3ZlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1lbnRpb25Qb3BvdmVyJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBTQ01JV3JhcHBlciB9IGZyb20gJy4vQ29udGV4dE1lbnRpb25JbnB1dC5zdHlsZXMnXG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uSW5wdXRQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIC8qKiBPdmVycmlkZSBkZSB0aXBvcyBwZXJtaXRpZG9zOyBzaSBzZSBvbWl0ZSwgc2UgZGVyaXZhIGRlIGFnZW50LmVudGl0eSAqL1xuICBlbmFibGVkVHlwZXM/OiBDb250ZXh0RW50aXR5VHlwZVtdXG4gIG9uU2VuZE1lc3NhZ2U6ICh0ZXh0OiBzdHJpbmcsIG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdKSA9PiB2b2lkXG4gIG9uTWVudGlvbkFkZGVkPzogKG1lbnRpb246IENvbnRleHRNZW50aW9uKSA9PiB2b2lkXG4gIG9uQ2hhbmdlPzogKHN0YXRlOiB7IHRleHQ6IHN0cmluZzsgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW10gfSkgPT4gdm9pZFxufVxuXG5leHBvcnQgY29uc3QgQ29udGV4dE1lbnRpb25JbnB1dCA9ICh7XG4gIHBsYWNlaG9sZGVyLFxuICBkaXNhYmxlZCxcbiAgZW5hYmxlZFR5cGVzLFxuICBvblNlbmRNZXNzYWdlLFxuICBvbk1lbnRpb25BZGRlZCxcbiAgb25DaGFuZ2UsXG59OiBDb250ZXh0TWVudGlvbklucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgZWRpdG9yUmVmID0gdXNlUmVmPENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlPihudWxsKVxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcblxuICBjb25zdCB7XG4gICAgcG9wb3Zlck9wZW4sXG4gICAgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nLFxuICAgIGhhbmRsZVRyaWdnZXIsXG4gICAgaGFuZGxlS2V5RG93bjogaGFuZGxlUG9wb3ZlcktleURvd24sXG4gICAgcG9wb3Zlck5vZGUsXG4gIH0gPSB1c2VNZW50aW9uUG9wb3Zlcih7XG4gICAgZWRpdG9yUmVmLFxuICAgIHBvcG92ZXJBbmNob3JSZWY6IHdyYXBwZXJSZWYsXG4gICAgZW5hYmxlZFR5cGVzLFxuICAgIG9uTWVudGlvbkFkZGVkLFxuICB9KVxuXG4gIGNvbnN0IGhhbmRsZUVkaXRvcklucHV0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIHRleHQsXG4gICAgICBtZW50aW9ucyxcbiAgICAgIHRyaWdnZXIsXG4gICAgfToge1xuICAgICAgdGV4dDogc3RyaW5nXG4gICAgICBtZW50aW9uczogQ29udGV4dE1lbnRpb25bXVxuICAgICAgdHJpZ2dlcjogeyBhY3RpdmU6IGJvb2xlYW47IHF1ZXJ5OiBzdHJpbmc7IGF0UnVuTGVuZ3RoOiBudW1iZXIgfVxuICAgIH0pID0+IHtcbiAgICAgIG9uQ2hhbmdlPy4oeyB0ZXh0LCBtZW50aW9ucyB9KVxuICAgICAgaGFuZGxlVHJpZ2dlcih0cmlnZ2VyKVxuICAgIH0sXG4gICAgW29uQ2hhbmdlLCBoYW5kbGVUcmlnZ2VyXVxuICApXG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGlmIChoYW5kbGVQb3BvdmVyS2V5RG93bihlKSkgcmV0dXJuXG5cbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIWUuc2hpZnRLZXkgJiYgIXBvcG92ZXJPcGVuKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGNvbnN0IHN0YXRlID0gZWRpdG9yUmVmLmN1cnJlbnQ/LnNlcmlhbGl6ZSgpXG4gICAgICBpZiAoIXN0YXRlIHx8ICFzdGF0ZS50ZXh0LnRyaW0oKSkgcmV0dXJuXG4gICAgICBzdGF0ZS5tZW50aW9ucy5mb3JFYWNoKG0gPT4ge1xuICAgICAgICBldmVudChFVkVOVFMuYWlDaGF0TWVudGlvblNlbmQsIHsgdHlwZTogbS50eXBlLCBpZDogU3RyaW5nKG0uaWQpIH0pXG4gICAgICB9KVxuICAgICAgb25TZW5kTWVzc2FnZShzdGF0ZS50ZXh0LCBzdGF0ZS5tZW50aW9ucylcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5jbGVhcigpXG4gICAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDTUlXcmFwcGVyIHJlZj17d3JhcHBlclJlZn0+XG4gICAgICA8Q29udGV4dE1lbnRpb25FZGl0b3JcbiAgICAgICAgcmVmPXtlZGl0b3JSZWZ9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBvbklucHV0PXtoYW5kbGVFZGl0b3JJbnB1dH1cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgLz5cbiAgICAgIHtwb3BvdmVyTm9kZSAmJiBjcmVhdGVQb3J0YWwocG9wb3Zlck5vZGUsIGRvY3VtZW50LmJvZHkpfVxuICAgIDwvU0NNSVdyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6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
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import styled from 'styled-components';
|
|
2
|
-
export var SCMIWrapper = styled.div.withConfig({
|
|
3
|
-
displayName: "ContextMentionInputstyles__SCMIWrapper",
|
|
4
|
-
componentId: "sc-gdzk4r-0"
|
|
5
|
-
})(["position:relative;display:flex;flex-direction:column;align-self:stretch;width:100%;"]);
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ01JV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NvbnRleHRNZW50aW9uSW5wdXQvQ29udGV4dE1lbnRpb25JbnB1dC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxtQkFBbUI7QUFFdEMsT0FBTyxJQUFNQyxXQUFXLEdBQUdELE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJGQU1wQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { ContextMentionInput } from './ContextMentionInput';
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZXh0TWVudGlvbklucHV0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NvbnRleHRNZW50aW9uSW5wdXQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29udGV4dE1lbnRpb25JbnB1dCB9IGZyb20gJy4vQ29udGV4dE1lbnRpb25JbnB1dCdcbmV4cG9ydCB0eXBlIHsgQ29udGV4dE1lbnRpb25JbnB1dFByb3BzIH0gZnJvbSAnLi9Db250ZXh0TWVudGlvbklucHV0J1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxtQkFBbUIsUUFBUSx1QkFBdUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ícono de tarea (fee) para el buscador de @-mentions (`ContextMentionItem`).
|
|
3
|
-
* En mensajes del asistente el mismo asset está duplicado inline en `newStyles.ts` (`.has-task-links`).
|
|
4
|
-
*/
|
|
5
|
-
export var TASK_LINK_ICON_DATA_URL = "data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 18C11.125 18 12.125 17.4375 12.6875 16.5625C13.7188 16.7812 14.8438 16.4688 15.6562 15.6562C16.4375 14.875 16.75 13.75 16.5312 12.7188C17.4062 12.1562 18 11.1562 18 10C18 8.875 17.4062 7.875 16.5312 7.3125C16.75 6.28125 16.4375 5.15625 15.6562 4.34375C14.8438 3.5625 13.7188 3.25 12.6875 3.46875C12.125 2.59375 11.125 2 10 2C8.84375 2 7.84375 2.59375 7.28125 3.46875C6.25 3.25 5.125 3.5625 4.34375 4.34375C3.53125 5.15625 3.21875 6.28125 3.4375 7.3125C2.5625 7.875 2 8.875 2 10C2 11.1562 2.5625 12.1562 3.4375 12.7188C3.21875 13.75 3.53125 14.875 4.34375 15.6562C5.125 16.4688 6.25 16.7812 7.28125 16.5625C7.84375 17.4375 8.84375 18 10 18ZM8.0625 14.625C7.40625 14.9375 6.34375 15.5625 5.375 14.5938C4.375 13.5938 5.125 12.4688 5.375 11.9375C4.71875 11.6875 3.5 11.375 3.5 10C3.5 8.59375 4.8125 8.3125 5.375 8.09375C5.09375 7.46875 4.4375 6.375 5.40625 5.40625C6.40625 4.40625 7.53125 5.15625 8.0625 5.40625C8.3125 4.75 8.625 3.5 10 3.5C11.4062 3.5 11.6875 4.84375 11.9062 5.40625C12.5312 5.125 13.625 4.46875 14.5938 5.4375C15.5938 6.4375 14.8438 7.5625 14.5938 8.09375C15.25 8.34375 16.4688 8.65625 16.4688 10.0312C16.4688 11.4375 15.1562 11.7188 14.5938 11.9375C14.875 12.5625 15.5625 13.6562 14.5938 14.625C13.7188 15.5 12.8438 15.0625 11.9062 14.625C11.6562 15.2812 11.3438 16.5 10 16.5C8.5625 16.5 8.28125 15.1875 8.0625 14.625Z' fill='%232D77BD'/%3E%3C/svg%3E";
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUQVNLX0xJTktfSUNPTl9EQVRBX1VSTCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvdGFza0xpbmtJY29uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogw41jb25vIGRlIHRhcmVhIChmZWUpIHBhcmEgZWwgYnVzY2Fkb3IgZGUgQC1tZW50aW9ucyAoYENvbnRleHRNZW50aW9uSXRlbWApLlxuICogRW4gbWVuc2FqZXMgZGVsIGFzaXN0ZW50ZSBlbCBtaXNtbyBhc3NldCBlc3TDoSBkdXBsaWNhZG8gaW5saW5lIGVuIGBuZXdTdHlsZXMudHNgIChgLmhhcy10YXNrLWxpbmtzYCkuXG4gKi9cbmV4cG9ydCBjb25zdCBUQVNLX0xJTktfSUNPTl9EQVRBX1VSTCA9XG4gIFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTEwIDE4QzExLjEyNSAxOCAxMi4xMjUgMTcuNDM3NSAxMi42ODc1IDE2LjU2MjVDMTMuNzE4OCAxNi43ODEyIDE0Ljg0MzggMTYuNDY4OCAxNS42NTYyIDE1LjY1NjJDMTYuNDM3NSAxNC44NzUgMTYuNzUgMTMuNzUgMTYuNTMxMiAxMi43MTg4QzE3LjQwNjIgMTIuMTU2MiAxOCAxMS4xNTYyIDE4IDEwQzE4IDguODc1IDE3LjQwNjIgNy44NzUgMTYuNTMxMiA3LjMxMjVDMTYuNzUgNi4yODEyNSAxNi40Mzc1IDUuMTU2MjUgMTUuNjU2MiA0LjM0Mzc1QzE0Ljg0MzggMy41NjI1IDEzLjcxODggMy4yNSAxMi42ODc1IDMuNDY4NzVDMTIuMTI1IDIuNTkzNzUgMTEuMTI1IDIgMTAgMkM4Ljg0Mzc1IDIgNy44NDM3NSAyLjU5Mzc1IDcuMjgxMjUgMy40Njg3NUM2LjI1IDMuMjUgNS4xMjUgMy41NjI1IDQuMzQzNzUgNC4zNDM3NUMzLjUzMTI1IDUuMTU2MjUgMy4yMTg3NSA2LjI4MTI1IDMuNDM3NSA3LjMxMjVDMi41NjI1IDcuODc1IDIgOC44NzUgMiAxMEMyIDExLjE1NjIgMi41NjI1IDEyLjE1NjIgMy40Mzc1IDEyLjcxODhDMy4yMTg3NSAxMy43NSAzLjUzMTI1IDE0Ljg3NSA0LjM0Mzc1IDE1LjY1NjJDNS4xMjUgMTYuNDY4OCA2LjI1IDE2Ljc4MTIgNy4yODEyNSAxNi41NjI1QzcuODQzNzUgMTcuNDM3NSA4Ljg0Mzc1IDE4IDEwIDE4Wk04LjA2MjUgMTQuNjI1QzcuNDA2MjUgMTQuOTM3NSA2LjM0Mzc1IDE1LjU2MjUgNS4zNzUgMTQuNTkzOEM0LjM3NSAxMy41OTM4IDUuMTI1IDEyLjQ2ODggNS4zNzUgMTEuOTM3NUM0LjcxODc1IDExLjY4NzUgMy41IDExLjM3NSAzLjUgMTBDMy41IDguNTkzNzUgNC44MTI1IDguMzEyNSA1LjM3NSA4LjA5Mzc1QzUuMDkzNzUgNy40Njg3NSA0LjQzNzUgNi4zNzUgNS40MDYyNSA1LjQwNjI1QzYuNDA2MjUgNC40MDYyNSA3LjUzMTI1IDUuMTU2MjUgOC4wNjI1IDUuNDA2MjVDOC4zMTI1IDQuNzUgOC42MjUgMy41IDEwIDMuNUMxMS40MDYyIDMuNSAxMS42ODc1IDQuODQzNzUgMTEuOTA2MiA1LjQwNjI1QzEyLjUzMTIgNS4xMjUgMTMuNjI1IDQuNDY4NzUgMTQuNTkzOCA1LjQzNzVDMTUuNTkzOCA2LjQzNzUgMTQuODQzOCA3LjU2MjUgMTQuNTkzOCA4LjA5Mzc1QzE1LjI1IDguMzQzNzUgMTYuNDY4OCA4LjY1NjI1IDE2LjQ2ODggMTAuMDMxMkMxNi40Njg4IDExLjQzNzUgMTUuMTU2MiAxMS43MTg4IDE0LjU5MzggMTEuOTM3NUMxNC44NzUgMTIuNTYyNSAxNS41NjI1IDEzLjY1NjIgMTQuNTkzOCAxNC42MjVDMTMuNzE4OCAxNS41IDEyLjg0MzggMTUuMDYyNSAxMS45MDYyIDE0LjYyNUMxMS42NTYyIDE1LjI4MTIgMTEuMzQzOCAxNi41IDEwIDE2LjVDOC41NjI1IDE2LjUgOC4yODEyNSAxNS4xODc1IDguMDYyNSAxNC42MjVaJyBmaWxsPSclMjMyRDc3QkQnLyUzRSUzQy9zdmclM0VcIlxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUEsdUJBQXVCLEdBQ2xDLDY5Q0FBNjlDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,65 +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 { GlobalContext, DEFAULT_AGENT } from '../context/global-context';
|
|
5
|
-
import { ContextMentionInput } from '../components/molecules/ContextMentionInput';
|
|
6
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
-
var mockContextValue = {
|
|
8
|
-
section: 'header',
|
|
9
|
-
agent: _objectSpread(_objectSpread({}, DEFAULT_AGENT), {}, {
|
|
10
|
-
entity: 'global'
|
|
11
|
-
}),
|
|
12
|
-
selectAgent: function selectAgent() {},
|
|
13
|
-
clearAgent: function clearAgent() {},
|
|
14
|
-
project: null,
|
|
15
|
-
setProject: function setProject() {},
|
|
16
|
-
client: null,
|
|
17
|
-
setClient: function setClient() {},
|
|
18
|
-
isWebSearchActive: false,
|
|
19
|
-
toggleWebSearch: function toggleWebSearch() {},
|
|
20
|
-
isDeepSearchActive: false,
|
|
21
|
-
toggleDeepSearch: function toggleDeepSearch() {},
|
|
22
|
-
chipsProject: null,
|
|
23
|
-
setChipsProject: function setChipsProject() {},
|
|
24
|
-
configureSettingsItems: {
|
|
25
|
-
current: []
|
|
26
|
-
},
|
|
27
|
-
restoreConfigureSettings: function restoreConfigureSettings() {},
|
|
28
|
-
entityValues: {
|
|
29
|
-
projectId: null,
|
|
30
|
-
clientId: null
|
|
31
|
-
},
|
|
32
|
-
setEntityValues: function setEntityValues() {}
|
|
33
|
-
};
|
|
34
|
-
export function DevContextMentionInput() {
|
|
35
|
-
return /*#__PURE__*/_jsx(GlobalContext.Provider, {
|
|
36
|
-
value: mockContextValue,
|
|
37
|
-
children: /*#__PURE__*/_jsxs("div", {
|
|
38
|
-
style: {
|
|
39
|
-
padding: 24,
|
|
40
|
-
maxWidth: 600
|
|
41
|
-
},
|
|
42
|
-
children: [/*#__PURE__*/_jsx("h3", {
|
|
43
|
-
style: {
|
|
44
|
-
marginBottom: 16,
|
|
45
|
-
fontFamily: 'Work Sans, sans-serif'
|
|
46
|
-
},
|
|
47
|
-
children: "ContextMentionInput dev"
|
|
48
|
-
}), /*#__PURE__*/_jsx(ContextMentionInput, {
|
|
49
|
-
placeholder: "Escrib\xED @ para mencionar...",
|
|
50
|
-
onSendMessage: function onSendMessage(text, mentions) {
|
|
51
|
-
// eslint-disable-next-line no-console
|
|
52
|
-
console.info('send', {
|
|
53
|
-
text: text,
|
|
54
|
-
mentions: mentions
|
|
55
|
-
});
|
|
56
|
-
},
|
|
57
|
-
onMentionAdded: function onMentionAdded(mention) {
|
|
58
|
-
// eslint-disable-next-line no-console
|
|
59
|
-
console.info('mention added', mention);
|
|
60
|
-
}
|
|
61
|
-
})]
|
|
62
|
-
})
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHbG9iYWxDb250ZXh0IiwiREVGQVVMVF9BR0VOVCIsIkNvbnRleHRNZW50aW9uSW5wdXQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibW9ja0NvbnRleHRWYWx1ZSIsInNlY3Rpb24iLCJhZ2VudCIsIl9vYmplY3RTcHJlYWQiLCJlbnRpdHkiLCJzZWxlY3RBZ2VudCIsImNsZWFyQWdlbnQiLCJwcm9qZWN0Iiwic2V0UHJvamVjdCIsImNsaWVudCIsInNldENsaWVudCIsImlzV2ViU2VhcmNoQWN0aXZlIiwidG9nZ2xlV2ViU2VhcmNoIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwidG9nZ2xlRGVlcFNlYXJjaCIsImNoaXBzUHJvamVjdCIsInNldENoaXBzUHJvamVjdCIsImNvbmZpZ3VyZVNldHRpbmdzSXRlbXMiLCJjdXJyZW50IiwicmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzIiwiZW50aXR5VmFsdWVzIiwicHJvamVjdElkIiwiY2xpZW50SWQiLCJzZXRFbnRpdHlWYWx1ZXMiLCJEZXZDb250ZXh0TWVudGlvbklucHV0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImNoaWxkcmVuIiwic3R5bGUiLCJwYWRkaW5nIiwibWF4V2lkdGgiLCJtYXJnaW5Cb3R0b20iLCJmb250RmFtaWx5IiwicGxhY2Vob2xkZXIiLCJvblNlbmRNZXNzYWdlIiwidGV4dCIsIm1lbnRpb25zIiwiY29uc29sZSIsImluZm8iLCJvbk1lbnRpb25BZGRlZCIsIm1lbnRpb24iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGV2L0RldkNvbnRleHRNZW50aW9uSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdsb2JhbENvbnRleHQsIERFRkFVTFRfQUdFTlQgfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb25JbnB1dCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NvbnRleHRNZW50aW9uSW5wdXQnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuXG5jb25zdCBtb2NrQ29udGV4dFZhbHVlID0ge1xuICBzZWN0aW9uOiAnaGVhZGVyJyBhcyBjb25zdCxcbiAgYWdlbnQ6IHsgLi4uREVGQVVMVF9BR0VOVCwgZW50aXR5OiAnZ2xvYmFsJyBhcyBjb25zdCB9LFxuICBzZWxlY3RBZ2VudDogKCkgPT4ge30sXG4gIGNsZWFyQWdlbnQ6ICgpID0+IHt9LFxuICBwcm9qZWN0OiBudWxsLFxuICBzZXRQcm9qZWN0OiAoKSA9PiB7fSxcbiAgY2xpZW50OiBudWxsLFxuICBzZXRDbGllbnQ6ICgpID0+IHt9LFxuICBpc1dlYlNlYXJjaEFjdGl2ZTogZmFsc2UsXG4gIHRvZ2dsZVdlYlNlYXJjaDogKCkgPT4ge30sXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZTogZmFsc2UsXG4gIHRvZ2dsZURlZXBTZWFyY2g6ICgpID0+IHt9LFxuICBjaGlwc1Byb2plY3Q6IG51bGwsXG4gIHNldENoaXBzUHJvamVjdDogKCkgPT4ge30sXG4gIGNvbmZpZ3VyZVNldHRpbmdzSXRlbXM6IHsgY3VycmVudDogW10gfSxcbiAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzOiAoKSA9PiB7fSxcbiAgZW50aXR5VmFsdWVzOiB7IHByb2plY3RJZDogbnVsbCwgY2xpZW50SWQ6IG51bGwgfSxcbiAgc2V0RW50aXR5VmFsdWVzOiAoKSA9PiB7fSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERldkNvbnRleHRNZW50aW9uSW5wdXQoKSB7XG4gIHJldHVybiAoXG4gICAgPEdsb2JhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e21vY2tDb250ZXh0VmFsdWV9PlxuICAgICAgPGRpdiBzdHlsZT17eyBwYWRkaW5nOiAyNCwgbWF4V2lkdGg6IDYwMCB9fT5cbiAgICAgICAgPGgzIHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogMTYsIGZvbnRGYW1pbHk6ICdXb3JrIFNhbnMsIHNhbnMtc2VyaWYnIH19PkNvbnRleHRNZW50aW9uSW5wdXQgZGV2PC9oMz5cbiAgICAgICAgPENvbnRleHRNZW50aW9uSW5wdXRcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVzY3JpYsOtIEAgcGFyYSBtZW5jaW9uYXIuLi5cIlxuICAgICAgICAgIG9uU2VuZE1lc3NhZ2U9eyh0ZXh0OiBzdHJpbmcsIG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdKSA9PiB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdzZW5kJywgeyB0ZXh0LCBtZW50aW9ucyB9KVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25NZW50aW9uQWRkZWQ9eyhtZW50aW9uOiBDb250ZXh0TWVudGlvbikgPT4ge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnbWVudGlvbiBhZGRlZCcsIG1lbnRpb24pXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvR2xvYmFsQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxhQUFhLEVBQUVDLGFBQWEsUUFBUSwyQkFBMkI7QUFDeEUsU0FBU0MsbUJBQW1CLFFBQVEsNkNBQTZDO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUdqRixJQUFNQyxnQkFBZ0IsR0FBRztFQUN2QkMsT0FBTyxFQUFFLFFBQWlCO0VBQzFCQyxLQUFLLEVBQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUFPVCxhQUFhO0lBQUVVLE1BQU0sRUFBRTtFQUFpQixFQUFFO0VBQ3REQyxXQUFXLEVBQUUsU0FBYkEsV0FBV0EsQ0FBQSxFQUFRLENBQUMsQ0FBQztFQUNyQkMsVUFBVSxFQUFFLFNBQVpBLFVBQVVBLENBQUEsRUFBUSxDQUFDLENBQUM7RUFDcEJDLE9BQU8sRUFBRSxJQUFJO0VBQ2JDLFVBQVUsRUFBRSxTQUFaQSxVQUFVQSxDQUFBLEVBQVEsQ0FBQyxDQUFDO0VBQ3BCQyxNQUFNLEVBQUUsSUFBSTtFQUNaQyxTQUFTLEVBQUUsU0FBWEEsU0FBU0EsQ0FBQSxFQUFRLENBQUMsQ0FBQztFQUNuQkMsaUJBQWlCLEVBQUUsS0FBSztFQUN4QkMsZUFBZSxFQUFFLFNBQWpCQSxlQUFlQSxDQUFBLEVBQVEsQ0FBQyxDQUFDO0VBQ3pCQyxrQkFBa0IsRUFBRSxLQUFLO0VBQ3pCQyxnQkFBZ0IsRUFBRSxTQUFsQkEsZ0JBQWdCQSxDQUFBLEVBQVEsQ0FBQyxDQUFDO0VBQzFCQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsZUFBZSxFQUFFLFNBQWpCQSxlQUFlQSxDQUFBLEVBQVEsQ0FBQyxDQUFDO0VBQ3pCQyxzQkFBc0IsRUFBRTtJQUFFQyxPQUFPLEVBQUU7RUFBRyxDQUFDO0VBQ3ZDQyx3QkFBd0IsRUFBRSxTQUExQkEsd0JBQXdCQSxDQUFBLEVBQVEsQ0FBQyxDQUFDO0VBQ2xDQyxZQUFZLEVBQUU7SUFBRUMsU0FBUyxFQUFFLElBQUk7SUFBRUMsUUFBUSxFQUFFO0VBQUssQ0FBQztFQUNqREMsZUFBZSxFQUFFLFNBQWpCQSxlQUFlQSxDQUFBLEVBQVEsQ0FBQztBQUMxQixDQUFDO0FBRUQsT0FBTyxTQUFTQyxzQkFBc0JBLENBQUEsRUFBRztFQUN2QyxvQkFDRTNCLElBQUEsQ0FBQ0osYUFBYSxDQUFDZ0MsUUFBUTtJQUFDQyxLQUFLLEVBQUUxQixnQkFBaUI7SUFBQTJCLFFBQUEsZUFDOUM1QixLQUFBO01BQUs2QixLQUFLLEVBQUU7UUFBRUMsT0FBTyxFQUFFLEVBQUU7UUFBRUMsUUFBUSxFQUFFO01BQUksQ0FBRTtNQUFBSCxRQUFBLGdCQUN6QzlCLElBQUE7UUFBSStCLEtBQUssRUFBRTtVQUFFRyxZQUFZLEVBQUUsRUFBRTtVQUFFQyxVQUFVLEVBQUU7UUFBd0IsQ0FBRTtRQUFBTCxRQUFBLEVBQUM7TUFBdUIsQ0FBSSxDQUFDLGVBQ2xHOUIsSUFBQSxDQUFDRixtQkFBbUI7UUFDbEJzQyxXQUFXLEVBQUMsZ0NBQTZCO1FBQ3pDQyxhQUFhLEVBQUUsU0FBZkEsYUFBYUEsQ0FBR0MsSUFBWSxFQUFFQyxRQUEwQixFQUFLO1VBQzNEO1VBQ0FDLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUFFSCxJQUFJLEVBQUpBLElBQUk7WUFBRUMsUUFBUSxFQUFSQTtVQUFTLENBQUMsQ0FBQztRQUMxQyxDQUFFO1FBQ0ZHLGNBQWMsRUFBRSxTQUFoQkEsY0FBY0EsQ0FBR0MsT0FBdUIsRUFBSztVQUMzQztVQUNBSCxPQUFPLENBQUNDLElBQUksQ0FBQyxlQUFlLEVBQUVFLE9BQU8sQ0FBQztRQUN4QztNQUFFLENBQ0gsQ0FBQztJQUFBLENBQ0M7RUFBQyxDQUNnQixDQUFDO0FBRTdCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Devuelve el rect del caret actual dentro de un contenedor contenteditable.
|
|
4
|
-
* Si no hay selección válida, retorna null.
|
|
5
|
-
*/
|
|
6
|
-
export var useCaretPosition = function useCaretPosition() {
|
|
7
|
-
return useCallback(function () {
|
|
8
|
-
var selection = window.getSelection();
|
|
9
|
-
if (!selection || selection.rangeCount === 0) return null;
|
|
10
|
-
var range = selection.getRangeAt(0).cloneRange();
|
|
11
|
-
range.collapse(true);
|
|
12
|
-
var rects = range.getClientRects();
|
|
13
|
-
var rect = null;
|
|
14
|
-
if (rects.length > 0) {
|
|
15
|
-
rect = rects.item(0);
|
|
16
|
-
} else {
|
|
17
|
-
var _span$parentNode;
|
|
18
|
-
// Fallback: insertar un span vacío para medir
|
|
19
|
-
var span = document.createElement('span');
|
|
20
|
-
span.textContent = "\u200B";
|
|
21
|
-
range.insertNode(span);
|
|
22
|
-
rect = span.getBoundingClientRect();
|
|
23
|
-
(_span$parentNode = span.parentNode) === null || _span$parentNode === void 0 || _span$parentNode.removeChild(span);
|
|
24
|
-
}
|
|
25
|
-
if (!rect) return null;
|
|
26
|
-
return {
|
|
27
|
-
top: rect.top,
|
|
28
|
-
left: rect.left,
|
|
29
|
-
bottom: rect.bottom,
|
|
30
|
-
right: rect.right,
|
|
31
|
-
height: rect.height
|
|
32
|
-
};
|
|
33
|
-
}, []);
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUNhcmV0UG9zaXRpb24iLCJzZWxlY3Rpb24iLCJ3aW5kb3ciLCJnZXRTZWxlY3Rpb24iLCJyYW5nZUNvdW50IiwicmFuZ2UiLCJnZXRSYW5nZUF0IiwiY2xvbmVSYW5nZSIsImNvbGxhcHNlIiwicmVjdHMiLCJnZXRDbGllbnRSZWN0cyIsInJlY3QiLCJsZW5ndGgiLCJpdGVtIiwiX3NwYW4kcGFyZW50Tm9kZSIsInNwYW4iLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ0ZXh0Q29udGVudCIsImluc2VydE5vZGUiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwicmlnaHQiLCJoZWlnaHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ2FyZXRQb3NpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgdHlwZSBDYXJldFJlY3QgPSB7XG4gIHRvcDogbnVtYmVyXG4gIGxlZnQ6IG51bWJlclxuICBib3R0b206IG51bWJlclxuICByaWdodDogbnVtYmVyXG4gIGhlaWdodDogbnVtYmVyXG59XG5cbi8qKlxuICogRGV2dWVsdmUgZWwgcmVjdCBkZWwgY2FyZXQgYWN0dWFsIGRlbnRybyBkZSB1biBjb250ZW5lZG9yIGNvbnRlbnRlZGl0YWJsZS5cbiAqIFNpIG5vIGhheSBzZWxlY2Npw7NuIHbDoWxpZGEsIHJldG9ybmEgbnVsbC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUNhcmV0UG9zaXRpb24gPSAoKSA9PiB7XG4gIHJldHVybiB1c2VDYWxsYmFjaygoKTogQ2FyZXRSZWN0IHwgbnVsbCA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgaWYgKCFzZWxlY3Rpb24gfHwgc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDApIHJldHVybiBudWxsXG4gICAgY29uc3QgcmFuZ2UgPSBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5jbG9uZVJhbmdlKClcbiAgICByYW5nZS5jb2xsYXBzZSh0cnVlKVxuXG4gICAgY29uc3QgcmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygpXG4gICAgbGV0IHJlY3Q6IERPTVJlY3QgfCBudWxsID0gbnVsbFxuICAgIGlmIChyZWN0cy5sZW5ndGggPiAwKSB7XG4gICAgICByZWN0ID0gcmVjdHMuaXRlbSgwKVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGYWxsYmFjazogaW5zZXJ0YXIgdW4gc3BhbiB2YWPDrW8gcGFyYSBtZWRpclxuICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgICAgc3Bhbi50ZXh0Q29udGVudCA9ICdcXHUyMDBiJ1xuICAgICAgcmFuZ2UuaW5zZXJ0Tm9kZShzcGFuKVxuICAgICAgcmVjdCA9IHNwYW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIHNwYW4ucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoc3BhbilcbiAgICB9XG5cbiAgICBpZiAoIXJlY3QpIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4ge1xuICAgICAgdG9wOiByZWN0LnRvcCxcbiAgICAgIGxlZnQ6IHJlY3QubGVmdCxcbiAgICAgIGJvdHRvbTogcmVjdC5ib3R0b20sXG4gICAgICByaWdodDogcmVjdC5yaWdodCxcbiAgICAgIGhlaWdodDogcmVjdC5oZWlnaHQsXG4gICAgfVxuICB9LCBbXSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsV0FBVyxRQUFRLE9BQU87QUFVbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUEsRUFBUztFQUNwQyxPQUFPRCxXQUFXLENBQUMsWUFBd0I7SUFDekMsSUFBTUUsU0FBUyxHQUFHQyxNQUFNLENBQUNDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQ0YsU0FBUyxJQUFJQSxTQUFTLENBQUNHLFVBQVUsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFJO0lBQ3pELElBQU1DLEtBQUssR0FBR0osU0FBUyxDQUFDSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUNDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xERixLQUFLLENBQUNHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFFcEIsSUFBTUMsS0FBSyxHQUFHSixLQUFLLENBQUNLLGNBQWMsQ0FBQyxDQUFDO0lBQ3BDLElBQUlDLElBQW9CLEdBQUcsSUFBSTtJQUMvQixJQUFJRixLQUFLLENBQUNHLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDcEJELElBQUksR0FBR0YsS0FBSyxDQUFDSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUMsTUFBTTtNQUFBLElBQUFDLGdCQUFBO01BQ0w7TUFDQSxJQUFNQyxJQUFJLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDLE1BQU0sQ0FBQztNQUMzQ0YsSUFBSSxDQUFDRyxXQUFXLEdBQUcsUUFBUTtNQUMzQmIsS0FBSyxDQUFDYyxVQUFVLENBQUNKLElBQUksQ0FBQztNQUN0QkosSUFBSSxHQUFHSSxJQUFJLENBQUNLLHFCQUFxQixDQUFDLENBQUM7TUFDbkMsQ0FBQU4sZ0JBQUEsR0FBQUMsSUFBSSxDQUFDTSxVQUFVLGNBQUFQLGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCUSxXQUFXLENBQUNQLElBQUksQ0FBQztJQUNwQztJQUVBLElBQUksQ0FBQ0osSUFBSSxFQUFFLE9BQU8sSUFBSTtJQUV0QixPQUFPO01BQ0xZLEdBQUcsRUFBRVosSUFBSSxDQUFDWSxHQUFHO01BQ2JDLElBQUksRUFBRWIsSUFBSSxDQUFDYSxJQUFJO01BQ2ZDLE1BQU0sRUFBRWQsSUFBSSxDQUFDYyxNQUFNO01BQ25CQyxLQUFLLEVBQUVmLElBQUksQ0FBQ2UsS0FBSztNQUNqQkMsTUFBTSxFQUFFaEIsSUFBSSxDQUFDZ0I7SUFDZixDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNSLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import { useCallback, useRef, useState } from 'react';
|
|
3
|
-
import { serializeMention } from '../utils/renderContextMentions';
|
|
4
|
-
/**
|
|
5
|
-
* Inspecciona la selección actual. Formato: [límite de palabra] @+ query hasta el caret.
|
|
6
|
-
* Permite espacios simples dentro del query (p. ej. "@Juan Perez") y cierra
|
|
7
|
-
* el trigger cuando detecta dos espacios consecutivos.
|
|
8
|
-
* La tab objetivo es la que corresponde al número de `@` (1 = primera tab visible, etc.).
|
|
9
|
-
*/
|
|
10
|
-
var detectMentionTrigger = function detectMentionTrigger(editorEl, range) {
|
|
11
|
-
if (!editorEl || !editorEl.contains(range.startContainer)) {
|
|
12
|
-
return {
|
|
13
|
-
active: false,
|
|
14
|
-
query: '',
|
|
15
|
-
atRunLength: 0,
|
|
16
|
-
anchor: null
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
var node = range.startContainer;
|
|
20
|
-
if (node.nodeType !== Node.TEXT_NODE) {
|
|
21
|
-
return {
|
|
22
|
-
active: false,
|
|
23
|
-
query: '',
|
|
24
|
-
atRunLength: 0,
|
|
25
|
-
anchor: null
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
var text = node.data;
|
|
29
|
-
var caret = range.startOffset;
|
|
30
|
-
var i = caret - 1;
|
|
31
|
-
if (i < 0) {
|
|
32
|
-
return {
|
|
33
|
-
active: false,
|
|
34
|
-
query: '',
|
|
35
|
-
atRunLength: 0,
|
|
36
|
-
anchor: null
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
while (i >= 0 && text[i] !== '@') i -= 1;
|
|
40
|
-
if (i < 0 || text[i] !== '@') {
|
|
41
|
-
return {
|
|
42
|
-
active: false,
|
|
43
|
-
query: '',
|
|
44
|
-
atRunLength: 0,
|
|
45
|
-
anchor: null
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
var runEnd = i;
|
|
49
|
-
while (i >= 0 && text[i] === '@') {
|
|
50
|
-
i -= 1;
|
|
51
|
-
}
|
|
52
|
-
var runStart = i + 1;
|
|
53
|
-
var atRunLength = runEnd - runStart + 1;
|
|
54
|
-
var prev = runStart > 0 ? text.charAt(runStart - 1) : '';
|
|
55
|
-
var isBoundary = !prev || /[\s([{]/.test(prev);
|
|
56
|
-
if (!isBoundary) {
|
|
57
|
-
return {
|
|
58
|
-
active: false,
|
|
59
|
-
query: '',
|
|
60
|
-
atRunLength: 0,
|
|
61
|
-
anchor: null
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
var query = text.slice(runEnd + 1, caret);
|
|
65
|
-
if (/\n|\r/.test(query)) {
|
|
66
|
-
return {
|
|
67
|
-
active: false,
|
|
68
|
-
query: '',
|
|
69
|
-
atRunLength: 0,
|
|
70
|
-
anchor: null
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
if (query.includes(' ')) {
|
|
74
|
-
return {
|
|
75
|
-
active: false,
|
|
76
|
-
query: '',
|
|
77
|
-
atRunLength: 0,
|
|
78
|
-
anchor: null
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
return {
|
|
82
|
-
active: true,
|
|
83
|
-
query: query,
|
|
84
|
-
atRunLength: atRunLength,
|
|
85
|
-
anchor: {
|
|
86
|
-
node: node,
|
|
87
|
-
offset: runStart
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
export var useContextMentions = function useContextMentions() {
|
|
92
|
-
var editorRef = useRef(null);
|
|
93
|
-
var _useState = useState({
|
|
94
|
-
active: false,
|
|
95
|
-
query: '',
|
|
96
|
-
atRunLength: 0,
|
|
97
|
-
anchor: null
|
|
98
|
-
}),
|
|
99
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
100
|
-
trigger = _useState2[0],
|
|
101
|
-
setTrigger = _useState2[1];
|
|
102
|
-
var detectTrigger = useCallback(function () {
|
|
103
|
-
var selection = window.getSelection();
|
|
104
|
-
if (!selection || selection.rangeCount === 0 || !editorRef.current) {
|
|
105
|
-
return {
|
|
106
|
-
active: false,
|
|
107
|
-
query: '',
|
|
108
|
-
atRunLength: 0,
|
|
109
|
-
anchor: null
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
return detectMentionTrigger(editorRef.current, selection.getRangeAt(0));
|
|
113
|
-
}, []);
|
|
114
|
-
var updateTrigger = useCallback(function () {
|
|
115
|
-
var next = detectTrigger();
|
|
116
|
-
setTrigger(next);
|
|
117
|
-
return next;
|
|
118
|
-
}, [detectTrigger]);
|
|
119
|
-
var closeTrigger = useCallback(function () {
|
|
120
|
-
setTrigger({
|
|
121
|
-
active: false,
|
|
122
|
-
query: '',
|
|
123
|
-
atRunLength: 0,
|
|
124
|
-
anchor: null
|
|
125
|
-
});
|
|
126
|
-
}, []);
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Ajusta la cantidad de `@` del trigger activo sin perder el query actual.
|
|
130
|
-
* Ej.: `@@abc` -> `@abc` al cambiar de tab.
|
|
131
|
-
*/
|
|
132
|
-
var syncTriggerAtRunLength = useCallback(function (nextAtRunLength) {
|
|
133
|
-
var safeNext = Math.max(1, Math.floor(nextAtRunLength));
|
|
134
|
-
var current = detectTrigger();
|
|
135
|
-
if (!current.active || !current.anchor) return;
|
|
136
|
-
var _current$anchor = current.anchor,
|
|
137
|
-
node = _current$anchor.node,
|
|
138
|
-
offset = _current$anchor.offset;
|
|
139
|
-
if (node.nodeType !== Node.TEXT_NODE) return;
|
|
140
|
-
var textNode = node;
|
|
141
|
-
var full = textNode.data;
|
|
142
|
-
var queryLen = current.atRunLength + current.query.length;
|
|
143
|
-
var before = full.slice(0, offset);
|
|
144
|
-
var after = full.slice(offset + queryLen);
|
|
145
|
-
var nextRun = '@'.repeat(safeNext);
|
|
146
|
-
var nextValue = "".concat(before).concat(nextRun).concat(current.query).concat(after);
|
|
147
|
-
|
|
148
|
-
// eslint-disable-next-line no-param-reassign
|
|
149
|
-
textNode.data = nextValue;
|
|
150
|
-
var selection = window.getSelection();
|
|
151
|
-
if (selection) {
|
|
152
|
-
var range = document.createRange();
|
|
153
|
-
var caretOffset = before.length + nextRun.length + current.query.length;
|
|
154
|
-
range.setStart(textNode, Math.min(caretOffset, textNode.data.length));
|
|
155
|
-
range.collapse(true);
|
|
156
|
-
selection.removeAllRanges();
|
|
157
|
-
selection.addRange(range);
|
|
158
|
-
}
|
|
159
|
-
var updated = detectTrigger();
|
|
160
|
-
setTrigger(updated);
|
|
161
|
-
}, [detectTrigger]);
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Reemplaza el `@query` pendiente por un chip atómico con la mention.
|
|
165
|
-
* Requiere que el caller provea el DOM del chip (se inserta tal cual).
|
|
166
|
-
*/
|
|
167
|
-
var replaceTriggerWithChip = useCallback(function (chipNode, mention) {
|
|
168
|
-
var current = detectTrigger();
|
|
169
|
-
if (!current.active || !current.anchor) return;
|
|
170
|
-
var _current$anchor2 = current.anchor,
|
|
171
|
-
node = _current$anchor2.node,
|
|
172
|
-
offset = _current$anchor2.offset;
|
|
173
|
-
var textNode = node;
|
|
174
|
-
var full = textNode.data;
|
|
175
|
-
var queryLen = current.atRunLength + current.query.length;
|
|
176
|
-
var after = full.slice(offset + queryLen);
|
|
177
|
-
|
|
178
|
-
// Truncar el texto hasta antes del run de `@…`
|
|
179
|
-
// eslint-disable-next-line no-param-reassign
|
|
180
|
-
textNode.data = full.slice(0, offset);
|
|
181
|
-
|
|
182
|
-
// Insertar el chip justo después del nodo de texto
|
|
183
|
-
chipNode.setAttribute('data-mention', 'true');
|
|
184
|
-
chipNode.setAttribute('data-mention-id', String(mention.id));
|
|
185
|
-
chipNode.setAttribute('data-mention-type', mention.type);
|
|
186
|
-
chipNode.setAttribute('data-mention-label', mention.label);
|
|
187
|
-
chipNode.setAttribute('contenteditable', 'false');
|
|
188
|
-
var parent = textNode.parentNode;
|
|
189
|
-
if (!parent) return;
|
|
190
|
-
var spaceNode = document.createTextNode("\xA0".concat(after));
|
|
191
|
-
parent.insertBefore(chipNode, textNode.nextSibling);
|
|
192
|
-
parent.insertBefore(spaceNode, chipNode.nextSibling);
|
|
193
|
-
|
|
194
|
-
// Reposicionar caret después del chip (antes del espacio non-breaking)
|
|
195
|
-
var selection = window.getSelection();
|
|
196
|
-
if (selection) {
|
|
197
|
-
var range = document.createRange();
|
|
198
|
-
range.setStart(spaceNode, 1);
|
|
199
|
-
range.collapse(true);
|
|
200
|
-
selection.removeAllRanges();
|
|
201
|
-
selection.addRange(range);
|
|
202
|
-
}
|
|
203
|
-
closeTrigger();
|
|
204
|
-
}, [detectTrigger, closeTrigger]);
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Serializa el contenido: texto plano + lista de mentions en orden de aparición.
|
|
208
|
-
*/
|
|
209
|
-
var serialize = useCallback(function () {
|
|
210
|
-
var el = editorRef.current;
|
|
211
|
-
if (!el) return {
|
|
212
|
-
text: '',
|
|
213
|
-
mentions: []
|
|
214
|
-
};
|
|
215
|
-
var mentions = [];
|
|
216
|
-
var text = '';
|
|
217
|
-
var _walk = function walk(node) {
|
|
218
|
-
if (node.nodeType === Node.TEXT_NODE) {
|
|
219
|
-
text += node.data;
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
223
|
-
var _elNode$dataset;
|
|
224
|
-
var elNode = node;
|
|
225
|
-
if (((_elNode$dataset = elNode.dataset) === null || _elNode$dataset === void 0 ? void 0 : _elNode$dataset.mention) === 'true') {
|
|
226
|
-
var _elNode$dataset$menti, _ref, _ref2, _elNode$dataset$menti2;
|
|
227
|
-
var mention = {
|
|
228
|
-
id: (_elNode$dataset$menti = elNode.dataset.mentionId) !== null && _elNode$dataset$menti !== void 0 ? _elNode$dataset$menti : '',
|
|
229
|
-
type: (_ref = elNode.dataset.mentionType) !== null && _ref !== void 0 ? _ref : 'user',
|
|
230
|
-
label: (_ref2 = (_elNode$dataset$menti2 = elNode.dataset.mentionLabel) !== null && _elNode$dataset$menti2 !== void 0 ? _elNode$dataset$menti2 : elNode.textContent) !== null && _ref2 !== void 0 ? _ref2 : ''
|
|
231
|
-
};
|
|
232
|
-
mentions.push(mention);
|
|
233
|
-
text += serializeMention(mention);
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
if (elNode.tagName === 'BR') {
|
|
237
|
-
text += '\n';
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
elNode.childNodes.forEach(_walk);
|
|
241
|
-
if (elNode.tagName === 'DIV' || elNode.tagName === 'P') text += '\n';
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
el.childNodes.forEach(_walk);
|
|
245
|
-
return {
|
|
246
|
-
text: text.replace(/\n+$/, ''),
|
|
247
|
-
mentions: mentions
|
|
248
|
-
};
|
|
249
|
-
}, []);
|
|
250
|
-
var clear = useCallback(function () {
|
|
251
|
-
if (editorRef.current) editorRef.current.innerHTML = '';
|
|
252
|
-
closeTrigger();
|
|
253
|
-
}, [closeTrigger]);
|
|
254
|
-
var focus = useCallback(function () {
|
|
255
|
-
var _editorRef$current;
|
|
256
|
-
(_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || _editorRef$current.focus();
|
|
257
|
-
}, []);
|
|
258
|
-
return {
|
|
259
|
-
editorRef: editorRef,
|
|
260
|
-
trigger: trigger,
|
|
261
|
-
updateTrigger: updateTrigger,
|
|
262
|
-
closeTrigger: closeTrigger,
|
|
263
|
-
syncTriggerAtRunLength: syncTriggerAtRunLength,
|
|
264
|
-
replaceTriggerWithChip: replaceTriggerWithChip,
|
|
265
|
-
serialize: serialize,
|
|
266
|
-
clear: clear,
|
|
267
|
-
focus: focus
|
|
268
|
-
};
|
|
269
|
-
};
|
|
270
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVN0YXRlIiwic2VyaWFsaXplTWVudGlvbiIsImRldGVjdE1lbnRpb25UcmlnZ2VyIiwiZWRpdG9yRWwiLCJyYW5nZSIsImNvbnRhaW5zIiwic3RhcnRDb250YWluZXIiLCJhY3RpdmUiLCJxdWVyeSIsImF0UnVuTGVuZ3RoIiwiYW5jaG9yIiwibm9kZSIsIm5vZGVUeXBlIiwiTm9kZSIsIlRFWFRfTk9ERSIsInRleHQiLCJkYXRhIiwiY2FyZXQiLCJzdGFydE9mZnNldCIsImkiLCJydW5FbmQiLCJydW5TdGFydCIsInByZXYiLCJjaGFyQXQiLCJpc0JvdW5kYXJ5IiwidGVzdCIsInNsaWNlIiwiaW5jbHVkZXMiLCJvZmZzZXQiLCJ1c2VDb250ZXh0TWVudGlvbnMiLCJlZGl0b3JSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ0cmlnZ2VyIiwic2V0VHJpZ2dlciIsImRldGVjdFRyaWdnZXIiLCJzZWxlY3Rpb24iLCJ3aW5kb3ciLCJnZXRTZWxlY3Rpb24iLCJyYW5nZUNvdW50IiwiY3VycmVudCIsImdldFJhbmdlQXQiLCJ1cGRhdGVUcmlnZ2VyIiwibmV4dCIsImNsb3NlVHJpZ2dlciIsInN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgiLCJuZXh0QXRSdW5MZW5ndGgiLCJzYWZlTmV4dCIsIk1hdGgiLCJtYXgiLCJmbG9vciIsIl9jdXJyZW50JGFuY2hvciIsInRleHROb2RlIiwiZnVsbCIsInF1ZXJ5TGVuIiwibGVuZ3RoIiwiYmVmb3JlIiwiYWZ0ZXIiLCJuZXh0UnVuIiwicmVwZWF0IiwibmV4dFZhbHVlIiwiY29uY2F0IiwiZG9jdW1lbnQiLCJjcmVhdGVSYW5nZSIsImNhcmV0T2Zmc2V0Iiwic2V0U3RhcnQiLCJtaW4iLCJjb2xsYXBzZSIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwidXBkYXRlZCIsInJlcGxhY2VUcmlnZ2VyV2l0aENoaXAiLCJjaGlwTm9kZSIsIm1lbnRpb24iLCJfY3VycmVudCRhbmNob3IyIiwic2V0QXR0cmlidXRlIiwiU3RyaW5nIiwiaWQiLCJ0eXBlIiwibGFiZWwiLCJwYXJlbnQiLCJwYXJlbnROb2RlIiwic3BhY2VOb2RlIiwiY3JlYXRlVGV4dE5vZGUiLCJpbnNlcnRCZWZvcmUiLCJuZXh0U2libGluZyIsInNlcmlhbGl6ZSIsImVsIiwibWVudGlvbnMiLCJ3YWxrIiwiRUxFTUVOVF9OT0RFIiwiX2VsTm9kZSRkYXRhc2V0IiwiZWxOb2RlIiwiZGF0YXNldCIsIl9lbE5vZGUkZGF0YXNldCRtZW50aSIsIl9yZWYiLCJfcmVmMiIsIl9lbE5vZGUkZGF0YXNldCRtZW50aTIiLCJtZW50aW9uSWQiLCJtZW50aW9uVHlwZSIsIm1lbnRpb25MYWJlbCIsInRleHRDb250ZW50IiwicHVzaCIsInRhZ05hbWUiLCJjaGlsZE5vZGVzIiwiZm9yRWFjaCIsInJlcGxhY2UiLCJjbGVhciIsImlubmVySFRNTCIsImZvY3VzIiwiX2VkaXRvclJlZiRjdXJyZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUNvbnRleHRNZW50aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IHNlcmlhbGl6ZU1lbnRpb24gfSBmcm9tICcuLi91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMnXG5cbmV4cG9ydCB0eXBlIE1lbnRpb25UcmlnZ2VyU3RhdGUgPSB7XG4gIGFjdGl2ZTogYm9vbGVhblxuICBxdWVyeTogc3RyaW5nXG4gIC8qKiBDYW50aWRhZCBkZSBgQGAgY29uc2VjdXRpdm9zIGRlbCB0cmlnZ2VyIChgQGAg4oaSIDEsIGBAQGAg4oaSIDIpLiBNYXBlYSBhIGxhIHRhYiBlbiBvcmRlbi4gKi9cbiAgYXRSdW5MZW5ndGg6IG51bWJlclxuICAvKiogUG9zaWNpw7NuIGRlbCBwcmltZXIgYEBgIGRlbCBydW4gKHJlZW1wbGF6byBkZWwgY2hpcCkuICovXG4gIGFuY2hvcjogeyBub2RlOiBOb2RlOyBvZmZzZXQ6IG51bWJlciB9IHwgbnVsbFxufVxuXG4vKipcbiAqIEluc3BlY2Npb25hIGxhIHNlbGVjY2nDs24gYWN0dWFsLiBGb3JtYXRvOiBbbMOtbWl0ZSBkZSBwYWxhYnJhXSBAKyBxdWVyeSBoYXN0YSBlbCBjYXJldC5cbiAqIFBlcm1pdGUgZXNwYWNpb3Mgc2ltcGxlcyBkZW50cm8gZGVsIHF1ZXJ5IChwLiBlai4gXCJASnVhbiBQZXJlelwiKSB5IGNpZXJyYVxuICogZWwgdHJpZ2dlciBjdWFuZG8gZGV0ZWN0YSBkb3MgZXNwYWNpb3MgY29uc2VjdXRpdm9zLlxuICogTGEgdGFiIG9iamV0aXZvIGVzIGxhIHF1ZSBjb3JyZXNwb25kZSBhbCBuw7ptZXJvIGRlIGBAYCAoMSA9IHByaW1lcmEgdGFiIHZpc2libGUsIGV0Yy4pLlxuICovXG5jb25zdCBkZXRlY3RNZW50aW9uVHJpZ2dlciA9IChlZGl0b3JFbDogSFRNTEVsZW1lbnQgfCBudWxsLCByYW5nZTogUmFuZ2UpOiBNZW50aW9uVHJpZ2dlclN0YXRlID0+IHtcbiAgaWYgKCFlZGl0b3JFbCB8fCAhZWRpdG9yRWwuY29udGFpbnMocmFuZ2Uuc3RhcnRDb250YWluZXIpKSB7XG4gICAgcmV0dXJuIHsgYWN0aXZlOiBmYWxzZSwgcXVlcnk6ICcnLCBhdFJ1bkxlbmd0aDogMCwgYW5jaG9yOiBudWxsIH1cbiAgfVxuICBjb25zdCBub2RlID0gcmFuZ2Uuc3RhcnRDb250YWluZXJcbiAgaWYgKG5vZGUubm9kZVR5cGUgIT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgcmV0dXJuIHsgYWN0aXZlOiBmYWxzZSwgcXVlcnk6ICcnLCBhdFJ1bkxlbmd0aDogMCwgYW5jaG9yOiBudWxsIH1cbiAgfVxuICBjb25zdCB0ZXh0ID0gKG5vZGUgYXMgVGV4dCkuZGF0YVxuICBjb25zdCBjYXJldCA9IHJhbmdlLnN0YXJ0T2Zmc2V0XG4gIGxldCBpID0gY2FyZXQgLSAxXG4gIGlmIChpIDwgMCkge1xuICAgIHJldHVybiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYXRSdW5MZW5ndGg6IDAsIGFuY2hvcjogbnVsbCB9XG4gIH1cblxuICB3aGlsZSAoaSA+PSAwICYmIHRleHRbaV0gIT09ICdAJykgaSAtPSAxXG4gIGlmIChpIDwgMCB8fCB0ZXh0W2ldICE9PSAnQCcpIHtcbiAgICByZXR1cm4geyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycsIGF0UnVuTGVuZ3RoOiAwLCBhbmNob3I6IG51bGwgfVxuICB9XG5cbiAgY29uc3QgcnVuRW5kID0gaVxuICB3aGlsZSAoaSA+PSAwICYmIHRleHRbaV0gPT09ICdAJykge1xuICAgIGkgLT0gMVxuICB9XG4gIGNvbnN0IHJ1blN0YXJ0ID0gaSArIDFcbiAgY29uc3QgYXRSdW5MZW5ndGggPSBydW5FbmQgLSBydW5TdGFydCArIDFcbiAgY29uc3QgcHJldiA9IHJ1blN0YXJ0ID4gMCA/IHRleHQuY2hhckF0KHJ1blN0YXJ0IC0gMSkgOiAnJ1xuICBjb25zdCBpc0JvdW5kYXJ5ID0gIXByZXYgfHwgL1tcXHMoW3tdLy50ZXN0KHByZXYpXG4gIGlmICghaXNCb3VuZGFyeSkge1xuICAgIHJldHVybiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYXRSdW5MZW5ndGg6IDAsIGFuY2hvcjogbnVsbCB9XG4gIH1cblxuICBjb25zdCBxdWVyeSA9IHRleHQuc2xpY2UocnVuRW5kICsgMSwgY2FyZXQpXG4gIGlmICgvXFxufFxcci8udGVzdChxdWVyeSkpIHtcbiAgICByZXR1cm4geyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycsIGF0UnVuTGVuZ3RoOiAwLCBhbmNob3I6IG51bGwgfVxuICB9XG4gIGlmIChxdWVyeS5pbmNsdWRlcygnICAnKSkge1xuICAgIHJldHVybiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYXRSdW5MZW5ndGg6IDAsIGFuY2hvcjogbnVsbCB9XG4gIH1cblxuICByZXR1cm4geyBhY3RpdmU6IHRydWUsIHF1ZXJ5LCBhdFJ1bkxlbmd0aCwgYW5jaG9yOiB7IG5vZGUsIG9mZnNldDogcnVuU3RhcnQgfSB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VDb250ZXh0TWVudGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFt0cmlnZ2VyLCBzZXRUcmlnZ2VyXSA9IHVzZVN0YXRlPE1lbnRpb25UcmlnZ2VyU3RhdGU+KHtcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIHF1ZXJ5OiAnJyxcbiAgICBhdFJ1bkxlbmd0aDogMCxcbiAgICBhbmNob3I6IG51bGwsXG4gIH0pXG5cbiAgY29uc3QgZGV0ZWN0VHJpZ2dlciA9IHVzZUNhbGxiYWNrKCgpOiBNZW50aW9uVHJpZ2dlclN0YXRlID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKClcbiAgICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCB8fCAhZWRpdG9yUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYXRSdW5MZW5ndGg6IDAsIGFuY2hvcjogbnVsbCB9XG4gICAgfVxuICAgIHJldHVybiBkZXRlY3RNZW50aW9uVHJpZ2dlcihlZGl0b3JSZWYuY3VycmVudCwgc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHVwZGF0ZVRyaWdnZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgbmV4dCA9IGRldGVjdFRyaWdnZXIoKVxuICAgIHNldFRyaWdnZXIobmV4dClcbiAgICByZXR1cm4gbmV4dFxuICB9LCBbZGV0ZWN0VHJpZ2dlcl0pXG5cbiAgY29uc3QgY2xvc2VUcmlnZ2VyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRyaWdnZXIoeyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycsIGF0UnVuTGVuZ3RoOiAwLCBhbmNob3I6IG51bGwgfSlcbiAgfSwgW10pXG5cbiAgLyoqXG4gICAqIEFqdXN0YSBsYSBjYW50aWRhZCBkZSBgQGAgZGVsIHRyaWdnZXIgYWN0aXZvIHNpbiBwZXJkZXIgZWwgcXVlcnkgYWN0dWFsLlxuICAgKiBFai46IGBAQGFiY2AgLT4gYEBhYmNgIGFsIGNhbWJpYXIgZGUgdGFiLlxuICAgKi9cbiAgY29uc3Qgc3luY1RyaWdnZXJBdFJ1bkxlbmd0aCA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXh0QXRSdW5MZW5ndGg6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3Qgc2FmZU5leHQgPSBNYXRoLm1heCgxLCBNYXRoLmZsb29yKG5leHRBdFJ1bkxlbmd0aCkpXG4gICAgICBjb25zdCBjdXJyZW50ID0gZGV0ZWN0VHJpZ2dlcigpXG4gICAgICBpZiAoIWN1cnJlbnQuYWN0aXZlIHx8ICFjdXJyZW50LmFuY2hvcikgcmV0dXJuXG5cbiAgICAgIGNvbnN0IHsgbm9kZSwgb2Zmc2V0IH0gPSBjdXJyZW50LmFuY2hvclxuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgIT09IE5vZGUuVEVYVF9OT0RFKSByZXR1cm5cbiAgICAgIGNvbnN0IHRleHROb2RlID0gbm9kZSBhcyBUZXh0XG4gICAgICBjb25zdCBmdWxsID0gdGV4dE5vZGUuZGF0YVxuICAgICAgY29uc3QgcXVlcnlMZW4gPSBjdXJyZW50LmF0UnVuTGVuZ3RoICsgY3VycmVudC5xdWVyeS5sZW5ndGhcbiAgICAgIGNvbnN0IGJlZm9yZSA9IGZ1bGwuc2xpY2UoMCwgb2Zmc2V0KVxuICAgICAgY29uc3QgYWZ0ZXIgPSBmdWxsLnNsaWNlKG9mZnNldCArIHF1ZXJ5TGVuKVxuICAgICAgY29uc3QgbmV4dFJ1biA9ICdAJy5yZXBlYXQoc2FmZU5leHQpXG4gICAgICBjb25zdCBuZXh0VmFsdWUgPSBgJHtiZWZvcmV9JHtuZXh0UnVufSR7Y3VycmVudC5xdWVyeX0ke2FmdGVyfWBcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICB0ZXh0Tm9kZS5kYXRhID0gbmV4dFZhbHVlXG5cbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuICAgICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKClcbiAgICAgICAgY29uc3QgY2FyZXRPZmZzZXQgPSBiZWZvcmUubGVuZ3RoICsgbmV4dFJ1bi5sZW5ndGggKyBjdXJyZW50LnF1ZXJ5Lmxlbmd0aFxuICAgICAgICByYW5nZS5zZXRTdGFydCh0ZXh0Tm9kZSwgTWF0aC5taW4oY2FyZXRPZmZzZXQsIHRleHROb2RlLmRhdGEubGVuZ3RoKSlcbiAgICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSlcbiAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpXG4gICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXBkYXRlZCA9IGRldGVjdFRyaWdnZXIoKVxuICAgICAgc2V0VHJpZ2dlcih1cGRhdGVkKVxuICAgIH0sXG4gICAgW2RldGVjdFRyaWdnZXJdXG4gIClcblxuICAvKipcbiAgICogUmVlbXBsYXphIGVsIGBAcXVlcnlgIHBlbmRpZW50ZSBwb3IgdW4gY2hpcCBhdMOzbWljbyBjb24gbGEgbWVudGlvbi5cbiAgICogUmVxdWllcmUgcXVlIGVsIGNhbGxlciBwcm92ZWEgZWwgRE9NIGRlbCBjaGlwIChzZSBpbnNlcnRhIHRhbCBjdWFsKS5cbiAgICovXG4gIGNvbnN0IHJlcGxhY2VUcmlnZ2VyV2l0aENoaXAgPSB1c2VDYWxsYmFjayhcbiAgICAoY2hpcE5vZGU6IEhUTUxFbGVtZW50LCBtZW50aW9uOiBDb250ZXh0TWVudGlvbikgPT4ge1xuICAgICAgY29uc3QgY3VycmVudCA9IGRldGVjdFRyaWdnZXIoKVxuICAgICAgaWYgKCFjdXJyZW50LmFjdGl2ZSB8fCAhY3VycmVudC5hbmNob3IpIHJldHVyblxuXG4gICAgICBjb25zdCB7IG5vZGUsIG9mZnNldCB9ID0gY3VycmVudC5hbmNob3JcbiAgICAgIGNvbnN0IHRleHROb2RlID0gbm9kZSBhcyBUZXh0XG4gICAgICBjb25zdCBmdWxsID0gdGV4dE5vZGUuZGF0YVxuICAgICAgY29uc3QgcXVlcnlMZW4gPSBjdXJyZW50LmF0UnVuTGVuZ3RoICsgY3VycmVudC5xdWVyeS5sZW5ndGhcbiAgICAgIGNvbnN0IGFmdGVyID0gZnVsbC5zbGljZShvZmZzZXQgKyBxdWVyeUxlbilcblxuICAgICAgLy8gVHJ1bmNhciBlbCB0ZXh0byBoYXN0YSBhbnRlcyBkZWwgcnVuIGRlIGBA4oCmYFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICB0ZXh0Tm9kZS5kYXRhID0gZnVsbC5zbGljZSgwLCBvZmZzZXQpXG5cbiAgICAgIC8vIEluc2VydGFyIGVsIGNoaXAganVzdG8gZGVzcHXDqXMgZGVsIG5vZG8gZGUgdGV4dG9cbiAgICAgIGNoaXBOb2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1tZW50aW9uJywgJ3RydWUnKVxuICAgICAgY2hpcE5vZGUuc2V0QXR0cmlidXRlKCdkYXRhLW1lbnRpb24taWQnLCBTdHJpbmcobWVudGlvbi5pZCkpXG4gICAgICBjaGlwTm9kZS5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVudGlvbi10eXBlJywgbWVudGlvbi50eXBlKVxuICAgICAgY2hpcE5vZGUuc2V0QXR0cmlidXRlKCdkYXRhLW1lbnRpb24tbGFiZWwnLCBtZW50aW9uLmxhYmVsKVxuICAgICAgY2hpcE5vZGUuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAnZmFsc2UnKVxuXG4gICAgICBjb25zdCBwYXJlbnQgPSB0ZXh0Tm9kZS5wYXJlbnROb2RlXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuXG5cbiAgICAgIGNvbnN0IHNwYWNlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGBcXHUwMGEwJHthZnRlcn1gKVxuICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShjaGlwTm9kZSwgdGV4dE5vZGUubmV4dFNpYmxpbmcpXG4gICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKHNwYWNlTm9kZSwgY2hpcE5vZGUubmV4dFNpYmxpbmcpXG5cbiAgICAgIC8vIFJlcG9zaWNpb25hciBjYXJldCBkZXNwdcOpcyBkZWwgY2hpcCAoYW50ZXMgZGVsIGVzcGFjaW8gbm9uLWJyZWFraW5nKVxuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKVxuICAgICAgICByYW5nZS5zZXRTdGFydChzcGFjZU5vZGUsIDEpXG4gICAgICAgIHJhbmdlLmNvbGxhcHNlKHRydWUpXG4gICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKVxuICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpXG4gICAgICB9XG5cbiAgICAgIGNsb3NlVHJpZ2dlcigpXG4gICAgfSxcbiAgICBbZGV0ZWN0VHJpZ2dlciwgY2xvc2VUcmlnZ2VyXVxuICApXG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6YSBlbCBjb250ZW5pZG86IHRleHRvIHBsYW5vICsgbGlzdGEgZGUgbWVudGlvbnMgZW4gb3JkZW4gZGUgYXBhcmljacOzbi5cbiAgICovXG4gIGNvbnN0IHNlcmlhbGl6ZSA9IHVzZUNhbGxiYWNrKCgpOiB7IHRleHQ6IHN0cmluZzsgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW10gfSA9PiB7XG4gICAgY29uc3QgZWwgPSBlZGl0b3JSZWYuY3VycmVudFxuICAgIGlmICghZWwpIHJldHVybiB7IHRleHQ6ICcnLCBtZW50aW9uczogW10gfVxuICAgIGNvbnN0IG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdID0gW11cbiAgICBsZXQgdGV4dCA9ICcnXG5cbiAgICBjb25zdCB3YWxrID0gKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xuICAgICAgICB0ZXh0ICs9IChub2RlIGFzIFRleHQpLmRhdGFcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpIHtcbiAgICAgICAgY29uc3QgZWxOb2RlID0gbm9kZSBhcyBIVE1MRWxlbWVudFxuICAgICAgICBpZiAoZWxOb2RlLmRhdGFzZXQ/Lm1lbnRpb24gPT09ICd0cnVlJykge1xuICAgICAgICAgIGNvbnN0IG1lbnRpb246IENvbnRleHRNZW50aW9uID0ge1xuICAgICAgICAgICAgaWQ6IGVsTm9kZS5kYXRhc2V0Lm1lbnRpb25JZCA/PyAnJyxcbiAgICAgICAgICAgIHR5cGU6IChlbE5vZGUuZGF0YXNldC5tZW50aW9uVHlwZSBhcyBDb250ZXh0TWVudGlvblsndHlwZSddKSA/PyAndXNlcicsXG4gICAgICAgICAgICBsYWJlbDogZWxOb2RlLmRhdGFzZXQubWVudGlvbkxhYmVsID8/IGVsTm9kZS50ZXh0Q29udGVudCA/PyAnJyxcbiAgICAgICAgICB9XG4gICAgICAgICAgbWVudGlvbnMucHVzaChtZW50aW9uKVxuICAgICAgICAgIHRleHQgKz0gc2VyaWFsaXplTWVudGlvbihtZW50aW9uKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmIChlbE5vZGUudGFnTmFtZSA9PT0gJ0JSJykge1xuICAgICAgICAgIHRleHQgKz0gJ1xcbidcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBlbE5vZGUuY2hpbGROb2Rlcy5mb3JFYWNoKHdhbGspXG4gICAgICAgIGlmIChlbE5vZGUudGFnTmFtZSA9PT0gJ0RJVicgfHwgZWxOb2RlLnRhZ05hbWUgPT09ICdQJykgdGV4dCArPSAnXFxuJ1xuICAgICAgfVxuICAgIH1cblxuICAgIGVsLmNoaWxkTm9kZXMuZm9yRWFjaCh3YWxrKVxuICAgIHJldHVybiB7IHRleHQ6IHRleHQucmVwbGFjZSgvXFxuKyQvLCAnJyksIG1lbnRpb25zIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgY2xlYXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKGVkaXRvclJlZi5jdXJyZW50KSBlZGl0b3JSZWYuY3VycmVudC5pbm5lckhUTUwgPSAnJ1xuICAgIGNsb3NlVHJpZ2dlcigpXG4gIH0sIFtjbG9zZVRyaWdnZXJdKVxuXG4gIGNvbnN0IGZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgZWRpdG9yUmVmLFxuICAgIHRyaWdnZXIsXG4gICAgdXBkYXRlVHJpZ2dlcixcbiAgICBjbG9zZVRyaWdnZXIsXG4gICAgc3luY1RyaWdnZXJBdFJ1bkxlbmd0aCxcbiAgICByZXBsYWNlVHJpZ2dlcldpdGhDaGlwLFxuICAgIHNlcmlhbGl6ZSxcbiAgICBjbGVhcixcbiAgICBmb2N1cyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBRXJELFNBQVNDLGdCQUFnQixRQUFRLGdDQUFnQztBQVdqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJQyxRQUE0QixFQUFFQyxLQUFZLEVBQTBCO0VBQ2hHLElBQUksQ0FBQ0QsUUFBUSxJQUFJLENBQUNBLFFBQVEsQ0FBQ0UsUUFBUSxDQUFDRCxLQUFLLENBQUNFLGNBQWMsQ0FBQyxFQUFFO0lBQ3pELE9BQU87TUFBRUMsTUFBTSxFQUFFLEtBQUs7TUFBRUMsS0FBSyxFQUFFLEVBQUU7TUFBRUMsV0FB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
|