@mirai/core 0.4.529 → 0.4.530

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.
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _components = require("./components");
12
12
  var _helpers = require("./helpers");
13
13
  var style = _interopRequireWildcard(require("./Message.module.css"));
14
- const _excluded = ["busy", "images", "synapse", "text"],
14
+ const _excluded = ["busy", "synapse", "text"],
15
15
  _excluded2 = ["testId"];
16
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -26,7 +26,6 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
26
26
  const Message = _ref => {
27
27
  let {
28
28
  busy = false,
29
- images = [],
30
29
  synapse,
31
30
  text
32
31
  } = _ref,
@@ -39,17 +38,23 @@ const Message = _ref => {
39
38
  } = (0, _dataSources.useStore)();
40
39
  const [containerWidth, setContainerWidth] = (0, _react.useState)();
41
40
  const {
42
- imageUrl: inlineImageUrl,
41
+ imageUrls,
43
42
  text: textWithoutInlineImage
44
- } = (0, _helpers.extractTrailingImageMarkdown)(text);
45
- const galleryImages = inlineImageUrl ? [...images, inlineImageUrl] : images;
43
+ } = (0, _helpers.extractImageMarkdown)(text);
46
44
  const {
47
45
  testId
48
46
  } = others,
49
47
  synapseProps = _objectWithoutProperties(others, _excluded2);
50
48
  (0, _react.useEffect)(() => {
51
49
  if (!synapse || !(containerRef !== null && containerRef !== void 0 && containerRef.current)) return setContainerWidth();
52
- const updateWidth = () => setContainerWidth(containerRef.current.offsetWidth);
50
+ const updateWidth = () => {
51
+ var _node$parentElement;
52
+ const node = containerRef.current;
53
+ const nodeWidth = node.offsetWidth;
54
+ const parentWidth = (_node$parentElement = node.parentElement) === null || _node$parentElement === void 0 ? void 0 : _node$parentElement.offsetWidth;
55
+ const nextWidth = parentWidth && parentWidth > nodeWidth ? parentWidth : nodeWidth;
56
+ setContainerWidth(nextWidth > 0 ? nextWidth : undefined);
57
+ };
53
58
  updateWidth();
54
59
  window.addEventListener('resize', updateWidth);
55
60
  return () => window.removeEventListener('resize', updateWidth);
@@ -68,19 +73,18 @@ const Message = _ref => {
68
73
  className: style.spinner
69
74
  }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
70
75
  className: style.text
71
- }, (0, _helpers.formatText)(textWithoutInlineImage)), galleryImages.length > 0 && containerWidth && /*#__PURE__*/_react.default.createElement(_ui.Slider, {
76
+ }, (0, _helpers.formatText)(textWithoutInlineImage)), imageUrls.length > 0 && containerWidth > 0 ? /*#__PURE__*/_react.default.createElement(_ui.Slider, {
72
77
  height: containerWidth * 0.66,
73
- images: galleryImages,
78
+ images: imageUrls,
74
79
  width: containerWidth,
75
80
  className: style.gallery
76
- })))), !busy && synapse && urlParams.sarai === 'environment' && /*#__PURE__*/_react.default.createElement(_components.Environment, _objectSpread(_objectSpread({
81
+ }) : null))), !busy && synapse && urlParams.sarai === 'environment' && /*#__PURE__*/_react.default.createElement(_components.Environment, _objectSpread(_objectSpread({
77
82
  synapse
78
83
  }, others), synapseProps)));
79
84
  };
80
85
  exports.Message = Message;
