@lobehub/ui 1.132.6 → 1.133.0

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.
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { AnchorProps } from 'antd';
3
+ import { AProps } from "../types";
4
+ declare const A: import("react").ForwardRefExoticComponent<AProps & AnchorProps & import("react").RefAttributes<any>>;
5
+ export default A;
package/es/A/index.js ADDED
@@ -0,0 +1,23 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { createElement, forwardRef, useContext, useMemo } from 'react';
5
+ import { ConfigContext } from "../ConfigProvider";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ var createContainer = function createContainer(as) {
8
+ return /*#__PURE__*/forwardRef(function (props, ref) {
9
+ return /*#__PURE__*/createElement(as, _objectSpread(_objectSpread({}, props), {}, {
10
+ ref: ref
11
+ }));
12
+ });
13
+ };
14
+ var A = /*#__PURE__*/forwardRef(function (props, ref) {
15
+ var config = useContext(ConfigContext);
16
+ var AContainer = useMemo(function () {
17
+ return createContainer((config === null || config === void 0 ? void 0 : config.aAs) || 'a');
18
+ }, [config]);
19
+ return /*#__PURE__*/_jsx(AContainer, _objectSpread({
20
+ ref: ref
21
+ }, props));
22
+ });
23
+ export default A;
@@ -2,6 +2,7 @@ import { ElementType, ReactNode } from 'react';
2
2
  import { CDN, CdnApi } from "../utils/genCdnUrl";
3
3
  type CdnFn = ({ pkg, version, path }: CdnApi) => string;
