@mirai/ui 2.1.99 → 2.1.101
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/build/components/Modal/Modal.js +41 -21
- package/build/components/Modal/Modal.js.map +1 -1
- package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +0 -15
- package/build/primitives/Text/helpers/parseMarkdown.js +136 -50
- package/build/primitives/Text/helpers/parseMarkdown.js.map +1 -1
- package/package.json +1 -1
|
@@ -68,49 +68,70 @@ var Modal = function Modal(_ref) {
|
|
|
68
68
|
height = _useDevice.height;
|
|
69
69
|
var ref = (0, _react.useRef)();
|
|
70
70
|
var refOtherModal = (0, _react.useRef)();
|
|
71
|
+
var refPortal = (0, _react.useRef)();
|
|
71
72
|
var _useState = (0, _react.useState)(),
|
|
72
73
|
_useState2 = _slicedToArray(_useState, 2),
|
|
73
74
|
dataset = _useState2[0],
|
|
74
75
|
setDataset = _useState2[1];
|
|
75
|
-
var _useState3 = (0, _react.useState)(forceRender ||
|
|
76
|
+
var _useState3 = (0, _react.useState)(forceRender || visible),
|
|
76
77
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
77
78
|
instance = _useState4[0],
|
|
78
79
|
setInstance = _useState4[1];
|
|
80
|
+
var portalBody = portal && typeof document !== 'undefined' ? document.body : null;
|
|
81
|
+
if (portalBody && !refPortal.current) {
|
|
82
|
+
refPortal.current = portalBody.ownerDocument.createElement('div');
|
|
83
|
+
}
|
|
84
|
+
var portalContainer = portalBody ? refPortal.current : null;
|
|
79
85
|
(0, _react.useEffect)(function () {
|
|
80
|
-
|
|
81
|
-
!instance &&
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
var unloadTimeout;
|
|
87
|
+
if (!instance && (forceRender || visible)) {
|
|
88
|
+
setInstance(true);
|
|
89
|
+
} else if (instance && !forceRender && !visible) {
|
|
90
|
+
unloadTimeout = setTimeout(function () {
|
|
91
|
+
return setInstance(false);
|
|
92
|
+
}, _Modal.UNLOAD_DELAY);
|
|
93
|
+
}
|
|
94
|
+
return function () {
|
|
95
|
+
return clearTimeout(unloadTimeout);
|
|
96
|
+
};
|
|
97
|
+
}, [forceRender, instance, visible]);
|
|
98
|
+
(0, _react.useLayoutEffect)(function () {
|
|
99
|
+
if (!portalBody || !portalContainer) return;
|
|
100
|
+
portalBody.appendChild(portalContainer);
|
|
101
|
+
return function () {
|
|
102
|
+
return portalContainer.remove();
|
|
103
|
+
};
|
|
104
|
+
}, [portalBody, portalContainer]);
|
|
87
105
|
(0, _react.useEffect)(function () {
|
|
88
106
|
_dataSources.Event === null || _dataSources.Event === void 0 ? void 0 : _dataSources.Event.publish(_Modal.EVENT_VISIBLE, {
|
|
89
107
|
visible: visible,
|
|
90
108
|
displayName: displayName
|
|
91
109
|
});
|
|
92
|
-
|
|
93
|
-
|
|
110
|
+
var body = typeof document !== 'undefined' ? document.body : null;
|
|
111
|
+
if (!visible || !onClose || !body) return;
|
|
112
|
+
refOtherModal.current = body.dataset.miraiModal === 'true';
|
|
113
|
+
var ownerDocument = body.ownerDocument;
|
|
94
114
|
var handleKeydown = function handleKeydown(event) {
|
|
95
115
|
return event.key === 'Escape' && handleClose();
|
|
96
116
|
};
|
|
97
|
-
|
|
117
|
+
ownerDocument.addEventListener('keydown', handleKeydown);
|
|
98
118
|
return function () {
|
|
99
|
-
return
|
|
119
|
+
return ownerDocument.removeEventListener('keydown', handleKeydown);
|
|
100
120
|
};
|
|
101
121
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
102
122
|
}, [visible]);
|
|
103
123
|
(0, _react.useEffect)(function () {
|
|
104
124
|
var _ref2 = refOtherModal || {},
|
|
105
125
|
otherModal = _ref2.current;
|
|
106
|
-
|
|
126
|
+
var body = typeof document !== 'undefined' ? document.body : null;
|
|
127
|
+
if (visible && !dataset && !otherModal && body) {
|
|
107
128
|
setDataset(true);
|
|
108
|
-
|
|
129
|
+
body.dataset.miraiModal = true;
|
|
109
130
|
}
|
|
110
131
|
return function () {
|
|
111
|
-
if (visible && dataset && !otherModal) {
|
|
132
|
+
if (visible && dataset && !otherModal && body) {
|
|
112
133
|
setDataset();
|
|
113
|
-
delete
|
|
134
|
+
delete body.dataset.miraiModal;
|
|
114
135
|
}
|
|
115
136
|
};
|
|
116
137
|
}, [dataset, visible]);
|
|
@@ -133,11 +154,8 @@ var Modal = function Modal(_ref) {
|
|
|
133
154
|
onClose(event);
|
|
134
155
|
};
|
|
135
156
|
var defaultDirection = _theme.Theme.getDirection() === _theme.DIRECTION_TYPE.LEFT;
|
|
136
|
-
var renderer = _helpers.IS_JEST || !portal ? function (jsx) {
|
|
137
|
-
return jsx;
|
|
138
|
-
} : _reactDom["default"].createPortal;
|
|
139
157
|
var testId = others.testId;
|
|
140
|
-
|
|
158
|
+
var content = /*#__PURE__*/_react["default"].createElement(_primitives.Pressable, {
|
|
141
159
|
preventDefault: preventDefault,
|
|
142
160
|
tabIndex: visible && overflow ? 0 : -1,
|
|
143
161
|
tag: "modal-overflow",
|
|
@@ -187,7 +205,9 @@ var Modal = function Modal(_ref) {
|
|
|
187
205
|
}, child.props), {}, {
|
|
188
206
|
role: 'modal-content'
|
|
189
207
|
}));
|
|
190
|
-
})))
|
|
208
|
+
})));
|
|
209
|
+
if (!portal) return content;
|
|
210
|
+
return portalContainer ? /*#__PURE__*/_reactDom["default"].createPortal(content, portalContainer) : null;
|
|
191
211
|
};
|
|
192
212
|
exports.Modal = Modal;
|
|
193
213
|
Modal.displayName = 'Component:Modal';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["_dataSources","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_hooks","_primitives","_theme","_Modal","_ModalModule","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","f","next","done","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","Modal","_ref","_ref$blur","blur","children","displayName","_ref$fit","fit","_ref$forceRender","forceRender","_ref$mobileBehavior","mobileBehavior","_ref$overflow","overflow","_ref$portal","portal","_ref$preventDefault","preventDefault","title","visible","onBack","onClose","onOverflow","_ref$aria","aria","_ref$aria$buttonBack","buttonBack","ariaBack","_ref$aria$buttonClose","buttonClose","ariaClose","others","_useDevice","useDevice","isDesktop","height","ref","useRef","refOtherModal","_useState","useState","_useState2","dataset","setDataset","_useState3","IS_JEST","_useState4","instance","setInstance","useEffect","setTimeout","UNLOAD_DELAY","Event","publish","EVENT_VISIBLE","current","document","body","miraiModal","handleKeydown","event","key","handleClose","addEventListener","removeEventListener","_ref2","otherModal","handleOverflow","_ref$current","target","contains","defaultDirection","Theme","getDirection","DIRECTION_TYPE","LEFT","renderer","jsx","ReactDOM","createPortal","testId","createElement","Pressable","tabIndex","tag","onPress","undefined","className","styles","style","container","concat","View","modal","calcWidth","inert","row","header","reverse","hideBack","hideClose","Button","small","squared","transparent","Icon","ICON","icon","Text","headline","medium","CLOSE","React","Children","map","child","index","cloneElement","props","role","exports","propTypes","PropTypes","bool","node","string","func","shape"],"sources":["../../../src/components/Modal/Modal.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Button } from '../../components';\nimport { IS_JEST, styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { EVENT_VISIBLE, UNLOAD_DELAY } from './Modal.constants';\nimport style from './Modal.module.css';\n\nconst Modal = ({\n blur = false,\n children,\n displayName,\n fit = false,\n forceRender = false,\n mobileBehavior = false,\n overflow = true,\n portal = false,\n preventDefault = true,\n title,\n visible,\n onBack,\n onClose,\n onOverflow,\n aria: { buttonBack: ariaBack = 'Back', buttonClose: ariaClose = 'Close' } = {},\n ...others\n}) => {\n const { isDesktop, height } = useDevice();\n const ref = useRef();\n const refOtherModal = useRef();\n\n const [dataset, setDataset] = useState();\n const [instance, setInstance] = useState(forceRender || IS_JEST);\n\n useEffect(() => {\n if (IS_JEST) return;\n\n !instance && visible\n ? setInstance(visible)\n : instance && !visible\n ? setTimeout(() => setInstance(forceRender || visible), UNLOAD_DELAY)\n : null;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!instance, visible]);\n\n useEffect(() => {\n Event?.publish(EVENT_VISIBLE, { visible, displayName });\n if (!visible || !onClose) return;\n\n refOtherModal.current = document.body.dataset.miraiModal === 'true';\n\n const handleKeydown = (event) => event.key === 'Escape' && handleClose();\n\n document.addEventListener('keydown', handleKeydown);\n return () => document.removeEventListener('keydown', handleKeydown);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n useEffect(() => {\n const { current: otherModal } = refOtherModal || {};\n\n if (visible && !dataset && !otherModal) {\n setDataset(true);\n document.body.dataset.miraiModal = true;\n }\n\n return () => {\n if (visible && dataset && !otherModal) {\n setDataset();\n delete document.body.dataset.miraiModal;\n }\n };\n }, [dataset, visible]);\n\n const handleOverflow = (event) => {\n const { target } = event;\n\n if (onOverflow && !ref.current?.contains(target)) {\n Event.publish(EVENT_VISIBLE, { visible: false, displayName });\n onOverflow(event);\n }\n };\n\n const handleClose = (event) => {\n Event.publish(EVENT_VISIBLE, { visible: false, displayName });\n onClose(event);\n };\n\n const defaultDirection = Theme.getDirection() === DIRECTION_TYPE.LEFT;\n const renderer = IS_JEST || !portal ? (jsx) => jsx : ReactDOM.createPortal;\n const { testId } = others;\n\n return renderer(\n <Pressable\n preventDefault={preventDefault}\n tabIndex={visible && overflow ? 0 : -1}\n tag=\"modal-overflow\"\n onPress={visible && overflow ? handleOverflow : undefined}\n className={styles(\n style.container,\n isDesktop && mobileBehavior && style.mobileBehavior,\n overflow && style.overflow,\n overflow && blur && style.blur,\n visible && instance && style.visible,\n onOverflow && style.onOverflow,\n )}\n style={{ height }}\n testId={testId && overflow ? `${testId}-overflow` : undefined}\n >\n <View\n {...others}\n fit\n ref={ref}\n tag=\"modal\"\n className={styles(style.modal, !fit && style.calcWidth, visible && style.visible, others.className)}\n aria-hidden={visible ? 'false' : 'true'}\n inert={!visible ? true : undefined}\n >\n {(title || onBack || onClose) && (\n <View\n row\n className={styles(\n style.header,\n !defaultDirection && style.reverse,\n !onBack && style.hideBack,\n !onClose && style.hideClose,\n )}\n >\n {onBack && (\n <Button\n small\n squared\n transparent\n onPress={onBack}\n aria-label={ariaBack}\n testId={testId ? `${testId}-button-back` : undefined}\n >\n <Icon value={ICON.LEFT} className={style.icon} />\n </Button>\n )}\n {title && (\n <Text headline medium className={style.title}>\n {title}\n </Text>\n )}\n {onClose && (\n <Button\n small\n squared\n transparent\n onPress={handleClose}\n aria-label={ariaClose}\n testId={testId ? `${testId}-button-close` : undefined}\n >\n <Icon value={ICON.CLOSE} className={style.icon} />\n </Button>\n )}\n </View>\n )}\n\n {instance &&\n React.Children.map(children, (child, index) =>\n !child || child === null\n ? null\n : React.cloneElement(child, { key: child.key || index, ...child.props, role: 'modal-content' }),\n )}\n </View>\n </Pressable>,\n document.body,\n );\n};\n\nModal.displayName = 'Component:Modal';\n\nModal.propTypes = {\n blur: PropTypes.bool,\n children: PropTypes.node,\n displayName: PropTypes.string,\n fit: PropTypes.bool,\n forceRender: PropTypes.bool,\n mobileBehavior: PropTypes.bool,\n overflow: PropTypes.bool,\n portal: PropTypes.bool,\n preventDefault: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n onOverflow: PropTypes.func,\n aria: PropTypes.shape({\n buttonBack: PropTypes.string,\n buttonClose: PropTypes.string,\n }),\n};\n\nexport { Modal };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["_dataSources","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_hooks","_primitives","_theme","_Modal","_ModalModule","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","f","next","done","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","Modal","_ref","_ref$blur","blur","children","displayName","_ref$fit","fit","_ref$forceRender","forceRender","_ref$mobileBehavior","mobileBehavior","_ref$overflow","overflow","_ref$portal","portal","_ref$preventDefault","preventDefault","title","visible","onBack","onClose","onOverflow","_ref$aria","aria","_ref$aria$buttonBack","buttonBack","ariaBack","_ref$aria$buttonClose","buttonClose","ariaClose","others","_useDevice","useDevice","isDesktop","height","ref","useRef","refOtherModal","refPortal","_useState","useState","_useState2","dataset","setDataset","_useState3","_useState4","instance","setInstance","portalBody","document","body","current","ownerDocument","createElement","portalContainer","useEffect","unloadTimeout","setTimeout","UNLOAD_DELAY","clearTimeout","useLayoutEffect","appendChild","remove","Event","publish","EVENT_VISIBLE","miraiModal","handleKeydown","event","key","handleClose","addEventListener","removeEventListener","_ref2","otherModal","handleOverflow","_ref$current","target","contains","defaultDirection","Theme","getDirection","DIRECTION_TYPE","LEFT","testId","content","Pressable","tabIndex","tag","onPress","undefined","className","styles","style","container","concat","View","modal","calcWidth","inert","row","header","reverse","hideBack","hideClose","Button","small","squared","transparent","Icon","ICON","icon","Text","headline","medium","CLOSE","React","Children","map","child","index","cloneElement","props","role","ReactDOM","createPortal","exports","propTypes","PropTypes","bool","node","string","func","shape"],"sources":["../../../src/components/Modal/Modal.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Button } from '../../components';\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { EVENT_VISIBLE, UNLOAD_DELAY } from './Modal.constants';\nimport style from './Modal.module.css';\n\nconst Modal = ({\n blur = false,\n children,\n displayName,\n fit = false,\n forceRender = false,\n mobileBehavior = false,\n overflow = true,\n portal = false,\n preventDefault = true,\n title,\n visible,\n onBack,\n onClose,\n onOverflow,\n aria: { buttonBack: ariaBack = 'Back', buttonClose: ariaClose = 'Close' } = {},\n ...others\n}) => {\n const { isDesktop, height } = useDevice();\n const ref = useRef();\n const refOtherModal = useRef();\n const refPortal = useRef();\n\n const [dataset, setDataset] = useState();\n const [instance, setInstance] = useState(forceRender || visible);\n\n const portalBody = portal && typeof document !== 'undefined' ? document.body : null;\n\n if (portalBody && !refPortal.current) {\n refPortal.current = portalBody.ownerDocument.createElement('div');\n }\n\n const portalContainer = portalBody ? refPortal.current : null;\n\n useEffect(() => {\n let unloadTimeout;\n\n if (!instance && (forceRender || visible)) {\n setInstance(true);\n } else if (instance && !forceRender && !visible) {\n unloadTimeout = setTimeout(() => setInstance(false), UNLOAD_DELAY);\n }\n\n return () => clearTimeout(unloadTimeout);\n }, [forceRender, instance, visible]);\n\n useLayoutEffect(() => {\n if (!portalBody || !portalContainer) return;\n\n portalBody.appendChild(portalContainer);\n\n return () => portalContainer.remove();\n }, [portalBody, portalContainer]);\n\n useEffect(() => {\n Event?.publish(EVENT_VISIBLE, { visible, displayName });\n const body = typeof document !== 'undefined' ? document.body : null;\n\n if (!visible || !onClose || !body) return;\n\n refOtherModal.current = body.dataset.miraiModal === 'true';\n\n const { ownerDocument } = body;\n\n const handleKeydown = (event) => event.key === 'Escape' && handleClose();\n\n ownerDocument.addEventListener('keydown', handleKeydown);\n return () => ownerDocument.removeEventListener('keydown', handleKeydown);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n useEffect(() => {\n const { current: otherModal } = refOtherModal || {};\n const body = typeof document !== 'undefined' ? document.body : null;\n\n if (visible && !dataset && !otherModal && body) {\n setDataset(true);\n body.dataset.miraiModal = true;\n }\n\n return () => {\n if (visible && dataset && !otherModal && body) {\n setDataset();\n delete body.dataset.miraiModal;\n }\n };\n }, [dataset, visible]);\n\n const handleOverflow = (event) => {\n const { target } = event;\n\n if (onOverflow && !ref.current?.contains(target)) {\n Event.publish(EVENT_VISIBLE, { visible: false, displayName });\n onOverflow(event);\n }\n };\n\n const handleClose = (event) => {\n Event.publish(EVENT_VISIBLE, { visible: false, displayName });\n onClose(event);\n };\n\n const defaultDirection = Theme.getDirection() === DIRECTION_TYPE.LEFT;\n const { testId } = others;\n\n const content = (\n <Pressable\n preventDefault={preventDefault}\n tabIndex={visible && overflow ? 0 : -1}\n tag=\"modal-overflow\"\n onPress={visible && overflow ? handleOverflow : undefined}\n className={styles(\n style.container,\n isDesktop && mobileBehavior && style.mobileBehavior,\n overflow && style.overflow,\n overflow && blur && style.blur,\n visible && instance && style.visible,\n onOverflow && style.onOverflow,\n )}\n style={{ height }}\n testId={testId && overflow ? `${testId}-overflow` : undefined}\n >\n <View\n {...others}\n fit\n ref={ref}\n tag=\"modal\"\n className={styles(style.modal, !fit && style.calcWidth, visible && style.visible, others.className)}\n aria-hidden={visible ? 'false' : 'true'}\n inert={!visible ? true : undefined}\n >\n {(title || onBack || onClose) && (\n <View\n row\n className={styles(\n style.header,\n !defaultDirection && style.reverse,\n !onBack && style.hideBack,\n !onClose && style.hideClose,\n )}\n >\n {onBack && (\n <Button\n small\n squared\n transparent\n onPress={onBack}\n aria-label={ariaBack}\n testId={testId ? `${testId}-button-back` : undefined}\n >\n <Icon value={ICON.LEFT} className={style.icon} />\n </Button>\n )}\n {title && (\n <Text headline medium className={style.title}>\n {title}\n </Text>\n )}\n {onClose && (\n <Button\n small\n squared\n transparent\n onPress={handleClose}\n aria-label={ariaClose}\n testId={testId ? `${testId}-button-close` : undefined}\n >\n <Icon value={ICON.CLOSE} className={style.icon} />\n </Button>\n )}\n </View>\n )}\n\n {instance &&\n React.Children.map(children, (child, index) =>\n !child || child === null\n ? null\n : React.cloneElement(child, { key: child.key || index, ...child.props, role: 'modal-content' }),\n )}\n </View>\n </Pressable>\n );\n\n if (!portal) return content;\n\n return portalContainer ? ReactDOM.createPortal(content, portalContainer) : null;\n};\n\nModal.displayName = 'Component:Modal';\n\nModal.propTypes = {\n blur: PropTypes.bool,\n children: PropTypes.node,\n displayName: PropTypes.string,\n fit: PropTypes.bool,\n forceRender: PropTypes.bool,\n mobileBehavior: PropTypes.bool,\n overflow: PropTypes.bool,\n portal: PropTypes.bool,\n preventDefault: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n onOverflow: PropTypes.func,\n aria: PropTypes.shape({\n buttonBack: PropTypes.string,\n buttonClose: PropTypes.string,\n }),\n};\n\nexport { Modal };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -240,21 +240,6 @@ exports[`component:<Modal> prop:onOverflow 1`] = `
|
|
|
240
240
|
</DocumentFragment>
|
|
241
241
|
`;
|
|
242
242
|
|
|
243
|
-
exports[`component:<Modal> prop:portal 1`] = `
|
|
244
|
-
<DocumentFragment>
|
|
245
|
-
<ui-modal-overflow
|
|
246
|
-
class="pressable container overflow"
|
|
247
|
-
style="height: 768px;"
|
|
248
|
-
tabindex="-1"
|
|
249
|
-
>
|
|
250
|
-
<ui-modal
|
|
251
|
-
class="view fit modal calcWidth"
|
|
252
|
-
inert=""
|
|
253
|
-
/>
|
|
254
|
-
</ui-modal-overflow>
|
|
255
|
-
</DocumentFragment>
|
|
256
|
-
`;
|
|
257
|
-
|
|
258
243
|
exports[`component:<Modal> prop:title 1`] = `
|
|
259
244
|
<DocumentFragment>
|
|
260
245
|
<ui-modal-overflow
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.parseMarkdown = void 0;
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
8
|
var _helpers = require("../../Primitive/helpers");
|
|
10
|
-
var _excluded = ["
|
|
9
|
+
var _excluded = ["end"],
|
|
10
|
+
_excluded2 = ["text"];
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
12
13
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
|
|
13
14
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
|
|
14
15
|
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; }
|
|
@@ -16,14 +17,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
16
17
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
18
19
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
20
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
22
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; }
|
|
23
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) { ; } } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
24
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
25
|
-
var LINK_REGEXP = /\[(.*?)\]\((.*?)\)/;
|
|
26
|
-
var MARKDOWN_REGEXP = /(\*\*|\*|_|~~|\[|\{)(.+?)(?:\1|\)|\})/g;
|
|
27
20
|
var SPACE_REGEXP = /\s/g;
|
|
28
21
|
var STYLE = {
|
|
29
22
|
BINDING: {
|
|
@@ -59,57 +52,150 @@ var STYLE = {
|
|
|
59
52
|
}
|
|
60
53
|
}
|
|
61
54
|
};
|
|
55
|
+
var DELIMITER_STYLE = {
|
|
56
|
+
'**': STYLE.BOLD,
|
|
57
|
+
'*': STYLE.ITALIC,
|
|
58
|
+
_: STYLE.UNDERLINE,
|
|
59
|
+
'~~': STYLE.LINE_THROUGH
|
|
60
|
+
};
|
|
61
|
+
var isLineBreak = function isLineBreak(character) {
|
|
62
|
+
return character === '\n' || character === '\r' || character === "\u2028" || character === "\u2029";
|
|
63
|
+
};
|
|
64
|
+
var isEscaped = function isEscaped(value, index) {
|
|
65
|
+
var backslashes = 0;
|
|
66
|
+
for (var cursor = index - 1; cursor >= 0 && value[cursor] === '\\'; cursor -= 1) {
|
|
67
|
+
backslashes += 1;
|
|
68
|
+
}
|
|
69
|
+
return backslashes % 2 === 1;
|
|
70
|
+
};
|
|
71
|
+
var getLinks = function getLinks(value) {
|
|
72
|
+
var links = new Map();
|
|
73
|
+
var openingBrackets = [];
|
|
74
|
+
var openingLinkBrackets = [];
|
|
75
|
+
var openingParentheses = [];
|
|
76
|
+
var pendingLinkBracket;
|
|
77
|
+
for (var index = 0; index < value.length; index += 1) {
|
|
78
|
+
var character = value[index];
|
|
79
|
+
if (isLineBreak(character)) {
|
|
80
|
+
openingBrackets.length = 0;
|
|
81
|
+
openingLinkBrackets.length = 0;
|
|
82
|
+
openingParentheses.length = 0;
|
|
83
|
+
pendingLinkBracket = undefined;
|
|
84
|
+
} else if (character === '[' && !isEscaped(value, index)) {
|
|
85
|
+
openingBrackets.push(index);
|
|
86
|
+
} else if (character === ']' && !isEscaped(value, index) && openingBrackets.length) {
|
|
87
|
+
var openingBracketIndex = openingBrackets.pop();
|
|
88
|
+
if (value[index + 1] === '(') pendingLinkBracket = openingBracketIndex;
|
|
89
|
+
} else if (character === '(' && !isEscaped(value, index)) {
|
|
90
|
+
openingParentheses.push(index);
|
|
91
|
+
openingLinkBrackets.push(pendingLinkBracket);
|
|
92
|
+
pendingLinkBracket = undefined;
|
|
93
|
+
} else if (character === ')' && !isEscaped(value, index) && openingParentheses.length) {
|
|
94
|
+
var openingParenthesisIndex = openingParentheses.pop();
|
|
95
|
+
var _openingBracketIndex = openingLinkBrackets.pop();
|
|
96
|
+
if (_openingBracketIndex !== undefined) {
|
|
97
|
+
links.set(_openingBracketIndex, {
|
|
98
|
+
closingBracket: openingParenthesisIndex - 1,
|
|
99
|
+
closingParenthesis: index,
|
|
100
|
+
openingParenthesis: openingParenthesisIndex
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return links;
|
|
106
|
+
};
|
|
107
|
+
var getDelimiter = function getDelimiter(value, index) {
|
|
108
|
+
if (value[index] !== '*' && value[index] !== '_' && value[index] !== '~') return undefined;
|
|
109
|
+
if (isEscaped(value, index)) return undefined;
|
|
110
|
+
if (value.startsWith('**', index)) return '**';
|
|
111
|
+
if (value.startsWith('~~', index)) return '~~';
|
|
112
|
+
if (value[index] === '*' || value[index] === '_') return value[index];
|
|
113
|
+
return undefined;
|
|
114
|
+
};
|
|
115
|
+
var hasLineBreak = function hasLineBreak(value, start, end) {
|
|
116
|
+
for (var index = start; index < end; index += 1) {
|
|
117
|
+
if (isLineBreak(value[index])) return true;
|
|
118
|
+
}
|
|
119
|
+
return false;
|
|
120
|
+
};
|
|
121
|
+
var getClosingDelimiter = function getClosingDelimiter(value, delimiter, index) {
|
|
122
|
+
var contentIndex = index + delimiter.length;
|
|
123
|
+
var closingIndex = value.indexOf(delimiter, contentIndex + 1);
|
|
124
|
+
while (closingIndex !== -1 && isEscaped(value, closingIndex)) {
|
|
125
|
+
closingIndex = value.indexOf(delimiter, closingIndex + 1);
|
|
126
|
+
}
|
|
127
|
+
if (closingIndex === -1) return -1;
|
|
128
|
+
if (hasLineBreak(value, contentIndex, closingIndex)) return -1;
|
|
129
|
+
return closingIndex;
|
|
130
|
+
};
|
|
131
|
+
var getLink = function getLink(value, index, links) {
|
|
132
|
+
var link = links.get(index);
|
|
133
|
+
if (!link || link.closingParenthesis === link.openingParenthesis + 1) return undefined;
|
|
134
|
+
var href = value.slice(link.openingParenthesis + 1, link.closingParenthesis);
|
|
135
|
+
var text = value.slice(index + 1, link.closingBracket);
|
|
136
|
+
if (!text.trim() || !href.trim()) return undefined;
|
|
137
|
+
return _objectSpread({
|
|
138
|
+
end: link.closingParenthesis + 1,
|
|
139
|
+
href: href,
|
|
140
|
+
text: text
|
|
141
|
+
}, STYLE.LINK);
|
|
142
|
+
};
|
|
143
|
+
var getBinding = function getBinding(value, index) {
|
|
144
|
+
for (var cursor = index + 1; cursor < value.length; cursor += 1) {
|
|
145
|
+
var character = value[cursor];
|
|
146
|
+
if (isLineBreak(character) || character === '{' && !isEscaped(value, cursor)) return undefined;
|
|
147
|
+
if (character !== '}' || isEscaped(value, cursor)) continue;
|
|
148
|
+
if (cursor === index + 1) return undefined;
|
|
149
|
+
return _objectSpread({
|
|
150
|
+
end: cursor + 1,
|
|
151
|
+
text: value.slice(index, cursor + 1)
|
|
152
|
+
}, STYLE.BINDING);
|
|
153
|
+
}
|
|
154
|
+
return undefined;
|
|
155
|
+
};
|
|
62
156
|
var parseMarkdown = function parseMarkdown(value) {
|
|
63
157
|
var tag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'text';
|
|
64
|
-
if (!value || typeof value !== 'string' || value.match(SPACE_REGEXP) === null
|
|
158
|
+
if (!value || typeof value !== 'string' || value.match(SPACE_REGEXP) === null) {
|
|
65
159
|
return value;
|
|
66
160
|
}
|
|
67
161
|
var tokens = [];
|
|
68
162
|
var lastIndex = 0;
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
var
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
text: text
|
|
87
|
-
}, STYLE.LINE_THROUGH));else if (start === '{') tokens.push(_objectSpread({
|
|
88
|
-
text: raw
|
|
89
|
-
}, STYLE.BINDING));else if (start === '[') {
|
|
90
|
-
var _ref = raw.match(LINK_REGEXP) || [],
|
|
91
|
-
_ref2 = _slicedToArray(_ref, 3),
|
|
92
|
-
title = _ref2[1],
|
|
93
|
-
href = _ref2[2];
|
|
94
|
-
tokens.push(href ? _objectSpread({
|
|
95
|
-
text: title,
|
|
96
|
-
href: href
|
|
97
|
-
}, STYLE.LINK) : {
|
|
98
|
-
text: raw
|
|
99
|
-
});
|
|
100
|
-
} else {
|
|
101
|
-
tokens.push({
|
|
102
|
-
text: raw
|
|
103
|
-
});
|
|
163
|
+
var links;
|
|
164
|
+
for (var index = 0; index < value.length; index += 1) {
|
|
165
|
+
var delimiter = getDelimiter(value, index);
|
|
166
|
+
var token = void 0;
|
|
167
|
+
if (delimiter) {
|
|
168
|
+
var closingIndex = getClosingDelimiter(value, delimiter, index);
|
|
169
|
+
if (closingIndex !== -1) {
|
|
170
|
+
token = _objectSpread({
|
|
171
|
+
end: closingIndex + delimiter.length,
|
|
172
|
+
text: value.slice(index + delimiter.length, closingIndex)
|
|
173
|
+
}, DELIMITER_STYLE[delimiter]);
|
|
174
|
+
}
|
|
175
|
+
} else if (value[index] === '[' && !isEscaped(value, index)) {
|
|
176
|
+
if (!links) links = getLinks(value);
|
|
177
|
+
token = getLink(value, index, links);
|
|
178
|
+
} else if (value[index] === '{' && !isEscaped(value, index)) {
|
|
179
|
+
token = getBinding(value, index);
|
|
104
180
|
}
|
|
105
|
-
|
|
181
|
+
if (!token) continue;
|
|
182
|
+
if (value.slice(lastIndex, index)) tokens.push({
|
|
183
|
+
text: value.slice(lastIndex, index)
|
|
184
|
+
});
|
|
185
|
+
var _token = token,
|
|
186
|
+
end = _token.end,
|
|
187
|
+
parsedToken = _objectWithoutProperties(_token, _excluded);
|
|
188
|
+
tokens.push(parsedToken);
|
|
189
|
+
lastIndex = end;
|
|
190
|
+
index = end - 1;
|
|
106
191
|
}
|
|
192
|
+
if (!tokens.length) return value;
|
|
107
193
|
if (value.slice(lastIndex)) tokens.push({
|
|
108
194
|
text: value.slice(lastIndex)
|
|
109
195
|
});
|
|
110
|
-
return tokens.map(function (
|
|
111
|
-
var text =
|
|
112
|
-
props = _objectWithoutProperties(
|
|
196
|
+
return tokens.map(function (_ref, index) {
|
|
197
|
+
var text = _ref.text,
|
|
198
|
+
props = _objectWithoutProperties(_ref, _excluded2);
|
|
113
199
|
return Object.keys(props).length ? /*#__PURE__*/_react["default"].createElement(props.href ? 'a' : (0, _helpers.getTag)(tag), _objectSpread({
|
|
114
200
|
key: index
|
|
115
201
|
}, props), text) : text;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseMarkdown.js","names":["_react","_interopRequireDefault","require","_helpers","_excluded","e","__esModule","_objectWithoutProperties","t","o","r","i","_objectWithoutPropertiesLoose","Object","getOwnPropertySymbols","s","length","includes","propertyIsEnumerable","call","n","hasOwnProperty","ownKeys","keys","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","_typeof","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","f","next","done","isArray","LINK_REGEXP","MARKDOWN_REGEXP","SPACE_REGEXP","STYLE","BINDING","style","color","fontWeight","BOLD","ITALIC","fontStyle","LINE_THROUGH","textDecoration","LINK","UNDERLINE","parseMarkdown","tag","undefined","match","tokens","lastIndex","exec","_match","_match2","raw","start","text","index","_ref","_ref2","title","href","map","_ref3","props","React","createElement","getTag","key","exports"],"sources":["../../../../src/primitives/Text/helpers/parseMarkdown.js"],"sourcesContent":["import React from 'react';\n\nimport { getTag } from '../../Primitive/helpers';\n\nconst LINK_REGEXP = /\\[(.*?)\\]\\((.*?)\\)/;\nconst MARKDOWN_REGEXP = /(\\*\\*|\\*|_|~~|\\[|\\{)(.+?)(?:\\1|\\)|\\})/g;\nconst SPACE_REGEXP = /\\s/g;\n\nconst STYLE = {\n BINDING: { style: { color: 'var(--mirai-ui-accent)', fontWeight: 'bold' } },\n BOLD: { style: { fontWeight: 'bold' } },\n ITALIC: { style: { fontStyle: 'italic' } },\n LINE_THROUGH: { style: { textDecoration: 'line-through' } },\n LINK: { style: { textDecoration: 'underline', color: 'var(--mirai-ui-accent)' } },\n UNDERLINE: { style: { textDecoration: 'underline' } },\n};\n\nexport const parseMarkdown = (value, tag = 'text') => {\n if (\n !value ||\n typeof value !== 'string' ||\n value.match(SPACE_REGEXP) === null ||\n value.match(MARKDOWN_REGEXP) === null\n ) {\n return value;\n }\n\n const tokens = [];\n let lastIndex = 0;\n let match;\n\n while ((match = MARKDOWN_REGEXP.exec(value)) !== null) {\n const [raw, start, text] = match;\n\n if (value.slice(lastIndex, match.index)) tokens.push({ text: value.slice(lastIndex, match.index) });\n\n if (start === '**') tokens.push({ text, ...STYLE.BOLD });\n else if (start === '*') tokens.push({ text, ...STYLE.ITALIC });\n else if (start === '_') tokens.push({ text, ...STYLE.UNDERLINE });\n else if (start === '~~') tokens.push({ text, ...STYLE.LINE_THROUGH });\n else if (start === '{') tokens.push({ text: raw, ...STYLE.BINDING });\n else if (start === '[') {\n const [, title, href] = raw.match(LINK_REGEXP) || [];\n tokens.push(href ? { text: title, href, ...STYLE.LINK } : { text: raw });\n } else {\n tokens.push({ text: raw });\n }\n\n ({ lastIndex } = MARKDOWN_REGEXP);\n }\n\n if (value.slice(lastIndex)) tokens.push({ text: value.slice(lastIndex) });\n\n return tokens.map(({ text, ...props }, index) =>\n Object.keys(props).length\n ? React.createElement(props.href ? 'a' : getTag(tag), { key: index, ...props }, text)\n : text,\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"parseMarkdown.js","names":["_react","_interopRequireDefault","require","_helpers","_excluded","_excluded2","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_objectWithoutProperties","t","r","i","_objectWithoutPropertiesLoose","Object","getOwnPropertySymbols","s","length","includes","propertyIsEnumerable","call","n","hasOwnProperty","ownKeys","keys","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","TypeError","String","Number","SPACE_REGEXP","STYLE","BINDING","style","color","fontWeight","BOLD","ITALIC","fontStyle","LINE_THROUGH","textDecoration","LINK","UNDERLINE","DELIMITER_STYLE","_","isLineBreak","character","isEscaped","index","backslashes","cursor","getLinks","links","Map","openingBrackets","openingLinkBrackets","openingParentheses","pendingLinkBracket","undefined","openingBracketIndex","pop","openingParenthesisIndex","set","closingBracket","closingParenthesis","openingParenthesis","getDelimiter","startsWith","hasLineBreak","start","end","getClosingDelimiter","delimiter","contentIndex","closingIndex","indexOf","getLink","link","get","href","slice","text","trim","getBinding","parseMarkdown","tag","match","tokens","lastIndex","token","_token","parsedToken","map","_ref","props","React","createElement","getTag","key","exports"],"sources":["../../../../src/primitives/Text/helpers/parseMarkdown.js"],"sourcesContent":["import React from 'react';\n\nimport { getTag } from '../../Primitive/helpers';\n\nconst SPACE_REGEXP = /\\s/g;\n\nconst STYLE = {\n BINDING: { style: { color: 'var(--mirai-ui-accent)', fontWeight: 'bold' } },\n BOLD: { style: { fontWeight: 'bold' } },\n ITALIC: { style: { fontStyle: 'italic' } },\n LINE_THROUGH: { style: { textDecoration: 'line-through' } },\n LINK: { style: { textDecoration: 'underline', color: 'var(--mirai-ui-accent)' } },\n UNDERLINE: { style: { textDecoration: 'underline' } },\n};\n\nconst DELIMITER_STYLE = {\n '**': STYLE.BOLD,\n '*': STYLE.ITALIC,\n _: STYLE.UNDERLINE,\n '~~': STYLE.LINE_THROUGH,\n};\n\nconst isLineBreak = (character) =>\n character === '\\n' || character === '\\r' || character === '\\u2028' || character === '\\u2029';\n\nconst isEscaped = (value, index) => {\n let backslashes = 0;\n\n for (let cursor = index - 1; cursor >= 0 && value[cursor] === '\\\\'; cursor -= 1) backslashes += 1;\n\n return backslashes % 2 === 1;\n};\n\nconst getLinks = (value) => {\n const links = new Map();\n const openingBrackets = [];\n const openingLinkBrackets = [];\n const openingParentheses = [];\n let pendingLinkBracket;\n\n for (let index = 0; index < value.length; index += 1) {\n const character = value[index];\n\n if (isLineBreak(character)) {\n openingBrackets.length = 0;\n openingLinkBrackets.length = 0;\n openingParentheses.length = 0;\n pendingLinkBracket = undefined;\n } else if (character === '[' && !isEscaped(value, index)) {\n openingBrackets.push(index);\n } else if (character === ']' && !isEscaped(value, index) && openingBrackets.length) {\n const openingBracketIndex = openingBrackets.pop();\n\n if (value[index + 1] === '(') pendingLinkBracket = openingBracketIndex;\n } else if (character === '(' && !isEscaped(value, index)) {\n openingParentheses.push(index);\n openingLinkBrackets.push(pendingLinkBracket);\n pendingLinkBracket = undefined;\n } else if (character === ')' && !isEscaped(value, index) && openingParentheses.length) {\n const openingParenthesisIndex = openingParentheses.pop();\n const openingBracketIndex = openingLinkBrackets.pop();\n\n if (openingBracketIndex !== undefined) {\n links.set(openingBracketIndex, {\n closingBracket: openingParenthesisIndex - 1,\n closingParenthesis: index,\n openingParenthesis: openingParenthesisIndex,\n });\n }\n }\n }\n\n return links;\n};\n\nconst getDelimiter = (value, index) => {\n if (value[index] !== '*' && value[index] !== '_' && value[index] !== '~') return undefined;\n if (isEscaped(value, index)) return undefined;\n if (value.startsWith('**', index)) return '**';\n if (value.startsWith('~~', index)) return '~~';\n if (value[index] === '*' || value[index] === '_') return value[index];\n return undefined;\n};\n\nconst hasLineBreak = (value, start, end) => {\n for (let index = start; index < end; index += 1) {\n if (isLineBreak(value[index])) return true;\n }\n\n return false;\n};\n\nconst getClosingDelimiter = (value, delimiter, index) => {\n const contentIndex = index + delimiter.length;\n let closingIndex = value.indexOf(delimiter, contentIndex + 1);\n\n while (closingIndex !== -1 && isEscaped(value, closingIndex)) {\n closingIndex = value.indexOf(delimiter, closingIndex + 1);\n }\n\n if (closingIndex === -1) return -1;\n if (hasLineBreak(value, contentIndex, closingIndex)) return -1;\n\n return closingIndex;\n};\n\nconst getLink = (value, index, links) => {\n const link = links.get(index);\n\n if (!link || link.closingParenthesis === link.openingParenthesis + 1) return undefined;\n\n const href = value.slice(link.openingParenthesis + 1, link.closingParenthesis);\n const text = value.slice(index + 1, link.closingBracket);\n\n if (!text.trim() || !href.trim()) return undefined;\n\n return {\n end: link.closingParenthesis + 1,\n href,\n text,\n ...STYLE.LINK,\n };\n};\n\nconst getBinding = (value, index) => {\n for (let cursor = index + 1; cursor < value.length; cursor += 1) {\n const character = value[cursor];\n\n if (isLineBreak(character) || (character === '{' && !isEscaped(value, cursor))) return undefined;\n if (character !== '}' || isEscaped(value, cursor)) continue;\n if (cursor === index + 1) return undefined;\n\n return { end: cursor + 1, text: value.slice(index, cursor + 1), ...STYLE.BINDING };\n }\n\n return undefined;\n};\n\nexport const parseMarkdown = (value, tag = 'text') => {\n if (!value || typeof value !== 'string' || value.match(SPACE_REGEXP) === null) {\n return value;\n }\n\n const tokens = [];\n let lastIndex = 0;\n let links;\n\n for (let index = 0; index < value.length; index += 1) {\n const delimiter = getDelimiter(value, index);\n let token;\n\n if (delimiter) {\n const closingIndex = getClosingDelimiter(value, delimiter, index);\n\n if (closingIndex !== -1) {\n token = {\n end: closingIndex + delimiter.length,\n text: value.slice(index + delimiter.length, closingIndex),\n ...DELIMITER_STYLE[delimiter],\n };\n }\n } else if (value[index] === '[' && !isEscaped(value, index)) {\n if (!links) links = getLinks(value);\n token = getLink(value, index, links);\n } else if (value[index] === '{' && !isEscaped(value, index)) {\n token = getBinding(value, index);\n }\n\n if (!token) continue;\n\n if (value.slice(lastIndex, index)) tokens.push({ text: value.slice(lastIndex, index) });\n\n const { end, ...parsedToken } = token;\n tokens.push(parsedToken);\n lastIndex = end;\n index = end - 1;\n }\n\n if (!tokens.length) return value;\n if (value.slice(lastIndex)) tokens.push({ text: value.slice(lastIndex) });\n\n return tokens.map(({ text, ...props }, index) =>\n Object.keys(props).length\n ? React.createElement(props.href ? 'a' : getTag(tag), { key: index, ...props }, text)\n : text,\n );\n};\n"],"mappings":"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","ignoreList":[]}
|