81
86
  Message.propTypes = {
82
87
  busy: _propTypes.default.bool,
83
- images: _propTypes.default.arrayOf(_propTypes.default.string),
84
88
  synapse: _propTypes.default.bool,
85
89
  text: _propTypes.default.string
86
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","style","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Message","_ref","busy","images","synapse","text","others","containerRef","useRef","urlParams","useStore","containerWidth","setContainerWidth","useState","imageUrl","inlineImageUrl","textWithoutInlineImage","extractTrailingImageMarkdown","galleryImages","testId","synapseProps","useEffect","current","updateWidth","offsetWidth","window","addEventListener","removeEventListener","createElement","View","wide","row","className","styles","message","ref","undefined","content","spinner","Fragment","Text","formatText","Slider","height","width","gallery","sarai","Environment","exports","propTypes","PropTypes","bool","arrayOf","string"],"sources":["../../../../../src/components/Chat/components/Message/Message.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Slider, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Environment } from './components';\nimport { extractTrailingImageMarkdown, formatText } from './helpers';\nimport * as style from './Message.module.css';\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Message = ({ busy = false, images = [], synapse, text, ...others }) => {\n const containerRef = useRef();\n const { value: { urlParams = {} } = {} } = useStore();\n\n const [containerWidth, setContainerWidth] = useState();\n const { imageUrl: inlineImageUrl, text: textWithoutInlineImage } = extractTrailingImageMarkdown(text);\n const galleryImages = inlineImageUrl ? [...images, inlineImageUrl] : images;\n\n const { testId, ...synapseProps } = others;\n\n useEffect(() => {\n if (!synapse || !containerRef?.current) return setContainerWidth();\n\n const updateWidth = () => setContainerWidth(containerRef.current.offsetWidth);\n updateWidth();\n\n window.addEventListener('resize', updateWidth);\n\n return () => window.removeEventListener('resize', updateWidth);\n }, [synapse]);\n\n return (\n <View testId={testId} wide>\n <View row wide className={styles(style.message, synapse && style.synapse)}>\n <View\n ref={synapse ? containerRef : undefined}\n className={styles(style.content, synapse && style.synapse, busy && style.busy)}\n >\n {busy ? (\n <View className={style.spinner} />\n ) : (\n <>\n <Text className={style.text}>{formatText(textWithoutInlineImage)}</Text>\n {galleryImages.length > 0 && containerWidth && (\n <Slider\n height={containerWidth * 0.66}\n images={galleryImages}\n width={containerWidth}\n className={style.gallery}\n />\n )}\n </>\n )}\n </View>\n </View>\n\n {!busy && synapse && urlParams.sarai === 'environment' && (\n <Environment {...{ synapse, ...others, ...synapseProps }} />\n )}\n </View>\n );\n};\n\nMessage.propTypes = {\n busy: PropTypes.bool,\n images: PropTypes.arrayOf(PropTypes.string),\n synapse: PropTypes.bool,\n text: PropTypes.string,\n};\n\nexport { Message };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Message.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","style","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Message","_ref","busy","synapse","text","others","containerRef","useRef","urlParams","useStore","containerWidth","setContainerWidth","useState","imageUrls","textWithoutInlineImage","extractImageMarkdown","testId","synapseProps","useEffect","current","updateWidth","_node$parentElement","node","nodeWidth","offsetWidth","parentWidth","parentElement","nextWidth","undefined","window","addEventListener","removeEventListener","createElement","View","wide","row","className","styles","message","ref","content","spinner","Fragment","Text","formatText","Slider","height","images","width","gallery","sarai","Environment","exports","propTypes","PropTypes","bool","string"],"sources":["../../../../../src/components/Chat/components/Message/Message.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Slider, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Environment } from './components';\nimport { extractImageMarkdown, formatText } from './helpers';\nimport * as style from './Message.module.css';\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Message = ({ busy = false, synapse, text, ...others }) => {\n const containerRef = useRef();\n const { value: { urlParams = {} } = {} } = useStore();\n\n const [containerWidth, setContainerWidth] = useState();\n const { imageUrls, text: textWithoutInlineImage } = extractImageMarkdown(text);\n\n const { testId, ...synapseProps } = others;\n\n useEffect(() => {\n if (!synapse || !containerRef?.current) return setContainerWidth();\n\n const updateWidth = () => {\n const node = containerRef.current;\n const nodeWidth = node.offsetWidth;\n const parentWidth = node.parentElement?.offsetWidth;\n const nextWidth = parentWidth && parentWidth > nodeWidth ? parentWidth : nodeWidth;\n setContainerWidth(nextWidth > 0 ? nextWidth : undefined);\n };\n updateWidth();\n\n window.addEventListener('resize', updateWidth);\n\n return () => window.removeEventListener('resize', updateWidth);\n }, [synapse]);\n\n return (\n <View testId={testId} wide>\n <View row wide className={styles(style.message, synapse && style.synapse)}>\n <View\n ref={synapse ? containerRef : undefined}\n className={styles(style.content, synapse && style.synapse, busy && style.busy)}\n >\n {busy ? (\n <View className={style.spinner} />\n ) : (\n <>\n <Text className={style.text}>{formatText(textWithoutInlineImage)}</Text>\n {imageUrls.length > 0 && containerWidth > 0 ? (\n <Slider\n height={containerWidth * 0.66}\n images={imageUrls}\n width={containerWidth}\n className={style.gallery}\n />\n ) : null}\n </>\n )}\n </View>\n </View>\n\n {!busy && synapse && urlParams.sarai === 'environment' && (\n <Environment {...{ synapse, ...others, ...synapseProps }} />\n )}\n </View>\n );\n};\n\nMessage.propTypes = {\n busy: PropTypes.bool,\n synapse: PropTypes.bool,\n text: PropTypes.string,\n};\n\nexport { Message };\n"],"mappings":"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","ignoreList":[]}
@@ -3,11 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.formatText = exports.extractTrailingImageMarkdown = void 0;
6
+ exports.formatText = exports.extractImageMarkdown = void 0;
7
7
  var _ui = require("@mirai/ui");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- const IMAGE_MARKDOWN_REGEX = /!\[image\]\((https?:\/\/[^\s)]+)\)\s*$/;