4
4
  export interface Config {
5
+ aAs?: ElementType;
5
6
  customCdnFn?: CdnFn;
6
7
  imgAs?: ElementType;
7
8
  proxy?: CDN | 'custom';
@@ -5,7 +5,7 @@ var _excluded = ["content", "className", "placement", "size"];
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
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
- import { Copy } from 'lucide-react';
8
+ import { Check, Copy } from 'lucide-react';
9
9
  import { memo } from 'react';
10
10
  import ActionIcon from "../ActionIcon";
11
11
  import { useCopied } from "../hooks/useCopied";
@@ -23,9 +23,10 @@ var CopyButton = /*#__PURE__*/memo(function (_ref) {
23
23
  copied = _useCopied.copied,
24
24
  setCopied = _useCopied.setCopied;
25
25
  return /*#__PURE__*/_jsx(ActionIcon, _objectSpread(_objectSpread({}, rest), {}, {
26
+ active: copied,
26
27
  className: className,
27
28
  glass: true,
28
- icon: Copy,
29
+ icon: copied ? Check : Copy,
29
30
  onClick: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
30
31
  return _regeneratorRuntime.wrap(function _callee$(_context) {
31
32
  while (1) switch (_context.prev = _context.next) {
@@ -42,7 +43,7 @@ var CopyButton = /*#__PURE__*/memo(function (_ref) {
42
43
  })),
43
44
  placement: placement,
44
45
  size: size,
45
- title: copied ? '✅ Success' : 'Copy'
46
+ title: 'Copy'
46
47
  }));
47
48
  });
48
49
  export default CopyButton;
@@ -5,7 +5,6 @@ var _excluded = ["children", "language", "className", "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
  import { Select } from 'antd';
8
- import { useResponsive } from 'antd-style';
9
8
  import { ChevronDown, ChevronRight } from 'lucide-react';
10
9
  import { memo, useState } from 'react';
11
10
  import { Flexbox } from 'react-layout-kit';
@@ -29,8 +28,6 @@ export var Highlighter = /*#__PURE__*/memo(function (_ref) {
29
28
  className = _ref.className,
30
29
  style = _ref.style,
31
30
  rest = _objectWithoutProperties(_ref, _excluded);
32
- var _useResponsive = useResponsive(),
33
- mobile = _useResponsive.mobile;
34
31
  var _useState = useState(true),
35
32
  _useState2 = _slicedToArray(_useState, 2),
36
33
  expand = _useState2[0],
@@ -63,10 +60,7 @@ export var Highlighter = /*#__PURE__*/memo(function (_ref) {
63
60
  fontSize: 14,
64
61
  strokeWidth: 3
65
62
  }
66
- }), mobile ? /*#__PURE__*/_jsx("span", {
67
- className: styles.select,
68
- children: lang.toLowerCase()
69
- }) : /*#__PURE__*/_jsx(Select, {
63
+ }), /*#__PURE__*/_jsx(Select, {
70
64
  className: styles.select,
71
65
  onSelect: setLang,
72
66
  options: options,
@@ -18,9 +18,9 @@ var useCode = function useCode(raw) {
18
18
  children = _raw$props.children,
19
19
  className = _raw$props.className;
20
20
  if (!children) return;
21
- var content = Array.isArray(children) ? children[0] : children;
21
+ var content = (Array.isArray(children) ? children[0] : children).trim();
22
22
  var lang = (className === null || className === void 0 ? void 0 : className.replace('language-', '')) || FALLBACK_LANG;
23
- var isSingleLine = countLines(content) <= 1 && content.length <= 6;
23
+ var isSingleLine = countLines(content) <= 1 && content.length <= 48;
24
24
  return {
25
25
  content: content,
26
26
  isSingleLine: isSingleLine,
@@ -68,7 +68,9 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
68
68
  className: className,
69
69
  "data-code-type": "markdown",
70
70
  onDoubleClick: onDoubleClick,
71
- style: style,
71
+ style: _objectSpread({
72
+ overflow: 'hidden'
73
+ }, style),
72
74
  children: /*#__PURE__*/_jsx(ImageGallery, {
73
75
  enable: enableImageGallery,
74
76
  children: /*#__PURE__*/_jsx(ReactMarkdown, _objectSpread(_objectSpread({
@@ -1,6 +1,7 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
2
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
3
3
  import { createStyles } from 'antd-style';
4
+ import { rgba } from 'polished';
4
5
  export var useStyles = createStyles(function (_ref, _ref2) {
5
6
  var token = _ref.token,
6
7
  isDarkMode = _ref.isDarkMode,
@@ -14,20 +15,20 @@ export var useStyles = createStyles(function (_ref, _ref2) {
14
15
  _ref2$lineHeight = _ref2.lineHeight,
15
16
  lineHeight = _ref2$lineHeight === void 0 ? 1.8 : _ref2$lineHeight;
16
17
  return {
17
- __root: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n --lobe-markdown-font-size: ", "px;\n --lobe-markdown-header-multiple: ", ";\n --lobe-markdown-margin-multiple: ", ";\n --lobe-markdown-line-height: ", ";\n --lobe-markdown-border-radius: ", ";\n\n position: relative;\n\n width: 100%;\n\n font-size: var(--lobe-markdown-font-size);\n line-height: var(--lobe-markdown-line-height);\n word-break: break-word;\n "])), fontSize, headerMultiple, marginMultiple, lineHeight, token.borderRadiusLG),
18
+ __root: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n --lobe-markdown-font-size: ", "px;\n --lobe-markdown-header-multiple: ", ";\n --lobe-markdown-margin-multiple: ", ";\n --lobe-markdown-line-height: ", ";\n --lobe-markdown-border-radius: ", ";\n --lobe-markdown-border-color: ", ";\n\n position: relative;\n\n width: 100%;\n\n font-size: var(--lobe-markdown-font-size);\n line-height: var(--lobe-markdown-line-height);\n word-break: break-word;\n "])), fontSize, headerMultiple, marginMultiple, lineHeight, token.borderRadiusLG, isDarkMode ? token.colorBorderSecondary : rgba(token.colorBorderSecondary, 0.5)),
18
19
  a: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n a {\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n }\n "])), token.colorInfoText, token.colorInfoHover),
19
20
  blockquote: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n blockquote {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n margin-inline: 0;\n padding-block: 0;\n padding-inline: 1em;\n\n color: ", ";\n\n border-inline-start: solid 4px ", ";\n }\n "])), token.colorTextSecondary, token.colorBorder),
20
- code: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n code:not(:has(span)) {\n display: inline-block;\n\n padding-block: 0.2em;\n padding-inline: 0.4em;\n\n font-family: ", ";\n font-size: 0.875em;\n line-height: 1;\n word-break: break-word;\n\n background: ", ";\n border: 1px solid ", ";\n border-radius: 0.25em;\n }\n "])), token.fontFamilyCode, token.colorFillSecondary, token.colorBorderSecondary),
21
- details: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n details {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n padding-block: 0.75em;\n padding-inline: 1em;\n\n background: ", ";\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: inset 0 0 0 1px ", ";\n\n summary {\n cursor: pointer;\n display: flex;\n align-items: center;\n list-style: none;\n\n &::before {\n content: '';\n\n position: absolute;\n inset-inline-end: 1.25em;\n transform: rotateZ(-45deg);\n\n display: block;\n\n width: 0.4em;\n height: 0.4em;\n\n font-family: ", ";\n\n border-block-end: 1.5px solid ", ";\n border-inline-end: 1.5px solid ", ";\n\n transition: transform 200ms ", ";\n }\n }\n\n &[open] {\n summary {\n padding-block-end: 0.75em;\n border-block-end: 1px dashed ", ";\n\n &::before {\n transform: rotateZ(45deg);\n }\n }\n }\n }\n "])), token.colorFillTertiary, token.colorBorderSecondary, token.fontFamily, token.colorTextSecondary, token.colorTextSecondary, token.motionEaseOut, token.colorBorder),
21
+ code: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n code:not(:has(span)) {\n display: inline-block;\n\n margin-inline: 0.25em;\n padding-block: 0.2em;\n padding-inline: 0.4em;\n\n font-family: ", ";\n font-size: 0.875em;\n line-height: 1;\n word-break: break-word;\n\n background: ", ";\n border: 1px solid var(--lobe-markdown-border-color);\n border-radius: 0.25em;\n }\n "])), token.fontFamilyCode, token.colorFillSecondary),
22
+ details: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n details {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n padding-block: 0.75em;\n padding-inline: 1em;\n\n background: ", ";\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: inset 0 0 0 1px var(--lobe-markdown-border-color);\n\n summary {\n cursor: pointer;\n display: flex;\n align-items: center;\n list-style: none;\n\n &::before {\n content: '';\n\n position: absolute;\n inset-inline-end: 1.25em;\n transform: rotateZ(-45deg);\n\n display: block;\n\n width: 0.4em;\n height: 0.4em;\n\n font-family: ", ";\n\n border-block-end: 1.5px solid ", ";\n border-inline-end: 1.5px solid ", ";\n\n transition: transform 200ms ", ";\n }\n }\n\n &[open] {\n summary {\n padding-block-end: 0.75em;\n border-block-end: 1px dashed ", ";\n\n &::before {\n transform: rotateZ(45deg);\n }\n }\n }\n }\n "])), token.colorFillTertiary, token.fontFamily, token.colorTextSecondary, token.colorTextSecondary, token.motionEaseOut, token.colorBorder),
22
23
  header: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n h1,\n h2,\n h3,\n h4,\n h5 {\n margin-block: max(\n calc(\n var(--lobe-markdown-header-multiple) * var(--lobe-markdown-margin-multiple) * 0.4em\n ),\n var(--lobe-markdown-font-size)\n );\n font-weight: 600;\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(\n var(--lobe-markdown-font-size) * (1 + var(--lobe-markdown-header-multiple))\n );\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 font-size: calc(var(--lobe-markdown-font-size) * 1);\n }\n "]))),
23
24
  hr: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n hr {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1.5em);\n\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.colorBorderSecondary),
24
- img: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n img {\n max-width: 100%;\n }\n\n > img,\n > p > img {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px ", ";\n }\n "])), token.colorBorderSecondary),
25
+ img: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n img {\n max-width: 100%;\n }\n\n > img,\n > p > img {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px var(--lobe-markdown-border-color);\n }\n "]))),
25
26
  kbd: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n kbd {\n cursor: default;\n user-select: none;\n\n transform: translateY(-0.2em);\n\n display: inline-block;\n\n min-width: 1em;\n margin-inline: 0.25em;\n padding-block: 0.2em;\n padding-inline: 0.4em;\n\n font-family: ", ";\n font-size: 0.875em;\n font-weight: 500;\n line-height: 1;\n color: ", ";\n text-align: center;\n\n background: ", ";\n border: 1px solid ", ";\n border-radius: 0.25em;\n box-shadow: 0 2px 0 1px ", ";\n\n &:hover {\n transform: translateY(0);\n box-shadow: none;\n }\n }\n "])), token.fontFamily, token.colorBgLayout, isDarkMode ? token.colorText : '#333', isDarkMode ? token.colorTextSecondary : '#000', isDarkMode ? token.colorTextSecondary : '#000'),
26
- list: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n li {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.4em);\n }\n\n ul,\n ol {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n margin-inline-start: 1em;\n padding-inline-start: 0;\n list-style-position: outside;\n\n ul,\n ol {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.4em);\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 display: inline-block;\n margin-inline: -1em 0.5em;\n opacity: 0.5;\n }\n }\n }\n "]))),
27
+ list: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n li {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 0.33em);\n }\n\n ul,\n ol {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\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 display: inline-block;\n margin-inline: -1em 0.5em;\n opacity: 0.5;\n }\n }\n }\n "]))),
27
28
  p: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n p {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n line-height: var(--lobe-markdown-line-height);\n letter-spacing: 0.02em;\n }\n "]))),
28
29
  pre: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n pre,\n [data-code-type='highlighter'] {\n border: none;\n\n > code {\n padding: 0 !important;\n\n font-family: ", ";\n font-size: 0.875em;\n line-height: 1.6;\n\n border: none !important;\n }\n }\n "])), token.fontFamilyCode),
29
30
  strong: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n strong {\n font-weight: 600;\n }\n "]))),
30
- table: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n table {\n overflow: hidden;\n display: table;\n border-spacing: 0;\n border-collapse: collapse;\n\n box-sizing: border-box;\n width: 100%;\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n\n text-align: start;\n overflow-wrap: break-word;\n\n background: ", ";\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: inset 0 0 0 1px ", ";\n\n thead {\n background: ", ";\n }\n\n tr {\n box-shadow: inset 0 -1px 0 ", ";\n }\n\n th,\n td {\n padding-block: 0.75em;\n padding-inline: 1em;\n text-align: start;\n vertical-align: top;\n }\n }\n "])), token.colorFillQuaternary, token.colorBorderSecondary, token.colorFillQuaternary, token.colorBorderSecondary),
31
- video: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n > video,\n > p > video {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px ", ";\n }\n\n video {\n max-width: 100%;\n }\n "])), token.colorBorderSecondary)
31
+ table: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n table {\n overflow: hidden;\n display: table;\n border-spacing: 0;\n border-collapse: collapse;\n\n box-sizing: border-box;\n width: 100%;\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n\n text-align: start;\n overflow-wrap: break-word;\n\n background: ", ";\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: inset 0 0 0 1px var(--lobe-markdown-border-color);\n\n thead {\n background: ", ";\n }\n\n tr {\n box-shadow: inset 0 1px 0 var(--lobe-markdown-border-color);\n }\n\n th,\n td {\n padding-block: 0.75em;\n padding-inline: 1em;\n text-align: start;\n vertical-align: top;\n }\n }\n "])), token.colorFillQuaternary, token.colorFillQuaternary),
32
+ video: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n > video,\n > p > video {\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\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 "])))
32
33
  };
33
34
  });
@@ -0,0 +1,15 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { type FlexboxProps } from 'react-layout-kit';
3
+ import { type IconProps } from '../Icon';
4
+ export interface CardProps extends Omit<FlexboxProps, 'children'> {
5
+ desc?: string;
6
+ href?: string;
7
+ icon?: IconProps['icon'];
8
+ iconProps?: Omit<IconProps, 'icon'>;
9
+ image?: string;
10
+ title: string;
11
+ }
12
+ declare const Card: FC<CardProps>;
13
+ declare const Cards: FC<PropsWithChildren>;
14
+ export default Cards;
15
+ export { Card };
@@ -0,0 +1,84 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
4
+ var _excluded = ["icon", "title", "desc", "href", "iconProps", "image"];
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
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
+ import { createStyles } from 'antd-style';
9
+ import { Flexbox } from 'react-layout-kit';
10
+ import A from "../A";
11
+ import Icon from "../Icon";
12
+ import Img from "../Img";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ var useStyles = createStyles(function (_ref) {
16
+ var css = _ref.css,
17
+ cx = _ref.cx,
18
+ token = _ref.token;
19
+ var icon = cx(css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-block: 0.1em;\n opacity: 0.5;\n transition: opacity 0.2s ", ";\n "])), token.motionEaseInOut));
20
+ return {
21
+ card: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n --lobe-markdown-header-multiple: 0;\n --lobe-markdown-margin-multiple: 1;\n\n overflow: hidden;\n\n color: ", ";\n\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px var(--lobe-markdown-border-color);\n\n transition: all 0.2s ", ";\n\n h3,\n p {\n margin-block: 0;\n }\n\n p {\n color: ", ";\n transition: color 0.2s ", ";\n }\n\n &:hover {\n background: ", ";\n box-shadow: 0 0 0 1px ", ";\n\n p {\n color: ", ";\n }\n\n .", " {\n opacity: 1;\n }\n }\n "])), token.colorText, token.motionEaseInOut, token.colorTextDescription, token.motionEaseInOut, token.colorFillQuaternary, token.colorBorder, token.colorTextSecondary, icon),
22
+ container: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n --rows: 3;\n\n display: grid;\n grid-template-columns: repeat(\n auto-fill,\n minmax(max(250px, calc((100% - 1rem * 2) / var(--rows))), 1fr)\n );\n gap: 1em;\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n "]))),
23
+ content: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n gap: 0.75em;\n padding: 1em;\n "]))),
24
+ icon: icon
25
+ };
26
+ });
27
+ var Card = function Card(_ref2) {
28
+ var icon = _ref2.icon,
29
+ title = _ref2.title,
30
+ desc = _ref2.desc,
31
+ href = _ref2.href,
32
+ iconProps = _ref2.iconProps,
33
+ image = _ref2.image,
34
+ rest = _objectWithoutProperties(_ref2, _excluded);
35
+ var _useStyles = useStyles(),
36
+ styles = _useStyles.styles;
37
+ return /*#__PURE__*/_jsx(A, {
38
+ href: href,
39
+ children: /*#__PURE__*/_jsxs(Flexbox, _objectSpread(_objectSpread({
40
+ align: 'flex-start',
41
+ className: styles.card
42
+ }, rest), {}, {
43
+ children: [image && /*#__PURE__*/_jsx(Img, {
44
+ alt: title,
45
+ height: 100,
46
+ src: image,
47
+ style: {
48
+ height: 'auto',
49
+ width: '100%'
50
+ },
51
+ width: 250
52
+ }), /*#__PURE__*/_jsxs(Flexbox, _objectSpread(_objectSpread({
53
+ align: 'flex-start',
54
+ className: styles.content,
55
+ horizontal: true
56
+ }, rest), {}, {
57
+ children: [!image && icon && /*#__PURE__*/_jsx(Icon, _objectSpread({
58
+ className: styles.icon,
59
+ icon: icon,
60
+ size: {
61
+ fontSize: '1.5em'
62
+ }
63
+ }, iconProps)), /*#__PURE__*/_jsxs("div", {
64
+ children: [/*#__PURE__*/_jsx("h3", {
65
+ children: title
66
+ }), desc && /*#__PURE__*/_jsx("p", {
67
+ children: desc
68
+ })]
69
+ })]
70
+ }))]
71
+ }))
72
+ });
73
+ };
74
+ var Cards = function Cards(_ref3) {
75
+ var children = _ref3.children;
76
+ var _useStyles2 = useStyles(),
77
+ styles = _useStyles2.styles;
78
+ return /*#__PURE__*/_jsx("div", {
79
+ className: styles.container,
80
+ children: children
81
+ });
82
+ };
83
+ export default Cards;
84
+ export { Card };
@@ -0,0 +1,24 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { type IconProps } from '../Icon';
3
+ export interface _FileTreeProps {
4
+ children: ReactNode;
5
+ }
6
+ declare const _FileTree: FC<_FileTreeProps>;
7
+ export interface FolderProps {
8
+ children: ReactNode;
9
+ defaultOpen?: boolean;
10
+ icon?: IconProps['icon'];
11
+ name: string;
12
+ }
13
+ declare const Folder: FC<FolderProps>;
14
+ export interface FileProps {
15
+ icon?: IconProps['icon'];
16
+ name: string;
17
+ }
18
+ declare const File: FC<FileProps>;
19
+ export type FileTreeProps = typeof _FileTree & {
20
+ File: typeof File;
21
+ Folder: typeof Folder;
22
+ };
23
+ declare const FileTree: FileTreeProps;
24
+ export default FileTree;
@@ -0,0 +1,79 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
3
+ var _templateObject, _templateObject2, _templateObject3;
4
+ import { createStyles } from 'antd-style';
5
+ import { FileIcon, FolderIcon, FolderOpen } from 'lucide-react';
6
+ import { useState } from 'react';
7
+ import { Flexbox } from 'react-layout-kit';
8
+ import Icon from "../Icon";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ var useStyles = createStyles(function (_ref) {
12
+ var css = _ref.css,
13
+ token = _ref.token;
14
+ return {
15
+ container: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n padding-block: 0.75em;\n padding-inline: 1em;\n\n color: ", ";\n\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px var(--lobe-markdown-border-color);\n "])), token.colorTextSecondary),
16
+ folder: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n cursor: pointer;\n\n &:hover {\n color: ", ";\n }\n "])), token.colorText),
17
+ folderChildren: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding-inline-start: 1em;\n "])))
18
+ };
19
+ });
20
+ var _FileTree = function _FileTree(_ref2) {
21
+ var children = _ref2.children;
22
+ var _useStyles = useStyles(),
23
+ styles = _useStyles.styles;
24
+ return /*#__PURE__*/_jsx("div", {
25
+ className: styles.container,
26
+ children: children
27
+ });
28
+ };
29
+ var Folder = function Folder(_ref3) {
30
+ var name = _ref3.name,
31
+ defaultOpen = _ref3.defaultOpen,
32
+ _ref3$icon = _ref3.icon,
33
+ icon = _ref3$icon === void 0 ? FolderIcon : _ref3$icon,
34
+ children = _ref3.children;
35
+ var _useState = useState(defaultOpen),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ open = _useState2[0],
38
+ setOpen = _useState2[1];
39
+ var _useStyles2 = useStyles(),
40
+ styles = _useStyles2.styles;
41
+ return /*#__PURE__*/_jsxs(Flexbox, {
42
+ children: [/*#__PURE__*/_jsxs(Flexbox, {
43
+ align: 'center',
44
+ className: styles.folder,
45
+ gap: 4,
46
+ horizontal: true,
47
+ onClick: function onClick() {
48
+ return setOpen(!open);
49
+ },
50
+ children: [/*#__PURE__*/_jsx(Icon, {
51
+ icon: open ? FolderOpen : icon
52
+ }), /*#__PURE__*/_jsx("span", {
53
+ children: name
54
+ })]
55
+ }), open && /*#__PURE__*/_jsx(Flexbox, {
56
+ className: styles.folderChildren,
57
+ children: children
58
+ })]
59
+ });
60
+ };
61
+ var File = function File(_ref4) {
62
+ var name = _ref4.name,
63
+ _ref4$icon = _ref4.icon,
64
+ icon = _ref4$icon === void 0 ? FileIcon : _ref4$icon;
65
+ return /*#__PURE__*/_jsxs(Flexbox, {
66
+ align: 'center',
67
+ gap: 4,
68
+ horizontal: true,
69
+ children: [/*#__PURE__*/_jsx(Icon, {
70
+ icon: icon
71
+ }), /*#__PURE__*/_jsx("span", {
72
+ children: name
73
+ })]
74
+ });
75
+ };
76
+ var FileTree = _FileTree;
77
+ FileTree.Folder = Folder;
78
+ FileTree.File = File;
79
+ export default FileTree;
package/es/mdx/Pre.js CHANGED
@@ -6,11 +6,10 @@ import Snippet from "../Snippet";
6
6
  import { FALLBACK_LANG } from "../hooks/useHighlight";
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  var useStyles = createStyles(function (_ref) {
9
- var css = _ref.css,
10
- token = _ref.token;
9
+ var css = _ref.css;
11
10
  return {
12
- container: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-block: 1em;\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: inset 0 0 0 1px ", ";\n "])), token.colorBorderSecondary),
13
- highlight: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n pre {\n padding: 1em !important;\n }\n "])))
11
+ container: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow: hidden;\n margin-block: 1em;\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px var(--lobe-markdown-border-color);\n "]))),
12
+ highlight: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n pre {\n overflow-x: hidden !important;\n padding: 1em !important;\n }\n "])))
14
13
  };
15
14
  });
16
15
  export var Pre = function Pre(_ref2) {
@@ -0,0 +1,3 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ declare const Steps: FC<PropsWithChildren>;
3
+ export default Steps;
@@ -0,0 +1,21 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ import { createStyles } from 'antd-style';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ var useStyles = createStyles(function (_ref) {
6
+ var css = _ref.css,
7
+ token = _ref.token;
8
+ return {
9
+ container: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n --lobe-markdown-header-multiple: 0.5;\n --lobe-markdown-margin-multiple: 1;\n\n position: relative;\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n padding-inline-start: 2.5em;\n\n &::before {\n content: '';\n\n position: absolute;\n inset-block-start: 0.25em;\n inset-inline-start: 0.9em;\n\n display: block;\n\n width: 1px;\n height: calc(100% - 0.5em);\n\n background: ", ";\n }\n\n h3 {\n counter-increment: step;\n\n &:not(:first-child) {\n margin-block-start: 2em;\n }\n\n &::before {\n content: counter(step);\n\n position: absolute;\n z-index: 1;\n inset-inline-start: 0;\n\n display: inline-block;\n\n width: 1.8em;\n height: 1.8em;\n margin-block-start: 0.3em;\n\n font-size: 0.8em;\n font-weight: 500;\n line-height: 1.8em;\n color: ", ";\n text-align: center;\n\n background: ", ";\n border-radius: 9999px;\n box-shadow: 0 0 0 2px ", ";\n }\n }\n "])), token.colorBorderSecondary, token.colorTextSecondary, token.colorBgElevated, token.colorBgLayout)
10
+ };
11
+ });
12
+ var Steps = function Steps(_ref2) {
13
+ var children = _ref2.children;
14
+ var _useStyles = useStyles(),
15
+ styles = _useStyles.styles;
16
+ return /*#__PURE__*/_jsx("div", {
17
+ className: styles.container,
18
+ children: children
19
+ });
20
+ };
21
+ export default Steps;
@@ -0,0 +1,16 @@
1
+ import { FC, ReactNode } from 'react';
2
+ export interface _TabItemProps {
3
+ children: ReactNode;
4
+ }
5
+ declare const _TabItem: FC<_TabItemProps>;
6
+ export interface _TabsProps {
7
+ children: ReactNode[];
8
+ defaultIndex?: number | string;
9
+ items: string[];
10
+ }
11
+ declare const _Tabs: FC<_TabsProps>;
12
+ export type TabsProps = typeof _Tabs & {
13
+ Tab: typeof _TabItem;
14
+ };
15
+ declare const Tabs: TabsProps;
16
+ export default Tabs;
package/es/mdx/Tabs.js ADDED
@@ -0,0 +1,62 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
3
+ var _templateObject, _templateObject2, _templateObject3;
4
+ import { createStyles } from 'antd-style';
5
+ import { isString } from 'lodash-es';
6
+ import { useState } from 'react';
7
+ import { Flexbox } from 'react-layout-kit';
8
+ import TabsNav from "../TabsNav";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ var useStyles = createStyles(function (_ref) {
12
+ var css = _ref.css,
13
+ token = _ref.token,
14
+ prefixCls = _ref.prefixCls;
15
+ return {
16
+ body: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding-inline: 1em;\n "]))),
17
+ container: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n --lobe-markdown-margin-multiple: 1;\n\n margin-block: calc(var(--lobe-markdown-margin-multiple) * 1em);\n background: ", ";\n border-radius: calc(var(--lobe-markdown-border-radius) * 1px);\n box-shadow: 0 0 0 1px var(--lobe-markdown-border-color);\n "])), token.colorFillQuaternary),
18
+ header: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n border-block-end: 1px solid var(--lobe-markdown-border-color);\n .", "-tabs-tab-btn {\n font-size: var(--lobe-markdown-font-size);\n line-height: var(--lobe-markdown-line-height);\n }\n "])), prefixCls)
19
+ };
20
+ });
21
+ var _TabItem = function _TabItem(_ref2) {
22
+ var children = _ref2.children;
23
+ var _useStyles = useStyles(),
24
+ styles = _useStyles.styles;
25
+ return /*#__PURE__*/_jsx("div", {
26
+ className: styles.body,
27
+ children: isString(children) ? /*#__PURE__*/_jsx("p", {
28
+ children: children
29
+ }) : children
30
+ });
31
+ };
32
+ var _Tabs = function _Tabs(_ref3) {
33
+ var _ref3$defaultIndex = _ref3.defaultIndex,
34
+ defaultIndex = _ref3$defaultIndex === void 0 ? '0' : _ref3$defaultIndex,
35
+ items = _ref3.items,
36
+ children = _ref3.children;
37
+ var _useState = useState(String(defaultIndex)),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ activeIndex = _useState2[0],
40
+ setActiveIndex = _useState2[1];
41
+ var _useStyles2 = useStyles(),
42
+ styles = _useStyles2.styles;
43
+ var index = Number(activeIndex);
44
+ return /*#__PURE__*/_jsxs(Flexbox, {
45
+ className: styles.container,
46
+ children: [/*#__PURE__*/_jsx(TabsNav, {
47
+ activeKey: activeIndex,
48
+ className: styles.header,
49
+ items: items.map(function (item, i) {
50
+ return {
51
+ key: String(i),
52
+ label: item
53
+ };
54
+ }),
55
+ onChange: setActiveIndex,
56
+ variant: 'compact'
57
+ }), (children === null || children === void 0 ? void 0 : children[index]) || '']
58
+ });
59
+ };
60
+ var Tabs = _Tabs;
61
+ Tabs.Tab = _TabItem;
62
+ export default Tabs;
package/es/mdx/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
- import { FC } from 'react';
2
1
  export { default as Callout, type CalloutProps } from './Callout';
2
+ export { Card, type CardProps, default as Cards } from './Cards';
3
+ export { default as FileTree, type FileTreeProps } from './FileTree';
3
4
  export { default as Image, type ImageProps } from './Image';
5
+ export { default as mdxComponents } from './mdxComponents';
4
6
  export { default as Pre, type PreProps, PreSingleLine } from './Pre';
7
+ export { default as Steps } from './Steps';
8
+ export { default as Tabs, type TabsProps } from './Tabs';
5
9
  export { default as Video, type VideoProps } from './Video';
6
- export declare const mdxComponents: Record<string, FC<any>>;
package/es/mdx/index.js CHANGED
@@ -1,13 +1,9 @@
1
- import Callout from "./Callout";
2
- import Image from "./Image";
3
- import Video from "./Video";
4
1
  export { default as Callout } from "./Callout";
2
+ export { Card, default as Cards } from "./Cards";
3
+ export { default as FileTree } from "./FileTree";
5
4
  export { default as Image } from "./Image";
5
+ export { default as mdxComponents } from "./mdxComponents";
6
6
  export { default as Pre, PreSingleLine } from "./Pre";
7
- export { default as Video } from "./Video";
8
- export var mdxComponents = {
9
- Callout: Callout,
10
- Image: Image,
11
- LobeCallout: Callout,
12
- Video: Video
13
- };
7
+ export { default as Steps } from "./Steps";
8
+ export { default as Tabs } from "./Tabs";
9
+ export { default as Video } from "./Video";
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ declare const mdxComponents: Record<string, FC<any>>;
3
+ export default mdxComponents;
@@ -0,0 +1,24 @@
1
+ import Callout from "./Callout";
2
+ import Cards, { Card } from "./Cards";
3
+ import FileTree from "./FileTree";
4
+ import Image from "./Image";
5
+ import Steps from "./Steps";
6
+ import Tabs from "./Tabs";
7
+ import Video from "./Video";
8
+ var mdxComponents = {
9
+ Callout: Callout,
10
+ Card: Card,
11
+ Cards: Cards,
12
+ FileTree: FileTree,
13
+ Image: Image,
14
+ LobeCallout: Callout,
15
+ LobeCard: Card,
16
+ LobeCards: Cards,
17
+ LobeFileTree: FileTree,
18
+ LobeSteps: Steps,
19
+ LobeTabs: Tabs,
20
+ Steps: Steps,
21
+ Tabs: Tabs,
22
+ Video: Video
23
+ };
24
+ export default mdxComponents;
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import { AnchorHTMLAttributes, type HTMLAttributes } from 'react';
2
2
  export * from './chatMessage';
3
3
  export * from './customStylish';
4
4
  export * from './customToken';
@@ -8,5 +8,6 @@ export type DivProps = HTMLAttributes<HTMLDivElement>;
8
8
  export type VideoProps = HTMLAttributes<HTMLVideoElement>;
9
9
  export type SvgProps = HTMLAttributes<SVGSVGElement>;
10
10
  export type ImgProps = HTMLAttributes<HTMLImageElement>;
11
+ export type AProps = AnchorHTMLAttributes<HTMLAnchorElement>;
11
12
  export type InputProps = HTMLAttributes<HTMLInputElement>;
12
13
  export type TextAreaProps = HTMLAttributes<HTMLTextAreaElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/ui",
3
- "version": "1.132.6",
3
+ "version": "1.133.0",
4
4
  "description": "Lobe UI is an open-source UI component library for building AIGC web apps",
5
5
  "keywords": [
6
6
  "lobehub",