@lobehub/ui 5.23.5 → 5.24.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.
- package/es/Accordion/Accordion.mjs.map +1 -1
- package/es/Accordion/AccordionItem.mjs.map +1 -1
- package/es/Accordion/ArrowIcon.mjs.map +1 -1
- package/es/ActionIcon/ActionIcon.mjs.map +1 -1
- package/es/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
- package/es/Alert/Alert.mjs.map +1 -1
- package/es/Avatar/Avatar.mjs.map +1 -1
- package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
- package/es/Burger/Burger.mjs.map +1 -1
- package/es/Checkbox/Checkbox.mjs.map +1 -1
- package/es/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/es/CodeDiff/DiffPanel.mjs.map +1 -1
- package/es/CodeEditor/CodeEditor.mjs.map +1 -1
- package/es/Collapse/Collapse.mjs.map +1 -1
- package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
- package/es/ConfigProvider/index.mjs.map +1 -1
- package/es/ContextMenu/index.d.mts +2 -2
- package/es/ContextMenu/index.mjs +2 -2
- package/es/DraggablePanel/DraggablePanel.mjs.map +1 -1
- package/es/DraggablePanel/components/DraggablePanelHeader.mjs.map +1 -1
- package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
- package/es/Drawer/Drawer.mjs.map +1 -1
- package/es/Dropdown/Dropdown.mjs.map +1 -1
- package/es/EditableText/ControlInput.mjs.map +1 -1
- package/es/EditableText/EditableText.mjs.map +1 -1
- package/es/EditorSlashMenu/EditorSlashMenu.mjs.map +1 -1
- package/es/EditorSlashMenu/MenuItemRenderer.mjs.map +1 -1
- package/es/EmojiPicker/AvatarUploader.mjs.map +1 -1
- package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
- package/es/Empty/Empty.mjs.map +1 -1
- package/es/FileTypeIcon/FileTypeIcon.mjs.map +1 -1
- package/es/FileTypeIcon/components/FileIcon.mjs.map +1 -1
- package/es/FileTypeIcon/components/FolderIcon.mjs.map +1 -1
- package/es/FluentEmoji/FluentEmoji.mjs.map +1 -1
- package/es/Footer/Footer.mjs.map +1 -1
- package/es/Form/Form.mjs.map +1 -1
- package/es/Form/components/FormGroup.mjs.map +1 -1
- package/es/Form/components/FormSubmitFooter.mjs.map +1 -1
- package/es/Form/components/FormTitle.mjs.map +1 -1
- package/es/FormModal/FormModal.mjs.map +1 -1
- package/es/Freeze/Freeze.mjs.map +1 -1
- package/es/GroupAvatar/GroupAvatar.mjs.map +1 -1
- package/es/GuideCard/GuideCard.mjs.map +1 -1
- package/es/Header/Header.mjs.map +1 -1
- package/es/Highlighter/FullFeatured.mjs.map +1 -1
- package/es/Highlighter/Highlighter.mjs.map +1 -1
- package/es/Highlighter/LangSelect.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/style.mjs +2 -2
- package/es/Highlighter/SyntaxHighlighter/style.mjs.map +1 -1
- package/es/Hotkey/Hotkey.mjs.map +1 -1
- package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
- package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
- package/es/HtmlPreview/Iframe.mjs.map +1 -1
- package/es/Icon/Icon.mjs.map +1 -1
- package/es/Image/Image.mjs.map +1 -1
- package/es/Image/components/Toolbar.mjs.map +1 -1
- package/es/Image/components/usePreview.mjs.map +1 -1
- package/es/Image/components/usePreviewGroup.mjs.map +1 -1
- package/es/ImageSelect/ImageSelect.mjs.map +1 -1
- package/es/Layout/Layout.mjs.map +1 -1
- package/es/List/List.mjs.map +1 -1
- package/es/List/ListItem/index.mjs.map +1 -1
- package/es/Markdown/Markdown.mjs.map +1 -1
- package/es/Markdown/SyntaxMarkdown/MarkdownRender.mjs.map +1 -1
- package/es/Markdown/SyntaxMarkdown/StreamdownRender.mjs.map +1 -1
- package/es/Markdown/SyntaxMarkdown/style.mjs.map +1 -1
- package/es/Markdown/components/CodeBlock.mjs.map +1 -1
- package/es/Markdown/components/Footnotes.mjs.map +1 -1
- package/es/Markdown/components/MarkdownTable/index.mjs.map +1 -1
- package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs.map +1 -1
- package/es/Markdown/components/SearchResultCards/index.mjs.map +1 -1
- package/es/MaterialFileTypeIcon/MaterialFileTypeIcon.mjs.map +1 -1
- package/es/Menu/Menu.mjs.map +1 -1
- package/es/Mermaid/FullFeatured.mjs.map +1 -1
- package/es/Mermaid/Mermaid.mjs.map +1 -1
- package/es/Mermaid/SyntaxMermaid/MermaidFallback.mjs +35 -0
- package/es/Mermaid/SyntaxMermaid/MermaidFallback.mjs.map +1 -0
- package/es/Mermaid/SyntaxMermaid/MermaidSvg.mjs +52 -0
- package/es/Mermaid/SyntaxMermaid/MermaidSvg.mjs.map +1 -0
- package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs +13 -42
- package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs.map +1 -1
- package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs +13 -43
- package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs.map +1 -1
- package/es/Mermaid/SyntaxMermaid/prepareInlineSvg.mjs +52 -0
- package/es/Mermaid/SyntaxMermaid/prepareInlineSvg.mjs.map +1 -0
- package/es/Mermaid/SyntaxMermaid/prepareMermaidSvg.mjs +20 -0
- package/es/Mermaid/SyntaxMermaid/prepareMermaidSvg.mjs.map +1 -0
- package/es/Mermaid/SyntaxMermaid/style.mjs +11 -0
- package/es/Mermaid/SyntaxMermaid/style.mjs.map +1 -1
- package/es/Mermaid/const.mjs +10 -31
- package/es/Mermaid/const.mjs.map +1 -1
- package/es/Mermaid/index.d.mts +2 -1
- package/es/Mermaid/index.mjs +2 -1
- package/es/Mermaid/type.d.mts +2 -2
- package/es/Modal/Modal.mjs.map +1 -1
- package/es/Modal/ModalStackItem.mjs.map +1 -1
- package/es/Modal/RawModalStackItem.mjs.map +1 -1
- package/es/Modal/imperative.mjs.map +1 -1
- package/es/Modal/style.mjs.map +1 -1
- package/es/NeuralNetworkLoading/NeuralNetworkLoading.mjs.map +1 -1
- package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
- package/es/SearchBar/SearchBar.mjs.map +1 -1
- package/es/SideNav/SideNav.mjs.map +1 -1
- package/es/Skeleton/Skeleton.mjs.map +1 -1
- package/es/Skeleton/SkeletonParagraph.mjs.map +1 -1
- package/es/Skeleton/SkeletonTags.mjs.map +1 -1
- package/es/SliderWithInput/SliderWithInput.mjs.map +1 -1
- package/es/Snippet/Snippet.mjs.map +1 -1
- package/es/SortableList/SortableList.mjs.map +1 -1
- package/es/SortableList/components/SortableItem.mjs.map +1 -1
- package/es/Text/Text.mjs.map +1 -1
- package/es/ThemeProvider/ThemeProvider.mjs +1 -1
- package/es/ThemeProvider/ThemeProvider.mjs.map +1 -1
- package/es/ThemeSwitch/ThemeSwitch.mjs.map +1 -1
- package/es/Toc/Toc.mjs.map +1 -1
- package/es/Toc/TocMobile.mjs.map +1 -1
- package/es/Video/index.mjs.map +1 -1
- package/es/awesome/AuroraBackground/AuroraBackground.mjs.map +1 -1
- package/es/awesome/Features/FeatureItem.mjs.map +1 -1
- package/es/awesome/Giscus/Giscus.mjs.map +1 -1
- package/es/awesome/GradientButton/GradientButton.mjs.map +1 -1
- package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
- package/es/awesome/GridBackground/GridShowcase.mjs.map +1 -1
- package/es/awesome/GridBackground/components/Grid.mjs.map +1 -1
- package/es/awesome/Hero/Hero.mjs.map +1 -1
- package/es/awesome/Spline/ParentSize.mjs.map +1 -1
- package/es/awesome/Spline/Spine.mjs.map +1 -1
- package/es/awesome/SpotlightCard/SpotlightCard.mjs.map +1 -1
- package/es/awesome/SpotlightCard/SpotlightCardItem.mjs.map +1 -1
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
- package/es/base-ui/AutoComplete/AutoComplete.mjs.map +1 -1
- package/es/base-ui/Button/Button.mjs.map +1 -1
- package/es/base-ui/Button/SplitButton.mjs.map +1 -1
- package/es/base-ui/Checkbox/Checkbox.mjs.map +1 -1
- package/es/base-ui/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/es/base-ui/ContextMenu/ContextMenuHost.mjs.map +1 -1
- package/es/base-ui/ContextMenu/imperative.d.mts +2 -2
- package/es/base-ui/ContextMenu/index.d.mts +2 -2
- package/es/base-ui/ContextMenu/renderItems.mjs.map +1 -1
- package/es/base-ui/ContextMenu/store.d.mts +13 -1
- package/es/base-ui/ContextMenu/store.mjs +29 -4
- package/es/base-ui/ContextMenu/store.mjs.map +1 -1
- package/es/base-ui/DropdownMenu/DropdownMenu.mjs.map +1 -1
- package/es/base-ui/DropdownMenu/atoms.mjs.map +1 -1
- package/es/base-ui/DropdownMenu/renderItems.mjs.map +1 -1
- package/es/base-ui/DropdownMenu/sharedStyle.mjs +3 -0
- package/es/base-ui/DropdownMenu/sharedStyle.mjs.map +1 -1
- package/es/base-ui/FloatingPanel/FloatingPanel.mjs.map +1 -1
- package/es/base-ui/FloatingSheet/FloatingSheet.mjs.map +1 -1
- package/es/base-ui/FloatingSheet/FloatingSheetHeader.mjs.map +1 -1
- package/es/base-ui/Form/Form.mjs.map +1 -1
- package/es/base-ui/Form/components/FormField.mjs.map +1 -1
- package/es/base-ui/Form/components/FormGroup.mjs.map +1 -1
- package/es/base-ui/Form/components/FormSubmitFooter.mjs.map +1 -1
- package/es/base-ui/Form/components/FormTitle.mjs.map +1 -1
- package/es/base-ui/Input/Input.mjs.map +1 -1
- package/es/base-ui/Input/InputNumber.mjs.map +1 -1
- package/es/base-ui/Input/InputOTP.mjs.map +1 -1
- package/es/base-ui/Input/InputPassword.mjs.map +1 -1
- package/es/base-ui/Input/TextArea.mjs.map +1 -1
- package/es/base-ui/Input/style.d.mts +1 -1
- package/es/base-ui/Modal/Modal.mjs.map +1 -1
- package/es/base-ui/Modal/atoms.mjs.map +1 -1
- package/es/base-ui/Modal/imperative.mjs.map +1 -1
- package/es/base-ui/Popover/ArrowIcon.mjs.map +1 -1
- package/es/base-ui/Popover/PopoverGroup.mjs.map +1 -1
- package/es/base-ui/Popover/PopoverStandalone.mjs.map +1 -1
- package/es/base-ui/Popover/atoms.mjs.map +1 -1
- package/es/base-ui/Radio/Radio.mjs.map +1 -1
- package/es/base-ui/Radio/RadioGroup.mjs.map +1 -1
- package/es/base-ui/ScrollArea/ScrollArea.mjs.map +1 -1
- package/es/base-ui/Segmented/Segmented.mjs.map +1 -1
- package/es/base-ui/Select/Select.mjs.map +1 -1
- package/es/base-ui/Select/parts.mjs.map +1 -1
- package/es/base-ui/Select/renderOptions.mjs.map +1 -1
- package/es/base-ui/Slider/Slider.mjs.map +1 -1
- package/es/base-ui/Slider/SliderWithInput.mjs.map +1 -1
- package/es/base-ui/SubmenuArrowIcon.mjs.map +1 -1
- package/es/base-ui/Switch/Switch.mjs.map +1 -1
- package/es/base-ui/Switch/atoms.d.mts +3 -3
- package/es/base-ui/Switch/atoms.mjs +99 -50
- package/es/base-ui/Switch/atoms.mjs.map +1 -1
- package/es/base-ui/Switch/style.mjs +44 -1
- package/es/base-ui/Switch/style.mjs.map +1 -1
- package/es/base-ui/Switch/type.d.mts +3 -7
- package/es/base-ui/Tabs/Tabs.mjs.map +1 -1
- package/es/base-ui/Tabs/atoms.mjs.map +1 -1
- package/es/base-ui/Toast/Toast.mjs.map +1 -1
- package/es/base-ui/Toast/imperative.mjs.map +1 -1
- package/es/base-ui/Tooltip/ArrowIcon.mjs.map +1 -1
- package/es/base-ui/Tooltip/TooltipGroup.mjs.map +1 -1
- package/es/base-ui/Tooltip/TooltipStandalone.mjs.map +1 -1
- package/es/base-ui/index.d.mts +2 -2
- package/es/base-ui/index.mjs +2 -2
- package/es/brand/LobeChat/index.mjs.map +1 -1
- package/es/brand/LobeChatText/index.mjs.map +1 -1
- package/es/brand/LobeHub/index.mjs.map +1 -1
- package/es/brand/LobeHubText/index.mjs.map +1 -1
- package/es/brand/LogoThree/Loading.mjs.map +1 -1
- package/es/brand/LogoThree/LogoSpline.mjs.map +1 -1
- package/es/brand/LogoThree/index.mjs.map +1 -1
- package/es/brand/components/Divider.mjs.map +1 -1
- package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
- package/es/chat/ChatHeader/ChatHeader.mjs.map +1 -1
- package/es/chat/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
- package/es/chat/ChatInputArea/ChatInputArea.mjs.map +1 -1
- package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs.map +1 -1
- package/es/chat/ChatInputArea/components/ChatSendButton.mjs.map +1 -1
- package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
- package/es/chat/ChatItem/components/Actions.mjs.map +1 -1
- package/es/chat/ChatItem/components/Avatar.mjs.map +1 -1
- package/es/chat/ChatItem/components/ErrorContent.mjs.map +1 -1
- package/es/chat/ChatItem/components/Loading.mjs.map +1 -1
- package/es/chat/ChatItem/components/MessageContent.mjs.map +1 -1
- package/es/chat/ChatItem/components/Title.mjs.map +1 -1
- package/es/chat/ChatList/ChatList.mjs.map +1 -1
- package/es/chat/ChatList/components/HistoryDivider.mjs.map +1 -1
- package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
- package/es/chat/EditableMessageList/EditableMessageList.mjs.map +1 -1
- package/es/chat/LoadingDots/LoadingDots.mjs.map +1 -1
- package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
- package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
- package/es/color/ColorScales/ScaleRow.mjs.map +1 -1
- package/es/color/ColorScales/index.mjs.map +1 -1
- package/es/color/CssVar/ScaleRow.mjs.map +1 -1
- package/es/color/CssVar/VarRow.mjs.map +1 -1
- package/es/color/CssVar/index.mjs.map +1 -1
- package/es/hooks/useMarkdown/latex.mjs.map +1 -1
- package/es/hooks/useMarkdown/useMarkdownContent.mjs.map +1 -1
- package/es/hooks/useMermaid.mjs +80 -116
- package/es/hooks/useMermaid.mjs.map +1 -1
- package/es/hooks/useMermaidCdn.d.mts +10 -0
- package/es/hooks/useMermaidCdn.mjs +97 -0
- package/es/hooks/useMermaidCdn.mjs.map +1 -0
- package/es/hooks/useStreamMermaid.mjs +19 -70
- package/es/hooks/useStreamMermaid.mjs.map +1 -1
- package/es/icons/Auth0/components/Mono.mjs.map +1 -1
- package/es/icons/Authelia/components/Color.mjs.map +1 -1
- package/es/icons/Authelia/components/Mono.mjs.map +1 -1
- package/es/icons/Authentik/components/Color.mjs.map +1 -1
- package/es/icons/Authentik/components/Mono.mjs.map +1 -1
- package/es/icons/Casdoor/components/Color.mjs.map +1 -1
- package/es/icons/Casdoor/components/Mono.mjs.map +1 -1
- package/es/icons/Clerk/components/Color.mjs.map +1 -1
- package/es/icons/Clerk/components/Mono.mjs.map +1 -1
- package/es/icons/DingTalk/components/Color.mjs.map +1 -1
- package/es/icons/DingTalk/components/Mono.mjs.map +1 -1
- package/es/icons/Discord/components/Color.mjs.map +1 -1
- package/es/icons/Discord/components/Mono.mjs.map +1 -1
- package/es/icons/GoogleChat/components/Color.mjs.map +1 -1
- package/es/icons/GoogleChat/components/Mono.mjs.map +1 -1
- package/es/icons/IMessage/components/Color.mjs.map +1 -1
- package/es/icons/IMessage/components/Inner.mjs.map +1 -1
- package/es/icons/IMessage/components/Mono.mjs.map +1 -1
- package/es/icons/Lark/components/Color.mjs.map +1 -1
- package/es/icons/Lark/components/Mono.mjs.map +1 -1
- package/es/icons/Line/components/Color.mjs.map +1 -1
- package/es/icons/Line/components/Mono.mjs.map +1 -1
- package/es/icons/Logto/components/Color.mjs.map +1 -1
- package/es/icons/Logto/components/Mono.mjs.map +1 -1
- package/es/icons/MicrosoftEntra/components/Color.mjs.map +1 -1
- package/es/icons/MicrosoftEntra/components/Mono.mjs.map +1 -1
- package/es/icons/MicrosoftTeams/components/Color.mjs.map +1 -1
- package/es/icons/MicrosoftTeams/components/Mono.mjs.map +1 -1
- package/es/icons/NextAuth/components/Color.mjs.map +1 -1
- package/es/icons/NextAuth/components/Mono.mjs.map +1 -1
- package/es/icons/QQ/components/Color.mjs.map +1 -1
- package/es/icons/QQ/components/Mono.mjs.map +1 -1
- package/es/icons/Slack/components/Color.mjs.map +1 -1
- package/es/icons/Slack/components/Mono.mjs.map +1 -1
- package/es/icons/Telegram/components/Color.mjs.map +1 -1
- package/es/icons/Telegram/components/Inner.mjs.map +1 -1
- package/es/icons/Telegram/components/Mono.mjs.map +1 -1
- package/es/icons/WeChat/components/Color.mjs.map +1 -1
- package/es/icons/WeChat/components/Mono.mjs.map +1 -1
- package/es/icons/WhatsApp/components/Color.mjs.map +1 -1
- package/es/icons/WhatsApp/components/Mono.mjs.map +1 -1
- package/es/icons/Zitadel/components/Color.mjs.map +1 -1
- package/es/icons/Zitadel/components/Mono.mjs.map +1 -1
- package/es/index.d.mts +2 -2
- package/es/index.mjs +2 -2
- package/es/mdx/Callout/index.mjs.map +1 -1
- package/es/mdx/Cards/Card.mjs.map +1 -1
- package/es/mdx/FileTree/File.mjs.map +1 -1
- package/es/mdx/FileTree/Folder.mjs.map +1 -1
- package/es/mdx/Mdx/index.mjs.map +1 -1
- package/es/mdx/Tabs/Tab.mjs.map +1 -1
- package/es/mdx/Tabs/index.mjs.map +1 -1
- package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs.map +1 -1
- package/es/mdx/mdxComponents/Citation/index.mjs.map +1 -1
- package/es/mdx/mdxComponents/CodeBlock.mjs.map +1 -1
- package/es/mdx/mdxComponents/Link.mjs.map +1 -1
- package/es/mobile/ChatHeader/ChatHeader.mjs.map +1 -1
- package/es/mobile/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
- package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
- package/es/mobile/TabBar/TabBar.mjs.map +1 -1
- package/es/storybook/StoryBook/index.mjs.map +1 -1
- package/package.json +3 -4
package/es/hooks/useMermaid.mjs
CHANGED
|
@@ -1,133 +1,97 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { prepareInlineMermaidSvg } from "../Mermaid/SyntaxMermaid/prepareInlineSvg.mjs";
|
|
3
|
+
import { createCdnMermaidConfig, renderWithCdnMermaid } from "./useMermaidCdn.mjs";
|
|
4
|
+
import { useEffect, useId, useMemo, useState } from "react";
|
|
5
|
+
import { useThemeMode } from "antd-style";
|
|
6
|
+
import { THEMES, renderMermaidSVG } from "beautiful-mermaid";
|
|
5
7
|
//#region src/hooks/useMermaid.ts
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
/**
|
|
9
|
+
* beautiful-mermaid emits these as CSS custom properties on the SVG root and
|
|
10
|
+
* derives the rest with color-mix(), so pointing them at antd's variables lets
|
|
11
|
+
* the diagram follow the theme through CSS alone — no token subscription, and
|
|
12
|
+
* no re-render (or re-layout) when the appearance changes.
|
|
13
|
+
*/
|
|
14
|
+
const LOBE_THEME_OPTIONS = {
|
|
15
|
+
accent: "var(--ant-color-primary)",
|
|
16
|
+
bg: "var(--ant-color-bg-container)",
|
|
17
|
+
border: "var(--ant-color-border)",
|
|
18
|
+
fg: "var(--ant-color-text)",
|
|
19
|
+
line: "var(--ant-color-text-secondary)",
|
|
20
|
+
muted: "var(--ant-color-text-description)",
|
|
21
|
+
surface: "var(--ant-color-fill-tertiary)",
|
|
22
|
+
transparent: true
|
|
21
23
|
};
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
gantt: { useWidth: 1920 },
|
|
25
|
-
securityLevel,
|
|
26
|
-
startOnLoad: false,
|
|
27
|
-
theme: customTheme || (theme.isDarkMode ? "dark" : "neutral"),
|
|
28
|
-
themeVariables: customTheme ? void 0 : {
|
|
29
|
-
errorBkgColor: theme.colorTextDescription,
|
|
30
|
-
errorTextColor: theme.colorTextDescription,
|
|
31
|
-
fontFamily: theme.fontFamily,
|
|
32
|
-
lineColor: theme.colorTextSecondary,
|
|
33
|
-
mainBkg: theme.colorBgContainer,
|
|
34
|
-
noteBkgColor: theme.colorInfoBg,
|
|
35
|
-
noteTextColor: theme.colorInfoText,
|
|
36
|
-
pie1: theme.geekblue,
|
|
37
|
-
pie2: theme.colorWarning,
|
|
38
|
-
pie3: theme.colorSuccess,
|
|
39
|
-
pie4: theme.colorError,
|
|
40
|
-
primaryBorderColor: theme.colorBorder,
|
|
41
|
-
primaryColor: theme.colorBgContainer,
|
|
42
|
-
primaryTextColor: theme.colorText,
|
|
43
|
-
secondaryBorderColor: theme.colorInfoBorder,
|
|
44
|
-
secondaryColor: theme.colorInfoBg,
|
|
45
|
-
secondaryTextColor: theme.colorInfoText,
|
|
46
|
-
tertiaryBorderColor: theme.colorSuccessBorder,
|
|
47
|
-
tertiaryColor: theme.colorSuccessBg,
|
|
48
|
-
tertiaryTextColor: theme.colorSuccessText,
|
|
49
|
-
textColor: theme.colorText
|
|
50
|
-
}
|
|
51
|
-
});
|
|
24
|
+
const isNamedTheme = (theme) => !!theme && theme !== "lobe-theme" && theme in THEMES;
|
|
25
|
+
const createMermaidOptions = (customTheme) => isNamedTheme(customTheme) ? THEMES[customTheme] : LOBE_THEME_OPTIONS;
|
|
52
26
|
/**
|
|
53
|
-
*
|
|
27
|
+
* beautiful-mermaid covers six diagram types; anything else throws here and is
|
|
28
|
+
* handed to the CDN-loaded upstream mermaid instead.
|
|
54
29
|
*/
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
theme.colorError,
|
|
71
|
-
theme.colorBorder,
|
|
72
|
-
theme.colorInfoBorder,
|
|
73
|
-
theme.colorSuccessBorder,
|
|
74
|
-
theme.colorSuccessBg,
|
|
75
|
-
theme.colorSuccessText,
|
|
76
|
-
theme.colorText,
|
|
77
|
-
customTheme,
|
|
78
|
-
securityLevel
|
|
79
|
-
]);
|
|
80
|
-
const cacheKey = useMemo(() => {
|
|
81
|
-
const hash = content.length < 1e4 ? content : Md5.hashStr(content);
|
|
82
|
-
return [
|
|
83
|
-
id,
|
|
84
|
-
customTheme || (theme.isDarkMode ? "d" : "l"),
|
|
85
|
-
hash
|
|
86
|
-
].filter(Boolean).join("-");
|
|
87
|
-
}, [
|
|
88
|
-
content,
|
|
89
|
-
id,
|
|
90
|
-
theme.isDarkMode,
|
|
91
|
-
customTheme
|
|
92
|
-
]);
|
|
30
|
+
const renderMermaid = (content, scopeId, customTheme) => {
|
|
31
|
+
if (!content) return { svg: "" };
|
|
32
|
+
try {
|
|
33
|
+
return { svg: prepareInlineMermaidSvg(renderMermaidSVG(content, createMermaidOptions(customTheme)), scopeId) };
|
|
34
|
+
} catch {
|
|
35
|
+
return {
|
|
36
|
+
error: "unsupported",
|
|
37
|
+
svg: ""
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const useCdnMermaidFallback = (content, { enabled, theme: customTheme }) => {
|
|
42
|
+
const { isDarkMode } = useThemeMode();
|
|
43
|
+
const reactId = useId();
|
|
44
|
+
const [result, setResult] = useState({ svg: "" });
|
|
93
45
|
useEffect(() => {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
cachedPromise.then((svg) => {
|
|
97
|
-
setData(svg);
|
|
98
|
-
}).catch(() => {});
|
|
46
|
+
if (!enabled || !content) {
|
|
47
|
+
setResult({ svg: "" });
|
|
99
48
|
return;
|
|
100
49
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
})();
|
|
115
|
-
mermaidCache.set(cacheKey, renderPromise);
|
|
116
|
-
cleanupCache();
|
|
117
|
-
renderPromise.then((svg) => {
|
|
118
|
-
if (mermaidCache.get(cacheKey) === renderPromise) setData(svg);
|
|
50
|
+
let active = true;
|
|
51
|
+
setResult({
|
|
52
|
+
loading: true,
|
|
53
|
+
svg: ""
|
|
54
|
+
});
|
|
55
|
+
const config = createCdnMermaidConfig(isDarkMode, isNamedTheme(customTheme) ? customTheme : void 0);
|
|
56
|
+
renderWithCdnMermaid(content, `mermaid-cdn-${reactId.replaceAll(":", "")}`, config).then((svg) => {
|
|
57
|
+
if (!active) return;
|
|
58
|
+
setResult(svg ? { svg } : {
|
|
59
|
+
error: "Failed to render diagram",
|
|
60
|
+
svg: ""
|
|
61
|
+
});
|
|
119
62
|
}).catch(() => {
|
|
120
|
-
if (
|
|
63
|
+
if (active) setResult({
|
|
64
|
+
error: "Failed to render diagram",
|
|
65
|
+
svg: ""
|
|
66
|
+
});
|
|
121
67
|
});
|
|
68
|
+
return () => {
|
|
69
|
+
active = false;
|
|
70
|
+
};
|
|
122
71
|
}, [
|
|
123
|
-
|
|
72
|
+
enabled,
|
|
124
73
|
content,
|
|
125
|
-
|
|
126
|
-
|
|
74
|
+
isDarkMode,
|
|
75
|
+
customTheme,
|
|
76
|
+
reactId
|
|
77
|
+
]);
|
|
78
|
+
return result;
|
|
79
|
+
};
|
|
80
|
+
const useMermaid = (content, { theme: customTheme } = {}) => {
|
|
81
|
+
const reactId = useId();
|
|
82
|
+
const scopeId = useMemo(() => `mermaid-${reactId.replaceAll(":", "")}`, [reactId]);
|
|
83
|
+
const primary = useMemo(() => renderMermaid(content, scopeId, customTheme), [
|
|
84
|
+
content,
|
|
85
|
+
scopeId,
|
|
86
|
+
customTheme
|
|
127
87
|
]);
|
|
128
|
-
|
|
88
|
+
const fallback = useCdnMermaidFallback(content, {
|
|
89
|
+
enabled: Boolean(primary.error),
|
|
90
|
+
theme: customTheme
|
|
91
|
+
});
|
|
92
|
+
return primary.error ? fallback : primary;
|
|
129
93
|
};
|
|
130
94
|
//#endregion
|
|
131
|
-
export {
|
|
95
|
+
export { createMermaidOptions, renderMermaid, useCdnMermaidFallback, useMermaid };
|
|
132
96
|
|
|
133
97
|
//# sourceMappingURL=useMermaid.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMermaid.mjs","names":[],"sources":["../../src/hooks/useMermaid.ts"],"sourcesContent":["'use client';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useMermaid.mjs","names":[],"sources":["../../src/hooks/useMermaid.ts"],"sourcesContent":["'use client';\n\nimport { useThemeMode } from 'antd-style';\nimport { renderMermaidSVG, type RenderOptions, type ThemeName, THEMES } from 'beautiful-mermaid';\nimport { useEffect, useId, useMemo, useState } from 'react';\n\nimport { prepareInlineMermaidSvg } from '@/Mermaid/SyntaxMermaid/prepareInlineSvg';\n\nimport { createCdnMermaidConfig, renderWithCdnMermaid } from './useMermaidCdn';\n\nexport type MermaidThemeName = 'lobe-theme' | ThemeName;\n\nexport interface MermaidRenderResult {\n error?: string;\n loading?: boolean;\n svg: string;\n}\n\n/**\n * beautiful-mermaid emits these as CSS custom properties on the SVG root and\n * derives the rest with color-mix(), so pointing them at antd's variables lets\n * the diagram follow the theme through CSS alone — no token subscription, and\n * no re-render (or re-layout) when the appearance changes.\n */\nconst LOBE_THEME_OPTIONS: RenderOptions = {\n accent: 'var(--ant-color-primary)',\n bg: 'var(--ant-color-bg-container)',\n border: 'var(--ant-color-border)',\n fg: 'var(--ant-color-text)',\n line: 'var(--ant-color-text-secondary)',\n muted: 'var(--ant-color-text-description)',\n surface: 'var(--ant-color-fill-tertiary)',\n transparent: true,\n};\n\nconst isNamedTheme = (theme?: MermaidThemeName): theme is ThemeName =>\n !!theme && theme !== 'lobe-theme' && theme in THEMES;\n\nexport const createMermaidOptions = (customTheme?: MermaidThemeName): RenderOptions =>\n isNamedTheme(customTheme) ? THEMES[customTheme]! : LOBE_THEME_OPTIONS;\n\n/**\n * beautiful-mermaid covers six diagram types; anything else throws here and is\n * handed to the CDN-loaded upstream mermaid instead.\n */\nexport const renderMermaid = (\n content: string,\n scopeId: string,\n customTheme?: MermaidThemeName,\n): MermaidRenderResult => {\n if (!content) return { svg: '' };\n try {\n const svg = renderMermaidSVG(content, createMermaidOptions(customTheme));\n return { svg: prepareInlineMermaidSvg(svg, scopeId) };\n } catch {\n return { error: 'unsupported', svg: '' };\n }\n};\n\nexport const useCdnMermaidFallback = (\n content: string,\n { enabled, theme: customTheme }: { enabled: boolean; theme?: MermaidThemeName },\n): MermaidRenderResult => {\n const { isDarkMode } = useThemeMode();\n const reactId = useId();\n const [result, setResult] = useState<MermaidRenderResult>({ svg: '' });\n\n useEffect(() => {\n if (!enabled || !content) {\n setResult({ svg: '' });\n return;\n }\n\n let active = true;\n setResult({ loading: true, svg: '' });\n\n const config = createCdnMermaidConfig(\n isDarkMode,\n isNamedTheme(customTheme) ? customTheme : undefined,\n );\n\n renderWithCdnMermaid(content, `mermaid-cdn-${reactId.replaceAll(':', '')}`, config)\n .then((svg) => {\n if (!active) return;\n setResult(svg ? { svg } : { error: 'Failed to render diagram', svg: '' });\n })\n .catch(() => {\n if (active) setResult({ error: 'Failed to render diagram', svg: '' });\n });\n\n return () => {\n active = false;\n };\n }, [enabled, content, isDarkMode, customTheme, reactId]);\n\n return result;\n};\n\nexport const useMermaid = (\n content: string,\n { theme: customTheme }: { theme?: MermaidThemeName } = {},\n): MermaidRenderResult => {\n const reactId = useId();\n const scopeId = useMemo(() => `mermaid-${reactId.replaceAll(':', '')}`, [reactId]);\n\n const primary = useMemo(\n () => renderMermaid(content, scopeId, customTheme),\n [content, scopeId, customTheme],\n );\n\n const fallback = useCdnMermaidFallback(content, {\n enabled: Boolean(primary.error),\n theme: customTheme,\n });\n\n return primary.error ? fallback : primary;\n};\n"],"mappings":";;;;;;;;;;;;;AAwBA,MAAM,qBAAoC;CACxC,QAAQ;CACR,IAAI;CACJ,QAAQ;CACR,IAAI;CACJ,MAAM;CACN,OAAO;CACP,SAAS;CACT,aAAa;AACf;AAEA,MAAM,gBAAgB,UACpB,CAAC,CAAC,SAAS,UAAU,gBAAgB,SAAS;AAEhD,MAAa,wBAAwB,gBACnC,aAAa,WAAW,IAAI,OAAO,eAAgB;;;;;AAMrD,MAAa,iBACX,SACA,SACA,gBACwB;CACxB,IAAI,CAAC,SAAS,OAAO,EAAE,KAAK,GAAG;CAC/B,IAAI;EAEF,OAAO,EAAE,KAAK,wBADF,iBAAiB,SAAS,qBAAqB,WAAW,CAC9B,GAAG,OAAO,EAAE;CACtD,QAAQ;EACN,OAAO;GAAE,OAAO;GAAe,KAAK;EAAG;CACzC;AACF;AAEA,MAAa,yBACX,SACA,EAAE,SAAS,OAAO,kBACM;CACxB,MAAM,EAAE,eAAe,aAAa;CACpC,MAAM,UAAU,MAAM;CACtB,MAAM,CAAC,QAAQ,aAAa,SAA8B,EAAE,KAAK,GAAG,CAAC;CAErE,gBAAgB;EACd,IAAI,CAAC,WAAW,CAAC,SAAS;GACxB,UAAU,EAAE,KAAK,GAAG,CAAC;GACrB;EACF;EAEA,IAAI,SAAS;EACb,UAAU;GAAE,SAAS;GAAM,KAAK;EAAG,CAAC;EAEpC,MAAM,SAAS,uBACb,YACA,aAAa,WAAW,IAAI,cAAc,KAAA,CAC5C;EAEA,qBAAqB,SAAS,eAAe,QAAQ,WAAW,KAAK,EAAE,KAAK,MAAM,CAAC,CAChF,MAAM,QAAQ;GACb,IAAI,CAAC,QAAQ;GACb,UAAU,MAAM,EAAE,IAAI,IAAI;IAAE,OAAO;IAA4B,KAAK;GAAG,CAAC;EAC1E,CAAC,CAAC,CACD,YAAY;GACX,IAAI,QAAQ,UAAU;IAAE,OAAO;IAA4B,KAAK;GAAG,CAAC;EACtE,CAAC;EAEH,aAAa;GACX,SAAS;EACX;CACF,GAAG;EAAC;EAAS;EAAS;EAAY;EAAa;CAAO,CAAC;CAEvD,OAAO;AACT;AAEA,MAAa,cACX,SACA,EAAE,OAAO,gBAA8C,CAAC,MAChC;CACxB,MAAM,UAAU,MAAM;CACtB,MAAM,UAAU,cAAc,WAAW,QAAQ,WAAW,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;CAEjF,MAAM,UAAU,cACR,cAAc,SAAS,SAAS,WAAW,GACjD;EAAC;EAAS;EAAS;CAAW,CAChC;CAEA,MAAM,WAAW,sBAAsB,SAAS;EAC9C,SAAS,QAAQ,QAAQ,KAAK;EAC9B,OAAO;CACT,CAAC;CAED,OAAO,QAAQ,QAAQ,WAAW;AACpC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/hooks/useMermaidCdn.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Point the fallback loader at a mirror, or at a self-hosted copy for offline
|
|
4
|
+
* and strict-CSP deployments. Resets any in-flight load.
|
|
5
|
+
*/
|
|
6
|
+
declare const setMermaidCdnUrl: (url: string) => void;
|
|
7
|
+
declare const getMermaidCdnUrl: () => string;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { getMermaidCdnUrl, setMermaidCdnUrl };
|
|
10
|
+
//# sourceMappingURL=useMermaidCdn.d.mts.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
//#region src/hooks/useMermaidCdn.ts
|
|
3
|
+
let mermaidCdnUrl = "https://esm.sh/mermaid@11";
|
|
4
|
+
let mermaidPromise = null;
|
|
5
|
+
/**
|
|
6
|
+
* Point the fallback loader at a mirror, or at a self-hosted copy for offline
|
|
7
|
+
* and strict-CSP deployments. Resets any in-flight load.
|
|
8
|
+
*/
|
|
9
|
+
const setMermaidCdnUrl = (url) => {
|
|
10
|
+
if (url === mermaidCdnUrl) return;
|
|
11
|
+
mermaidCdnUrl = url;
|
|
12
|
+
mermaidPromise = null;
|
|
13
|
+
};
|
|
14
|
+
const getMermaidCdnUrl = () => mermaidCdnUrl;
|
|
15
|
+
const loadCdnMermaid = () => {
|
|
16
|
+
if (typeof window === "undefined") return Promise.resolve(null);
|
|
17
|
+
mermaidPromise ??= import(
|
|
18
|
+
/* @vite-ignore */
|
|
19
|
+
mermaidCdnUrl
|
|
20
|
+
).then((mod) => mod.default ?? mod).catch(() => null);
|
|
21
|
+
return mermaidPromise;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Upstream mermaid runs colour maths over themeVariables, so it needs literal
|
|
25
|
+
* values rather than var() references. Reading antd's CSS variables here keeps
|
|
26
|
+
* the cost off the render path — no theme context subscription, and it only
|
|
27
|
+
* runs for the diagram types that actually fall back to the CDN.
|
|
28
|
+
*/
|
|
29
|
+
const readCssVars = (names) => {
|
|
30
|
+
const result = {};
|
|
31
|
+
if (typeof document === "undefined") return result;
|
|
32
|
+
const computed = globalThis.getComputedStyle(document.documentElement);
|
|
33
|
+
for (const [key, variable] of Object.entries(names)) result[key] = computed.getPropertyValue(variable).trim() || void 0;
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
const createCdnMermaidConfig = (isDarkMode, customTheme) => {
|
|
37
|
+
const token = readCssVars({
|
|
38
|
+
border: "--ant-color-border",
|
|
39
|
+
error: "--ant-color-error",
|
|
40
|
+
fontFamily: "--ant-font-family",
|
|
41
|
+
fontFamilyCode: "--ant-font-family-code",
|
|
42
|
+
infoBg: "--ant-color-info-bg",
|
|
43
|
+
infoBorder: "--ant-color-info-border",
|
|
44
|
+
infoText: "--ant-color-info-text",
|
|
45
|
+
primary: "--ant-color-primary",
|
|
46
|
+
success: "--ant-color-success",
|
|
47
|
+
successBg: "--ant-color-success-bg",
|
|
48
|
+
successBorder: "--ant-color-success-border",
|
|
49
|
+
successText: "--ant-color-success-text",
|
|
50
|
+
text: "--ant-color-text",
|
|
51
|
+
textDescription: "--ant-color-text-description",
|
|
52
|
+
textSecondary: "--ant-color-text-secondary",
|
|
53
|
+
bgContainer: "--ant-color-bg-container",
|
|
54
|
+
warning: "--ant-color-warning"
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
fontFamily: token.fontFamilyCode,
|
|
58
|
+
gantt: { useWidth: 1920 },
|
|
59
|
+
securityLevel: "strict",
|
|
60
|
+
startOnLoad: false,
|
|
61
|
+
theme: customTheme || (isDarkMode ? "dark" : "neutral"),
|
|
62
|
+
themeVariables: customTheme ? void 0 : {
|
|
63
|
+
errorBkgColor: token.textDescription,
|
|
64
|
+
errorTextColor: token.textDescription,
|
|
65
|
+
fontFamily: token.fontFamily,
|
|
66
|
+
lineColor: token.textSecondary,
|
|
67
|
+
mainBkg: token.bgContainer,
|
|
68
|
+
noteBkgColor: token.infoBg,
|
|
69
|
+
noteTextColor: token.infoText,
|
|
70
|
+
pie1: token.primary,
|
|
71
|
+
pie2: token.warning,
|
|
72
|
+
pie3: token.success,
|
|
73
|
+
pie4: token.error,
|
|
74
|
+
primaryBorderColor: token.border,
|
|
75
|
+
primaryColor: token.bgContainer,
|
|
76
|
+
primaryTextColor: token.text,
|
|
77
|
+
secondaryBorderColor: token.infoBorder,
|
|
78
|
+
secondaryColor: token.infoBg,
|
|
79
|
+
secondaryTextColor: token.infoText,
|
|
80
|
+
tertiaryBorderColor: token.successBorder,
|
|
81
|
+
tertiaryColor: token.successBg,
|
|
82
|
+
tertiaryTextColor: token.successText,
|
|
83
|
+
textColor: token.text
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
const renderWithCdnMermaid = async (content, id, config) => {
|
|
88
|
+
const mermaid = await loadCdnMermaid();
|
|
89
|
+
if (!mermaid) return "";
|
|
90
|
+
mermaid.initialize(config);
|
|
91
|
+
const { svg } = await mermaid.render(id, content);
|
|
92
|
+
return svg;
|
|
93
|
+
};
|
|
94
|
+
//#endregion
|
|
95
|
+
export { createCdnMermaidConfig, getMermaidCdnUrl, loadCdnMermaid, renderWithCdnMermaid, setMermaidCdnUrl };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=useMermaidCdn.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMermaidCdn.mjs","names":[],"sources":["../../src/hooks/useMermaidCdn.ts"],"sourcesContent":["'use client';\n\ninterface CdnMermaidConfig {\n fontFamily?: string;\n gantt?: { useWidth?: number };\n securityLevel?: string;\n startOnLoad?: boolean;\n theme?: string;\n themeVariables?: Record<string, string | undefined>;\n}\n\ninterface CdnMermaidApi {\n initialize: (config: CdnMermaidConfig) => void;\n render: (id: string, content: string) => Promise<{ svg: string }>;\n}\n\nconst DEFAULT_MERMAID_CDN_URL = 'https://esm.sh/mermaid@11';\n\nlet mermaidCdnUrl = DEFAULT_MERMAID_CDN_URL;\nlet mermaidPromise: Promise<CdnMermaidApi | null> | null = null;\n\n/**\n * Point the fallback loader at a mirror, or at a self-hosted copy for offline\n * and strict-CSP deployments. Resets any in-flight load.\n */\nexport const setMermaidCdnUrl = (url: string) => {\n if (url === mermaidCdnUrl) return;\n mermaidCdnUrl = url;\n mermaidPromise = null;\n};\n\nexport const getMermaidCdnUrl = () => mermaidCdnUrl;\n\nexport const loadCdnMermaid = (): Promise<CdnMermaidApi | null> => {\n if (typeof window === 'undefined') return Promise.resolve(null);\n\n mermaidPromise ??= import(/* @vite-ignore */ mermaidCdnUrl)\n .then((mod) => (mod.default ?? mod) as CdnMermaidApi)\n .catch(() => null);\n\n return mermaidPromise;\n};\n\n/**\n * Upstream mermaid runs colour maths over themeVariables, so it needs literal\n * values rather than var() references. Reading antd's CSS variables here keeps\n * the cost off the render path — no theme context subscription, and it only\n * runs for the diagram types that actually fall back to the CDN.\n */\nconst readCssVars = <T extends string>(names: Record<T, string>): Record<T, string | undefined> => {\n const result = {} as Record<T, string | undefined>;\n if (typeof document === 'undefined') return result;\n\n const computed = globalThis.getComputedStyle(document.documentElement);\n for (const [key, variable] of Object.entries(names) as [T, string][]) {\n result[key] = computed.getPropertyValue(variable).trim() || undefined;\n }\n return result;\n};\n\nexport const createCdnMermaidConfig = (\n isDarkMode: boolean,\n customTheme?: string,\n): CdnMermaidConfig => {\n const token = readCssVars({\n border: '--ant-color-border',\n error: '--ant-color-error',\n fontFamily: '--ant-font-family',\n fontFamilyCode: '--ant-font-family-code',\n infoBg: '--ant-color-info-bg',\n infoBorder: '--ant-color-info-border',\n infoText: '--ant-color-info-text',\n primary: '--ant-color-primary',\n success: '--ant-color-success',\n successBg: '--ant-color-success-bg',\n successBorder: '--ant-color-success-border',\n successText: '--ant-color-success-text',\n text: '--ant-color-text',\n textDescription: '--ant-color-text-description',\n textSecondary: '--ant-color-text-secondary',\n bgContainer: '--ant-color-bg-container',\n warning: '--ant-color-warning',\n });\n\n return {\n fontFamily: token.fontFamilyCode,\n gantt: { useWidth: 1920 },\n // SECURITY: 'strict' keeps Mermaid from rendering node labels via innerHTML,\n // which would be an XSS vector for model-generated diagram content.\n securityLevel: 'strict',\n startOnLoad: false,\n theme: customTheme || (isDarkMode ? 'dark' : 'neutral'),\n themeVariables: customTheme\n ? undefined\n : {\n errorBkgColor: token.textDescription,\n errorTextColor: token.textDescription,\n fontFamily: token.fontFamily,\n lineColor: token.textSecondary,\n mainBkg: token.bgContainer,\n noteBkgColor: token.infoBg,\n noteTextColor: token.infoText,\n pie1: token.primary,\n pie2: token.warning,\n pie3: token.success,\n pie4: token.error,\n primaryBorderColor: token.border,\n primaryColor: token.bgContainer,\n primaryTextColor: token.text,\n secondaryBorderColor: token.infoBorder,\n secondaryColor: token.infoBg,\n secondaryTextColor: token.infoText,\n tertiaryBorderColor: token.successBorder,\n tertiaryColor: token.successBg,\n tertiaryTextColor: token.successText,\n textColor: token.text,\n },\n };\n};\n\nexport const renderWithCdnMermaid = async (\n content: string,\n id: string,\n config: CdnMermaidConfig,\n): Promise<string> => {\n const mermaid = await loadCdnMermaid();\n if (!mermaid) return '';\n\n mermaid.initialize(config);\n const { svg } = await mermaid.render(id, content);\n return svg;\n};\n"],"mappings":";;AAkBA,IAAI,gBAAgB;AACpB,IAAI,iBAAuD;;;;;AAM3D,MAAa,oBAAoB,QAAgB;CAC/C,IAAI,QAAQ,eAAe;CAC3B,gBAAgB;CAChB,iBAAiB;AACnB;AAEA,MAAa,yBAAyB;AAEtC,MAAa,uBAAsD;CACjE,IAAI,OAAO,WAAW,aAAa,OAAO,QAAQ,QAAQ,IAAI;CAE9D,mBAAmB;;EAA0B;CAAc,CACxD,MAAM,QAAS,IAAI,WAAW,GAAqB,CAAC,CACpD,YAAY,IAAI;CAEnB,OAAO;AACT;;;;;;;AAQA,MAAM,eAAiC,UAA4D;CACjG,MAAM,SAAS,CAAC;CAChB,IAAI,OAAO,aAAa,aAAa,OAAO;CAE5C,MAAM,WAAW,WAAW,iBAAiB,SAAS,eAAe;CACrE,KAAK,MAAM,CAAC,KAAK,aAAa,OAAO,QAAQ,KAAK,GAChD,OAAO,OAAO,SAAS,iBAAiB,QAAQ,CAAC,CAAC,KAAK,KAAK,KAAA;CAE9D,OAAO;AACT;AAEA,MAAa,0BACX,YACA,gBACqB;CACrB,MAAM,QAAQ,YAAY;EACxB,QAAQ;EACR,OAAO;EACP,YAAY;EACZ,gBAAgB;EAChB,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;EACT,WAAW;EACX,eAAe;EACf,aAAa;EACb,MAAM;EACN,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,SAAS;CACX,CAAC;CAED,OAAO;EACL,YAAY,MAAM;EAClB,OAAO,EAAE,UAAU,KAAK;EAGxB,eAAe;EACf,aAAa;EACb,OAAO,gBAAgB,aAAa,SAAS;EAC7C,gBAAgB,cACZ,KAAA,IACA;GACE,eAAe,MAAM;GACrB,gBAAgB,MAAM;GACtB,YAAY,MAAM;GAClB,WAAW,MAAM;GACjB,SAAS,MAAM;GACf,cAAc,MAAM;GACpB,eAAe,MAAM;GACrB,MAAM,MAAM;GACZ,MAAM,MAAM;GACZ,MAAM,MAAM;GACZ,MAAM,MAAM;GACZ,oBAAoB,MAAM;GAC1B,cAAc,MAAM;GACpB,kBAAkB,MAAM;GACxB,sBAAsB,MAAM;GAC5B,gBAAgB,MAAM;GACtB,oBAAoB,MAAM;GAC1B,qBAAqB,MAAM;GAC3B,eAAe,MAAM;GACrB,mBAAmB,MAAM;GACzB,WAAW,MAAM;EACnB;CACN;AACF;AAEA,MAAa,uBAAuB,OAClC,SACA,IACA,WACoB;CACpB,MAAM,UAAU,MAAM,eAAe;CACrC,IAAI,CAAC,SAAS,OAAO;CAErB,QAAQ,WAAW,MAAM;CACzB,MAAM,EAAE,QAAQ,MAAM,QAAQ,OAAO,IAAI,OAAO;CAChD,OAAO;AACT"}
|
|
@@ -1,83 +1,32 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { useEffect,
|
|
4
|
-
import { useTheme } from "antd-style";
|
|
2
|
+
import { renderMermaid, useCdnMermaidFallback } from "./useMermaid.mjs";
|
|
3
|
+
import { useEffect, useId, useMemo, useState } from "react";
|
|
5
4
|
//#region src/hooks/useStreamMermaid.ts
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const [data, setData] = useState("");
|
|
12
|
-
const previousContentRef = useRef("");
|
|
13
|
-
const latestContentRef = useRef(content);
|
|
14
|
-
const renderTimeoutRef = useRef(void 0);
|
|
15
|
-
const mermaidConfig = useMemo(() => createMermaidConfig(theme, customTheme), [
|
|
16
|
-
theme.fontFamilyCode,
|
|
17
|
-
theme.isDarkMode,
|
|
18
|
-
theme.colorTextDescription,
|
|
19
|
-
theme.fontFamily,
|
|
20
|
-
theme.colorTextSecondary,
|
|
21
|
-
theme.colorBgContainer,
|
|
22
|
-
theme.colorInfoBg,
|
|
23
|
-
theme.colorInfoText,
|
|
24
|
-
theme.geekblue,
|
|
25
|
-
theme.colorWarning,
|
|
26
|
-
theme.colorSuccess,
|
|
27
|
-
theme.colorError,
|
|
28
|
-
theme.colorBorder,
|
|
29
|
-
theme.colorInfoBorder,
|
|
30
|
-
theme.colorSuccessBorder,
|
|
31
|
-
theme.colorSuccessBg,
|
|
32
|
-
theme.colorSuccessText,
|
|
33
|
-
theme.colorText,
|
|
34
|
-
customTheme
|
|
35
|
-
]);
|
|
5
|
+
const EMPTY = { svg: "" };
|
|
6
|
+
const useStreamMermaid = (content, { enabled = true, theme: customTheme }) => {
|
|
7
|
+
const reactId = useId();
|
|
8
|
+
const scopeId = useMemo(() => `mermaid-${reactId.replaceAll(":", "")}`, [reactId]);
|
|
9
|
+
const [primary, setPrimary] = useState(EMPTY);
|
|
36
10
|
useEffect(() => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
if (!enabled) {
|
|
41
|
-
setData("");
|
|
42
|
-
previousContentRef.current = "";
|
|
43
|
-
const timeoutId = renderTimeoutRef.current;
|
|
44
|
-
if (timeoutId) clearTimeout(timeoutId);
|
|
11
|
+
if (!enabled || !content) {
|
|
12
|
+
setPrimary(EMPTY);
|
|
45
13
|
return;
|
|
46
14
|
}
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
const timeoutId = renderTimeoutRef.current;
|
|
50
|
-
if (timeoutId) clearTimeout(timeoutId);
|
|
51
|
-
renderTimeoutRef.current = setTimeout(async () => {
|
|
52
|
-
const contentToRender = latestContentRef.current;
|
|
53
|
-
if (contentToRender !== currentContent) return;
|
|
54
|
-
try {
|
|
55
|
-
const mermaidInstance = await loadMermaid();
|
|
56
|
-
if (!mermaidInstance) return;
|
|
57
|
-
if (await mermaidInstance.parse(contentToRender)) {
|
|
58
|
-
mermaidInstance.initialize(mermaidConfig);
|
|
59
|
-
const { svg } = await mermaidInstance.render(id, contentToRender);
|
|
60
|
-
if (latestContentRef.current === contentToRender) {
|
|
61
|
-
setData(svg);
|
|
62
|
-
previousContentRef.current = contentToRender;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
} catch (error_) {
|
|
66
|
-
if (contentToRender === latestContentRef.current) console.error("Mermaid 解析错误:", error_);
|
|
67
|
-
}
|
|
15
|
+
const timer = setTimeout(() => {
|
|
16
|
+
setPrimary(renderMermaid(content, scopeId, customTheme));
|
|
68
17
|
}, 300);
|
|
69
|
-
return () =>
|
|
70
|
-
const timeoutId = renderTimeoutRef.current;
|
|
71
|
-
if (timeoutId) clearTimeout(timeoutId);
|
|
72
|
-
};
|
|
18
|
+
return () => clearTimeout(timer);
|
|
73
19
|
}, [
|
|
74
20
|
enabled,
|
|
75
21
|
content,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
data
|
|
22
|
+
scopeId,
|
|
23
|
+
customTheme
|
|
79
24
|
]);
|
|
80
|
-
|
|
25
|
+
const fallback = useCdnMermaidFallback(content, {
|
|
26
|
+
enabled: enabled && Boolean(primary.error),
|
|
27
|
+
theme: customTheme
|
|
28
|
+
});
|
|
29
|
+
return primary.error ? fallback : primary;
|
|
81
30
|
};
|
|
82
31
|
//#endregion
|
|
83
32
|
export { useStreamMermaid };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStreamMermaid.mjs","names":[],"sources":["../../src/hooks/useStreamMermaid.ts"],"sourcesContent":["'use client';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useStreamMermaid.mjs","names":[],"sources":["../../src/hooks/useStreamMermaid.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useId, useMemo, useState } from 'react';\n\nimport {\n type MermaidRenderResult,\n type MermaidThemeName,\n renderMermaid,\n useCdnMermaidFallback,\n} from './useMermaid';\n\nconst EMPTY: MermaidRenderResult = { svg: '' };\n\nexport const useStreamMermaid = (\n content: string,\n {\n enabled = true,\n theme: customTheme,\n }: {\n enabled?: boolean;\n theme?: MermaidThemeName;\n },\n): MermaidRenderResult => {\n const reactId = useId();\n const scopeId = useMemo(() => `mermaid-${reactId.replaceAll(':', '')}`, [reactId]);\n const [primary, setPrimary] = useState<MermaidRenderResult>(EMPTY);\n\n useEffect(() => {\n if (!enabled || !content) {\n setPrimary(EMPTY);\n return;\n }\n\n // Debounce rendering so streaming content only re-renders after it settles\n const timer = setTimeout(() => {\n setPrimary(renderMermaid(content, scopeId, customTheme));\n }, 300);\n\n return () => clearTimeout(timer);\n }, [enabled, content, scopeId, customTheme]);\n\n const fallback = useCdnMermaidFallback(content, {\n enabled: enabled && Boolean(primary.error),\n theme: customTheme,\n });\n\n return primary.error ? fallback : primary;\n};\n"],"mappings":";;;;AAWA,MAAM,QAA6B,EAAE,KAAK,GAAG;AAE7C,MAAa,oBACX,SACA,EACE,UAAU,MACV,OAAO,kBAKe;CACxB,MAAM,UAAU,MAAM;CACtB,MAAM,UAAU,cAAc,WAAW,QAAQ,WAAW,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;CACjF,MAAM,CAAC,SAAS,cAAc,SAA8B,KAAK;CAEjE,gBAAgB;EACd,IAAI,CAAC,WAAW,CAAC,SAAS;GACxB,WAAW,KAAK;GAChB;EACF;EAGA,MAAM,QAAQ,iBAAiB;GAC7B,WAAW,cAAc,SAAS,SAAS,WAAW,CAAC;EACzD,GAAG,GAAG;EAEN,aAAa,aAAa,KAAK;CACjC,GAAG;EAAC;EAAS;EAAS;EAAS;CAAW,CAAC;CAE3C,MAAM,WAAW,sBAAsB,SAAS;EAC9C,SAAS,WAAW,QAAQ,QAAQ,KAAK;EACzC,OAAO;CACT,CAAC;CAED,OAAO,QAAQ,QAAQ,WAAW;AACpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mono.mjs","names":[],"sources":["../../../../src/icons/Auth0/components/Mono.tsx"],"sourcesContent":["'use client';\n\nimport type { IconType } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n return (\n <svg\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path d=\"M3.264 10.418c3.928-.648 7.008-3.9 7.653-7.834l.216-1.891c.054-.3-.15-.72-.529-.69-2.968.232-5.769 1.213-7.327 1.85A2.058 2.058 0 002 3.76v6.169c0 .365.328.644.688.586l.576-.094v-.003zM12.812 2.584c.647 3.934 3.726 7.186 7.652 7.835l.577.094c.36.06.688-.219.688-.586v-6.17c0-.836-.504-1.588-1.278-1.905-1.56-.64-4.358-1.619-7.326-1.85-.382-.03-.577.392-.532.689l.216 1.89.003.003zM20.461 12.146c-5.368 1.06-7.86 4.635-7.86 11.4 0 .34.336.576.62.387 2.468-1.668 7.9-6.021 8.46-11.467.021-.684-.834-.362-1.22-.32zM3.266 12.146c5.369 1.06 7.86 4.635 7.86 11.4 0 .34-.336.576-.618.387-2.47-1.668-7.902-6.021-8.461-11.467-.021-.684.834-.362 1.22-.32z\" />\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,OACE,qBAAC,OAAD;EACE,MAAK;EACL,UAAS;EACT,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;
|
|
1
|
+
{"version":3,"file":"Mono.mjs","names":[],"sources":["../../../../src/icons/Auth0/components/Mono.tsx"],"sourcesContent":["'use client';\n\nimport type { IconType } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n return (\n <svg\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path d=\"M3.264 10.418c3.928-.648 7.008-3.9 7.653-7.834l.216-1.891c.054-.3-.15-.72-.529-.69-2.968.232-5.769 1.213-7.327 1.85A2.058 2.058 0 002 3.76v6.169c0 .365.328.644.688.586l.576-.094v-.003zM12.812 2.584c.647 3.934 3.726 7.186 7.652 7.835l.577.094c.36.06.688-.219.688-.586v-6.17c0-.836-.504-1.588-1.278-1.905-1.56-.64-4.358-1.619-7.326-1.85-.382-.03-.577.392-.532.689l.216 1.89.003.003zM20.461 12.146c-5.368 1.06-7.86 4.635-7.86 11.4 0 .34.336.576.62.387 2.468-1.668 7.9-6.021 8.46-11.467.021-.684-.834-.362-1.22-.32zM3.266 12.146c5.369 1.06 7.86 4.635 7.86 11.4 0 .34-.336.576-.618.387-2.47-1.668-7.902-6.021-8.461-11.467-.021-.684.834-.362 1.22-.32z\" />\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,OACE,qBAAC,OAAD;EACE,MAAK;EACL,UAAS;EACT,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;EARN,UAAA,CAUE,oBAAC,SAAD,EAAA,UAAQ,MAAa,CAAA,GACrB,oBAAC,QAAD,EAAM,GAAE,woBAAyoB,CAAA,CAC9oB;;AAET,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.mjs","names":[],"sources":["../../../../src/icons/Authelia/components/Color.tsx"],"sourcesContent":["'use client';\n\nimport { type IconType, useFillIds } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n const [a, b, c, d, e] = useFillIds(TITLE, 5);\n return (\n <svg\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path\n d=\"M12.04 17.99c-3.312-.001-6.044-2.719-6.02-6.025.025-3.47 2.905-6.036 6.073-6.003 3.13.032 5.968 2.485 5.977 6.02.009 3.409-2.727 6.002-6.03 6.008zm1.567-8.38c.002-.767-.447-1.372-1.153-1.555a1.572 1.572 0 00-1.766.745c-.365.647-.268 1.384.311 1.9.284.252.308.491.22.828-.264 1.013-.501 2.034-.752 3.052-.092.376.008.697.299.944.609.515 1.718.565 2.377.118.472-.321.591-.579.464-1.132-.242-1.056-.498-2.11-.762-3.161-.06-.237-.037-.395.172-.56.375-.292.615-.675.59-1.179z\"\n fill={a.fill}\n />\n <path\n d=\"M11.995 20.95c-4.258.137-8.345-3.09-8.918-7.86C2.703 9.98 3.654 7.307 6 5.198c.538-.485 1.192-.85 1.82-1.224.488-.29.899-.165 1.15.265.259.444.134.847-.348 1.169-.449.3-.92.577-1.333.923-1.53 1.283-2.384 2.938-2.567 4.923-.167 1.815.234 3.506 1.32 4.978 1.42 1.926 3.35 2.961 5.753 3.05 2.141.081 3.982-.679 5.459-2.198.6-.618 1.017-1.42 1.488-2.156.262-.41.613-.617 1.01-.496.503.153.766.599.521 1.11-.34.711-.71 1.432-1.198 2.045-1.565 1.971-3.651 3.046-6.14 3.356a.858.858 0 01-.108.007h-.832z\"\n fill={b.fill}\n />\n <path\n d=\"M0 12.325C.04 9.042.96 6.549 2.744 4.38 4.546 2.19 6.851.806 9.637.27c.57-.11 1.175-.056 1.763-.054.31.001.471.207.526.5.06.33-.091.748-.378.869a3.297 3.297 0 01-.834.2c-1.945.258-3.703.966-5.214 2.22-2.138 1.773-3.437 4.026-3.746 6.81-.3 2.72.41 5.173 2.018 7.372.248.34.549.638.808.97.379.486.352.863-.064 1.235-.35.313-.78.272-1.177-.133a11.342 11.342 0 01-3.02-5.576C.114 13.76.061 12.805 0 12.325z\"\n fill={c.fill}\n />\n <path\n d=\"M13.268 23.77c-.12 0-.241.006-.362-.002-.452-.031-.758-.296-.802-.687-.047-.422.221-.788.679-.889.317-.07.641-.102.961-.16 3.216-.58 5.648-2.272 7.27-5.12a9.973 9.973 0 001.317-4.754 9.52 9.52 0 00-.65-3.748c-.074-.188-.114-.432-.062-.62.099-.35.337-.611.74-.642.375-.03.697.141.84.554.23.67.453 1.35.582 2.045.469 2.509.193 4.941-.907 7.255-.894 1.883-2.186 3.447-3.893 4.658-1.518 1.077-3.187 1.784-5.032 2.062-.226.034-.454.047-.68.07l-.001-.023z\"\n fill={d.fill}\n />\n <path\n d=\"M20.84 10.15c0 .494-.248.806-.674.882-.41.074-.752-.143-.915-.585-.216-.585-.388-1.192-.651-1.755-.694-1.48-1.812-2.557-3.27-3.287-.119-.059-.24-.115-.354-.18-.442-.248-.61-.709-.42-1.131.198-.441.632-.643 1.116-.403.653.324 1.307.677 1.886 1.117 1.625 1.235 2.67 2.877 3.203 4.845.028.105.05.212.068.318.01.07.009.143.01.179z\"\n fill={e.fill}\n />\n <defs>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={a.id}\n x1=\"-.251\"\n x2=\"23.906\"\n y1=\"11.923\"\n y2=\"12.026\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={b.id}\n x1=\"-.253\"\n x2=\"23.905\"\n y1=\"12.342\"\n y2=\"12.446\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={c.id}\n x1=\"-.245\"\n x2=\"23.913\"\n y1=\"10.367\"\n y2=\"10.47\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={d.id}\n x1=\"-.266\"\n x2=\"23.892\"\n y1=\"15.39\"\n y2=\"15.493\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={e.id}\n x1=\"-.231\"\n x2=\"23.926\"\n y1=\"7.241\"\n y2=\"7.344\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n </defs>\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,WAAW,OAAO,CAAC;CAC3C,OACE,qBAAC,OAAD;EACE,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;
|
|
1
|
+
{"version":3,"file":"Color.mjs","names":[],"sources":["../../../../src/icons/Authelia/components/Color.tsx"],"sourcesContent":["'use client';\n\nimport { type IconType, useFillIds } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n const [a, b, c, d, e] = useFillIds(TITLE, 5);\n return (\n <svg\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path\n d=\"M12.04 17.99c-3.312-.001-6.044-2.719-6.02-6.025.025-3.47 2.905-6.036 6.073-6.003 3.13.032 5.968 2.485 5.977 6.02.009 3.409-2.727 6.002-6.03 6.008zm1.567-8.38c.002-.767-.447-1.372-1.153-1.555a1.572 1.572 0 00-1.766.745c-.365.647-.268 1.384.311 1.9.284.252.308.491.22.828-.264 1.013-.501 2.034-.752 3.052-.092.376.008.697.299.944.609.515 1.718.565 2.377.118.472-.321.591-.579.464-1.132-.242-1.056-.498-2.11-.762-3.161-.06-.237-.037-.395.172-.56.375-.292.615-.675.59-1.179z\"\n fill={a.fill}\n />\n <path\n d=\"M11.995 20.95c-4.258.137-8.345-3.09-8.918-7.86C2.703 9.98 3.654 7.307 6 5.198c.538-.485 1.192-.85 1.82-1.224.488-.29.899-.165 1.15.265.259.444.134.847-.348 1.169-.449.3-.92.577-1.333.923-1.53 1.283-2.384 2.938-2.567 4.923-.167 1.815.234 3.506 1.32 4.978 1.42 1.926 3.35 2.961 5.753 3.05 2.141.081 3.982-.679 5.459-2.198.6-.618 1.017-1.42 1.488-2.156.262-.41.613-.617 1.01-.496.503.153.766.599.521 1.11-.34.711-.71 1.432-1.198 2.045-1.565 1.971-3.651 3.046-6.14 3.356a.858.858 0 01-.108.007h-.832z\"\n fill={b.fill}\n />\n <path\n d=\"M0 12.325C.04 9.042.96 6.549 2.744 4.38 4.546 2.19 6.851.806 9.637.27c.57-.11 1.175-.056 1.763-.054.31.001.471.207.526.5.06.33-.091.748-.378.869a3.297 3.297 0 01-.834.2c-1.945.258-3.703.966-5.214 2.22-2.138 1.773-3.437 4.026-3.746 6.81-.3 2.72.41 5.173 2.018 7.372.248.34.549.638.808.97.379.486.352.863-.064 1.235-.35.313-.78.272-1.177-.133a11.342 11.342 0 01-3.02-5.576C.114 13.76.061 12.805 0 12.325z\"\n fill={c.fill}\n />\n <path\n d=\"M13.268 23.77c-.12 0-.241.006-.362-.002-.452-.031-.758-.296-.802-.687-.047-.422.221-.788.679-.889.317-.07.641-.102.961-.16 3.216-.58 5.648-2.272 7.27-5.12a9.973 9.973 0 001.317-4.754 9.52 9.52 0 00-.65-3.748c-.074-.188-.114-.432-.062-.62.099-.35.337-.611.74-.642.375-.03.697.141.84.554.23.67.453 1.35.582 2.045.469 2.509.193 4.941-.907 7.255-.894 1.883-2.186 3.447-3.893 4.658-1.518 1.077-3.187 1.784-5.032 2.062-.226.034-.454.047-.68.07l-.001-.023z\"\n fill={d.fill}\n />\n <path\n d=\"M20.84 10.15c0 .494-.248.806-.674.882-.41.074-.752-.143-.915-.585-.216-.585-.388-1.192-.651-1.755-.694-1.48-1.812-2.557-3.27-3.287-.119-.059-.24-.115-.354-.18-.442-.248-.61-.709-.42-1.131.198-.441.632-.643 1.116-.403.653.324 1.307.677 1.886 1.117 1.625 1.235 2.67 2.877 3.203 4.845.028.105.05.212.068.318.01.07.009.143.01.179z\"\n fill={e.fill}\n />\n <defs>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={a.id}\n x1=\"-.251\"\n x2=\"23.906\"\n y1=\"11.923\"\n y2=\"12.026\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={b.id}\n x1=\"-.253\"\n x2=\"23.905\"\n y1=\"12.342\"\n y2=\"12.446\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={c.id}\n x1=\"-.245\"\n x2=\"23.913\"\n y1=\"10.367\"\n y2=\"10.47\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={d.id}\n x1=\"-.266\"\n x2=\"23.892\"\n y1=\"15.39\"\n y2=\"15.493\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={e.id}\n x1=\"-.231\"\n x2=\"23.926\"\n y1=\"7.241\"\n y2=\"7.344\"\n >\n <stop stopColor=\"#3F51B4\" />\n <stop offset=\"1\" stopColor=\"#113155\" />\n </linearGradient>\n </defs>\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,WAAW,OAAO,CAAC;CAC3C,OACE,qBAAC,OAAD;EACE,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;EANN,UAAA;GAQE,oBAAC,SAAD,EAAA,UAAQ,MAAa,CAAA;GACrB,oBAAC,QAAD;IACE,GAAE;IACF,MAAM,EAAE;GACT,CAAA;GACD,oBAAC,QAAD;IACE,GAAE;IACF,MAAM,EAAE;GACT,CAAA;GACD,oBAAC,QAAD;IACE,GAAE;IACF,MAAM,EAAE;GACT,CAAA;GACD,oBAAC,QAAD;IACE,GAAE;IACF,MAAM,EAAE;GACT,CAAA;GACD,oBAAC,QAAD;IACE,GAAE;IACF,MAAM,EAAE;GACT,CAAA;GACD,qBAAC,QAAD,EAAA,UAAA;IACE,qBAAC,kBAAD;KACE,eAAc;KACd,IAAI,EAAE;KACN,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG;KANL,UAAA,CAQE,oBAAC,QAAD,EAAM,WAAU,UAAW,CAAA,GAC3B,oBAAC,QAAD;MAAM,QAAO;MAAI,WAAU;KAAW,CAAA,CACxB;;IAChB,qBAAC,kBAAD;KACE,eAAc;KACd,IAAI,EAAE;KACN,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG;KANL,UAAA,CAQE,oBAAC,QAAD,EAAM,WAAU,UAAW,CAAA,GAC3B,oBAAC,QAAD;MAAM,QAAO;MAAI,WAAU;KAAW,CAAA,CACxB;;IAChB,qBAAC,kBAAD;KACE,eAAc;KACd,IAAI,EAAE;KACN,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG;KANL,UAAA,CAQE,oBAAC,QAAD,EAAM,WAAU,UAAW,CAAA,GAC3B,oBAAC,QAAD;MAAM,QAAO;MAAI,WAAU;KAAW,CAAA,CACxB;;IAChB,qBAAC,kBAAD;KACE,eAAc;KACd,IAAI,EAAE;KACN,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG;KANL,UAAA,CAQE,oBAAC,QAAD,EAAM,WAAU,UAAW,CAAA,GAC3B,oBAAC,QAAD;MAAM,QAAO;MAAI,WAAU;KAAW,CAAA,CACxB;;IAChB,qBAAC,kBAAD;KACE,eAAc;KACd,IAAI,EAAE;KACN,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG;KANL,UAAA,CAQE,oBAAC,QAAD,EAAM,WAAU,UAAW,CAAA,GAC3B,oBAAC,QAAD;MAAM,QAAO;MAAI,WAAU;KAAW,CAAA,CACxB;;GACZ,EAAA,CAAA;EACH;;AAET,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mono.mjs","names":[],"sources":["../../../../src/icons/Authelia/components/Mono.tsx"],"sourcesContent":["'use client';\n\nimport type { IconType } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n return (\n <svg\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path d=\"M12.04 17.99c-3.312-.001-6.044-2.719-6.02-6.025.025-3.47 2.905-6.036 6.073-6.003 3.13.032 5.968 2.485 5.977 6.02.009 3.409-2.727 6.002-6.03 6.008zm1.567-8.38c.002-.767-.447-1.372-1.153-1.555a1.572 1.572 0 00-1.766.745c-.365.647-.268 1.384.311 1.9.284.252.308.491.22.828-.264 1.013-.501 2.034-.752 3.052-.092.376.008.697.299.944.609.515 1.718.565 2.377.118.472-.321.591-.579.464-1.132-.242-1.056-.498-2.11-.762-3.161-.06-.237-.037-.395.172-.56.375-.292.615-.675.59-1.179z\" />\n <path d=\"M11.995 20.95c-4.258.137-8.345-3.09-8.918-7.86C2.703 9.98 3.654 7.307 6 5.198c.538-.485 1.192-.85 1.82-1.224.488-.29.899-.165 1.15.265.259.444.134.847-.348 1.169-.449.3-.92.577-1.333.923-1.53 1.283-2.384 2.938-2.567 4.923-.167 1.815.234 3.506 1.32 4.978 1.42 1.926 3.35 2.961 5.753 3.05 2.141.081 3.982-.679 5.459-2.198.6-.618 1.017-1.42 1.488-2.156.262-.41.613-.617 1.01-.496.503.153.766.599.521 1.11-.34.711-.71 1.432-1.198 2.045-1.565 1.971-3.651 3.046-6.14 3.356a.858.858 0 01-.108.007h-.832z\" />\n <path d=\"M0 12.325C.04 9.042.96 6.549 2.744 4.38 4.546 2.19 6.851.806 9.637.27c.57-.11 1.175-.056 1.763-.054.31.001.471.207.526.5.06.33-.091.748-.378.869a3.297 3.297 0 01-.834.2c-1.945.258-3.703.966-5.214 2.22-2.138 1.773-3.437 4.026-3.746 6.81-.3 2.72.41 5.173 2.018 7.372.248.34.549.638.808.97.379.486.352.863-.064 1.235-.35.313-.78.272-1.177-.133a11.342 11.342 0 01-3.02-5.576C.114 13.76.061 12.805 0 12.325z\" />\n <path d=\"M13.268 23.77c-.12 0-.241.006-.362-.002-.452-.031-.758-.296-.802-.687-.047-.422.221-.788.679-.889.317-.07.641-.102.961-.16 3.216-.58 5.648-2.272 7.27-5.12a9.973 9.973 0 001.317-4.754 9.52 9.52 0 00-.65-3.748c-.074-.188-.114-.432-.062-.62.099-.35.337-.611.74-.642.375-.03.697.141.84.554.23.67.453 1.35.582 2.045.469 2.509.193 4.941-.907 7.255-.894 1.883-2.186 3.447-3.893 4.658-1.518 1.077-3.187 1.784-5.032 2.062-.226.034-.454.047-.68.07l-.001-.023z\" />\n <path d=\"M20.84 10.15c0 .494-.248.806-.674.882-.41.074-.752-.143-.915-.585-.216-.585-.388-1.192-.651-1.755-.694-1.48-1.812-2.557-3.27-3.287-.119-.059-.24-.115-.354-.18-.442-.248-.61-.709-.42-1.131.198-.441.632-.643 1.116-.403.653.324 1.307.677 1.886 1.117 1.625 1.235 2.67 2.877 3.203 4.845.028.105.05.212.068.318.01.07.009.143.01.179z\" />\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,OACE,qBAAC,OAAD;EACE,MAAK;EACL,UAAS;EACT,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;
|
|
1
|
+
{"version":3,"file":"Mono.mjs","names":[],"sources":["../../../../src/icons/Authelia/components/Mono.tsx"],"sourcesContent":["'use client';\n\nimport type { IconType } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n return (\n <svg\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path d=\"M12.04 17.99c-3.312-.001-6.044-2.719-6.02-6.025.025-3.47 2.905-6.036 6.073-6.003 3.13.032 5.968 2.485 5.977 6.02.009 3.409-2.727 6.002-6.03 6.008zm1.567-8.38c.002-.767-.447-1.372-1.153-1.555a1.572 1.572 0 00-1.766.745c-.365.647-.268 1.384.311 1.9.284.252.308.491.22.828-.264 1.013-.501 2.034-.752 3.052-.092.376.008.697.299.944.609.515 1.718.565 2.377.118.472-.321.591-.579.464-1.132-.242-1.056-.498-2.11-.762-3.161-.06-.237-.037-.395.172-.56.375-.292.615-.675.59-1.179z\" />\n <path d=\"M11.995 20.95c-4.258.137-8.345-3.09-8.918-7.86C2.703 9.98 3.654 7.307 6 5.198c.538-.485 1.192-.85 1.82-1.224.488-.29.899-.165 1.15.265.259.444.134.847-.348 1.169-.449.3-.92.577-1.333.923-1.53 1.283-2.384 2.938-2.567 4.923-.167 1.815.234 3.506 1.32 4.978 1.42 1.926 3.35 2.961 5.753 3.05 2.141.081 3.982-.679 5.459-2.198.6-.618 1.017-1.42 1.488-2.156.262-.41.613-.617 1.01-.496.503.153.766.599.521 1.11-.34.711-.71 1.432-1.198 2.045-1.565 1.971-3.651 3.046-6.14 3.356a.858.858 0 01-.108.007h-.832z\" />\n <path d=\"M0 12.325C.04 9.042.96 6.549 2.744 4.38 4.546 2.19 6.851.806 9.637.27c.57-.11 1.175-.056 1.763-.054.31.001.471.207.526.5.06.33-.091.748-.378.869a3.297 3.297 0 01-.834.2c-1.945.258-3.703.966-5.214 2.22-2.138 1.773-3.437 4.026-3.746 6.81-.3 2.72.41 5.173 2.018 7.372.248.34.549.638.808.97.379.486.352.863-.064 1.235-.35.313-.78.272-1.177-.133a11.342 11.342 0 01-3.02-5.576C.114 13.76.061 12.805 0 12.325z\" />\n <path d=\"M13.268 23.77c-.12 0-.241.006-.362-.002-.452-.031-.758-.296-.802-.687-.047-.422.221-.788.679-.889.317-.07.641-.102.961-.16 3.216-.58 5.648-2.272 7.27-5.12a9.973 9.973 0 001.317-4.754 9.52 9.52 0 00-.65-3.748c-.074-.188-.114-.432-.062-.62.099-.35.337-.611.74-.642.375-.03.697.141.84.554.23.67.453 1.35.582 2.045.469 2.509.193 4.941-.907 7.255-.894 1.883-2.186 3.447-3.893 4.658-1.518 1.077-3.187 1.784-5.032 2.062-.226.034-.454.047-.68.07l-.001-.023z\" />\n <path d=\"M20.84 10.15c0 .494-.248.806-.674.882-.41.074-.752-.143-.915-.585-.216-.585-.388-1.192-.651-1.755-.694-1.48-1.812-2.557-3.27-3.287-.119-.059-.24-.115-.354-.18-.442-.248-.61-.709-.42-1.131.198-.441.632-.643 1.116-.403.653.324 1.307.677 1.886 1.117 1.625 1.235 2.67 2.877 3.203 4.845.028.105.05.212.068.318.01.07.009.143.01.179z\" />\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,OACE,qBAAC,OAAD;EACE,MAAK;EACL,UAAS;EACT,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;EARN,UAAA;GAUE,oBAAC,SAAD,EAAA,UAAQ,MAAa,CAAA;GACrB,oBAAC,QAAD,EAAM,GAAE,ydAA0d,CAAA;GACle,oBAAC,QAAD,EAAM,GAAE,mfAAof,CAAA;GAC5f,oBAAC,QAAD,EAAM,GAAE,qZAAsZ,CAAA;GAC9Z,oBAAC,QAAD,EAAM,GAAE,ocAAqc,CAAA;GAC7c,oBAAC,QAAD,EAAM,GAAE,yUAA0U,CAAA;EAC/U;;AAET,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.mjs","names":[],"sources":["../../../../src/icons/Authentik/components/Color.tsx"],"sourcesContent":["'use client';\n\nimport type { IconType } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n return (\n <svg\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path\n clipRule=\"evenodd\"\n d=\"M23.97 6.337h.004A3.77 3.77 0 0020.226 3H9.388a3.769 3.769 0 00-1.503.312l-.099.045c-.103.048-.204.101-.301.16a3.61 3.61 0 00-.287.184 3.853 3.853 0 00-.626.562l-.014.016-.013.015c-.031.035-.063.07-.086.1l-.092.12a3.824 3.824 0 00-.053.072l-.009.012-.012.017-.012.018-.021.03v.006l-.002.003a3.73 3.73 0 00-.639 2.097v4.424c-.035-.05-.07-.1-.108-.15-.588-.796-1.47-1.599-2.447-1.599a3.062 3.062 0 00-2.69 1.597H.371c-1.117 1.946.427 4.572 2.692 4.513 1.75 0 3.196-2.6 3.196-3.06 0-.17-.199-.635-.538-1.15h6.163v-.003h.002V8.005h-.002V7.68h1.234v1.518h.84V7.68h1.345v.893h.84V7.68h1.588v6.521H5.62v3.417a3.773 3.773 0 003.77 3.763h1.599v-3.692h7.64v3.692h1.596A3.773 3.773 0 0024 17.618v-6.277H24V6.77a3.61 3.61 0 00-.03-.432zM4.01 11.044c-.667-.702-1.58-.546-2.211-.003H1.8c-2.11 2.057 1.333 5.557 3.296 1.45a5.342 5.342 0 00-1.088-1.447z\"\n fill=\"#FD4B2D\"\n fillRule=\"evenodd\"\n />\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,OACE,qBAAC,OAAD;EACE,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;
|
|
1
|
+
{"version":3,"file":"Color.mjs","names":[],"sources":["../../../../src/icons/Authentik/components/Color.tsx"],"sourcesContent":["'use client';\n\nimport type { IconType } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n return (\n <svg\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path\n clipRule=\"evenodd\"\n d=\"M23.97 6.337h.004A3.77 3.77 0 0020.226 3H9.388a3.769 3.769 0 00-1.503.312l-.099.045c-.103.048-.204.101-.301.16a3.61 3.61 0 00-.287.184 3.853 3.853 0 00-.626.562l-.014.016-.013.015c-.031.035-.063.07-.086.1l-.092.12a3.824 3.824 0 00-.053.072l-.009.012-.012.017-.012.018-.021.03v.006l-.002.003a3.73 3.73 0 00-.639 2.097v4.424c-.035-.05-.07-.1-.108-.15-.588-.796-1.47-1.599-2.447-1.599a3.062 3.062 0 00-2.69 1.597H.371c-1.117 1.946.427 4.572 2.692 4.513 1.75 0 3.196-2.6 3.196-3.06 0-.17-.199-.635-.538-1.15h6.163v-.003h.002V8.005h-.002V7.68h1.234v1.518h.84V7.68h1.345v.893h.84V7.68h1.588v6.521H5.62v3.417a3.773 3.773 0 003.77 3.763h1.599v-3.692h7.64v3.692h1.596A3.773 3.773 0 0024 17.618v-6.277H24V6.77a3.61 3.61 0 00-.03-.432zM4.01 11.044c-.667-.702-1.58-.546-2.211-.003H1.8c-2.11 2.057 1.333 5.557 3.296 1.45a5.342 5.342 0 00-1.088-1.447z\"\n fill=\"#FD4B2D\"\n fillRule=\"evenodd\"\n />\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,OACE,qBAAC,OAAD;EACE,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;EANN,UAAA,CAQE,oBAAC,SAAD,EAAA,UAAQ,MAAa,CAAA,GACrB,oBAAC,QAAD;GACE,UAAS;GACT,GAAE;GACF,MAAK;GACL,UAAS;EACV,CAAA,CACE;;AAET,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mono.mjs","names":[],"sources":["../../../../src/icons/Authentik/components/Mono.tsx"],"sourcesContent":["'use client';\n\nimport type { IconType } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n return (\n <svg\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path\n clipRule=\"evenodd\"\n d=\"M23.97 6.337h.004A3.77 3.77 0 0020.226 3H9.388a3.769 3.769 0 00-1.503.312l-.099.045c-.103.048-.204.101-.301.16a3.61 3.61 0 00-.287.184 3.853 3.853 0 00-.626.562l-.014.016-.013.015c-.031.035-.063.07-.086.1l-.092.12a3.824 3.824 0 00-.053.072l-.009.012-.012.017-.012.018-.021.03v.006l-.002.003a3.73 3.73 0 00-.639 2.097v4.424c-.035-.05-.07-.1-.108-.15-.588-.796-1.47-1.599-2.447-1.599a3.062 3.062 0 00-2.69 1.597H.371c-1.117 1.946.427 4.572 2.692 4.513 1.75 0 3.196-2.6 3.196-3.06 0-.17-.199-.635-.538-1.15h6.163v-.003h.002V8.005h-.002V7.68h1.234v1.518h.84V7.68h1.345v.893h.84V7.68h1.588v6.521H5.62v3.417a3.773 3.773 0 003.77 3.763h1.599v-3.692h7.64v3.692h1.596A3.773 3.773 0 0024 17.618v-6.277H24V6.77a3.61 3.61 0 00-.03-.432zM4.01 11.044c-.667-.702-1.58-.546-2.211-.003H1.8c-2.11 2.057 1.333 5.557 3.296 1.45a5.342 5.342 0 00-1.088-1.447z\"\n />\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,OACE,qBAAC,OAAD;EACE,MAAK;EACL,UAAS;EACT,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;
|
|
1
|
+
{"version":3,"file":"Mono.mjs","names":[],"sources":["../../../../src/icons/Authentik/components/Mono.tsx"],"sourcesContent":["'use client';\n\nimport type { IconType } from '@lobehub/icons';\nimport { memo } from 'react';\n\nimport { TITLE } from '../style';\n\nconst Icon: IconType = memo(({ size = '1em', style, ...rest }) => {\n return (\n <svg\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n height={size}\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <title>{TITLE}</title>\n <path\n clipRule=\"evenodd\"\n d=\"M23.97 6.337h.004A3.77 3.77 0 0020.226 3H9.388a3.769 3.769 0 00-1.503.312l-.099.045c-.103.048-.204.101-.301.16a3.61 3.61 0 00-.287.184 3.853 3.853 0 00-.626.562l-.014.016-.013.015c-.031.035-.063.07-.086.1l-.092.12a3.824 3.824 0 00-.053.072l-.009.012-.012.017-.012.018-.021.03v.006l-.002.003a3.73 3.73 0 00-.639 2.097v4.424c-.035-.05-.07-.1-.108-.15-.588-.796-1.47-1.599-2.447-1.599a3.062 3.062 0 00-2.69 1.597H.371c-1.117 1.946.427 4.572 2.692 4.513 1.75 0 3.196-2.6 3.196-3.06 0-.17-.199-.635-.538-1.15h6.163v-.003h.002V8.005h-.002V7.68h1.234v1.518h.84V7.68h1.345v.893h.84V7.68h1.588v6.521H5.62v3.417a3.773 3.773 0 003.77 3.763h1.599v-3.692h7.64v3.692h1.596A3.773 3.773 0 0024 17.618v-6.277H24V6.77a3.61 3.61 0 00-.03-.432zM4.01 11.044c-.667-.702-1.58-.546-2.211-.003H1.8c-2.11 2.057 1.333 5.557 3.296 1.45a5.342 5.342 0 00-1.088-1.447z\"\n />\n </svg>\n );\n});\n\nexport default Icon;\n"],"mappings":";;;;;AAOA,MAAM,OAAiB,MAAM,EAAE,OAAO,OAAO,OAAO,GAAG,WAAW;CAChE,OACE,qBAAC,OAAD;EACE,MAAK;EACL,UAAS;EACT,QAAQ;EACR,OAAO;GAAE,MAAM;GAAQ,YAAY;GAAG,GAAG;EAAM;EAC/C,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;EARN,UAAA,CAUE,oBAAC,SAAD,EAAA,UAAQ,MAAa,CAAA,GACrB,oBAAC,QAAD;GACE,UAAS;GACT,GAAE;EACH,CAAA,CACE;;AAET,CAAC"}
|