10
+ const IMAGE_MARKDOWN_REGEX = /!\[[^\]]*]\((https?:\/\/[^\s)]+)\)/g;
11
+ const IMAGE_LIST_ITEM_REGEX = /^(?:(?:\d+\.|[-*])\s+)?(https?:\/\/[^\s)]+)\s*$/;
12
+ const IMAGE_URL_EXTENSION_REGEX = /\.(?:apng|avif|bmp|gif|jpe?g|png|svg|webp)(?:[?#][^\s)]*)?$/i;
13
+ const LIST_MARKER_ONLY_REGEX = /^(?:\d+[.)]|[-*])$/;
11
14
  const LINK_TOKEN_REGEX = /\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)|(https?:\/\/[^\s]+)/g;
12
15
  const TRAILING_PUNCTUATION_REGEX = /[.,!?;:]$/;
13
16
  const renderTextWithLineBreaks = (value, keyPrefix) => {
@@ -20,24 +23,74 @@ const renderTextWithLineBreaks = (value, keyPrefix) => {
20
23
  })];
21
24
  });
22
25
  };
23
- const extractTrailingImageMarkdown = text => {
26
+ const isImageUrl = function () {
27
+ let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
28
+ return IMAGE_URL_EXTENSION_REGEX.test(value);
29
+ };
30
+ const getImageListLineUrl = function () {
31
+ let line = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
32
+ const match = line.trim().match(IMAGE_LIST_ITEM_REGEX);
33
+ if (!match) return undefined;
34
+ const [, imageUrl] = match;
35
+ return isImageUrl(imageUrl) ? imageUrl : undefined;
36
+ };
37
+ const normalizeTextAfterImageExtraction = function () {
38
+ let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
39
+ const compactedLines = [];
40
+ const lines = value.split('\n').map(line => line.replace(/[ \t]+$/g, ''));
41
+ lines.forEach(line => {
42
+ const isEmptyLine = line.trim() === '';
43
+ if (!isEmptyLine) return compactedLines.push(line);
44
+ if (!compactedLines.length || compactedLines[compactedLines.length - 1] === '') return undefined;
45
+ return compactedLines.push('');
46
+ });
47
+ return compactedLines.join('\n').trim();
48
+ };
49
+ const isListMarkerOnlyLine = function () {
50
+ let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
51
+ return LIST_MARKER_ONLY_REGEX.test(value.trim());
52
+ };
53
+ const extractImageMarkdown = text => {
24
54
  if (!text) return {
25
- imageUrl: undefined,
55
+ imageUrls: [],
26
56
  text
27
57
  };
28
- const match = text.match(IMAGE_MARKDOWN_REGEX);
29
- if (!match) return {
30
- imageUrl: undefined,
58
+ const imageItems = [];
59
+ const textWithoutMarkdownImages = text.replace(IMAGE_MARKDOWN_REGEX, (match, imageUrl, index) => {
60
+ if (!isImageUrl(imageUrl)) return match;
61
+ imageItems.push({
62
+ imageUrl,
63
+ index
64
+ });
65
+ return '';
66
+ });
67
+ let sourceOffset = 0;
68
+ text.split('\n').forEach(line => {
69
+ const imageUrl = getImageListLineUrl(line);
70
+ if (imageUrl) imageItems.push({
71
+ imageUrl,
72
+ index: sourceOffset
73
+ });
74
+ sourceOffset += line.length + 1;
75
+ });
76
+ if (!imageItems.length) return {
77
+ imageUrls: [],
31
78
  text
32
79
  };
33
- const [, imageUrl] = match;
34
- const nextText = text.replace(IMAGE_MARKDOWN_REGEX, '').replace(/[ \t]+$/g, '');
80
+ const textWithoutImageList = textWithoutMarkdownImages.split('\n').filter(line => !getImageListLineUrl(line) && !isListMarkerOnlyLine(line)).join('\n');
81
+ const imageUrls = imageItems.sort((a, b) => a.index - b.index).map(_ref => {
82
+ let {
83
+ imageUrl
84
+ } = _ref;
85
+ return imageUrl;
86
+ });
87
+ const nextText = normalizeTextAfterImageExtraction(textWithoutImageList);
35
88
  return {
36
- imageUrl,
89
+ imageUrls,
37
90
  text: nextText
38
91
  };
39
92
  };
40
- exports.extractTrailingImageMarkdown = extractTrailingImageMarkdown;
93
+ exports.extractImageMarkdown = extractImageMarkdown;
41
94
  const formatText = text => {
42
95
  if (!text) return text;
43
96
  const hasNewlines = text.includes('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"formatText.js","names":["_ui","require","_react","_interopRequireDefault","e","__esModule","default","IMAGE_MARKDOWN_REGEX","LINK_TOKEN_REGEX","TRAILING_PUNCTUATION_REGEX","renderTextWithLineBreaks","value","keyPrefix","lines","split","length","flatMap","line","index","createElement","key","concat","extractTrailingImageMarkdown","text","imageUrl","undefined","match","nextText","replace","exports","formatText","hasNewlines","includes","hasLinks","test","lastIndex","output","exec","rawMatch","markdownLabel","markdownUrl","rawUrl","matchIndex","beforeText","slice","renderedBefore","Array","isArray","push","linkUrl","linkLabel","Action","href","paragraph","rel","target","underline","remainingText","renderedRemaining"],"sources":["../../../../../../src/components/Chat/components/Message/helpers/formatText.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nconst IMAGE_MARKDOWN_REGEX = /!\\[image\\]\\((https?:\\/\\/[^\\s)]+)\\)\\s*$/;\nconst LINK_TOKEN_REGEX = /\\[([^\\]]+)\\]\\((https?:\\/\\/[^\\s)]+)\\)|(https?:\\/\\/[^\\s]+)/g;\nconst TRAILING_PUNCTUATION_REGEX = /[.,!?;:]$/;\n\nconst renderTextWithLineBreaks = (value, keyPrefix) => {\n const lines = value.split('\\n');\n\n if (lines.length === 1) return value;\n\n return lines.flatMap((line, index) => {\n if (index === lines.length - 1) return line;\n\n return [line, <br key={`${keyPrefix}-br-${index}`} />];\n });\n};\n\nexport const extractTrailingImageMarkdown = (text) => {\n if (!text) return { imageUrl: undefined, text };\n\n const match = text.match(IMAGE_MARKDOWN_REGEX);\n\n if (!match) return { imageUrl: undefined, text };\n\n const [, imageUrl] = match;\n const nextText = text.replace(IMAGE_MARKDOWN_REGEX, '').replace(/[ \\t]+$/g, '');\n\n return { imageUrl, text: nextText };\n};\n\nexport const formatText = (text) => {\n if (!text) return text;\n\n const hasNewlines = text.includes('\\n');\n const hasLinks = LINK_TOKEN_REGEX.test(text);\n LINK_TOKEN_REGEX.lastIndex = 0;\n\n if (!hasLinks && !hasNewlines) return text;\n if (!hasLinks) return renderTextWithLineBreaks(text, 'text');\n\n const output = [];\n let lastIndex = 0;\n let match;\n\n while ((match = LINK_TOKEN_REGEX.exec(text)) !== null) {\n const [rawMatch, markdownLabel, markdownUrl, rawUrl] = match;\n const matchIndex = match.index;\n\n if (matchIndex > lastIndex) {\n const beforeText = text.slice(lastIndex, matchIndex);\n const renderedBefore = renderTextWithLineBreaks(beforeText, `text-${matchIndex}`);\n if (Array.isArray(renderedBefore)) {\n output.push(...renderedBefore);\n } else {\n output.push(renderedBefore);\n }\n }\n\n const linkUrl = (markdownUrl || rawUrl).replace(TRAILING_PUNCTUATION_REGEX, '');\n const linkLabel = markdownLabel || linkUrl;\n\n output.push(\n <Action key={`link-${matchIndex}`} href={linkUrl} paragraph rel=\"noopener noreferrer\" target=\"_blank\" underline>\n {linkLabel}\n </Action>,\n );\n\n lastIndex = matchIndex + rawMatch.length;\n }\n\n if (lastIndex < text.length) {\n const remainingText = text.slice(lastIndex);\n const renderedRemaining = renderTextWithLineBreaks(remainingText, `text-${lastIndex}`);\n if (Array.isArray(renderedRemaining)) {\n output.push(...renderedRemaining);\n } else {\n output.push(renderedRemaining);\n }\n }\n\n return output;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"formatText.js","names":["_ui","require","_react","_interopRequireDefault","e","__esModule","default","IMAGE_MARKDOWN_REGEX","IMAGE_LIST_ITEM_REGEX","IMAGE_URL_EXTENSION_REGEX","LIST_MARKER_ONLY_REGEX","LINK_TOKEN_REGEX","TRAILING_PUNCTUATION_REGEX","renderTextWithLineBreaks","value","keyPrefix","lines","split","length","flatMap","line","index","createElement","key","concat","isImageUrl","arguments","undefined","test","getImageListLineUrl","match","trim","imageUrl","normalizeTextAfterImageExtraction","compactedLines","map","replace","forEach","isEmptyLine","push","join","isListMarkerOnlyLine","extractImageMarkdown","text","imageUrls","imageItems","textWithoutMarkdownImages","sourceOffset","textWithoutImageList","filter","sort","a","b","_ref","nextText","exports","formatText","hasNewlines","includes","hasLinks","lastIndex","output","exec","rawMatch","markdownLabel","markdownUrl","rawUrl","matchIndex","beforeText","slice","renderedBefore","Array","isArray","linkUrl","linkLabel","Action","href","paragraph","rel","target","underline","remainingText","renderedRemaining"],"sources":["../../../../../../src/components/Chat/components/Message/helpers/formatText.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nconst IMAGE_MARKDOWN_REGEX = /!\\[[^\\]]*]\\((https?:\\/\\/[^\\s)]+)\\)/g;\nconst IMAGE_LIST_ITEM_REGEX = /^(?:(?:\\d+\\.|[-*])\\s+)?(https?:\\/\\/[^\\s)]+)\\s*$/;\nconst IMAGE_URL_EXTENSION_REGEX = /\\.(?:apng|avif|bmp|gif|jpe?g|png|svg|webp)(?:[?#][^\\s)]*)?$/i;\nconst LIST_MARKER_ONLY_REGEX = /^(?:\\d+[.)]|[-*])$/;\nconst LINK_TOKEN_REGEX = /\\[([^\\]]+)\\]\\((https?:\\/\\/[^\\s)]+)\\)|(https?:\\/\\/[^\\s]+)/g;\nconst TRAILING_PUNCTUATION_REGEX = /[.,!?;:]$/;\n\nconst renderTextWithLineBreaks = (value, keyPrefix) => {\n const lines = value.split('\\n');\n\n if (lines.length === 1) return value;\n\n return lines.flatMap((line, index) => {\n if (index === lines.length - 1) return line;\n\n return [line, <br key={`${keyPrefix}-br-${index}`} />];\n });\n};\n\nconst isImageUrl = (value = '') => IMAGE_URL_EXTENSION_REGEX.test(value);\n\nconst getImageListLineUrl = (line = '') => {\n const match = line.trim().match(IMAGE_LIST_ITEM_REGEX);\n\n if (!match) return undefined;\n\n const [, imageUrl] = match;\n return isImageUrl(imageUrl) ? imageUrl : undefined;\n};\n\nconst normalizeTextAfterImageExtraction = (value = '') => {\n const compactedLines = [];\n const lines = value.split('\\n').map((line) => line.replace(/[ \\t]+$/g, ''));\n\n lines.forEach((line) => {\n const isEmptyLine = line.trim() === '';\n\n if (!isEmptyLine) return compactedLines.push(line);\n if (!compactedLines.length || compactedLines[compactedLines.length - 1] === '') return undefined;\n\n return compactedLines.push('');\n });\n\n return compactedLines.join('\\n').trim();\n};\n\nconst isListMarkerOnlyLine = (value = '') => LIST_MARKER_ONLY_REGEX.test(value.trim());\n\nexport const extractImageMarkdown = (text) => {\n if (!text) return { imageUrls: [], text };\n\n const imageItems = [];\n const textWithoutMarkdownImages = text.replace(IMAGE_MARKDOWN_REGEX, (match, imageUrl, index) => {\n if (!isImageUrl(imageUrl)) return match;\n\n imageItems.push({ imageUrl, index });\n return '';\n });\n\n let sourceOffset = 0;\n text.split('\\n').forEach((line) => {\n const imageUrl = getImageListLineUrl(line);\n if (imageUrl) imageItems.push({ imageUrl, index: sourceOffset });\n sourceOffset += line.length + 1;\n });\n\n if (!imageItems.length) return { imageUrls: [], text };\n\n const textWithoutImageList = textWithoutMarkdownImages\n .split('\\n')\n .filter((line) => !getImageListLineUrl(line) && !isListMarkerOnlyLine(line))\n .join('\\n');\n\n const imageUrls = imageItems.sort((a, b) => a.index - b.index).map(({ imageUrl }) => imageUrl);\n const nextText = normalizeTextAfterImageExtraction(textWithoutImageList);\n\n return { imageUrls, text: nextText };\n};\n\nexport const formatText = (text) => {\n if (!text) return text;\n\n const hasNewlines = text.includes('\\n');\n const hasLinks = LINK_TOKEN_REGEX.test(text);\n LINK_TOKEN_REGEX.lastIndex = 0;\n\n if (!hasLinks && !hasNewlines) return text;\n if (!hasLinks) return renderTextWithLineBreaks(text, 'text');\n\n const output = [];\n let lastIndex = 0;\n let match;\n\n while ((match = LINK_TOKEN_REGEX.exec(text)) !== null) {\n const [rawMatch, markdownLabel, markdownUrl, rawUrl] = match;\n const matchIndex = match.index;\n\n if (matchIndex > lastIndex) {\n const beforeText = text.slice(lastIndex, matchIndex);\n const renderedBefore = renderTextWithLineBreaks(beforeText, `text-${matchIndex}`);\n if (Array.isArray(renderedBefore)) {\n output.push(...renderedBefore);\n } else {\n output.push(renderedBefore);\n }\n }\n\n const linkUrl = (markdownUrl || rawUrl).replace(TRAILING_PUNCTUATION_REGEX, '');\n const linkLabel = markdownLabel || linkUrl;\n\n output.push(\n <Action key={`link-${matchIndex}`} href={linkUrl} paragraph rel=\"noopener noreferrer\" target=\"_blank\" underline>\n {linkLabel}\n </Action>,\n );\n\n lastIndex = matchIndex + rawMatch.length;\n }\n\n if (lastIndex < text.length) {\n const remainingText = text.slice(lastIndex);\n const renderedRemaining = renderTextWithLineBreaks(remainingText, `text-${lastIndex}`);\n if (Array.isArray(renderedRemaining)) {\n output.push(...renderedRemaining);\n } else {\n output.push(renderedRemaining);\n }\n }\n\n return output;\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.529",
3
+ "version": "0.4.530",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",