@lobehub/ui 2.11.9 → 2.12.1
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/es/Image/Image.js +2 -8
- package/es/Image/style.js +3 -3
- package/es/Markdown/Markdown.js +72 -76
- package/es/Markdown/Typography.js +4 -1
- package/es/{mdx/mdxComponents → Markdown/components}/Footnotes.d.ts +2 -2
- package/es/Markdown/components/Footnotes.js +120 -0
- package/es/Markdown/components/{SearchResultCard/index.js → SearchResultCards/SearchResultCard.js} +4 -2
- package/es/Markdown/components/SearchResultCards/index.js +7 -3
- package/es/Markdown/components/useDelayedAnimated.d.ts +1 -0
- package/es/Markdown/components/useDelayedAnimated.js +31 -0
- package/es/Markdown/markdown.style.js +12 -11
- package/es/Markdown/plugins/rehypeCustomFootnotes.d.ts +1 -0
- package/es/Markdown/plugins/{footnote.js → rehypeCustomFootnotes.js} +2 -34
- package/es/Markdown/plugins/rehypeStreamAnimated.d.ts +2 -0
- package/es/Markdown/plugins/{animated.js → rehypeStreamAnimated.js} +1 -1
- package/es/Markdown/plugins/remarkColor.d.ts +17 -0
- package/es/Markdown/plugins/remarkColor.js +188 -0
- package/es/Markdown/plugins/remarkCustomFootnotes.d.ts +6 -0
- package/es/Markdown/plugins/remarkCustomFootnotes.js +32 -0
- package/es/Markdown/plugins/remarkGfmPlus.d.ts +5 -0
- package/es/Markdown/plugins/remarkGfmPlus.js +140 -0
- package/es/Markdown/plugins/remarkVideo.d.ts +17 -0
- package/es/Markdown/plugins/remarkVideo.js +186 -0
- package/es/Markdown/style.d.ts +1 -0
- package/es/Markdown/style.js +5 -4
- package/es/Markdown/type.d.ts +1 -0
- package/es/Mermaid/SyntaxMermaid/index.js +4 -2
- package/es/Video/index.js +1 -1
- package/es/hooks/useMarkdown/useMarkdownComponents.js +65 -13
- package/es/hooks/useMarkdown/useMarkdownRehypePlugins.js +4 -4
- package/es/hooks/useMarkdown/useMarkdownRemarkPlugins.js +7 -3
- package/es/mdx/mdxComponents/Section.js +4 -2
- package/package.json +2 -1
- package/es/Markdown/plugins/animated.d.ts +0 -2
- package/es/Markdown/plugins/footnote.d.ts +0 -2
- package/es/hooks/useMarkdown/fixMarkdownEmphasisSpacing.d.ts +0 -1
- package/es/hooks/useMarkdown/fixMarkdownEmphasisSpacing.js +0 -189
- package/es/mdx/mdxComponents/Footnotes.js +0 -44
- /package/es/Markdown/components/{SearchResultCard/index.d.ts → SearchResultCards/SearchResultCard.d.ts} +0 -0
- /package/es/Markdown/components/{SearchResultCard → SearchResultCards}/style.d.ts +0 -0
- /package/es/Markdown/components/{SearchResultCard → SearchResultCards}/style.js +0 -0
- /package/es/Markdown/plugins/{katexDir.d.ts → rehypeKatexDir.d.ts} +0 -0
- /package/es/Markdown/plugins/{katexDir.js → rehypeKatexDir.js} +0 -0
package/es/Image/Image.js
CHANGED
|
@@ -102,16 +102,10 @@ var Image = /*#__PURE__*/memo(function (_ref) {
|
|
|
102
102
|
preview: preview === false ? false : _objectSpread({
|
|
103
103
|
mask: false
|
|
104
104
|
}, mergePreivew),
|
|
105
|
-
style: _objectSpread({
|
|
106
|
-
height: 'auto',
|
|
107
|
-
width: '100%'
|
|
108
|
-
}, customStyles === null || customStyles === void 0 ? void 0 : customStyles.image),
|
|
105
|
+
style: _objectSpread({}, customStyles === null || customStyles === void 0 ? void 0 : customStyles.image),
|
|
109
106
|
width: width,
|
|
110
107
|
wrapperClassName: cx(styles.image, classNames === null || classNames === void 0 ? void 0 : classNames.wrapper),
|
|
111
|
-
wrapperStyle: _objectSpread({
|
|
112
|
-
height: 'auto',
|
|
113
|
-
width: '100%'
|
|
114
|
-
}, customStyles === null || customStyles === void 0 ? void 0 : customStyles.wrapper)
|
|
108
|
+
wrapperStyle: _objectSpread({}, customStyles === null || customStyles === void 0 ? void 0 : customStyles.wrapper)
|
|
115
109
|
}, rest))]
|
|
116
110
|
});
|
|
117
111
|
});
|
package/es/Image/style.js
CHANGED
|
@@ -24,12 +24,12 @@ export var useStyles = createStyles(function (_ref) {
|
|
|
24
24
|
actions: actions,
|
|
25
25
|
borderless: stylish.variantBorderlessWithoutHover,
|
|
26
26
|
filled: cx(stylish.variantOutlinedWithoutHover, stylish.variantFilledWithoutHover),
|
|
27
|
-
image: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n overflow: hidden;\n width: 100%;\n height: auto;\n\n .", "-image-img {\n width:
|
|
27
|
+
image: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n overflow: hidden;\n max-width: 100%;\n height: auto;\n\n .", "-image-img {\n width: auto;\n min-width: ", ";\n max-width: ", ";\n height: auto;\n min-height: ", ";\n max-height: ", ";\n\n object-fit: ", ";\n }\n "])), prefixCls, MIN_WIDTH, MAX_WIDTH, MIN_HEIGHT, MAX_HEIGHT, objectFit || 'cover'),
|
|
28
28
|
mask: cx(stylish.blur, css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n backdrop-filter: blur(8px);\n "])))),
|
|
29
29
|
outlined: stylish.variantOutlinedWithoutHover,
|
|
30
30
|
preview: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n img {\n width: 100%;\n }\n "]))),
|
|
31
|
-
root: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n cursor: pointer;\n user-select: none;\n\n position: relative;\n\n overflow: hidden;\n\n border-radius: ", "px;\n\n &:hover {\n .", " {\n opacity: 1;\n }\n }\n "])), token.borderRadius, actions),
|
|
32
|
-
toolbar: cx(stylish.blur, stylish.variantOutlinedWithoutHover, css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding: 4px;\n border-radius: ", "px;\n background: ", ";\n "])), token.borderRadiusLG, rgba(token.colorBgMask, 0.5)))
|
|
31
|
+
root: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n cursor: pointer;\n user-select: none;\n\n position: relative;\n\n overflow: hidden;\n\n width: fit-content;\n border-radius: ", "px;\n\n line-height: 1;\n\n &:hover {\n .", " {\n opacity: 1;\n }\n }\n "])), token.borderRadius, actions),
|
|
32
|
+
toolbar: cx(stylish.blur, stylish.variantOutlinedWithoutHover, css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding: 4px;\n border-color: ", ";\n border-radius: ", "px;\n background: ", ";\n "])), token.colorFillTertiary, token.borderRadiusLG, rgba(token.colorBgMask, 0.5)))
|
|
33
33
|
};
|
|
34
34
|
});
|
|
35
35
|
export var FALLBACK = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA2NDAgNDAwIj48cGF0aCBmaWxsPSIjM0IzQjNCIiBkPSJNMCAwaDY0MHY0MDBIMHoiLz48cGF0aCBzdHJva2U9IiM2MjYyNjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxNSIgZD0iTTM3Mi41IDEzMi41aC0xMDVjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTA1YzAgOC4yODQgNi43MTYgMTUgMTUgMTVoMTA1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTEwNWMwLTguMjg0LTYuNzE2LTE1LTE1LTE1eiIvPjxwYXRoIHN0cm9rZT0iIzYyNjI2MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjE1IiBkPSJNMjk3LjUgMTkyLjVjOC4yODQgMCAxNS02LjcxNiAxNS0xNSAwLTguMjg0LTYuNzE2LTE1LTE1LTE1LTguMjg0IDAtMTUgNi43MTYtMTUgMTUgMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXpNMzg3LjUgMjIyLjUwMmwtMjMuMTQ1LTIzLjE0NWExNS4wMDEgMTUuMDAxIDAgMDAtMjEuMjEgMEwyNzUgMjY3LjUwMiIvPjwvc3ZnPg==';
|
package/es/Markdown/Markdown.js
CHANGED
|
@@ -1,95 +1,76 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
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
|
-
var _excluded = ["ref", "children", "className", "style", "fullFeaturedCodeBlock", "onDoubleClick", "animated", "enableLatex", "enableMermaid", "enableImageGallery", "enableCustomFootnotes", "enableGithubAlert", "enableStream", "componentProps", "allowHtml", "
|
|
4
|
+
var _excluded = ["ref", "children", "className", "style", "fullFeaturedCodeBlock", "onDoubleClick", "animated", "enableLatex", "enableMermaid", "enableImageGallery", "enableCustomFootnotes", "enableGithubAlert", "enableStream", "componentProps", "allowHtml", "borderRadius", "fontSize", "headerMultiple", "marginMultiple", "variant", "reactMarkdownProps", "lineHeight", "rehypePlugins", "remarkPlugins", "remarkPluginsAhead", "components", "customRender", "showFootnotes", "citations"];
|
|
5
5
|
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; }
|
|
6
6
|
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; }
|
|
7
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
8
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
9
9
|
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); }
|
|
10
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
|
-
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."); }
|
|
12
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
|
-
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; } }
|
|
15
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
10
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
17
11
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
18
12
|
import { cva } from 'class-variance-authority';
|
|
19
|
-
import { memo,
|
|
13
|
+
import { memo, useCallback, useMemo } from 'react';
|
|
20
14
|
import { PreviewGroup } from "../Image";
|
|
21
|
-
import { MarkdownProvider } from "./components/MarkdownProvider";
|
|
22
15
|
import { MarkdownRender, StreamdownRender } from "./SyntaxMarkdown";
|
|
23
16
|
import Typography from "./Typography";
|
|
17
|
+
import { MarkdownProvider } from "./components/MarkdownProvider";
|
|
18
|
+
import { useDelayedAnimated } from "./components/useDelayedAnimated";
|
|
24
19
|
import { useStyles } from "./style";
|
|
25
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
26
|
-
var Markdown = /*#__PURE__*/memo(function (
|
|
27
|
-
var ref =
|
|
28
|
-
|
|
29
|
-
children =
|
|
30
|
-
className =
|
|
31
|
-
style =
|
|
32
|
-
fullFeaturedCodeBlock =
|
|
33
|
-
onDoubleClick =
|
|
34
|
-
animated =
|
|
35
|
-
|
|
36
|
-
enableLatex =
|
|
37
|
-
|
|
38
|
-
enableMermaid =
|
|
39
|
-
enableImageGallery =
|
|
40
|
-
enableCustomFootnotes =
|
|
41
|
-
enableGithubAlert =
|
|
42
|
-
|
|
43
|
-
enableStream =
|
|
44
|
-
componentProps =
|
|
45
|
-
allowHtml =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
21
|
+
var Markdown = /*#__PURE__*/memo(function (props) {
|
|
22
|
+
var ref = props.ref,
|
|
23
|
+
_props$children = props.children,
|
|
24
|
+
children = _props$children === void 0 ? '' : _props$children,
|
|
25
|
+
className = props.className,
|
|
26
|
+
style = props.style,
|
|
27
|
+
fullFeaturedCodeBlock = props.fullFeaturedCodeBlock,
|
|
28
|
+
onDoubleClick = props.onDoubleClick,
|
|
29
|
+
animated = props.animated,
|
|
30
|
+
_props$enableLatex = props.enableLatex,
|
|
31
|
+
enableLatex = _props$enableLatex === void 0 ? true : _props$enableLatex,
|
|
32
|
+
_props$enableMermaid = props.enableMermaid,
|
|
33
|
+
enableMermaid = _props$enableMermaid === void 0 ? true : _props$enableMermaid,
|
|
34
|
+
enableImageGallery = props.enableImageGallery,
|
|
35
|
+
enableCustomFootnotes = props.enableCustomFootnotes,
|
|
36
|
+
enableGithubAlert = props.enableGithubAlert,
|
|
37
|
+
_props$enableStream = props.enableStream,
|
|
38
|
+
enableStream = _props$enableStream === void 0 ? true : _props$enableStream,
|
|
39
|
+
componentProps = props.componentProps,
|
|
40
|
+
allowHtml = props.allowHtml,
|
|
41
|
+
_props$borderRadius = props.borderRadius,
|
|
42
|
+
borderRadius = _props$borderRadius === void 0 ? props.variant === 'chat' ? 4 : undefined : _props$borderRadius,
|
|
43
|
+
_props$fontSize = props.fontSize,
|
|
44
|
+
fontSize = _props$fontSize === void 0 ? props.variant === 'chat' ? 14 : undefined : _props$fontSize,
|
|
45
|
+
_props$headerMultiple = props.headerMultiple,
|
|
46
|
+
headerMultiple = _props$headerMultiple === void 0 ? props.variant === 'chat' ? 0.25 : undefined : _props$headerMultiple,
|
|
47
|
+
_props$marginMultiple = props.marginMultiple,
|
|
48
|
+
marginMultiple = _props$marginMultiple === void 0 ? props.variant === 'chat' ? 1 : undefined : _props$marginMultiple,
|
|
49
|
+
_props$variant = props.variant,
|
|
50
|
+
variant = _props$variant === void 0 ? 'default' : _props$variant,
|
|
51
|
+
reactMarkdownProps = props.reactMarkdownProps,
|
|
52
|
+
_props$lineHeight = props.lineHeight,
|
|
53
|
+
lineHeight = _props$lineHeight === void 0 ? props.variant === 'chat' ? 1.6 : undefined : _props$lineHeight,
|
|
54
|
+
rehypePlugins = props.rehypePlugins,
|
|
55
|
+
remarkPlugins = props.remarkPlugins,
|
|
56
|
+
remarkPluginsAhead = props.remarkPluginsAhead,
|
|
57
|
+
_props$components = props.components,
|
|
58
|
+
components = _props$components === void 0 ? {} : _props$components,
|
|
59
|
+
customRender = props.customRender,
|
|
60
|
+
_props$showFootnotes = props.showFootnotes,
|
|
61
|
+
showFootnotes = _props$showFootnotes === void 0 ? true : _props$showFootnotes,
|
|
62
|
+
citations = props.citations,
|
|
63
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
65
64
|
var _useStyles = useStyles(),
|
|
66
65
|
cx = _useStyles.cx,
|
|
67
66
|
styles = _useStyles.styles;
|
|
68
|
-
var
|
|
69
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
70
|
-
delayedAnimated = _useState2[0],
|
|
71
|
-
setDelayedAnimated = _useState2[1];
|
|
72
|
-
|
|
73
|
-
// Watch for changes in animated prop
|
|
74
|
-
useEffect(function () {
|
|
75
|
-
// If animated changes from true to false, delay the update by 1 second
|
|
76
|
-
if (animated === false && delayedAnimated === true) {
|
|
77
|
-
var timer = setTimeout(function () {
|
|
78
|
-
setDelayedAnimated(false);
|
|
79
|
-
}, 1000);
|
|
80
|
-
return function () {
|
|
81
|
-
return clearTimeout(timer);
|
|
82
|
-
};
|
|
83
|
-
} else {
|
|
84
|
-
// For any other changes, update immediately
|
|
85
|
-
setDelayedAnimated(animated);
|
|
86
|
-
}
|
|
87
|
-
}, [animated, delayedAnimated]);
|
|
67
|
+
var delayedAnimated = useDelayedAnimated(animated);
|
|
88
68
|
|
|
89
69
|
// Style variant handling
|
|
90
70
|
var variants = useMemo(function () {
|
|
91
71
|
return cva(styles.root, {
|
|
92
72
|
defaultVariants: {
|
|
73
|
+
enableGfm: true,
|
|
93
74
|
enableLatex: true,
|
|
94
75
|
variant: 'default'
|
|
95
76
|
},
|
|
@@ -102,18 +83,31 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
|
|
|
102
83
|
enableLatex: {
|
|
103
84
|
true: styles.latex,
|
|
104
85
|
false: null
|
|
86
|
+
},
|
|
87
|
+
enableGfm: {
|
|
88
|
+
true: styles.gfm,
|
|
89
|
+
false: null
|
|
105
90
|
}
|
|
106
91
|
}
|
|
107
92
|
/* eslint-enable sort-keys-fix/sort-keys-fix */
|
|
108
93
|
});
|
|
109
94
|
}, [styles]);
|
|
110
|
-
var
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
95
|
+
var Render = useCallback(function (_ref) {
|
|
96
|
+
var enableStream = _ref.enableStream,
|
|
97
|
+
children = _ref.children,
|
|
98
|
+
reactMarkdownProps = _ref.reactMarkdownProps;
|
|
99
|
+
var DefaultRender = enableStream && delayedAnimated ? StreamdownRender : MarkdownRender;
|
|
100
|
+
var defaultDOM = /*#__PURE__*/_jsx(DefaultRender, _objectSpread(_objectSpread({}, reactMarkdownProps), {}, {
|
|
101
|
+
children: children
|
|
102
|
+
}));
|
|
103
|
+
return customRender ? customRender(defaultDOM, {
|
|
104
|
+
text: children
|
|
105
|
+
}) : defaultDOM;
|
|
106
|
+
}, [customRender]);
|
|
114
107
|
return /*#__PURE__*/_jsx(PreviewGroup, {
|
|
115
108
|
enable: enableImageGallery,
|
|
116
109
|
children: /*#__PURE__*/_jsx(Typography, _objectSpread(_objectSpread({
|
|
110
|
+
borderRadius: borderRadius,
|
|
117
111
|
className: cx(variants({
|
|
118
112
|
enableLatex: enableLatex,
|
|
119
113
|
variant: variant
|
|
@@ -122,7 +116,7 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
|
|
|
122
116
|
fontSize: fontSize,
|
|
123
117
|
headerMultiple: headerMultiple,
|
|
124
118
|
lineHeight: lineHeight,
|
|
125
|
-
marginMultiple: marginMultiple
|
|
119
|
+
marginMultiple: marginMultiple,
|
|
126
120
|
onDoubleClick: onDoubleClick,
|
|
127
121
|
ref: ref,
|
|
128
122
|
style: style
|
|
@@ -145,9 +139,11 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
|
|
|
145
139
|
showFootnotes: showFootnotes,
|
|
146
140
|
variant: variant
|
|
147
141
|
},
|
|
148
|
-
children:
|
|
149
|
-
|
|
150
|
-
|
|
142
|
+
children: /*#__PURE__*/_jsx(Render, {
|
|
143
|
+
enableStream: enableStream,
|
|
144
|
+
reactMarkdownProps: reactMarkdownProps,
|
|
145
|
+
children: children
|
|
146
|
+
})
|
|
151
147
|
})
|
|
152
148
|
}))
|
|
153
149
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
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
|
-
var _excluded = ["ref", "children", "className", "fontSize", "headerMultiple", "marginMultiple", "lineHeight", "style"];
|
|
4
|
+
var _excluded = ["ref", "children", "className", "fontSize", "headerMultiple", "marginMultiple", "lineHeight", "borderRadius", "style"];
|
|
5
5
|
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; }
|
|
6
6
|
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; }
|
|
7
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -24,6 +24,8 @@ var Typography = /*#__PURE__*/memo(function (_ref) {
|
|
|
24
24
|
marginMultiple = _ref$marginMultiple === void 0 ? 2 : _ref$marginMultiple,
|
|
25
25
|
_ref$lineHeight = _ref.lineHeight,
|
|
26
26
|
lineHeight = _ref$lineHeight === void 0 ? 1.8 : _ref$lineHeight,
|
|
27
|
+
_ref$borderRadius = _ref.borderRadius,
|
|
28
|
+
borderRadius = _ref$borderRadius === void 0 ? 8 : _ref$borderRadius,
|
|
27
29
|
style = _ref.style,
|
|
28
30
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
29
31
|
var _useStyles = useStyles(),
|
|
@@ -34,6 +36,7 @@ var Typography = /*#__PURE__*/memo(function (_ref) {
|
|
|
34
36
|
ref: ref,
|
|
35
37
|
style: _objectSpread({
|
|
36
38
|
// @ts-ignore
|
|
39
|
+
'--lobe-markdown-border-radius': borderRadius,
|
|
37
40
|
'--lobe-markdown-font-size': "".concat(fontSize, "px"),
|
|
38
41
|
'--lobe-markdown-header-multiple': headerMultiple,
|
|
39
42
|
'--lobe-markdown-line-height': lineHeight,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
2
|
interface FootnotesProps {
|
|
3
3
|
'children': ReactNode;
|
|
4
4
|
'data-footnote-links'?: string;
|
|
5
5
|
'data-footnotes'?: boolean;
|
|
6
6
|
}
|
|
7
|
-
declare const Footnotes:
|
|
7
|
+
declare const Footnotes: import("react").NamedExoticComponent<FootnotesProps>;
|
|
8
8
|
export default Footnotes;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
'use client';
|
|
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
|
+
var _excluded = ["node"],
|
|
5
|
+
_excluded2 = ["children"];
|
|
6
|
+
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; }
|
|
7
|
+
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; }
|
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
|
+
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); }
|
|
11
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
12
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
13
|
+
import { memo, useMemo } from 'react';
|
|
14
|
+
import { Flexbox } from 'react-layout-kit';
|
|
15
|
+
import A from "../../A";
|
|
16
|
+
import Block from "../../Block";
|
|
17
|
+
import Text from "../../Text";
|
|
18
|
+
import SearchResultCards from "./SearchResultCards";
|
|
19
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
+
import { createElement as _createElement } from "react";
|
|
22
|
+
var DefaultFootnotes = /*#__PURE__*/memo(function (_ref) {
|
|
23
|
+
var dataSource = _ref.dataSource;
|
|
24
|
+
var items = useMemo(function () {
|
|
25
|
+
var _dataSource$find;
|
|
26
|
+
return (_dataSource$find = dataSource.find(function (child) {
|
|
27
|
+
return (child === null || child === void 0 ? void 0 : child.type) === 'ol';
|
|
28
|
+
})) === null || _dataSource$find === void 0 || (_dataSource$find = _dataSource$find.props) === null || _dataSource$find === void 0 || (_dataSource$find = _dataSource$find.children) === null || _dataSource$find === void 0 ? void 0 : _dataSource$find.map(function (item) {
|
|
29
|
+
var _item$props, _data$;
|
|
30
|
+
if (typeof item === 'string' || (item === null || item === void 0 ? void 0 : item.type) !== 'li') return false;
|
|
31
|
+
var data = item === null || item === void 0 || (_item$props = item.props) === null || _item$props === void 0 || (_item$props = _item$props.children) === null || _item$props === void 0 || (_item$props = _item$props.find(function (note) {
|
|
32
|
+
var _note$props;
|
|
33
|
+
return note === null || note === void 0 || (_note$props = note.props) === null || _note$props === void 0 ? void 0 : _note$props.children;
|
|
34
|
+
})) === null || _item$props === void 0 || (_item$props = _item$props.props) === null || _item$props === void 0 ? void 0 : _item$props.children;
|
|
35
|
+
if (!data || !Array.isArray(data)) return false;
|
|
36
|
+
return {
|
|
37
|
+
children: data[0],
|
|
38
|
+
props: ((_data$ = data[1]) === null || _data$ === void 0 ? void 0 : _data$.props) || {}
|
|
39
|
+
};
|
|
40
|
+
}).filter(Boolean);
|
|
41
|
+
}, [dataSource]);
|
|
42
|
+
if (!Array.isArray(items)) return null;
|
|
43
|
+
return /*#__PURE__*/_jsx(Flexbox, {
|
|
44
|
+
align: 'flex-start',
|
|
45
|
+
as: 'section',
|
|
46
|
+
className: 'footnotes',
|
|
47
|
+
"data-footnotes": "true",
|
|
48
|
+
gap: '0.5em',
|
|
49
|
+
horizontal: true,
|
|
50
|
+
justify: 'flex-start',
|
|
51
|
+
wrap: 'wrap',
|
|
52
|
+
children: items.map(function (_ref2, index) {
|
|
53
|
+
var children = _ref2.children,
|
|
54
|
+
props = _ref2.props;
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
56
|
+
var node = props.node,
|
|
57
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
58
|
+
return /*#__PURE__*/_createElement(A, _objectSpread(_objectSpread({}, rest), {}, {
|
|
59
|
+
key: index
|
|
60
|
+
}), /*#__PURE__*/_jsxs(Block, {
|
|
61
|
+
align: 'stretch',
|
|
62
|
+
horizontal: true,
|
|
63
|
+
style: {
|
|
64
|
+
overflow: 'hidden',
|
|
65
|
+
position: 'relative'
|
|
66
|
+
},
|
|
67
|
+
variant: 'outlined',
|
|
68
|
+
children: [/*#__PURE__*/_jsx(Block, {
|
|
69
|
+
paddingInline: '0.66em',
|
|
70
|
+
style: {
|
|
71
|
+
borderRadius: 0
|
|
72
|
+
},
|
|
73
|
+
variant: 'filled',
|
|
74
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
75
|
+
as: "span",
|
|
76
|
+
code: true,
|
|
77
|
+
type: 'secondary',
|
|
78
|
+
children: index + 1
|
|
79
|
+
})
|
|
80
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
81
|
+
as: "span",
|
|
82
|
+
style: {
|
|
83
|
+
paddingInline: '0.66em'
|
|
84
|
+
},
|
|
85
|
+
type: 'secondary',
|
|
86
|
+
children: children
|
|
87
|
+
})]
|
|
88
|
+
}));
|
|
89
|
+
})
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
var Footnotes = /*#__PURE__*/memo(function (_ref3) {
|
|
93
|
+
var children = _ref3.children,
|
|
94
|
+
rest = _objectWithoutProperties(_ref3, _excluded2);
|
|
95
|
+
var links = useMemo(function () {
|
|
96
|
+
try {
|
|
97
|
+
return JSON.parse(rest['data-footnote-links'] || '');
|
|
98
|
+
} catch (error) {
|
|
99
|
+
console.error(error);
|
|
100
|
+
return [];
|
|
101
|
+
}
|
|
102
|
+
}, [rest['data-footnote-links']]);
|
|
103
|
+
var isError = links.length === 0;
|
|
104
|
+
if (!children) return;
|
|
105
|
+
if (isError) {
|
|
106
|
+
if (!Array.isArray(children)) return children;
|
|
107
|
+
return /*#__PURE__*/_jsx(DefaultFootnotes, {
|
|
108
|
+
dataSource: children
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return /*#__PURE__*/_jsx("section", {
|
|
112
|
+
className: 'footnotes',
|
|
113
|
+
"data-footnotes": "true",
|
|
114
|
+
children: /*#__PURE__*/_jsx(SearchResultCards, {
|
|
115
|
+
dataSource: links
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
Footnotes.displayName = 'Footnotes';
|
|
120
|
+
export default Footnotes;
|
package/es/Markdown/components/{SearchResultCard/index.js → SearchResultCards/SearchResultCard.js}
RENAMED
|
@@ -17,7 +17,9 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
17
17
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
18
18
|
import { memo, useMemo } from 'react';
|
|
19
19
|
import { Flexbox } from 'react-layout-kit';
|
|
20
|
+
import A from "../../../A";
|
|
20
21
|
import Block from "../../../Block";
|
|
22
|
+
import Img from "../../../Img";
|
|
21
23
|
import Text from "../../../Text";
|
|
22
24
|
import { useStyles } from "./style";
|
|
23
25
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -48,7 +50,7 @@ var SearchResultCard = /*#__PURE__*/memo(function (_ref) {
|
|
|
48
50
|
displayTitle = _useMemo2[0],
|
|
49
51
|
domain = _useMemo2[1],
|
|
50
52
|
host = _useMemo2[2];
|
|
51
|
-
return /*#__PURE__*/_jsx(
|
|
53
|
+
return /*#__PURE__*/_jsx(A, _objectSpread(_objectSpread({
|
|
52
54
|
href: url,
|
|
53
55
|
ref: ref,
|
|
54
56
|
rel: "noreferrer",
|
|
@@ -71,7 +73,7 @@ var SearchResultCard = /*#__PURE__*/memo(function (_ref) {
|
|
|
71
73
|
align: 'center',
|
|
72
74
|
gap: 4,
|
|
73
75
|
horizontal: true,
|
|
74
|
-
children: [/*#__PURE__*/_jsx(
|
|
76
|
+
children: [/*#__PURE__*/_jsx(Img, {
|
|
75
77
|
alt: alt || title || url,
|
|
76
78
|
height: 14,
|
|
77
79
|
src: "https://icons.duckduckgo.com/ip3/".concat(host, ".ico"),
|
|
@@ -10,21 +10,25 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
10
10
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
11
11
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
12
12
|
import { memo } from 'react';
|
|
13
|
-
import
|
|
14
|
-
import SearchResultCard from "
|
|
13
|
+
import ScrollShadow from "../../../ScrollShadow";
|
|
14
|
+
import SearchResultCard from "./SearchResultCard";
|
|
15
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
16
|
var SearchResultCards = /*#__PURE__*/memo(function (_ref) {
|
|
17
17
|
var ref = _ref.ref,
|
|
18
18
|
dataSource = _ref.dataSource,
|
|
19
19
|
style = _ref.style,
|
|
20
20
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
21
|
-
return /*#__PURE__*/_jsx(
|
|
21
|
+
return /*#__PURE__*/_jsx(ScrollShadow, _objectSpread(_objectSpread({
|
|
22
22
|
gap: 12,
|
|
23
|
+
hideScrollBar: true,
|
|
23
24
|
horizontal: true,
|
|
25
|
+
orientation: 'horizontal',
|
|
24
26
|
ref: ref,
|
|
27
|
+
size: 10,
|
|
25
28
|
style: _objectSpread({
|
|
26
29
|
minHeight: 80,
|
|
27
30
|
overflowX: 'scroll',
|
|
31
|
+
paddingInlineEnd: 24,
|
|
28
32
|
width: '100%'
|
|
29
33
|
}, style)
|
|
30
34
|
}, rest), {}, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useDelayedAnimated: (animated?: boolean) => boolean | undefined;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
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."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
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; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import { useEffect, useState } from 'react';
|
|
8
|
+
export var useDelayedAnimated = function useDelayedAnimated(animated) {
|
|
9
|
+
var _useState = useState(animated),
|
|
10
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11
|
+
delayedAnimated = _useState2[0],
|
|
12
|
+
setDelayedAnimated = _useState2[1];
|
|
13
|
+
|
|
14
|
+
// Watch for changes in animated prop
|
|
15
|
+
useEffect(function () {
|
|
16
|
+
if (animated === undefined) return;
|
|
17
|
+
// If animated changes from true to false, delay the update by 1 second
|
|
18
|
+
if (animated === false && delayedAnimated === true) {
|
|
19
|
+
var timer = setTimeout(function () {
|
|
20
|
+
setDelayedAnimated(false);
|
|
21
|
+
}, 1000);
|
|
22
|
+
return function () {
|
|
23
|
+
return clearTimeout(timer);
|
|
24
|
+
};
|
|
25
|
+
} else {
|
|
26
|
+
// For any other changes, update immediately
|
|
27
|
+
setDelayedAnimated(animated);
|
|
28
|
+
}
|
|
29
|
+
}, [animated, delayedAnimated]);
|
|
30
|
+
return delayedAnimated;
|
|
31
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19;
|
|
1
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;
|
|
2
2
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
3
3
|
import { createStyles } from 'antd-style';
|
|
4
4
|
var IGNORE_CLASSNAME = '.ignore-markdown-style';
|
|
@@ -14,16 +14,17 @@ export var useStyles = createStyles(function (_ref) {
|
|
|
14
14
|
var header = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-block: max(\n calc(var(--lobe-markdown-header-multiple) * var(--lobe-markdown-margin-multiple) * 0.4em),\n var(--lobe-markdown-font-size)\n );\n font-weight: bold;\n line-height: 1.25;\n }\n\n h1 {\n font-size: calc(\n var(--lobe-markdown-font-size) * (1 + 1.5 * var(--lobe-markdown-header-multiple))\n );\n }\n\n h2 {\n font-size: calc(var(--lobe-markdown-font-size) * (1 + var(--lobe-markdown-header-multiple)));\n }\n\n h3 {\n font-size: calc(\n var(--lobe-markdown-font-size) * (1 + 0.5 * var(--lobe-markdown-header-multiple))\n );\n }\n\n h4 {\n font-size: calc(\n var(--lobe-markdown-font-size) * (1 + 0.25 * var(--lobe-markdown-header-multiple))\n );\n }\n\n h5,\n h6 {\n font-size: calc(var(--lobe-markdown-font-size) * 1);\n }\n "])));
|
|
15
15
|
var hr = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n hr {\n width: 100%;\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1.5em);\n border-color: ", ";\n border-style: dashed;\n border-width: 1px;\n border-block-start: none;\n border-inline-start: none;\n border-inline-end: none;\n }\n "])), token.colorBorder);
|
|
16
16
|
var img = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n img {\n max-width: 100%;\n }\n\n > img,\n > p > img {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.5em);\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px var(--lobe-markdown-border-color);\n }\n "])));
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var
|
|
24
|
-
var
|
|
25
|
-
var
|
|
17
|
+
var list = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n li {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.33em);\n\n p:first-child {\n display: inline;\n }\n }\n\n ul,\n ol {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.5em);\n margin-inline-start: 1em;\n padding-inline-start: 0;\n list-style-position: outside;\n\n > ul,\n > ol {\n margin-block: 0;\n }\n\n > li {\n margin-inline-start: 1em;\n }\n }\n\n ol {\n list-style: auto;\n }\n\n ul {\n list-style-type: none;\n\n > li {\n &::before {\n content: '-';\n\n position: absolute;\n\n display: inline-block;\n\n margin-inline: -1em 0.5em;\n\n opacity: 0.5;\n }\n }\n }\n\n .task-list-item {\n &::before {\n display: none !important;\n }\n\n input[type='checkbox'] {\n margin-block: 0 0.25em;\n margin-inline: -1.6em 0.2em;\n vertical-align: middle;\n }\n\n input[type='checkbox']:dir(rtl) {\n margin: 0 -1.6em 0.25em 0.2em;\n }\n }\n "])));
|
|
18
|
+
var p = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n p {\n margin-block: 4px;\n line-height: var(--lobe-markdown-line-height);\n letter-spacing: 0.02em;\n\n &:not(:first-child) {\n margin-block-start: calc(var(--lobe-markdown-margin-multiple) * 0.5em);\n }\n\n &:not(:last-child) {\n margin-block-end: calc(var(--lobe-markdown-margin-multiple) * 0.5em);\n }\n }\n "])));
|
|
19
|
+
var pre = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n pre {\n font-size: calc(var(--lobe-markdown-font-size) * 0.85);\n }\n "])));
|
|
20
|
+
var strong = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n strong {\n font-weight: 600;\n }\n "])));
|
|
21
|
+
var svg = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n svg {\n line-height: 1;\n }\n "])));
|
|
22
|
+
var table = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n table {\n unicode-bidi: isolate;\n overflow: auto hidden;\n display: block;\n border-spacing: 0;\n border-collapse: collapse;\n\n box-sizing: border-box;\n width: max-content;\n max-width: 100%;\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.5em);\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n\n text-align: start;\n text-indent: initial;\n text-wrap: pretty;\n word-break: auto-phrase;\n overflow-wrap: break-word;\n\n background: ", ";\n box-shadow: 0 0 0 1px ", ";\n\n code {\n word-break: break-word;\n }\n\n thead {\n background: ", ";\n }\n\n tr {\n box-shadow: 0 1px 0 ", ";\n }\n\n th,\n td {\n min-width: 120px;\n padding-block: 0.75em;\n padding-inline: 1em;\n text-align: start;\n }\n }\n "])), token.colorFillQuaternary, token.colorBorderSecondary, token.colorFillQuaternary, token.colorBorderSecondary);
|
|
23
|
+
var video = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n > video,\n > p > video {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.5em);\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px var(--lobe-markdown-border-color);\n }\n\n video {\n max-width: 100%;\n }\n "])));
|
|
24
|
+
var footnote = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n .footnotes {\n margin-block-start: calc(var(--lobe-markdown-margin-multiple) * 1em);\n font-size: smaller;\n color: #8b949e;\n\n #footnote-label {\n display: none;\n }\n\n > ol {\n margin: 0 !important;\n }\n }\n "])));
|
|
25
|
+
var sup = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n sup {\n position: relative;\n inset-block-start: -0.25em;\n\n font-size: 0.75em;\n line-height: var(--lobe-markdown-line-height);\n vertical-align: baseline;\n }\n "])));
|
|
26
|
+
var sub = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n sub {\n position: relative;\n inset-block-end: -0.25em;\n\n font-size: 0.75em;\n line-height: var(--lobe-markdown-line-height);\n vertical-align: baseline;\n }\n "])));
|
|
26
27
|
return {
|
|
27
|
-
root: css(
|
|
28
|
+
root: css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n :not(:has(", ")),\n .markdown {\n ", "\n }\n "])), IGNORE_CLASSNAME, [__root, a, blockquote, code, del, details, header, hr, img, list, p, pre, strong, svg, table, video, footnote, sub, sup])
|
|
28
29
|
};
|
|
29
30
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const rehypeCustomFootnotes: () => (tree: any, file: any) => void;
|
|
@@ -10,41 +10,9 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
10
10
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
11
|
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; } }
|
|
12
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
-
import {
|
|
13
|
+
import { visit } from 'unist-util-visit';
|
|
14
14
|
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
15
|
-
export var
|
|
16
|
-
return function (tree, file) {
|
|
17
|
-
var footnoteLinks = new Map();
|
|
18
|
-
visit(tree, 'footnoteDefinition', function (node) {
|
|
19
|
-
var linkData = null;
|
|
20
|
-
|
|
21
|
-
// 查找第一个link类型的子节点
|
|
22
|
-
visit(node, 'link', function (linkNode) {
|
|
23
|
-
if (linkData) return SKIP; // 只取第一个链接
|
|
24
|
-
|
|
25
|
-
// 提取链接文本
|
|
26
|
-
var textNode = linkNode.children.find(function (n) {
|
|
27
|
-
return n.type === 'text';
|
|
28
|
-
});
|
|
29
|
-
linkData = {
|
|
30
|
-
alt: (textNode === null || textNode === void 0 ? void 0 : textNode.value) || '',
|
|
31
|
-
title: (textNode === null || textNode === void 0 ? void 0 : textNode.value) || '',
|
|
32
|
-
url: linkNode.url // 或者根据需求处理
|
|
33
|
-
};
|
|
34
|
-
return SKIP; // 找到后停止遍历
|
|
35
|
-
});
|
|
36
|
-
if (linkData) {
|
|
37
|
-
footnoteLinks.set(node.identifier, linkData);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
// 将数据存入文件上下文
|
|
42
|
-
file.data.footnoteLinks = Object.fromEntries(footnoteLinks);
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
47
|
-
export var rehypeFootnoteLinks = function rehypeFootnoteLinks() {
|
|
15
|
+
export var rehypeCustomFootnotes = function rehypeCustomFootnotes() {
|
|
48
16
|
return function (tree, file) {
|
|
49
17
|
var linksData = file.data.footnoteLinks || {};
|
|
50
18
|
visit(tree, 'element', function (node) {
|