Add generic icon component (#637)

Add a generic component to generate all project icons
This commit is contained in:
anovazzi1 2023-07-18 18:55:20 -03:00 committed by GitHub
commit 0e477428b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
138 changed files with 4391 additions and 2431 deletions

1551
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

5
package.json Normal file
View file

@ -0,0 +1,5 @@
{
"devDependencies": {
"@svgr/cli": "^8.0.1"
}
}

View file

@ -1,10 +1,10 @@
import { Info } from "lucide-react";
import React, { useContext, useEffect, useRef, useState } from "react";
import { Handle, Position, useUpdateNodeInternals } from "reactflow";
import ShadTooltip from "../../../../components/ShadTooltipComponent";
import CodeAreaComponent from "../../../../components/codeAreaComponent";
import Dropdown from "../../../../components/dropdownComponent";
import FloatComponent from "../../../../components/floatComponent";
import IconComponent from "../../../../components/genericIconComponent";
import InputComponent from "../../../../components/inputComponent";
import InputFileComponent from "../../../../components/inputFileComponent";
import InputListComponent from "../../../../components/inputListComponent";
@ -17,16 +17,20 @@ import { PopUpContext } from "../../../../contexts/popUpContext";
import { TabsContext } from "../../../../contexts/tabsContext";
import { typesContext } from "../../../../contexts/typesContext";
import { ParameterComponentType } from "../../../../types/components";
import { cleanEdges } from "../../../../util/reactflowUtils";
import {
cleanEdges,
isValidConnection,
} from "../../../../utils/reactflowUtils";
import {
nodeColors,
nodeIconsLucide,
nodeNames,
} from "../../../../utils/styleUtils";
import {
classNames,
getRandomKeyByssmm,
groupByFamily,
isValidConnection,
nodeColors,
nodeIconsLucide,
nodeNames,
} from "../../../../utils";
} from "../../../../utils/utils";
export default function ParameterComponent({
left,
@ -83,6 +87,7 @@ export default function ParameterComponent({
};
useEffect(() => {
if (name === "openai_api_base") console.log(info);
infoHtml.current = (
<div className="h-full w-full break-words">
{info.split("\n").map((line, i) => (
@ -145,7 +150,6 @@ export default function ParameterComponent({
);
});
}, [tooltipTitle]);
return (
<div
ref={ref}
@ -164,7 +168,13 @@ export default function ParameterComponent({
<div className="">
{info !== "" && (
<ShadTooltip content={infoHtml.current}>
<Info className="relative bottom-0.5 ml-2 h-3 w-3" />
{/* put div to avoid bug that does not display tooltip */}
<div>
<IconComponent
name="Info"
className="relative bottom-0.5 ml-2 h-3 w-4"
/>
</div>
</ShadTooltip>
)}
</div>

View file

@ -1,8 +1,8 @@
import { Zap } from "lucide-react";
import { useContext, useEffect, useRef, useState } from "react";
import { NodeToolbar } from "reactflow";
import ShadTooltip from "../../components/ShadTooltipComponent";
import Tooltip from "../../components/TooltipComponent";
import IconComponent from "../../components/genericIconComponent";
import { useSSE } from "../../contexts/SSEContext";
import { alertContext } from "../../contexts/alertContext";
import { PopUpContext } from "../../contexts/popUpContext";
@ -10,12 +10,8 @@ import { typesContext } from "../../contexts/typesContext";
import NodeModal from "../../modals/NodeModal";
import NodeToolbarComponent from "../../pages/FlowPage/components/nodeToolbarComponent";
import { NodeDataType } from "../../types/flow";
import {
classNames,
nodeColors,
nodeIconsLucide,
toTitleCase,
} from "../../utils";
import { nodeColors, nodeIconsLucide } from "../../utils/styleUtils";
import { classNames, toTitleCase } from "../../utils/utils";
import ParameterComponent from "./components/parameterComponent";
export default function GenericNode({
@ -33,17 +29,12 @@ export default function GenericNode({
// any to avoid type conflict
const Icon: any =
nodeIconsLucide[data.type] || nodeIconsLucide[types[data.type]];
const name = nodeIconsLucide[data.type] ? data.type : types[data.type];
const [validationStatus, setValidationStatus] = useState(null);
// State for outline color
const { sseData, isBuilding } = useSSE();
const refHtml = useRef(null);
// useEffect(() => {
// if (reactFlowInstance) {
// setParams(Object.values(reactFlowInstance.toObject()));
// }
// }, [save]);
// New useEffect to watch for changes in sseData and update validation status
useEffect(() => {
const relevantData = sseData[data.id];
@ -86,12 +77,10 @@ export default function GenericNode({
>
<div className="generic-node-div-title">
<div className="generic-node-title-arrangement">
<Icon
strokeWidth={1.5}
<IconComponent
name={name}
className="generic-node-icon"
style={{
color: nodeColors[types[data.type]] ?? nodeColors.unknown,
}}
iconColor={`${nodeColors[types[data.type]]}`}
/>
<div className="generic-node-tooltip-div">
<ShadTooltip content={data.node.display_name}>
@ -119,9 +108,9 @@ export default function GenericNode({
) : !validationStatus ? (
<span className="flex">
Build{" "}
<Zap
<IconComponent
name="Zap"
className="mx-0.5 h-5 fill-build-trigger stroke-build-trigger stroke-1"
strokeWidth={1.5}
/>{" "}
flow to validate status.
</span>
@ -175,25 +164,6 @@ export default function GenericNode({
.filter((t) => t.charAt(0) !== "_")
.map((t: string, idx) => (
<div key={idx}>
{/* {idx === 0 ? (
<div
className={classNames(
"px-5 py-2 mt-2 text-center",
Object.keys(data.node.template).filter(
(key) =>
!key.startsWith("_") &&
data.node.template[key].show &&
!data.node.template[key].advanced
).length === 0
? "hidden"
: ""
)}
>
Inputs
</div>
) : (
<></>
)} */}
{data.node.template[t].show &&
!data.node.template[t].advanced ? (
<ParameterComponent
@ -242,9 +212,6 @@ export default function GenericNode({
>
{" "}
</div>
{/* <div className="px-5 py-2 mt-2 text-center">
Output
</div> */}
<ParameterComponent
data={data}
color={nodeColors[types[data.type]] ?? nodeColors.unknown}

View file

@ -1,7 +1,7 @@
import { Transition } from "@headlessui/react";
import { CheckCircle2, Info, X, XCircle } from "lucide-react";
import { useState } from "react";
import { Link } from "react-router-dom";
import IconComponent from "../../../../components/genericIconComponent";
import { SingleAlertComponentType } from "../../../../types/alerts";
export default function SingleAlert({
@ -29,7 +29,11 @@ export default function SingleAlert({
key={dropItem.id}
>
<div className="flex-shrink-0">
<XCircle className="h-5 w-5 text-status-red" aria-hidden="true" />
<IconComponent
name="XCircle"
className="h-5 w-5 text-status-red"
aria-hidden="true"
/>
</div>
<div className="ml-3">
<h3 className="break-words text-sm font-medium text-error-foreground">
@ -62,7 +66,8 @@ export default function SingleAlert({
className="inline-flex rounded-md p-1.5 text-status-red"
>
<span className="sr-only">Dismiss</span>
<X
<IconComponent
name="X"
className="h-4 w-4 text-error-foreground"
aria-hidden="true"
/>
@ -76,7 +81,11 @@ export default function SingleAlert({
key={dropItem.id}
>
<div className="flex-shrink-0">
<Info className="h-5 w-5 text-status-blue " aria-hidden="true" />
<IconComponent
name="Info"
className="h-5 w-5 text-status-blue "
aria-hidden="true"
/>
</div>
<div className="ml-3 flex-1 md:flex md:justify-between">
<p className="text-sm font-medium text-info-foreground">
@ -108,7 +117,8 @@ export default function SingleAlert({
className="inline-flex rounded-md p-1.5 text-info-foreground"
>
<span className="sr-only">Dismiss</span>
<X
<IconComponent
name="X"
className="h-4 w-4 text-info-foreground"
aria-hidden="true"
/>
@ -122,7 +132,8 @@ export default function SingleAlert({
key={dropItem.id}
>
<div className="flex-shrink-0">
<CheckCircle2
<IconComponent
name="CheckCircle2"
className="h-5 w-5 text-status-green"
aria-hidden="true"
/>
@ -145,7 +156,8 @@ export default function SingleAlert({
className="inline-flex rounded-md p-1.5 text-status-green"
>
<span className="sr-only">Dismiss</span>
<X
<IconComponent
name="X"
className="h-4 w-4 text-success-foreground"
aria-hidden="true"
/>

View file

@ -1,5 +1,5 @@
import { Trash2, X } from "lucide-react";
import { useContext, useRef } from "react";
import IconComponent from "../../components/genericIconComponent";
import { alertContext } from "../../contexts/alertContext";
import { PopUpContext } from "../../contexts/popUpContext";
import { AlertDropdownType } from "../../types/alerts";
@ -36,13 +36,13 @@ export default function AlertDropdown({}: AlertDropdownType) {
setTimeout(clearNotificationList, 100);
}}
>
<Trash2 className="h-[1.1rem] w-[1.1rem]" />
<IconComponent name="Trash2" className="h-[1.1rem] w-[1.1rem]" />
</button>
<button
className="text-foreground hover:text-status-red"
onClick={closePopUp}
>
<X className="h-5 w-5" />
<IconComponent name="X" className="h-5 w-5" />
</button>
</div>
</div>

View file

@ -1,6 +1,6 @@
import { Transition } from "@headlessui/react";
import { XCircle } from "lucide-react";
import { useEffect, useState } from "react";
import IconComponent from "../../components/genericIconComponent";
import { ErrorAlertType } from "../../types/alerts";
export default function ErrorAlert({
@ -44,7 +44,8 @@ export default function ErrorAlert({
>
<div className="flex">
<div className="flex-shrink-0">
<XCircle
<IconComponent
name="XCircle"
className="error-build-message-circle"
aria-hidden="true"
/>

View file

@ -1,7 +1,7 @@
import { Transition } from "@headlessui/react";
import { Info } from "lucide-react";
import { useEffect, useState } from "react";
import { Link } from "react-router-dom";
import IconComponent from "../../components/genericIconComponent";
import { NoticeAlertType } from "../../types/alerts";
export default function NoticeAlert({
@ -40,7 +40,11 @@ export default function NoticeAlert({
>
<div className="flex">
<div className="flex-shrink-0">
<Info className="h-5 w-5 text-status-blue " aria-hidden="true" />
<IconComponent
name="Info"
className="h-5 w-5 text-status-blue "
aria-hidden="true"
/>
</div>
<div className="ml-3 flex-1 md:flex md:justify-between">
<p className="text-sm text-info-foreground">{title}</p>

View file

@ -1,6 +1,6 @@
import { Transition } from "@headlessui/react";
import { CheckCircle2 } from "lucide-react";
import { useEffect, useState } from "react";
import IconComponent from "../../components/genericIconComponent";
import { SuccessAlertType } from "../../types/alerts";
export default function SuccessAlert({
@ -38,7 +38,11 @@ export default function SuccessAlert({
>
<div className="flex">
<div className="flex-shrink-0">
<CheckCircle2 className="success-alert-icon" aria-hidden="true" />
<IconComponent
name="CheckCircle2"
className="success-alert-icon"
aria-hidden="true"
/>
</div>
<div className="ml-3">
<p className="success-alert-message">{title}</p>

View file

@ -1,117 +0,0 @@
import { Disclosure } from "@headlessui/react";
import { useContext } from "react";
import { Link } from "react-router-dom";
import { locationContext } from "../../contexts/locationContext";
import { classNames } from "../../utils";
export default function ExtraSidebar() {
const {
current,
isStackedOpen,
setIsStackedOpen,
extraNavigation,
extraComponent,
} = useContext(locationContext);
return (
<>
<aside
className={` ${isStackedOpen ? "w-52" : "w-0 "} unused-side-bar-aside`}
>
<div className="unused-side-bar-arrangement">
<div className="unused-side-bar-division">
{extraNavigation.options ? (
<div className="p-4">
<nav className="unused-side-bar-nav">
{extraNavigation.options.map((item) =>
!item.children ? (
<div key={item.name}>
<Link
to={item.href}
className={classNames(
item.href.split("/")[2] === current[4]
? "unused-side-bar-link-colors-true"
: "unused-side-bar-link-colors-false",
"unused-side-bar-link"
)}
>
<item.icon
className={classNames(
item.href.split("/")[2] === current[4]
? "text-ring"
: "unused-side-bar-icon-false",
"unused-side-bar-icon"
)}
/>
{item.name}
</Link>
</div>
) : (
<Disclosure
as="div"
key={item.name}
className="space-y-1"
>
{({ open }) => (
<>
<Disclosure.Button
className={classNames(
item.href.split("/")[2] === current[4]
? "unused-side-bar-link-colors-true"
: "unused-side-bar-link-colors-false",
"unused-side-bar-disclosure"
)}
>
<item.icon
className="unused-side-bar-disclosure-icon"
aria-hidden="true"
/>
<span className="flex-1">{item.name}</span>
<svg
className={classNames(
open
? "unused-side-bar-svg-true"
: "text-ring",
"unused-side-bar-svg"
)}
viewBox="0 0 20 20"
aria-hidden="true"
>
<path
d="M6 6L14 10L6 14V6Z"
fill="currentColor"
/>
</svg>
</Disclosure.Button>
<Disclosure.Panel className="space-y-1">
{item.children.map((subItem) => (
<Link
key={subItem.name}
to={subItem.href}
className={classNames(
subItem.href.split("/")[3] === current[5]
? "unused-side-bar-link-colors-true"
: "unused-side-bar-link-colors-false",
"unused-side-bar-disclosure-panel"
)}
>
{subItem.name}
</Link>
))}
</Disclosure.Panel>
</>
)}
</Disclosure>
)
)}
</nav>
</div>
) : (
extraComponent
)}
</div>
</div>
</aside>
</>
);
}

View file

@ -3,7 +3,7 @@ import type { FC } from "react";
import React from "react";
import { Tooltip as ReactTooltip } from "react-tooltip";
import "react-tooltip/dist/react-tooltip.css";
import { classNames } from "../../utils";
import { classNames } from "../../utils/utils";
type TooltipProps = {
selector: string;

View file

@ -1,8 +1,8 @@
import { Trash2 } from "lucide-react";
import { useContext } from "react";
import { TabsContext } from "../../contexts/tabsContext";
import { FlowType } from "../../types/flow";
import { gradients } from "../../utils";
import { gradients } from "../../utils/styleUtils";
import IconComponent from "../genericIconComponent";
import {
Card,
CardDescription,
@ -37,7 +37,10 @@ export const CardComponent = ({
<span className="card-component-title-size">{flow.name}</span>
{onDelete && (
<button className="card-component-delete-button" onClick={onDelete}>
<Trash2 className="card-component-delete-icon" />
<IconComponent
name="Trash2"
className="card-component-delete-icon"
/>
</button>
)}
</CardTitle>
@ -51,15 +54,7 @@ export const CardComponent = ({
<CardFooter>
<div className="card-component-footer-arrangement">
<div className="card-component-footer">
{/* <Badge variant="secondary">Agent</Badge>
<Badge variant="secondary">
<div className="w-3">
<OpenAiIcon />
</div>
<span className="text-base">&nbsp;</span>OpenAI+
</Badge> */}
</div>
<div className="card-component-footer"></div>
{button && button}
</div>
</CardFooter>

View file

@ -1,5 +1,4 @@
import { Transition } from "@headlessui/react";
import { Zap } from "lucide-react";
import { useContext, useState } from "react";
import Loading from "../../../components/ui/loading";
import { useSSE } from "../../../contexts/SSEContext";
@ -7,10 +6,11 @@ import { alertContext } from "../../../contexts/alertContext";
import { typesContext } from "../../../contexts/typesContext";
import { postBuildInit } from "../../../controllers/API";
import { FlowType } from "../../../types/flow";
import { validateNodes } from "../../../utils";
import { TabsContext } from "../../../contexts/tabsContext";
import { validateNodes } from "../../../utils/reactflowUtils";
import RadialProgressComponent from "../../RadialProgress";
import IconComponent from "../../genericIconComponent";
export default function BuildTrigger({
open,
@ -190,8 +190,8 @@ export default function BuildTrigger({
className="build-trigger-loading-icon"
/>
) : (
<Zap
strokeWidth={1.5}
<IconComponent
name="Zap"
className="sh-6 w-6 fill-build-trigger stroke-build-trigger stroke-1"
/>
)}

View file

@ -1,5 +1,4 @@
import { Transition } from "@headlessui/react";
import { MessagesSquare } from "lucide-react";
import { useContext } from "react";
import {
@ -9,6 +8,7 @@ import {
FLOW_NOT_BUILT_TITLE,
} from "../../../constants";
import { alertContext } from "../../../contexts/alertContext";
import IconComponent from "../../genericIconComponent";
export default function ChatTrigger({ open, setOpen, isBuilt, canOpen }) {
const { setErrorData } = useContext(alertContext);
@ -50,15 +50,14 @@ export default function ChatTrigger({ open, setOpen, isBuilt, canOpen }) {
}
>
<div className="flex gap-3">
<MessagesSquare
<IconComponent
name="MessagesSquare"
className={
"h-6 w-6 transition-all " +
(isBuilt && canOpen
? "message-button-icon"
: "disabled-message-button-icon")
}
style={{ color: "white" }}
strokeWidth={1.5}
/>
</div>
</button>

View file

@ -3,7 +3,7 @@ import { PopUpContext } from "../../contexts/popUpContext";
import CodeAreaModal from "../../modals/codeAreaModal";
import { TextAreaComponentType } from "../../types/components";
import { ExternalLink } from "lucide-react";
import IconComponent from "../genericIconComponent";
export default function CodeAreaComponent({
value,
@ -70,8 +70,8 @@ export default function CodeAreaComponent({
}}
>
{!editNode && (
<ExternalLink
strokeWidth={1.5}
<IconComponent
name="ExternalLink"
className={
"icons-parameters-comp" +
(disabled ? " text-ring" : " hover:text-accent-foreground")

View file

@ -1,9 +1,9 @@
import { Listbox, Transition } from "@headlessui/react";
import { Check, ChevronsUpDown } from "lucide-react";
import { Fragment, useContext, useEffect, useState } from "react";
import { PopUpContext } from "../../contexts/popUpContext";
import { DropDownComponentType } from "../../types/components";
import { classNames } from "../../utils";
import { classNames } from "../../utils/utils";
import IconComponent from "../genericIconComponent";
export default function Dropdown({
value,
@ -46,7 +46,8 @@ export default function Dropdown({
{internalValue}
</span>
<span className={"dropdown-component-arrow"}>
<ChevronsUpDown
<IconComponent
name="ChevronsUpDown"
className="dropdown-component-arrow-color"
aria-hidden="true"
/>
@ -99,7 +100,8 @@ export default function Dropdown({
"dropdown-component-choosal"
)}
>
<Check
<IconComponent
name="Check"
className={
active
? "dropdown-component-check-icon"

View file

@ -0,0 +1,11 @@
import { IconComponentProps } from "../../types/components";
import { nodeIconsLucide } from "../../utils/styleUtils";
export default function IconComponent({
name,
className,
iconColor,
}: IconComponentProps): JSX.Element {
const TargetIcon = nodeIconsLucide[name] ?? nodeIconsLucide["unknown"];
return <TargetIcon className={className} style={{ color: iconColor }} />;
}

View file

@ -1,11 +1,3 @@
import {
ChevronDown,
ChevronLeft,
Plus,
Redo,
Settings2,
Undo,
} from "lucide-react";
import { useContext } from "react";
import { PopUpContext } from "../../../../contexts/popUpContext";
import { TabsContext } from "../../../../contexts/tabsContext";
@ -21,6 +13,7 @@ import { Link, useNavigate } from "react-router-dom";
import { alertContext } from "../../../../contexts/alertContext";
import { undoRedoContext } from "../../../../contexts/undoRedoContext";
import FlowSettingsModal from "../../../../modals/flowSettingsModal";
import IconComponent from "../../../genericIconComponent";
import { Button } from "../../../ui/button";
export const MenuBar = ({ flows, tabId }) => {
@ -46,7 +39,7 @@ export const MenuBar = ({ flows, tabId }) => {
return (
<div className="round-button-div">
<Link to="/">
<ChevronLeft className="w-4" />
<IconComponent name="ChevronLeft" className="w-4" />
</Link>
<div className="header-menu-bar">
<DropdownMenu>
@ -54,7 +47,7 @@ export const MenuBar = ({ flows, tabId }) => {
<Button asChild variant="primary" size="sm">
<div className="header-menu-bar-display">
<div className="header-menu-flow-name">{current_flow.name}</div>
<ChevronDown className="h-4 w-4" />
<IconComponent name="ChevronDown" className="h-4 w-4" />
</div>
</Button>
</DropdownMenuTrigger>
@ -66,7 +59,7 @@ export const MenuBar = ({ flows, tabId }) => {
}}
className="cursor-pointer"
>
<Plus className="header-menu-options" />
<IconComponent name="Plus" className="header-menu-options" />
New
</DropdownMenuItem>
<DropdownMenuItem
@ -75,7 +68,10 @@ export const MenuBar = ({ flows, tabId }) => {
}}
className="cursor-pointer"
>
<Settings2 className="header-menu-options " />
<IconComponent
name="Settings2"
className="header-menu-options "
/>
Settings
</DropdownMenuItem>
<DropdownMenuItem
@ -84,7 +80,7 @@ export const MenuBar = ({ flows, tabId }) => {
}}
className="cursor-pointer"
>
<Undo className="header-menu-options " />
<IconComponent name="Undo" className="header-menu-options " />
Undo
</DropdownMenuItem>
<DropdownMenuItem
@ -93,33 +89,9 @@ export const MenuBar = ({ flows, tabId }) => {
}}
className="cursor-pointer"
>
<Redo className="header-menu-options " />
<IconComponent name="Redo" className="header-menu-options " />
Redo
</DropdownMenuItem>
{/* <DropdownMenuSeparator /> */}
{/* <DropdownMenuLabel>Projects</DropdownMenuLabel> */}
{/* <DropdownMenuRadioGroup className="max-h-full overflow-scroll"
value={tabId}
onValueChange={(value) => {
setTabId(value);
}}
>
{flows.map((flow, idx) => {
return (
<Link
to={"/flow/" + flow.id}
className="flex w-full items-center"
>
<DropdownMenuRadioItem
value={flow.id}
className="flex-1 w-full inline-block truncate break-words mr-2"
>
{flow.name}
</DropdownMenuRadioItem>
</Link>
);
})}
</DropdownMenuRadioGroup> */}
</DropdownMenuContent>
</DropdownMenu>
</div>

View file

@ -1,4 +1,3 @@
import { Bell, Home, MoonIcon, SunIcon, Users2 } from "lucide-react";
import { useContext, useEffect, useState } from "react";
import { FaDiscord, FaGithub, FaTwitter } from "react-icons/fa";
import { Link, useLocation, useParams } from "react-router-dom";
@ -10,6 +9,7 @@ import { PopUpContext } from "../../contexts/popUpContext";
import { TabsContext } from "../../contexts/tabsContext";
import { typesContext } from "../../contexts/typesContext";
import { getRepoStars } from "../../controllers/API";
import IconComponent from "../genericIconComponent";
import { Button } from "../ui/button";
import { Separator } from "../ui/separator";
import MenuBar from "./components/menuBar";
@ -51,7 +51,7 @@ export default function Header() {
variant={location.pathname === "/" ? "primary" : "secondary"}
size="sm"
>
<Home className="h-4 w-4" />
<IconComponent name="Home" className="h-4 w-4" />
<div className="flex-1">{USER_PROJECTS_HEADER}</div>
</Button>
</Link>
@ -63,7 +63,7 @@ export default function Header() {
}
size="sm"
>
<Users2 className="h-4 w-4" />
<IconComponent name="Users2" className="h-4 w-4" />
<div className="flex-1">Community Examples</div>
</Button>
</Link>
@ -105,9 +105,9 @@ export default function Header() {
}}
>
{dark ? (
<SunIcon className="side-bar-button-size" />
<IconComponent name="SunIcon" className="side-bar-button-size" />
) : (
<MoonIcon className="side-bar-button-size" />
<IconComponent name="MoonIcon" className="side-bar-button-size" />
)}
</button>
<button
@ -131,7 +131,11 @@ export default function Header() {
}}
>
{notificationCenter && <div className="header-notifications"></div>}
<Bell className="side-bar-button-size" aria-hidden="true" />
<IconComponent
name="Bell"
className="side-bar-button-size"
aria-hidden="true"
/>
</button>
</div>
</div>

View file

@ -2,7 +2,7 @@ import { useContext, useEffect, useState } from "react";
import { PopUpContext } from "../../contexts/popUpContext";
import { TabsContext } from "../../contexts/tabsContext";
import { InputComponentType } from "../../types/components";
import { classNames } from "../../utils";
import { classNames } from "../../utils/utils";
export default function InputComponent({
value,

View file

@ -1,9 +1,9 @@
import { FileSearch2 } from "lucide-react";
import { useContext, useEffect, useState } from "react";
import { alertContext } from "../../contexts/alertContext";
import { TabsContext } from "../../contexts/tabsContext";
import { uploadFile } from "../../controllers/API";
import { FileComponentType } from "../../types/components";
import IconComponent from "../genericIconComponent";
export default function InputFileComponent({
value,
@ -108,8 +108,8 @@ export default function InputFileComponent({
</span>
<button onClick={handleButtonClick}>
{!editNode && !loading && (
<FileSearch2
strokeWidth={1.5}
<IconComponent
name="FileSearch2"
className={
"icons-parameters-comp" +
(disabled ? " text-ring " : " hover:text-accent-foreground")

View file

@ -2,8 +2,8 @@ import { useContext, useEffect, useState } from "react";
import { InputListComponentType } from "../../types/components";
import _ from "lodash";
import { Plus, X } from "lucide-react";
import { PopUpContext } from "../../contexts/popUpContext";
import IconComponent from "../genericIconComponent";
export default function InputListComponent({
value,
@ -65,7 +65,10 @@ export default function InputListComponent({
onChange(inputList);
}}
>
<Plus className={"h-4 w-4 hover:text-accent-foreground"} />
<IconComponent
name="Plus"
className={"h-4 w-4 hover:text-accent-foreground"}
/>
</button>
) : (
<button
@ -78,7 +81,10 @@ export default function InputListComponent({
onChange(inputList);
}}
>
<X className="h-4 w-4 hover:text-status-red" />
<IconComponent
name="X"
className="h-4 w-4 hover:text-status-red"
/>
</button>
)}
</div>

View file

@ -1,12 +1,12 @@
import { useContext, useEffect, useState } from "react";
import { PopUpContext } from "../../contexts/popUpContext";
import GenericModal from "../../modals/genericModal";
import { TextAreaComponentType } from "../../types/components";
import { TypeModal } from "../../utils";
import { ExternalLink } from "lucide-react";
import { TypeModal } from "../../constants";
import { PopUpContext } from "../../contexts/popUpContext";
import { typesContext } from "../../contexts/typesContext";
import { postValidatePrompt } from "../../controllers/API";
import GenericModal from "../../modals/genericModal";
import { TextAreaComponentType } from "../../types/components";
import IconComponent from "../genericIconComponent";
export default function PromptAreaComponent({
field_name,
@ -39,24 +39,6 @@ export default function PromptAreaComponent({
}
}, [value, reactFlowInstance]);
// useEffect(() => {
// if (value !== "" && myValue !== value && reactFlowInstance) {
// // only executed once
// setMyValue(value);
// postValidatePrompt(field_name, value, nodeClass)
// .then((apiReturn) => {
// if (apiReturn.data) {
// setNodeClass(apiReturn.data.frontend_node);
// // need to update reactFlowInstance to re-render the nodes.
// reactFlowInstance.setEdges(
// _.cloneDeep(reactFlowInstance.getEdges())
// );
// }
// })
// .catch((error) => {});
// }
// }, [reactFlowInstance, field_name, myValue, nodeClass, setNodeClass, value]);
return (
<div className={disabled ? "pointer-events-none w-full " : " w-full"}>
<div className="flex w-full items-center">
@ -106,8 +88,8 @@ export default function PromptAreaComponent({
}}
>
{!editNode && (
<ExternalLink
strokeWidth={1.5}
<IconComponent
name="ExternalLink"
className={
"icons-parameters-comp" +
(disabled ? " text-ring" : " hover:text-accent-foreground")

View file

@ -1,11 +1,10 @@
import { useContext, useEffect, useState } from "react";
import { TypeModal } from "../../constants";
import { PopUpContext } from "../../contexts/popUpContext";
import { TabsContext } from "../../contexts/tabsContext";
import GenericModal from "../../modals/genericModal";
import { TextAreaComponentType } from "../../types/components";
import { TypeModal } from "../../utils";
import { ExternalLink } from "lucide-react";
import { TabsContext } from "../../contexts/tabsContext";
import IconComponent from "../genericIconComponent";
export default function TextAreaComponent({
value,
@ -68,8 +67,8 @@ export default function TextAreaComponent({
}}
>
{!editNode && (
<ExternalLink
strokeWidth={1.5}
<IconComponent
name="ExternalLink"
className={
"icons-parameters-comp" +
(disabled ? " text-ring" : " hover:text-accent-foreground")

View file

@ -1,7 +1,7 @@
import { Switch } from "@headlessui/react";
import { useEffect } from "react";
import { ToggleComponentType } from "../../types/components";
import { classNames } from "../../utils";
import { classNames } from "../../utils/utils";
export default function ToggleComponent({
enabled,

View file

@ -3,7 +3,7 @@
import * as AccordionPrimitive from "@radix-ui/react-accordion";
import { ChevronDownIcon } from "@radix-ui/react-icons";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const Accordion = AccordionPrimitive.Root;

View file

@ -1,6 +1,6 @@
import { cva, type VariantProps } from "class-variance-authority";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const badgeVariants = cva(
"inline-flex items-center border rounded-full px-2.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",

View file

@ -1,7 +1,7 @@
import { Slot } from "@radix-ui/react-slot";
import { cva, type VariantProps } from "class-variance-authority";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const buttonVariants = cva(
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",

View file

@ -1,5 +1,5 @@
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const Card = React.forwardRef<
HTMLDivElement,

View file

@ -1,9 +1,9 @@
"use client";
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
import { Check } from "lucide-react";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
import IconComponent from "../genericIconComponent";
const Checkbox = React.forwardRef<
React.ElementRef<typeof CheckboxPrimitive.Root>,
@ -20,7 +20,7 @@ const Checkbox = React.forwardRef<
<CheckboxPrimitive.Indicator
className={cn("flex items-center justify-center text-current")}
>
<Check className="h-4 w-4" />
<IconComponent name="Check" className="h-4 w-4" />
</CheckboxPrimitive.Indicator>
</CheckboxPrimitive.Root>
));

View file

@ -1,7 +1,7 @@
import * as DialogPrimitive from "@radix-ui/react-dialog";
import { X } from "lucide-react";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
import IconComponent from "../genericIconComponent";
const Dialog = DialogPrimitive.Root;
@ -51,7 +51,7 @@ const DialogContent = React.forwardRef<
>
{children}
<DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
<X className="h-4 w-4" />
<IconComponent name="X" className="h-4 w-4" />
<span className="sr-only">Close</span>
</DialogPrimitive.Close>
</DialogPrimitive.Content>

View file

@ -1,9 +1,9 @@
"use client";
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
import { Check, ChevronRight, Circle } from "lucide-react";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
import IconComponent from "../genericIconComponent";
const DropdownMenu = DropdownMenuPrimitive.Root;
@ -33,7 +33,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
{...props}
>
{children}
<ChevronRight className="ml-auto h-4 w-4" />
<IconComponent name="ChevronRight" className="ml-auto h-4 w-4" />
</DropdownMenuPrimitive.SubTrigger>
));
DropdownMenuSubTrigger.displayName =
@ -106,7 +106,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
>
<span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
<DropdownMenuPrimitive.ItemIndicator>
<Check className="h-4 w-4" />
<IconComponent name="Check" className="h-4 w-4" />
</DropdownMenuPrimitive.ItemIndicator>
</span>
{children}
@ -129,7 +129,7 @@ const DropdownMenuRadioItem = React.forwardRef<
>
<span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
<DropdownMenuPrimitive.ItemIndicator>
<Circle className="h-2 w-2 fill-current" />
<IconComponent name="Circle" className="h-2 w-2 fill-current" />
</DropdownMenuPrimitive.ItemIndicator>
</span>
{children}

View file

@ -1,5 +1,5 @@
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
export interface InputProps
extends React.InputHTMLAttributes<HTMLInputElement> {}

View file

@ -3,7 +3,7 @@
import * as LabelPrimitive from "@radix-ui/react-label";
import { cva, type VariantProps } from "class-variance-authority";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const labelVariants = cva(
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"

View file

@ -1,10 +1,10 @@
"use client";
import * as MenubarPrimitive from "@radix-ui/react-menubar";
import { Check, ChevronRight, Circle } from "lucide-react";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
import IconComponent from "../genericIconComponent";
const MenubarMenu = MenubarPrimitive.Menu;
@ -62,7 +62,7 @@ const MenubarSubTrigger = React.forwardRef<
{...props}
>
{children}
<ChevronRight className="ml-auto h-4 w-4" />
<IconComponent name="ChevronRight" className="ml-auto h-4 w-4" />
</MenubarPrimitive.SubTrigger>
));
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
@ -140,7 +140,7 @@ const MenubarCheckboxItem = React.forwardRef<
>
<span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
<MenubarPrimitive.ItemIndicator>
<Check className="h-4 w-4" />
<IconComponent name="Check" className="h-4 w-4" />
</MenubarPrimitive.ItemIndicator>
</span>
{children}
@ -162,7 +162,7 @@ const MenubarRadioItem = React.forwardRef<
>
<span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
<MenubarPrimitive.ItemIndicator>
<Circle className="h-2 w-2 fill-current" />
<IconComponent name="Circle" className="h-2 w-2 fill-current" />
</MenubarPrimitive.ItemIndicator>
</span>
{children}

View file

@ -2,7 +2,7 @@
import * as ProgressPrimitive from "@radix-ui/react-progress";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const Progress = React.forwardRef<
React.ElementRef<typeof ProgressPrimitive.Root>,

View file

@ -1,5 +1,5 @@
import { useEffect, useRef, useState } from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
export default function RenameLabel(props) {
const [internalState, setInternalState] = useState(false);

View file

@ -2,7 +2,7 @@
import * as SeparatorPrimitive from "@radix-ui/react-separator";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const Separator = React.forwardRef<
React.ElementRef<typeof SeparatorPrimitive.Root>,

View file

@ -2,7 +2,7 @@
import * as SwitchPrimitives from "@radix-ui/react-switch";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const Switch = React.forwardRef<
React.ElementRef<typeof SwitchPrimitives.Root>,

View file

@ -1,5 +1,5 @@
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const Table = React.forwardRef<
HTMLTableElement,

View file

@ -2,7 +2,7 @@
import * as TabsPrimitive from "@radix-ui/react-tabs";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const Tabs = TabsPrimitive.Root;

View file

@ -1,5 +1,5 @@
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
export interface TextareaProps
extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}

View file

@ -2,7 +2,7 @@
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import * as React from "react";
import { cn } from "../../utils";
import { cn } from "../../utils/utils";
const TooltipProvider = TooltipPrimitive.Provider;

View file

@ -1,10 +1,87 @@
// src/constants.tsx
import { MessageSquare } from "lucide-react";
import { IVarHighlightType } from "./types/components";
import { FlowType } from "./types/flow";
import { TabsState } from "./types/tabs";
import { buildInputs, buildTweaks } from "./utils";
import { buildTweaks } from "./utils/reactflowUtils";
import { buildInputs } from "./utils/utils";
/**
* constants fpr programming languages box on chat form
* @constant
*/
interface languageMap {
[key: string]: string | undefined;
}
/**
* invalid characters for flow name
* @constant
*/
export const INVALID_CHARACTERS = [
" ",
",",
".",
":",
";",
"!",
"?",
"/",
"\\",
"(",
")",
"[",
"]",
"\n",
];
/**
* regex to highlight the variables in the text
* @constant
*/
export const regexHighlight = /\{([^}]+)\}/g;
export const varHighlightHTML = ({ name }: IVarHighlightType) => {
const html = `<span class="font-semibold chat-message-highlight">{${name}}</span>`;
return html;
};
export const programmingLanguages: languageMap = {
javascript: ".js",
python: ".py",
java: ".java",
c: ".c",
cpp: ".cpp",
"c++": ".cpp",
"c#": ".cs",
ruby: ".rb",
php: ".php",
swift: ".swift",
"objective-c": ".m",
kotlin: ".kt",
typescript: ".ts",
go: ".go",
perl: ".pl",
rust: ".rs",
scala: ".scala",
haskell: ".hs",
lua: ".lua",
shell: ".sh",
sql: ".sql",
html: ".html",
css: ".css",
// add more file extensions here, make sure the key is same as language prop in CodeBlock.tsx component
};
/**
* enum for the different types of nodes
* @enum
*/
export enum TypeModal {
TEXT = 1,
PROMPT = 2,
}
/**
* Number maximum of components to scroll on tooltips
* @constant
@ -17,6 +94,12 @@ export const MAX_LENGTH_TO_SCROLL_TOOLTIP = 200;
*/
export const MAX_WORDS_HIGHLIGHT = 79;
/**
* Limit of items before show scroll on fields modal
* @constant
*/
export const limitScrollFieldsModal = 10;
/**
* The base text for subtitle of Export Dialog (Toolbar)
* @constant

View file

@ -20,12 +20,8 @@ import {
import { APIClassType, APITemplateType } from "../types/api";
import { FlowType, NodeType } from "../types/flow";
import { TabsContextType, TabsState } from "../types/tabs";
import {
getRandomDescription,
getRandomName,
updateIds,
updateTemplate,
} from "../utils";
import { updateIds, updateTemplate } from "../utils/reactflowUtils";
import { getRandomDescription, getRandomName } from "../utils/utils";
import { alertContext } from "./alertContext";
import { typesContext } from "./typesContext";
@ -106,53 +102,6 @@ export function TabsProvider({ children }: { children: ReactNode }) {
}
}
// function loadCookie(cookie: string) {
// if (cookie && Object.keys(templates).length > 0) {
// let cookieObject: LangflowState = JSON.parse(cookie);
// try {
// cookieObject.flows.forEach((flow) => {
// if (!flow.data) {
// return;
// }
// flow.data.edges.forEach((edge) => {
// edge.className = "";
// edge.style = { stroke: "#555555" };
// });
// flow.data.nodes.forEach((node) => {
// const template = templates[node.data.type];
// if (!template) {
// setErrorData({ title: `Unknown node type: ${node.data.type}` });
// return;
// }
// if (Object.keys(template["template"]).length > 0) {
// node.data.node.base_classes = template["base_classes"];
// flow.data.edges.forEach((edge) => {
// if (edge.source === node.id) {
// edge.sourceHandle = edge.sourceHandle
// .split("|")
// .slice(0, 2)
// .concat(template["base_classes"])
// .join("|");
// }
// });
// node.data.node.description = template["description"];
// node.data.node.template = updateTemplate(
// template["template"] as unknown as APITemplateType,
// node.data.node.template as APITemplateType
// );
// }
// });
// });
// setTabIndex(cookieObject.tabIndex);
// setFlows(cookieObject.flows);
// setId(cookieObject.id);
// } catch (e) {
// console.log(e);
// }
// }
// }
function refreshFlows() {
getTabsDataFromDB().then((DbData) => {
if (DbData && Object.keys(templates).length > 0) {

View file

@ -0,0 +1,23 @@
const SvgAirbyte = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
xmlSpace="preserve"
style={{
enableBackground: "new 0 0 841.89 595.28",
}}
viewBox="0 0 841.89 595.28"
width="1em"
height="1em"
{...props}
>
<path
d="M349.6 124.45c48.94-54.99 129.98-71.12 196.61-39.38 88.52 42.17 120.82 149.6 72.62 232.48L510.41 503.76c-6.06 10.41-16.03 18-27.72 21.11a45.99 45.99 0 0 1-34.64-4.51l131.26-225.49c34.97-60.15 11.58-138.11-52.6-168.8-48.16-23.03-107.02-11.53-142.6 28.08-19.62 21.74-30.64 49.82-31.01 79.01-.37 29.2 9.94 57.53 29.01 79.76 3.43 3.99 7.12 7.75 11.04 11.25l-76.63 131.88c-3 5.16-6.99 9.67-11.74 13.3a45.845 45.845 0 0 1-15.97 7.82 46.098 46.098 0 0 1-17.77 1.16 46.124 46.124 0 0 1-16.87-5.68l83.19-143.17a164.492 164.492 0 0 1-25.29-56.58l-50.97 87.9c-6.06 10.41-16.03 18-27.72 21.11a45.99 45.99 0 0 1-34.64-4.51l131.83-226.76a168.65 168.65 0 0 1 19.03-26.19zm152.16 72.18c31.75 18.21 42.71 58.7 24.34 90.22L399.69 503.74c-6.06 10.41-16.03 18-27.72 21.11a45.99 45.99 0 0 1-34.64-4.51l117.38-201.93a66.675 66.675 0 0 1-26.01-11.65 66.228 66.228 0 0 1-18.7-21.4 65.82 65.82 0 0 1-7.95-27.22c-.64-9.54.82-19.1 4.27-28.02 3.45-8.92 8.8-17 15.7-23.67a66.558 66.558 0 0 1 24.24-14.95c9.08-3.18 18.74-4.37 28.32-3.49s18.85 3.82 27.18 8.62zm-45.98 40.76c-2.17 1.66-4 3.72-5.36 6.08h-.01a20.613 20.613 0 0 0-2.75 11.71c.27 4.09 1.76 8 4.27 11.25s5.94 5.69 9.84 7c3.91 1.32 8.12 1.45 12.1.39 3.99-1.06 7.56-3.27 10.28-6.35 2.72-3.08 4.46-6.89 5-10.95s-.15-8.19-1.97-11.87a20.806 20.806 0 0 0-8.28-8.78 20.964 20.964 0 0 0-15.83-2.07c-2.64.72-5.12 1.93-7.29 3.59z"
style={{
fillRule: "evenodd",
clipRule: "evenodd",
fill: "#505aa5",
}}
/>
</svg>
);
export default SvgAirbyte;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as AirbyteSVG } from "./airbyte.svg";
import SvgAirbyte from "./Airbyte";
export const AirbyteIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <AirbyteSVG ref={ref} {...props} />;
return <SvgAirbyte ref={ref} {...props} />;
});

View file

@ -0,0 +1,17 @@
const SvgAnthropic = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="-170.333 113.047 600 67.4"
{...props}
>
<path
d="M-23.533 126.747h21.9v52.6h14v-52.6h21.9v-12.6h-57.8v12.6Zm-24.6 33-29.3-45.6h-15.8v65.1h13.5v-45.6l29.3 45.7h15.8v-65.1h-13.5v45.5Zm138.2-19.6h-30.7v-26h-14v65.1h14v-26.6h30.7v26.6h14v-65.1h-14v26Zm-234.4-26-26 65.1h14.5l5.3-13.7h27.2l5.3 13.7h14.5l-26-65.1h-14.8Zm-1.5 39.4 8.9-22.9 8.9 22.9h-17.8Zm365.5-40.5c-18.8 0-32.1 14-32.1 33.8 0 19.6 13.3 33.6 32.1 33.6 18.7 0 31.9-14 31.9-33.6 0-19.8-13.2-33.8-31.9-33.8Zm0 54.4c-11 0-17.7-7.8-17.7-20.6 0-12.9 6.7-20.8 17.7-20.8 10.9 0 17.5 7.8 17.5 20.8 0 12.7-6.6 20.6-17.5 20.6Zm195.1-10c-2.4 6.3-7.3 10-13.9 10-11 0-17.7-7.8-17.7-20.6 0-12.9 6.7-20.8 17.7-20.8 6.6 0 11.4 3.6 13.9 10h14.8c-3.6-14-14.5-23-28.7-23-18.8 0-32.1 14-32.1 33.8 0 19.6 13.3 33.6 32.1 33.6 14.2 0 25.1-9.1 28.8-23h-14.9Zm-88.9-43.3 26 65.1h14.2l-26-65.1h-14.2Zm-29.5 0h-31.8v65.1h14v-23.6h17.9c14.8 0 23.8-7.8 23.8-20.8 0-12.9-9.1-20.7-23.9-20.7Zm-.6 29h-17.2v-16.4h17.2c6.9 0 10.5 2.8 10.5 8.2 0 5.4-3.6 8.2-10.5 8.2Zm-118.9-9.1c0-12.3-9-19.8-23.8-19.8h-31.8v65.1h14v-25.5h15.5l14 25.5h15.4l-15.5-27.4c7.7-3.1 12.2-9.3 12.2-17.9Zm-41.7-7.3h17.2c6.9 0 10.5 2.5 10.5 7.3 0 4.7-3.6 7.3-10.5 7.3h-17.2v-14.6Z"
style={{
fill: "#1f1f1e",
}}
/>
</svg>
);
export default SvgAnthropic;

View file

@ -0,0 +1,18 @@
const SvgAnthropicBox = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="-126.9 247.9 207.161 212.728"
{...props}
>
<defs>
<style>{".anthropic_box_svg__st0{fill:#1f1f1e}"}</style>
</defs>
<path
d="M19.9 260.5h21.9v52.6h14v-52.6h21.9v-12.6H19.9v12.6Zm-24.6 33L-34 247.9h-15.8V313h13.5v-45.6L-7 313.1H8.8V248H-4.7v45.5Zm-96.2-45.6-26 65.1h14.5l5.3-13.7h27.2l5.3 13.7h14.5l-26-65.1h-14.8Zm-1.5 39.4 8.9-22.9 8.9 22.9h-17.8ZM38.246 437.628c-2.4 6.3-7.3 10-13.9 10-11 0-17.7-7.8-17.7-20.6 0-12.9 6.7-20.8 17.7-20.8 6.6 0 11.4 3.6 13.9 10h14.8c-3.6-14-14.5-23-28.7-23-18.8 0-32.1 14-32.1 33.8 0 19.6 13.3 33.6 32.1 33.6 14.2 0 25.1-9.1 28.8-23h-14.9Zm-88.9-43.3 26 65.1h14.2l-26-65.1h-14.2Zm-29.5 0h-31.8v65.1h14v-23.6h17.9c14.8 0 23.8-7.8 23.8-20.8 0-12.9-9.1-20.7-23.9-20.7Zm-.6 29h-17.2v-16.4h17.2c6.9 0 10.5 2.8 10.5 8.2 0 5.4-3.6 8.2-10.5 8.2ZM-81.239 347.704h-30.7v-26h-14v65.1h14v-26.6h30.7v26.6h14v-65.1h-14v26Zm129.6-27.1c-18.8 0-32.1 14-32.1 33.8 0 19.6 13.3 33.6 32.1 33.6 18.7 0 31.9-14 31.9-33.6 0-19.8-13.2-33.8-31.9-33.8Zm0 54.4c-11 0-17.7-7.8-17.7-20.6 0-12.9 6.7-20.8 17.7-20.8 10.9 0 17.5 7.8 17.5 20.8 0 12.7-6.6 20.6-17.5 20.6Zm-42.8-33.4c0-12.3-9-19.8-23.8-19.8h-31.8v65.1h14v-25.5h15.5l14 25.5h15.4l-15.5-27.4c7.7-3.1 12.2-9.3 12.2-17.9Zm-41.7-7.3h17.2c6.9 0 10.5 2.5 10.5 7.3 0 4.7-3.6 7.3-10.5 7.3h-17.2v-14.6Z"
className="anthropic_box_svg__st0"
/>
</svg>
);
export default SvgAnthropicBox;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as AnthropicSVG } from "./anthropic_box.svg";
import SvgAnthropicBox from "./AnthropicBox";
export const AnthropicIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <AnthropicSVG ref={ref} {...props} />;
return <SvgAnthropicBox ref={ref} {...props} />;
});

View file

@ -0,0 +1,17 @@
const SvgAzLogo = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
xmlSpace="preserve"
width="1em"
height="1em"
viewBox="0 0 103 103"
{...props}
>
<image
width={103}
height={103}
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGcAAABnCAYAAAAdQVz5AAAABGdBTUEAALGPC/xhBQAAACBjSFJN AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAC gXpUWHRSYXcgcHJvZmlsZSB0eXBlIHhtcAAAOI2VVV3WnTAIfGcVXUIEAslyvGreek4fu/wOeH+s 2vbr9dyohDAwTCL9/P6DvsWvaSNZZHjzYpOJPay6cjG2am7dNlmZt/F4PAYz7N00LNWl6ipFVy8q 8G3WSZvPjoVVfNatquGOgCJYxCxDNi6yeJPZm2GhrQFmE5d4t8U2l5ijQEA2aiPykHmfeLtnJp8w sD1ihb5XcKlN11qII7nhaZLKmxRekU8RE6BiVNgmUVg6xs4LrIy3CZ4DI2Ms4sRrmGQW1IaxxPLT xc/yGFmYzJVV1U6lMeVklNdccSEkyhmeP94cXrxlxp74Pa7MITJhjOsOgIxcHP0JRryhLCDE/O9Z IAW0Co1g68lUB0PweM3bRCBsOIiNrHZij70IgnVFqy85J+D2aRPhBWTbinIackoCk3LYwnoJLq41 dHYihO6i/zl4KNFRHHxGhHPJetiEIMWMH7zcFfbvonZYusN9hXzyM2t0re+bBgEWjRDiNWQbbdKu msreFyGy5m6aQ3haZVJGs2EUgXIq9lYVgQQmhQwVapIGG5xDtqRTPjQIsl8yuUG+A0YMZMRqz+gV uNhFKf8J6Mgr7zU8MI+8YGMAC7waNs8BmBI5BCkhSQvi6gW5f5APwHoEpv9DRrBQd0VzNDZOjeKH LbLS6UgoOKRGOkk+lTgdwHGcC9jOde9czGMbvjcSQOhAbM2dZMDDC55DkuWg5Nn+QgEdOUAZE5rd Yy1KjeZyyuDV9mAkCm8oO/jKf7ZpojjCkoMj8hfbftQbfVVwJ709z3Ier4OE7k+as9t+Kr6tl0+B bBRTNx+kGr3Jcnj/ltAv3lyKr0wOoNMAAAZzSURBVHja7Z1LT1tHFMd/Y2wDtiFpeBuT8LIc0qSq BInUbqJAWFWqVAkpUnb9CpGSqFI/QGIp/RDdRapaKVJWLQsWySJRRDetgFCQCeERDAnCvPyALhxH gA2BY98HvvOTLKHB5/rcOT4z/zn33rF68OBPClABfA8MARHg649tmtKQAf4GxoHfgCf379/MHHyT q4BhBHgO/A7cBnrRgSk1FWT79TbZfn7+8OFfkYNvciml2PO6o5QaVUpdO9CuX8a+rimlRqPR4Tv7 grPn7yjwCKi2+mvlUKqBR9HocDTXkAvOLeCu1d5pALgbjQ7fAlDR6LAXmAJarfZK84lJ4EsXWUWm A2MvuoEht1LqO6s90RTkOxdZSaexH9+4lVLNVnuhKUirCzhjtReagnjdSimrndAcgqv4Q2iMQmeO jdGZY2N05tgYt1EHvn69k4aGgCknMTLyH0tL64f+f2joK1P8OIylpQQjI1MntjMkcwYHw1y61GTa yVdVeTjqPEIh61cLkn4ueXAGB8P09DSafuJ2H54l/pVUEFgRmHKmZJlz82a3hYGxd+YoZeGwNjDQ TU9Pw6k7eRM9tGZYszow5UxRmTMw0MXFi9YHplwFgTg4/f2dtghM7sTLMTiiYa21tdY2gSlnhJlj t2+pvTPHVLVmt34oV7VmWG3tMMbH44yPx/PaI5F6IpF6Qz7zyZOxoo9RU1PJjRsdItvt7bTITpg5 8m/p2lqS+flEXnswWCs+5ucEQaHPOyn19X6xbSy2auawJg/OYUNQMaOSGWrtyhVZITeZzDAxsWym lC6mIw7rSCOOWRrq6qqpqfGKbKWBAX0l9FhcviyvGU5MLIttTVdrxgxrxqq19vazIrvl5U1WVrbE vpk+5xgxrBk554TD5/B6Zc+OvX69UpRfWhB8hgsX5FdRJyffF+WXnnOOIBDwioMTi62STGZEtjm0 WjuCcPic2LbYrAEtCI4kHP5CZJdMZnjzZs2q4Ngrc4yYc5qb/QQCsrXN5OSHkvijBcEhdHfLsgZg bEy+8NyLFgQF8HoraGurEdmurGyRSKRK4ocWBAU4f75WvLYZGytubbMXLQgK0NV1Vmw7O5uwOjj2 ypxSzjl+v4emJp/IdmpqlVRq5/QGx+6CoKtLXhEoZdaAFgR5dHbKgrO+nmJ2tviLenvRgmAPjY0+ /H6PyLbUWQNaEOyjs1N+qXxiQnYp+ii0IPiIx+MiFJI97PXhwzYbG+nTHxy7CoJQKIDHI5uCjcga 0HPOJzo6ZBWBVGqHubkNQ4Kj1Rrg97tpaJDtAfj27Tqp1I4hfmlBAITDZ8W2sVjpVVoOLQiA1lZZ RWBjI008vl0+wbGbIAgGffh8sruSjcwa0IKAYFCWNQAzM8YIgRyOnnM8Hhfnz8vugY7Ht9nczBga HEertZYW+S7NMzPrYtvj4mhB0NUlX9ssLMjv5DwujhUEPl8FZ87IipwLC1uk07v2DE45CILOTlnW AExNrZvyJJ1jBUFzc5XoszY2Mqytlb7IWQhHCoLm5ip8PtkNHNPTxguBHKbPOW1tPurqKvPapZ2V 8+ckPkmzBmBx0biKwEFMD051dQXV1aX9OZ6TBMfjUYRCMgm9uLjN1lbpbuD4HI7bh6Cp6XRkDThw H4L2dlm5JpXaZW7O3OA4ShDU1rqprZUVOd+92zbdXwsqBKXnuHNOa6t8SIvFjK8IHEQH5xhsbu6Q SBhb5CyEYwRBY6MXt1vm98yM+VkDDppzWlpkD0IBzM2ZP9+AQ9Sa261obJQFZ2kpRSZjzVDuiDkn GKw8wdH2Mz+ftOx8HRIcWdak07vE4+YUOQth+n5r09NbTE/nj+EdHZV0dMil7lEEArJykdut6O8v fqv99+/TjI6evGDq2Os5ZnJqtpG0y/Ucc7Fo02+NcTj6Bg8z0dtI2hg9rJUZWq2ZgFZrNg6OVmtl iFZrJqHVmo0R9fOzZ1u7VjuuKYz+hV0bowWBjdGZY2N05tgYt1JqFbD+x5s1B0m4gAWrvdAU5K1b KfUKiFjtiSaPVy7gqdVeaAryVL14kfEC/wDdVnuj+cQ0cNEFJIGfrfZGs4+frl51JXPrnMfANeCO 1V5p+KWvTz2G/euce2QzKGm1dw4lN4LdyzWoly/zNnKLAL+SzSSNObwAfuzrU//ubSxUvhkHvgV+ AIbICoVeq70vQ16RnfgfA3/09pL3M1X/AznvTJ80sftLAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIz LTA1LTI5VDIzOjEwOjMwKzAwOjAwEYyoUQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMy0wNS0yOVQy MzoxMDozMCswMDowMGDREO0AAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjMtMDUtMjlUMjM6MTA6 MzArMDA6MDA3xDEyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5E rkJggg=="
/>
</svg>
);
export default SvgAzLogo;

View file

@ -1,8 +1,8 @@
import React, { forwardRef } from "react";
import { ReactComponent as AzSVG } from "./az_logo.svg";
import SvgAzLogo from "./AzLogo";
export const AzIcon = forwardRef<SVGSVGElement, React.PropsWithChildren<{}>>(
(props, ref) => {
return <AzSVG ref={ref} {...props} />;
return <SvgAzLogo ref={ref} {...props} />;
}
);

View file

@ -0,0 +1,94 @@
const SvgBing = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="-29.622 0.1 574.392 799.81"
{...props}
>
<linearGradient
id="bing_svg__a"
x1={286.383}
x2={542.057}
y1={284.169}
y2={569.112}
gradientUnits="userSpaceOnUse"
>
<stop offset={0} stopColor="#37bdff" />
<stop offset={0.25} stopColor="#26c6f4" />
<stop offset={0.5} stopColor="#15d0e9" />
<stop offset={0.75} stopColor="#3bd6df" />
<stop offset={1} stopColor="#62dcd4" />
</linearGradient>
<linearGradient
id="bing_svg__b"
x1={108.979}
x2={100.756}
y1={675.98}
y2={43.669}
gradientUnits="userSpaceOnUse"
>
<stop offset={0} stopColor="#1b48ef" />
<stop offset={0.5} stopColor="#2080f1" />
<stop offset={1} stopColor="#26b8f4" />
</linearGradient>
<linearGradient
id="bing_svg__c"
x1={256.823}
x2={875.632}
y1={649.719}
y2={649.719}
gradientUnits="userSpaceOnUse"
>
<stop offset={0} stopColor="#39d2ff" />
<stop offset={0.5} stopColor="#248ffa" />
<stop offset={1} stopColor="#104cf5" />
</linearGradient>
<linearGradient
id="bing_svg__d"
x1={256.823}
x2={875.632}
y1={649.719}
y2={649.719}
gradientUnits="userSpaceOnUse"
>
<stop offset={0} stopColor="#fff" />
<stop offset={1} />
</linearGradient>
<path
fill="#7f7f7f"
d="M249.97 277.48c-.12.96-.12 2.05-.12 3.12 0 4.16.83 8.16 2.33 11.84l1.34 2.76 5.3 13.56 27.53 70.23 24.01 61.33c6.85 12.38 17.82 22.1 31.05 27.28l4.11 1.51c.16.05.43.05.65.11l65.81 22.63v.05l25.16 8.64 1.72.58c.06 0 .16.06.22.06 4.96 1.25 9.82 2.93 14.46 4.98 10.73 4.63 20.46 11.23 28.77 19.28 3.35 3.2 6.43 6.65 9.28 10.33a88.64 88.64 0 0 1 6.64 9.72c8.78 14.58 13.82 31.72 13.82 49.97 0 3.26-.16 6.41-.49 9.61-.11 1.41-.28 2.77-.49 4.12v.11c-.22 1.43-.49 2.91-.76 4.36-.28 1.41-.54 2.81-.86 4.21-.05.16-.11.33-.17.49-.3 1.42-.68 2.82-1.07 4.23-.35 1.33-.79 2.7-1.28 3.99a42.96 42.96 0 0 1-1.51 4.16c-.49 1.4-1.07 2.82-1.72 4.16-1.78 4.11-3.9 8.06-6.28 11.83a97.889 97.889 0 0 1-10.47 13.95c30.88-33.2 51.41-76.07 56.52-123.51.86-7.78 1.3-15.67 1.3-23.61 0-5.07-.22-10.09-.55-15.13-3.89-56.89-29.79-107.77-69.32-144.08-10.9-10.09-22.81-19.07-35.62-26.69l-24.2-12.37-122.63-62.93a30.15 30.15 0 0 0-11.93-2.44c-15.88 0-28.99 12.11-30.55 27.56z"
/>
<path
fill="url(#bing_svg__a)"
d="M249.97 277.48c-.12.96-.12 2.05-.12 3.12 0 4.16.83 8.16 2.33 11.84l1.34 2.76 5.3 13.56 27.53 70.23 24.01 61.33c6.85 12.38 17.82 22.1 31.05 27.28l4.11 1.51c.16.05.43.05.65.11l65.81 22.63v.05l25.16 8.64 1.72.58c.06 0 .16.06.22.06 4.96 1.25 9.82 2.93 14.46 4.98 10.73 4.63 20.46 11.23 28.77 19.28 3.35 3.2 6.43 6.65 9.28 10.33a88.64 88.64 0 0 1 6.64 9.72c8.78 14.58 13.82 31.72 13.82 49.97 0 3.26-.16 6.41-.49 9.61-.11 1.41-.28 2.77-.49 4.12v.11c-.22 1.43-.49 2.91-.76 4.36-.28 1.41-.54 2.81-.86 4.21-.05.16-.11.33-.17.49-.3 1.42-.68 2.82-1.07 4.23-.35 1.33-.79 2.7-1.28 3.99a42.96 42.96 0 0 1-1.51 4.16c-.49 1.4-1.07 2.82-1.72 4.16-1.78 4.11-3.9 8.06-6.28 11.83a97.889 97.889 0 0 1-10.47 13.95c30.88-33.2 51.41-76.07 56.52-123.51.86-7.78 1.3-15.67 1.3-23.61 0-5.07-.22-10.09-.55-15.13-3.89-56.89-29.79-107.77-69.32-144.08-10.9-10.09-22.81-19.07-35.62-26.69l-24.2-12.37-122.63-62.93a30.15 30.15 0 0 0-11.93-2.44c-15.88 0-28.99 12.11-30.55 27.56z"
/>
<path
fill="#7f7f7f"
d="M31.62.1C14.17.41.16 14.69.16 32.15v559.06c.07 3.9.29 7.75.57 11.66.25 2.06.52 4.2.9 6.28 7.97 44.87 47.01 78.92 94.15 78.92 16.53 0 32.03-4.21 45.59-11.53.08-.06.22-.14.29-.14l4.88-2.95 19.78-11.64 25.16-14.93.06-496.73c0-33.01-16.52-62.11-41.81-79.4-.6-.36-1.18-.74-1.71-1.17L50.12 5.56C45.16 2.28 39.18.22 32.77.1z"
/>
<path
fill="url(#bing_svg__b)"
d="M31.62.1C14.17.41.16 14.69.16 32.15v559.06c.07 3.9.29 7.75.57 11.66.25 2.06.52 4.2.9 6.28 7.97 44.87 47.01 78.92 94.15 78.92 16.53 0 32.03-4.21 45.59-11.53.08-.06.22-.14.29-.14l4.88-2.95 19.78-11.64 25.16-14.93.06-496.73c0-33.01-16.52-62.11-41.81-79.4-.6-.36-1.18-.74-1.71-1.17L50.12 5.56C45.16 2.28 39.18.22 32.77.1z"
/>
<path
fill="#7f7f7f"
d="M419.81 510.84 194.72 644.26l-3.24 1.95v.71l-25.16 14.9-19.77 11.67-4.85 2.93-.33.16c-13.53 7.35-29.04 11.51-45.56 11.51-47.13 0-86.22-34.03-94.16-78.92 3.77 32.84 14.96 63.41 31.84 90.04 34.76 54.87 93.54 93.04 161.54 99.67h41.58c36.78-3.84 67.49-18.57 99.77-38.46l49.64-30.36c22.36-14.33 83.05-49.58 100.93-69.36 3.89-4.33 7.4-8.97 10.47-13.94 2.38-3.78 4.5-7.73 6.28-11.84.6-1.4 1.17-2.76 1.72-4.15.52-1.38 1.01-2.77 1.51-4.18.93-2.7 1.67-5.41 2.38-8.2.36-1.59.69-3.16 1.02-4.72 1.08-5.89 1.67-11.94 1.67-18.21 0-18.25-5.04-35.39-13.77-49.95-2-3.4-4.2-6.65-6.64-9.72-2.85-3.7-5.93-7.13-9.28-10.33-8.31-8.05-18.01-14.65-28.77-19.29-4.64-2.05-9.48-3.74-14.46-4.97-.06 0-.16-.06-.22-.06l-1.72-.58z"
/>
<path
fill="url(#bing_svg__c)"
d="M419.81 510.84 194.72 644.26l-3.24 1.95v.71l-25.16 14.9-19.77 11.67-4.85 2.93-.33.16c-13.53 7.35-29.04 11.51-45.56 11.51-47.13 0-86.22-34.03-94.16-78.92 3.77 32.84 14.96 63.41 31.84 90.04 34.76 54.87 93.54 93.04 161.54 99.67h41.58c36.78-3.84 67.49-18.57 99.77-38.46l49.64-30.36c22.36-14.33 83.05-49.58 100.93-69.36 3.89-4.33 7.4-8.97 10.47-13.94 2.38-3.78 4.5-7.73 6.28-11.84.6-1.4 1.17-2.76 1.72-4.15.52-1.38 1.01-2.77 1.51-4.18.93-2.7 1.67-5.41 2.38-8.2.36-1.59.69-3.16 1.02-4.72 1.08-5.89 1.67-11.94 1.67-18.21 0-18.25-5.04-35.39-13.77-49.95-2-3.4-4.2-6.65-6.64-9.72-2.85-3.7-5.93-7.13-9.28-10.33-8.31-8.05-18.01-14.65-28.77-19.29-4.64-2.05-9.48-3.74-14.46-4.97-.06 0-.16-.06-.22-.06l-1.72-.58z"
/>
<path
fill="#7f7f7f"
d="M512 595.46c0 6.27-.59 12.33-1.68 18.22-.32 1.56-.65 3.12-1.02 4.7-.7 2.8-1.44 5.51-2.37 8.22-.49 1.4-.99 2.8-1.51 4.16-.54 1.4-1.12 2.76-1.73 4.16a87.873 87.873 0 0 1-6.26 11.83 96.567 96.567 0 0 1-10.48 13.94c-17.88 19.79-78.57 55.04-100.93 69.37l-49.64 30.36c-36.39 22.42-70.77 38.29-114.13 39.38-2.05.06-4.06.11-6.05.11-2.8 0-5.56-.05-8.33-.16-73.42-2.8-137.45-42.25-174.38-100.54a213.368 213.368 0 0 1-31.84-90.04c7.94 44.89 47.03 78.92 94.16 78.92 16.52 0 32.03-4.17 45.56-11.51l.33-.17 4.85-2.92 19.77-11.67 25.16-14.9v-.71l3.24-1.95 225.09-133.43 17.33-10.27 1.72.58c.05 0 .16.06.22.06 4.98 1.23 9.83 2.92 14.46 4.97 10.76 4.64 20.45 11.24 28.77 19.29a92.13 92.13 0 0 1 9.28 10.33c2.44 3.07 4.64 6.32 6.64 9.72 8.73 14.56 13.77 31.7 13.77 49.95z"
opacity={0.15}
/>
<path
fill="url(#bing_svg__d)"
d="M512 595.46c0 6.27-.59 12.33-1.68 18.22-.32 1.56-.65 3.12-1.02 4.7-.7 2.8-1.44 5.51-2.37 8.22-.49 1.4-.99 2.8-1.51 4.16-.54 1.4-1.12 2.76-1.73 4.16a87.873 87.873 0 0 1-6.26 11.83 96.567 96.567 0 0 1-10.48 13.94c-17.88 19.79-78.57 55.04-100.93 69.37l-49.64 30.36c-36.39 22.42-70.77 38.29-114.13 39.38-2.05.06-4.06.11-6.05.11-2.8 0-5.56-.05-8.33-.16-73.42-2.8-137.45-42.25-174.38-100.54a213.368 213.368 0 0 1-31.84-90.04c7.94 44.89 47.03 78.92 94.16 78.92 16.52 0 32.03-4.17 45.56-11.51l.33-.17 4.85-2.92 19.77-11.67 25.16-14.9v-.71l3.24-1.95 225.09-133.43 17.33-10.27 1.72.58c.05 0 .16.06.22.06 4.98 1.23 9.83 2.92 14.46 4.97 10.76 4.64 20.45 11.24 28.77 19.29a92.13 92.13 0 0 1 9.28 10.33c2.44 3.07 4.64 6.32 6.64 9.72 8.73 14.56 13.77 31.7 13.77 49.95z"
opacity={0.15}
/>
</svg>
);
export default SvgBing;

View file

@ -1,8 +1,8 @@
import React, { forwardRef } from "react";
import { ReactComponent as BingSVG } from "./bing.svg";
import SvgBing from "./Bing";
export const BingIcon = forwardRef<SVGSVGElement, React.PropsWithChildren<{}>>(
(props, ref) => {
return <BingSVG ref={ref} {...props} />;
return <SvgBing ref={ref} {...props} />;
}
);

View file

@ -0,0 +1,22 @@
const SvgChroma = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
fill="none"
viewBox="0 0 209 135"
{...props}
>
<ellipse cx={136.019} cy={67.23} fill="#FFDE2D" rx={66.667} ry={64} />
<ellipse cx={69.352} cy={67.23} fill="#327EFF" rx={66.667} ry={64} />
<path
fill="#327EFF"
d="M2.685 67.23c0-35.346 29.848-64 66.667-64v64H2.685Z"
/>
<path
fill="#FF6446"
d="M136.019 67.23c0 35.347-29.848 64-66.667 64v-64h66.667ZM69.352 67.23c0-35.346 29.848-64 66.667-64v64H69.352Z"
/>
</svg>
);
export default SvgChroma;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as ChromaSVG } from "./chroma.svg";
import SvgChroma from "./Chroma";
export const ChromaIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <ChromaSVG ref={ref} {...props} />;
return <SvgChroma ref={ref} {...props} />;
});

View file

@ -0,0 +1,52 @@
const SvgCohere = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="165.883 110.821 117.8 117.78"
width="1em"
height="1em"
{...props}
>
<g transform="translate(97.843 -127.708)">
<clipPath id="cohere_svg__a">
<path
d="M68.05 238.52h117.78V356.3H68.05z"
style={{
overflow: "visible",
}}
/>
</clipPath>
<g
style={{
clipPath: "url(#cohere_svg__a)",
}}
>
<path
d="M106.21 308.65c3.17 0 9.48-.17 18.19-3.76 10.16-4.18 30.37-11.77 44.94-19.57 10.2-5.45 14.66-12.67 14.66-22.38 0-13.48-10.93-24.41-24.41-24.41H103.1c-19.37 0-35.06 15.7-35.06 35.06s14.71 35.06 38.17 35.06z"
className="cohere_svg__st2"
style={{
clipRule: "evenodd",
fill: "#3a594d",
fillRule: "evenodd",
}}
/>
<path
d="M115.77 332.79c0-9.49 5.71-18.05 14.48-21.69l17.79-7.38c17.99-7.47 37.8 5.76 37.8 25.24 0 15.09-12.24 27.33-27.33 27.32h-19.26c-12.97-.01-23.48-10.52-23.48-23.49z"
className="cohere_svg__st3"
style={{
clipRule: "evenodd",
fill: "#bd8fc0",
fillRule: "evenodd",
}}
/>
<path
d="M88.27 313.27c-11.16 0-20.21 9.05-20.21 20.21v2.62c0 11.16 9.05 20.21 20.21 20.21s20.21-9.05 20.21-20.21v-2.62c0-11.16-9.05-20.21-20.21-20.21z"
className="cohere_svg__st4"
style={{
fill: "#ee765c",
}}
/>
</g>
</g>
</svg>
);
export default SvgCohere;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as CohereSVG } from "./cohere.svg";
import SvgCohere from "./Cohere";
export const CohereIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <CohereSVG ref={ref} {...props} />;
return <SvgCohere ref={ref} {...props} />;
});

View file

@ -0,0 +1,13 @@
const SvgEvernoteIcon = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
fill="#7fce2c"
viewBox="0 0 32 32"
{...props}
>
<path d="M29.343 16.818c.1 1.695-.08 3.368-.305 5.045-.225 1.712-.508 3.416-.964 5.084-.3 1.067-.673 2.1-1.202 3.074-.65 1.192-1.635 1.87-2.992 1.924l-3.832.036c-.636-.017-1.278-.146-1.9-.297-1.192-.3-1.862-1.1-2.06-2.3a8.976 8.976 0 0 1 .04-3.264c.252-1.23 1-1.96 2.234-2.103.817-.1 1.65-.077 2.476-.1.205-.007.275.098.203.287a2.695 2.695 0 0 0-.098 1.623c.053.207-.023.307-.26.305a7.77 7.77 0 0 0-1.123.053c-.636.086-.96.47-.96 1.112 0 .205.026.416.066.622.103.507.45.78.944.837 1.123.127 2.247.138 3.37-.05.675-.114 1.08-.54 1.16-1.208.152-1.3.155-2.587-.228-3.845-.33-1.092-1.006-1.565-2.134-1.7l-3.36-.54c-1.06-.193-1.7-.887-1.92-1.9-.13-.572-.14-1.17-.214-1.757-.013-.106-.074-.208-.1-.3-.04.1-.106.212-.117.326-.066.68-.053 1.373-.185 2.04-.16.8-.404 1.566-.67 2.33-.185.535-.616.837-1.205.8a37.76 37.76 0 0 1-7.123-1.353l-.64-.207c-.927-.26-1.487-.903-1.74-1.787l-1-3.853-.74-4.3c-.115-.755-.2-1.523-.083-2.293.154-1.112.914-1.903 2.04-1.964l3.558-.062c.127 0 .254.003.373-.026a1.23 1.23 0 0 0 1.01-1.255l-.05-3.036c-.048-1.576.8-2.38 2.156-2.622a10.58 10.58 0 0 1 4.91.26c.933.275 1.467.923 1.715 1.83.058.22.146.3.37.287l2.582.01 3.333.37c.686.095 1.364.25 2.032.42 1.165.298 1.793 1.112 1.962 2.256l.357 3.355.3 5.577.01 2.277zm-4.534-1.155c-.02-.666-.07-1.267-.444-1.784a1.66 1.66 0 0 0-2.469-.15c-.364.4-.494.88-.564 1.4-.008.034.106.126.16.126l.8-.053c.768.007 1.523.113 2.25.393.066.026.136.04.265.077zM8.787 1.154a3.82 3.82 0 0 0-.278 1.592l.05 2.934c.005.357-.075.45-.433.45L5.1 6.156c-.583 0-1.143.1-1.554.278l5.2-5.332c.02.013.04.033.06.053z" />
</svg>
);
export default SvgEvernoteIcon;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as EvernoteSVG } from "./evernote-icon.svg";
import SvgEvernoteIcon from "./EvernoteIcon";
export const EvernoteIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <EvernoteSVG ref={ref} {...props} />;
return <SvgEvernoteIcon ref={ref} {...props} />;
});

View file

@ -0,0 +1,52 @@
const SvgFacebookMessengerLogo2020 = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 800 800"
width="1em"
height="1em"
{...props}
>
<radialGradient
id="Facebook_Messenger_logo_2020_svg__a"
cx={101.9}
cy={809}
r={1.1}
gradientTransform="matrix(800 0 0 -800 -81386 648000)"
gradientUnits="userSpaceOnUse"
>
<stop
offset={0}
style={{
stopColor: "#09f",
}}
/>
<stop
offset={0.6}
style={{
stopColor: "#a033ff",
}}
/>
<stop
offset={0.9}
style={{
stopColor: "#ff5280",
}}
/>
<stop
offset={1}
style={{
stopColor: "#ff7061",
}}
/>
</radialGradient>
<path
fill="url(#Facebook_Messenger_logo_2020_svg__a)"
d="M400 0C174.7 0 0 165.1 0 388c0 116.6 47.8 217.4 125.6 287 6.5 5.8 10.5 14 10.7 22.8l2.2 71.2a32 32 0 0 0 44.9 28.3l79.4-35c6.7-3 14.3-3.5 21.4-1.6 36.5 10 75.3 15.4 115.8 15.4 225.3 0 400-165.1 400-388S625.3 0 400 0z"
/>
<path
fill="#FFF"
d="m159.8 501.5 117.5-186.4a60 60 0 0 1 86.8-16l93.5 70.1a24 24 0 0 0 28.9-.1l126.2-95.8c16.8-12.8 38.8 7.4 27.6 25.3L522.7 484.9a60 60 0 0 1-86.8 16l-93.5-70.1a24 24 0 0 0-28.9.1l-126.2 95.8c-16.8 12.8-38.8-7.3-27.5-25.2z"
/>
</svg>
);
export default SvgFacebookMessengerLogo2020;

View file

@ -1,8 +1,8 @@
import React, { forwardRef } from "react";
import { ReactComponent as FacebookMessengerSVG } from "./Facebook_Messenger_logo_2020.svg";
import SvgFacebookMessengerLogo2020 from "./FacebookMessengerLogo2020";
export const FBIcon = forwardRef<SVGSVGElement, React.PropsWithChildren<{}>>(
(props, ref) => {
return <FacebookMessengerSVG ref={ref} {...props} />;
return <SvgFacebookMessengerLogo2020 ref={ref} {...props} />;
}
);

View file

@ -0,0 +1,12 @@
const SvgGitbookSvgrepoCom = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 24 24"
{...props}
>
<path d="M10.802 17.77a.703.703 0 1 1-.002 1.406.703.703 0 0 1 .002-1.406m11.024-4.347a.703.703 0 1 1 .001-1.406.703.703 0 0 1-.001 1.406m0-2.876a2.176 2.176 0 0 0-2.174 2.174c0 .233.039.465.115.691l-7.181 3.823a2.165 2.165 0 0 0-1.784-.937c-.829 0-1.584.475-1.95 1.216l-6.451-3.402c-.682-.358-1.192-1.48-1.138-2.502.028-.533.212-.947.493-1.107.178-.1.392-.092.62.027l.042.023c1.71.9 7.304 3.847 7.54 3.956.363.169.565.237 1.185-.057l11.564-6.014c.17-.064.368-.227.368-.474 0-.342-.354-.477-.355-.477-.658-.315-1.669-.788-2.655-1.25-2.108-.987-4.497-2.105-5.546-2.655-.906-.474-1.635-.074-1.765.006l-.252.125C7.78 6.048 1.46 9.178 1.1 9.397.457 9.789.058 10.57.006 11.539c-.08 1.537.703 3.14 1.824 3.727l6.822 3.518a2.175 2.175 0 0 0 2.15 1.862 2.177 2.177 0 0 0 2.173-2.14l7.514-4.073c.38.298.853.461 1.337.461A2.176 2.176 0 0 0 24 12.72a2.176 2.176 0 0 0-2.174-2.174" />
</svg>
);
export default SvgGitbookSvgrepoCom;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as GitBookSVG } from "./gitbook-svgrepo-com.svg";
import SvgGitbookSvgrepoCom from "./GitbookSvgrepoCom";
export const GitBookIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <GitBookSVG ref={ref} {...props} />;
return <SvgGitbookSvgrepoCom ref={ref} {...props} />;
});

View file

@ -0,0 +1,28 @@
const SvgGoogle = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
preserveAspectRatio="xMidYMid"
viewBox="0 0 256 262"
{...props}
>
<path
fill="#4285F4"
d="M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027"
/>
<path
fill="#34A853"
d="M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1"
/>
<path
fill="#FBBC05"
d="M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782"
/>
<path
fill="#EB4335"
d="M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251"
/>
</svg>
);
export default SvgGoogle;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as GoogleSVG } from "./google.svg";
import SvgGoogle from "./Google";
export const GoogleIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <GoogleSVG ref={ref} {...props} />;
return <SvgGoogle ref={ref} {...props} />;
});

File diff suppressed because one or more lines are too long

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as HugginFaceSVG } from "./hf-logo.svg";
import SvgHfLogo from "./HfLogo";
export const HuggingFaceIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <HugginFaceSVG ref={ref} {...props} />;
return <SvgHfLogo ref={ref} {...props} />;
});

View file

@ -0,0 +1,15 @@
const SvgIfixitSeeklogocom = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="8.4 8.4 51.2 51.2"
{...props}
>
<path
fill="#0071BA"
d="M34 8.4C19.813 8.4 8.4 19.813 8.4 34S19.813 59.6 34 59.6 59.6 48.187 59.6 34 48.187 8.4 34 8.4zm9.493 13.226c.64.32 1.28.747 1.707 1.173 1.173 1.173 1.6 2.24 1.28 3.2l-5.44 7.467c-.106.32-.106 1.066 0 1.387l5.333 7.253c.107.32.213.96.107 1.28-.854 1.6-2.348 2.773-3.84 3.307-.32 0-.534 0-.747-.106l-7.253-5.333c-.32-.214-.854-.214-1.281-.107l-7.573 5.547c-.64.213-1.173.106-1.813-.32-1.387-.96-2.347-2.133-2.667-3.413 0-.427 0-.533.213-.747l5.333-7.359a1.705 1.705 0 0 0-.213-1.6l-5.12-6.934c-.106-.106-.106-.32-.213-.533.107-2.027 1.6-3.093 3.307-4.267.32-.107.854-.107 1.173 0l7.36 5.546c.427.107 1.174.107 1.494-.106L42 21.626c.533-.213.96-.106 1.387 0h.106z"
/>
</svg>
);
export default SvgIfixitSeeklogocom;

View file

@ -1,8 +1,8 @@
import React, { forwardRef } from "react";
import { ReactComponent as IFixItSVG } from "./ifixit-seeklogo.com.svg";
import SvgIfixitSeeklogocom from "./IfixitSeeklogoCom";
export const IFixIcon = forwardRef<SVGSVGElement, React.PropsWithChildren<{}>>(
(props, ref) => {
return <IFixItSVG ref={ref} {...props} />;
return <SvgIfixitSeeklogocom ref={ref} {...props} />;
}
);

View file

@ -0,0 +1,58 @@
const SvgMetaIcon = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
data-name="Layer 1"
viewBox="0 0 287.56 191"
width="1em"
height="1em"
{...props}
>
<defs>
<linearGradient
id="meta-icon_svg__a"
x1={62.34}
x2={260.34}
y1={101.45}
y2={91.45}
gradientTransform="matrix(1 0 0 -1 0 192)"
gradientUnits="userSpaceOnUse"
>
<stop offset={0} stopColor="#0064e1" />
<stop offset={0.4} stopColor="#0064e1" />
<stop offset={0.83} stopColor="#0073ee" />
<stop offset={1} stopColor="#0082fb" />
</linearGradient>
<linearGradient
id="meta-icon_svg__b"
x1={41.42}
x2={41.42}
y1={53}
y2={126}
gradientTransform="matrix(1 0 0 -1 0 192)"
gradientUnits="userSpaceOnUse"
>
<stop offset={0} stopColor="#0082fb" />
<stop offset={1} stopColor="#0064e0" />
</linearGradient>
</defs>
<path
d="M31.06 126c0 11 2.41 19.41 5.56 24.51A19 19 0 0 0 53.19 160c8.1 0 15.51-2 29.79-21.76 11.44-15.83 24.92-38 34-52l15.36-23.6c10.67-16.39 23-34.61 37.18-47C181.07 5.6 193.54 0 206.09 0c21.07 0 41.14 12.21 56.5 35.11 16.81 25.08 25 56.67 25 89.27 0 19.38-3.82 33.62-10.32 44.87C271 180.13 258.72 191 238.13 191v-31c17.63 0 22-16.2 22-34.74 0-26.42-6.16-55.74-19.73-76.69-9.63-14.86-22.11-23.94-35.84-23.94-14.85 0-26.8 11.2-40.23 31.17-7.14 10.61-14.47 23.54-22.7 38.13l-9.06 16c-18.2 32.27-22.81 39.62-31.91 51.75C84.74 183 71.12 191 53.19 191c-21.27 0-34.72-9.21-43-23.09C3.34 156.6 0 141.76 0 124.85Z"
style={{
fill: "#0081fb",
}}
/>
<path
d="M24.49 37.3C38.73 15.35 59.28 0 82.85 0c13.65 0 27.22 4 41.39 15.61 15.5 12.65 32 33.48 52.63 67.81l7.39 12.32c17.84 29.72 28 45 33.93 52.22 7.64 9.26 13 12 19.94 12 17.63 0 22-16.2 22-34.74l27.4-.86c0 19.38-3.82 33.62-10.32 44.87C271 180.13 258.72 191 238.13 191c-12.8 0-24.14-2.78-36.68-14.61-9.64-9.08-20.91-25.21-29.58-39.71L146.08 93.6c-12.94-21.62-24.81-37.74-31.68-45-7.4-7.89-16.89-17.37-32.05-17.37-12.27 0-22.69 8.61-31.41 21.78Z"
style={{
fill: "url(#meta-icon_svg__a)",
}}
/>
<path
d="M82.35 31.23c-12.27 0-22.69 8.61-31.41 21.78C38.61 71.62 31.06 99.34 31.06 126c0 11 2.41 19.41 5.56 24.51l-26.48 17.4C3.34 156.6 0 141.76 0 124.85 0 94.1 8.44 62.05 24.49 37.3 38.73 15.35 59.28 0 82.85 0Z"
style={{
fill: "url(#meta-icon_svg__b)",
}}
/>
</svg>
);
export default SvgMetaIcon;

View file

@ -1,8 +1,8 @@
import React, { forwardRef } from "react";
import { ReactComponent as MetaSVG } from "./meta-icon.svg";
import SvgMetaIcon from "./MetaIcon";
export const MetaIcon = forwardRef<SVGSVGElement, React.PropsWithChildren<{}>>(
(props, ref) => {
return <MetaSVG ref={ref} {...props} />;
return <SvgMetaIcon ref={ref} {...props} />;
}
);

View file

@ -0,0 +1,13 @@
const SvgMidjourneyEmblem = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 1024 1024"
{...props}
>
<path d="M261 222.8c-4.5 4.6-4 7.5 3.3 21.1 32.2 59 53.7 120.8 60.2 173.1 1.8 14.4 2 47.9.5 65.8-5.9 68.9-29.7 131.7-64.2 169.9-5.5 6-6.5 9.1-4.8 13.4 3.2 7.7 9.1 7.8 21 .5 32.9-20.4 79.4-37.4 122-44.7 12.2-2.1 16.6-2.3 46-2.4 33.9 0 39.1.5 68 5.6 24.8 4.4 54.3 12.6 76.1 21 7.4 2.8 14.6 5.3 16 5.6 3.7.7 8.4-2 9.9-5.7 1.7-4.1-.4-17.8-6.2-40.4-18.4-72.5-60.4-151.6-115.2-217-54.1-64.5-126.6-121.3-203.4-159.3-20.7-10.2-24.6-11.1-29.2-6.5zm43.4 35.8c31.5 17.3 66.9 41.4 96.6 65.8 84 69 149.2 162.5 181.7 260.4 4.9 14.9 11.3 40.6 10.1 41.1-.5.1-4.8-1.1-9.6-2.7-28.1-9.8-61.9-17.5-94.2-21.4-25.3-3.1-64.1-3.1-86.1 0-31.3 4.4-60.5 12.5-89.4 24.7-6 2.6-11.6 4.9-12.4 5.3-1 .4-.8-.5.7-2.9 3.3-5.5 13.6-26.6 17.5-36 20-48.5 30.4-117.1 25.6-168.9-4.4-47.7-23.4-110-49.5-162.2-2.4-4.8-4.4-9-4.4-9.3 0-1 1.5-.3 13.4 6.1z" />
<path d="M448.8 292.6c-3.4 1.8-4.8 4.3-4.8 8.6 0 4.5 1.1 5.8 10.2 12 25.8 17.7 61.5 50.8 80.1 74.3 41.9 52.7 86.1 142.6 111.8 227.5 2.8 9 5.8 17.3 6.7 18.3 3 3.4 5.9 3.8 14.4 2.2 4.4-.8 12.4-1.8 17.7-2.1 11.8-.7 21.3 1.6 42.5 10 17.9 7.2 22.2 7.2 25.1.2 1.7-4.1 1.3-5.9-6.6-26.1-23.9-61.6-55.5-120.6-87.3-163-5.1-6.9-18-23-19.6-24.5-.3-.3-3-3.2-5.9-6.5-57.4-63.2-114.1-109.3-155.1-126-6.8-2.7-21.1-6.5-24.5-6.5-1.1.1-3.2.7-4.7 1.6zM554 372.4c14.9 12.9 57.7 55.8 70.4 70.6 31.5 36.7 62.5 87.4 87.3 143 7 15.7 14.3 33.5 14.3 34.9 0 .5-4.8-.7-10.7-2.7-10.4-3.5-11.4-3.6-25.3-3.6-8-.1-16.5.1-18.9.4l-4.4.4-5.2-16.4c-21.4-67.7-54.3-138.3-90.2-193.5-4.7-7.2-10.4-15.5-12.6-18.5-6.1-8-22.1-27.2-24.6-29.4-1.1-1.1-2.1-2.3-2.1-2.8 0-1.1 5.5 3.3 22 17.6zM808 660.8c-4.7.2-69.9 4.4-135.5 8.7-20.9 1.4-45.6 2.9-55 3.5-9.3.6-26.4 1.7-38 2.5-11.5.8-29.1 1.9-39 2.5-9.9.6-34.9 2.2-55.5 3.5-20.6 1.4-58.6 3.8-84.5 5.5-25.8 1.7-60.7 3.9-77.5 5-16.8 1.1-45.1 2.9-63 4-48.3 2.9-47.8 2.8-50 9.6-1.3 3.9-.5 6 12.3 30l6.5 12.1-16.6 11.4c-26.9 18.5-36.6 23.9-42.9 23.9-1.4 0-3.7 1.3-5.4 2.9-4.1 4.1-4 9.1.2 13.3 2.9 2.9 3.3 3 9.5 2.5 8.7-.7 19.7-6 37.8-18.4 30.5-21 38.1-25.3 44.6-25.3 4.8 0 10 3.2 25.9 15.9 21.5 17.1 29.6 22 42.6 26 10.8 3.4 21.3 3.8 31.5 1.2 11.9-2.9 20.2-7.5 37.7-20.5 20.1-15.1 24.3-17.1 35.3-17.1 10.8 0 15.5 2.2 29.5 13.5 15.9 12.9 20.2 16 27.9 19.9 9.1 4.6 16.8 6.4 27.1 6.4 15.4-.1 28.4-6.3 47.5-22.4 17.8-15 25.7-18.5 39.3-17.6 10.1.7 16 3.5 29 14.1 26.5 21.5 36.8 26.6 54.5 26.6 16.1 0 28.1-5.4 49-22.2 8.1-6.4 17.6-13.2 21.2-15 6-3 7.2-3.3 16.5-3.3s10.5.2 16.6 3.2c3.8 1.9 11.4 7.4 17.6 12.7 6.1 5.2 13.3 11.1 15.9 13.2 11.2 8.6 29.4 14.3 36.3 11.4 3.6-1.5 6.1-5.5 6.1-9.8 0-4.4-5.8-9.2-11-9.2-8.4 0-14.5-3.4-31-17.5-21-18-30.1-22.7-46.6-24.1-16.2-1.5-30.4 4.5-52.4 22.1-21.1 16.9-30.7 20.9-44.2 18.5-5.5-1-17.5-5.7-16.6-6.5.2-.2 5.9-3.1 12.8-6.6 25-12.5 63.7-34.4 80-45.3 21.3-14.2 64-46.3 66.5-50 2-2.8 1.8-8.6-.3-11.3-2-2.7-6.1-3.9-12.2-3.5zm-28 21.9c0 .9-27.4 20.5-39.6 28.5-23 15-74.5 42.9-91.6 49.7l-5.6 2.3-6.9-5.3c-18.4-14.2-38.5-18.1-57.4-11.3-9.2 3.3-17.1 8.4-32.4 20.9-6.6 5.4-14.9 11.2-18.5 12.9-5.8 2.7-7.5 3.1-15.5 3.1-13.3 0-18.5-2.7-42.4-22.2-21-17.1-38.3-21.6-57.6-15.1-8.1 2.8-15.4 7.3-32 19.8-7.7 5.8-16.9 11.9-20.5 13.5-6 2.8-7.4 3-17.5 3-10.6 0-11.3-.1-18.7-3.7-9.8-4.6-14.3-7.7-29.3-19.9-21.7-17.4-30.7-21.8-42.4-20.4l-5.7.7-5.6-10.4c-3-5.7-5.2-10.6-4.9-10.9.6-.7 24.1-2.4 79.1-5.9 17.3-1.1 56-3.6 86-5.5s71.8-4.6 93-6c21.2-1.3 49.3-3.2 62.5-4 13.2-.9 44.9-2.9 70.5-4.5 60.9-4 120.5-7.9 135.5-8.9 17.2-1.2 17.5-1.2 17.5-.4z" />
</svg>
);
export default SvgMidjourneyEmblem;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as MidjourneySVG } from "./Midjourney_Emblem.svg";
import SvgMidjourneyEmblem from "./MidjourneyEmblem";
export const MidjourneyIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <MidjourneySVG ref={ref} {...props} />;
return <SvgMidjourneyEmblem ref={ref} {...props} />;
});

View file

@ -0,0 +1,23 @@
const SvgMongodbIcon = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 32 32"
{...props}
>
<path
fill="#599636"
d="m15.9.087.854 1.604c.192.296.4.558.645.802a22.406 22.406 0 0 1 2.004 2.266c1.447 1.9 2.423 4.01 3.12 6.292.418 1.394.645 2.824.662 4.27.07 4.323-1.412 8.035-4.4 11.12a12.7 12.7 0 0 1-1.57 1.342c-.296 0-.436-.227-.558-.436a3.589 3.589 0 0 1-.436-1.255c-.105-.523-.174-1.046-.14-1.586v-.244C16.057 24.21 15.796.21 15.9.087z"
/>
<path
fill="#6cac48"
d="M15.9.034c-.035-.07-.07-.017-.105.017.017.35-.105.662-.296.96-.21.296-.488.523-.767.767-1.55 1.342-2.77 2.963-3.747 4.776-1.3 2.44-1.97 5.055-2.16 7.808-.087.993.314 4.497.627 5.508.854 2.684 2.388 4.933 4.375 6.885.488.47 1.01.906 1.55 1.325.157 0 .174-.14.21-.244a4.78 4.78 0 0 0 .157-.68l.35-2.614L15.9.034z"
/>
<path
fill="#c2bfbf"
d="M16.754 28.845c.035-.4.227-.732.436-1.063-.21-.087-.366-.26-.488-.453a3.235 3.235 0 0 1-.26-.575c-.244-.732-.296-1.5-.366-2.248v-.453c-.087.07-.105.662-.105.75a17.37 17.37 0 0 1-.314 2.353c-.052.314-.087.627-.28.906 0 .035 0 .07.017.122.314.924.4 1.865.453 2.824v.35c0 .418-.017.33.33.47.14.052.296.07.436.174.105 0 .122-.087.122-.157l-.052-.575v-1.604c-.017-.28.035-.558.07-.82z"
/>
</svg>
);
export default SvgMongodbIcon;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as MongoDBSVG } from "./mongodb-icon.svg";
import SvgMongodbIcon from "./MongodbIcon";
export const MongoDBIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <MongoDBSVG ref={ref} {...props} />;
return <SvgMongodbIcon ref={ref} {...props} />;
});

View file

@ -0,0 +1,22 @@
const SvgNotionLogo = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
fill="none"
viewBox="0 0 100 100"
{...props}
>
<path
fill="#fff"
d="M6.017 4.313 61.35.226c6.797-.583 8.543-.19 12.817 2.917L91.83 15.586c2.913 2.14 3.883 2.723 3.883 5.053v68.243c0 4.277-1.553 6.807-6.99 7.193l-64.256 3.892c-4.08.193-6.023-.39-8.16-3.113L3.3 79.94C.967 76.827 0 74.497 0 71.773v-60.66c0-3.497 1.553-6.413 6.017-6.8z"
/>
<path
fill="#000"
fillRule="evenodd"
d="M61.35.227 6.017 4.314C1.553 4.7 0 7.617 0 11.113v60.66c0 2.723.967 5.053 3.3 8.167l13.007 16.913c2.137 2.723 4.08 3.307 8.16 3.113l64.257-3.89c5.433-.387 6.99-2.917 6.99-7.193V20.64c0-2.21-.873-2.847-3.443-4.733L74.167 3.143C69.894.036 68.147-.357 61.35.226zM25.92 19.523c-5.247.353-6.437.433-9.417-1.99l-7.576-6.026c-.77-.78-.383-1.753 1.557-1.947l53.193-3.887c4.467-.39 6.793 1.167 8.54 2.527l9.123 6.61c.39.197 1.36 1.36.193 1.36L26.6 19.477l-.68.047zM19.803 88.3V30.367c0-2.53.777-3.697 3.103-3.893L86 22.78c2.14-.193 3.107 1.167 3.107 3.693V84.02c0 2.53-.39 4.67-3.883 4.863l-60.377 3.5c-3.493.193-5.043-.97-5.043-4.083zm59.6-54.827c.387 1.75 0 3.5-1.75 3.7l-2.91.577v42.773c-2.527 1.36-4.853 2.137-6.797 2.137-3.107 0-3.883-.973-6.21-3.887l-19.03-29.94V77.8l6.02 1.363s0 3.5-4.857 3.5l-13.39.777c-.39-.78 0-2.723 1.357-3.11l3.497-.97v-38.3l-4.853-.393c-.39-1.75.58-4.277 3.3-4.473l14.367-.967 19.8 30.327v-26.83l-5.047-.58c-.39-2.143 1.163-3.7 3.103-3.89l13.4-.78z"
clipRule="evenodd"
/>
</svg>
);
export default SvgNotionLogo;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as NotionSVG } from "./Notion-logo.svg";
import SvgNotionLogo from "./NotionLogo";
export const NotionIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <NotionSVG ref={ref} {...props} />;
return <SvgNotionLogo ref={ref} {...props} />;
});

View file

@ -0,0 +1,22 @@
const SvgOpenAi = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
fillRule="evenodd"
clipRule="evenodd"
imageRendering="optimizeQuality"
shapeRendering="geometricPrecision"
textRendering="geometricPrecision"
viewBox="0 0 512 512"
width="1em"
height="1em"
{...props}
>
<rect width={512} height={512} fill="#10A37F" rx={104.187} ry={105.042} />
<path
fill="#fff"
fillRule="nonzero"
d="M378.68 230.011a71.432 71.432 0 0 0 3.654-22.541 71.383 71.383 0 0 0-9.783-36.064c-12.871-22.404-36.747-36.236-62.587-36.236a72.31 72.31 0 0 0-15.145 1.604 71.362 71.362 0 0 0-53.37-23.991h-.453l-.17.001c-31.297 0-59.052 20.195-68.673 49.967a71.372 71.372 0 0 0-47.709 34.618 72.224 72.224 0 0 0-9.755 36.226 72.204 72.204 0 0 0 18.628 48.395 71.395 71.395 0 0 0-3.655 22.541 71.388 71.388 0 0 0 9.783 36.064 72.187 72.187 0 0 0 77.728 34.631 71.375 71.375 0 0 0 53.374 23.992H271l.184-.001c31.314 0 59.06-20.196 68.681-49.995a71.384 71.384 0 0 0 47.71-34.619 72.107 72.107 0 0 0 9.736-36.194 72.201 72.201 0 0 0-18.628-48.394l-.003-.004zM271.018 380.492h-.074a53.576 53.576 0 0 1-34.287-12.423 44.928 44.928 0 0 0 1.694-.96l57.032-32.943a9.278 9.278 0 0 0 4.688-8.06v-80.459l24.106 13.919a.859.859 0 0 1 .469.661v66.586c-.033 29.604-24.022 53.619-53.628 53.679zm-115.329-49.257a53.563 53.563 0 0 1-7.196-26.798c0-3.069.268-6.146.79-9.17.424.254 1.164.706 1.695 1.011l57.032 32.943a9.289 9.289 0 0 0 9.37-.002l69.63-40.205v27.839l.001.048a.864.864 0 0 1-.345.691l-57.654 33.288a53.791 53.791 0 0 1-26.817 7.17 53.746 53.746 0 0 1-46.506-26.818v.003zm-15.004-124.506a53.5 53.5 0 0 1 27.941-23.534c0 .491-.028 1.361-.028 1.965v65.887l-.001.054a9.27 9.27 0 0 0 4.681 8.053l69.63 40.199-24.105 13.919a.864.864 0 0 1-.813.074l-57.66-33.316a53.746 53.746 0 0 1-26.805-46.5 53.787 53.787 0 0 1 7.163-26.798l-.003-.003zm198.055 46.089-69.63-40.204 24.106-13.914a.863.863 0 0 1 .813-.074l57.659 33.288a53.71 53.71 0 0 1 26.835 46.491c0 22.489-14.033 42.612-35.133 50.379v-67.857c.003-.025.003-.051.003-.076a9.265 9.265 0 0 0-4.653-8.033zm23.993-36.111a81.919 81.919 0 0 0-1.694-1.01l-57.032-32.944a9.31 9.31 0 0 0-4.684-1.266 9.31 9.31 0 0 0-4.684 1.266l-69.631 40.205v-27.839l-.001-.048c0-.272.129-.528.346-.691l57.654-33.26a53.696 53.696 0 0 1 26.816-7.177c29.644 0 53.684 24.04 53.684 53.684a53.91 53.91 0 0 1-.774 9.077v.003zm-150.831 49.618-24.111-13.919a.859.859 0 0 1-.469-.661v-66.587c.013-29.628 24.053-53.648 53.684-53.648a53.719 53.719 0 0 1 34.349 12.426c-.434.237-1.191.655-1.694.96l-57.032 32.943a9.272 9.272 0 0 0-4.687 8.057v.053l-.04 80.376zm13.095-28.233 31.012-17.912 31.012 17.9v35.812l-31.012 17.901-31.012-17.901v-35.8z"
/>
</svg>
);
export default SvgOpenAi;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as OpenAiSVG } from "./openAI.svg";
import SvgOpenAi from "./OpenAi";
export const OpenAiIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <OpenAiSVG ref={ref} {...props} />;
return <SvgOpenAi ref={ref} {...props} />;
});

View file

@ -0,0 +1,133 @@
const SvgPineconeLogo = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
fill="none"
viewBox="0 0 32 35"
{...props}
>
<path
fill="#000"
d="M13.855 34.296c1.077 0 1.95-.85 1.95-1.9 0-1.05-.873-1.901-1.95-1.901-1.076 0-1.95.85-1.95 1.9 0 1.05.874 1.901 1.95 1.901Z"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.118}
d="m18.414 7.197.837-4.537"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.118}
d="m22.266 5.585-2.92-3.474-3.971 2.262"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.118}
d="m14.92 26.553.814-4.536"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.118}
d="m18.773 24.93-2.943-3.463-3.96 2.274"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.118}
d="m16.608 17.2.813-4.537"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.118}
d="m20.459 15.58-2.931-3.452-3.96 2.262"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.01}
d="m8.329 26.155-3.577 2.426"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.01}
d="M8.544 30.087 4.32 28.873l.31-4.28"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.01}
d="m21.321 28.43 2.489 3.498"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.01}
d="m19.718 32.045 4.39.291 1.245-4.092"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.058}
d="m25.4 21.33 4.378.77"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.058}
d="m26.907 25.072 3.398-2.88-2.142-3.836"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.058}
d="m24.12 12.861 3.9-2.098"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.058}
d="m24.336 8.84 4.15 1.679-.777 4.303"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.058}
d="m6.916 18.157-4.39-.747"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.058}
d="M4.177 21.165 2 17.328l3.362-2.892"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeWidth={2.058}
d="M11.08 10.613 8.149 7.348"
/>
<path
stroke="#000"
strokeLinecap="square"
strokeLinejoin="round"
strokeWidth={2.058}
d="m12.29 6.775-4.487.187-.79 4.303"
/>
</svg>
);
export default SvgPineconeLogo;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as PineconeSVG } from "./pinecone_logo.svg";
import SvgPineconeLogo from "./PineconeLogo";
export const PineconeIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <PineconeSVG ref={ref} {...props} />;
return <SvgPineconeLogo ref={ref} {...props} />;
});

View file

@ -0,0 +1,76 @@
const SvgPowerPoint = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
xmlSpace="preserve"
viewBox="0 0 1919.95 1786"
width="1em"
height="1em"
{...props}
>
<path
fill="#ED6C47"
d="M1160.9 982.3 1026.95 0h-10.002C529.872 1.422 135.372 395.922 133.95 882.998V893l1026.95 89.3z"
/>
<path
fill="#FF8F6B"
d="M1036.952 0h-10.002v893l446.5 178.6 446.5-178.6v-10.002C1918.528 395.922 1524.028 1.422 1036.952 0z"
/>
<path
fill="#D35230"
d="M1919.95 893v9.823c-1.398 487.185-395.992 881.779-883.177 883.177h-19.646c-487.185-1.398-881.779-395.992-883.177-883.177V893h1786z"
/>
<path
d="M1071.6 438.909v952.831c-.222 33.109-20.286 62.852-50.901 75.458a79.127 79.127 0 0 1-30.809 6.251H344.698c-12.502-14.288-24.557-29.469-35.72-44.65A875.768 875.768 0 0 1 133.95 902.822v-19.646a873.128 873.128 0 0 1 143.773-481.327c9.823-15.181 20.092-30.362 31.255-44.65H989.89c44.986.341 81.37 36.725 81.71 81.71z"
opacity={0.1}
/>
<path
d="M1026.95 483.56v952.831a79.122 79.122 0 0 1-6.251 30.808c-12.606 30.615-42.35 50.679-75.459 50.901H385.329a763.717 763.717 0 0 1-40.632-44.65c-12.502-14.288-24.557-29.469-35.72-44.65a875.77 875.77 0 0 1-175.028-525.977v-19.646A873.128 873.128 0 0 1 277.722 401.85H945.24c44.986.34 81.37 36.724 81.71 81.71z"
opacity={0.2}
/>
<path
d="M1026.95 483.56v863.531c-.34 44.985-36.724 81.369-81.709 81.71H308.978A875.77 875.77 0 0 1 133.95 902.824v-19.646a873.128 873.128 0 0 1 143.773-481.327H945.24c44.986.339 81.37 36.723 81.71 81.709z"
opacity={0.2}
/>
<path
d="M982.3 483.56v863.531c-.34 44.985-36.724 81.369-81.709 81.71H308.978A875.77 875.77 0 0 1 133.95 902.824v-19.646a873.128 873.128 0 0 1 143.773-481.327H900.59c44.986.339 81.37 36.723 81.71 81.709z"
opacity={0.2}
/>
<linearGradient
id="PowerPoint_svg__a"
x1={170.645}
x2={811.655}
y1={1450.101}
y2={339.899}
gradientTransform="matrix(1 0 0 -1 0 1788)"
gradientUnits="userSpaceOnUse"
>
<stop
offset={0}
style={{
stopColor: "#ca4c28",
}}
/>
<stop
offset={0.5}
style={{
stopColor: "#c5401e",
}}
/>
<stop
offset={1}
style={{
stopColor: "#b62f14",
}}
/>
</linearGradient>
<path
fill="url(#PowerPoint_svg__a)"
d="M81.843 401.85h818.613c45.201 0 81.843 36.643 81.843 81.843v818.613c0 45.201-36.643 81.844-81.843 81.844H81.843c-45.2 0-81.843-36.643-81.843-81.843V483.693c0-45.2 36.643-81.843 81.843-81.843z"
/>
<path
fill="#FFF"
d="M500.08 620.144a224.99 224.99 0 0 1 149.042 43.668 156.272 156.272 0 0 1 51.883 126.493 176.015 176.015 0 0 1-25.584 94.524 170.963 170.963 0 0 1-72.646 64.207 246.66 246.66 0 0 1-109.259 22.95H389.973v192.441H283.929V620.144H500.08zM389.884 888.848h91.265a118.501 118.501 0 0 0 80.683-24.066 89.3 89.3 0 0 0 27.281-70.413c0-59.98-34.857-89.97-104.57-89.97h-94.658v184.449z"
/>
</svg>
);
export default SvgPowerPoint;

View file

@ -0,0 +1,63 @@
const SvgQDrant = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="168.419 120.023 131.984 152.407"
width="1em"
height="1em"
{...props}
>
<defs>
<linearGradient
id="QDrant_svg__a"
x1={62.128}
x2={41.202}
y1={105.54}
y2={105.54}
gradientTransform="translate(168.42 120.023)"
gradientUnits="userSpaceOnUse"
>
<stop offset={0} stopColor="#FF3364" />
<stop offset={1} stopColor="#C91540" stopOpacity={0} />
</linearGradient>
</defs>
<g fillRule="evenodd" clipRule="evenodd">
<path
fill="#24386c"
d="m272.21 260.113-3.038-83.784-5.504-22.089 36.735 3.889v101.35l-22.44 12.95z"
/>
<path
fill="#7589be"
d="m300.4 158.123-22.44 12.96-46.308-10.158-54.203 22.069-9.03-24.871 32.99-19.05 33-19.05 32.99 19.05z"
/>
<path
fill="#b2bfe8"
d="m168.42 158.123 22.44 12.96 13.008 38.686 43.921 35.142-13.378 27.512-33-19.051-32.99-19.05v-76.2"
/>
<path
fill="#24386c"
d="m249.288 224.583-14.877 21.932v25.91l21.11-12.18 10.877-16.242"
/>
<path
fill="#7589be"
d="m234.42 220.613-21.119-36.565 4.55-12.119 17.292-8.384 20.378 20.504z"
/>
<path
fill="#b2bfe8"
d="m213.301 184.045 21.11 12.18v24.38l-19.524.84-11.81-15.08 10.224-22.32"
/>
<path
fill="#24386c"
d="m234.411 196.223 21.11-12.179 14.367 23.922-17.386 14.365-18.09-1.727z"
/>
<path
fill="#dc244c"
d="m255.521 260.243 22.44 12.181v-101.34l-21.78-12.57-21.77-12.57-21.78 12.57-21.77 12.57v50.289l21.77 12.57 21.78 12.571 21.11-12.191zm0-51.83-21.11 12.19-21.11-12.19v-24.37l21.11-12.19 21.11 12.19v24.37"
/>
</g>
<path
fill="url(#QDrant_svg__a)"
d="M234.421 246.523v-25.914l-21-12.086v25.871l21 12.129Z"
/>
</svg>
);
export default SvgQDrant;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as QDrantSVG } from "./QDrant.svg";
import SvgQDrant from "./QDrant";
export const QDrantIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <QDrantSVG ref={ref} {...props} />;
return <SvgQDrant ref={ref} {...props} />;
});

View file

@ -0,0 +1,9 @@
const SvgReadthedocsioIcon = (props) => (
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" {...props}>
<path
fill="#32322a"
d="M28.81 30.85a1.534 1.534 0 0 0-.208 3.014s3.736 1.25 10.097 1.763c5.108.417 10.9-.353 10.9-.353a1.534 1.534 0 1 0-.385-3.013s-5.666.705-10.276.32c-6.07-.48-9.385-1.603-9.385-1.603-.244-.06-.5-.06-.742 0zm0-7.6a1.535 1.535 0 0 0-.208 2.981s3.736 1.25 10.097 1.763c5.108.417 10.9-.353 10.9-.353.544-.07 1-.423 1.223-.928s.14-1.086-.193-1.523-.87-.663-1.416-.594c0 0-5.666.705-10.276.32-6.07-.48-9.385-1.603-9.385-1.603-.244-.06-.5-.06-.742 0zm0-7.604a1.534 1.534 0 0 0-.208 3.014s3.736 1.218 10.097 1.763c5.108.417 10.9-.353 10.9-.353.544-.07 1-.423 1.223-.928s.14-1.086-.193-1.523-.87-.663-1.416-.594c0 0-5.666.705-10.276.32-6.07-.48-9.385-1.603-9.385-1.603-.244-.06-.5-.06-.742 0zm0-7.604a1.534 1.534 0 0 0-.208 3.014s3.736 1.25 10.097 1.763c5.108.417 10.9-.353 10.9-.353a1.534 1.534 0 1 0-.385-3.013s-5.666.705-10.276.32c-6.07-.48-9.385-1.603-9.385-1.603-.244-.06-.5-.06-.742 0zM18.16.024c-8 0-10.966 2.5-10.966 2.5v59.667s2.907-2.5 12.265-2.116 11.288 3.664 22.79 3.895c11.5.32 14.392-1.763 14.392-1.763l.167-60.828S51.63 2.855 41.558 2.92C31.486 2.92 29.065.354 19.82.034a42.3 42.3 0 0 0-1.657-.029zm6.685 3.895s4.84 1.603 13.784 2.052c7.558.385 15.137-.737 15.137-.737v54.06s-3.836 2.02-13.425 1.314c-7.43-.545-15.607-3.344-15.607-3.344zm-4.668 1.4a1.554 1.554 0 1 1 0 3.11s-2.504.013-4.033.32c-2.567.32-4.31 1.186-4.31 1.186a1.542 1.542 0 0 1-2.36-1.405 1.546 1.546 0 0 1 .926-1.318s2.273-1.186 5.442-1.507c1.83-.32 4.337-.32 4.337-.32zm-1.492 7.623a26.95 26.95 0 0 1 1.492 0 1.546 1.546 0 0 1 0 3.08s-2.504.013-4.033.32c-2.567.32-4.31 1.186-4.31 1.186a1.544 1.544 0 0 1-1.436-2.726s2.273-1.218 5.442-1.507c.916 0 2 0 2.845-.32zm1.492 7.597a1.554 1.554 0 1 1 0 3.11s-2.504-.016-4.033 0c-2.567.32-4.31 1.186-4.31 1.186a1.544 1.544 0 0 1-1.436-2.726s2.273-1.186 5.442-1.507c1.83-.32 4.337-.32 4.337-.32z"
/>
</svg>
);
export default SvgReadthedocsioIcon;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as ReadTheDocsSVG } from "./readthedocsio-icon.svg";
import SvgReadthedocsioIcon from "./ReadthedocsioIcon";
export const ReadTheDocsIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <ReadTheDocsSVG ref={ref} {...props} />;
return <SvgReadthedocsioIcon ref={ref} {...props} />;
});

View file

@ -0,0 +1,151 @@
const SvgSearxLogo = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
xmlnsXlink="http://www.w3.org/1999/xlink"
width="1em"
height="1em"
{...props}
>
<defs>
<linearGradient id="Searx_logo_svg__b">
<stop
offset={0}
style={{
stopColor: "#fff",
stopOpacity: 1,
}}
/>
<stop
offset={1}
style={{
stopColor: "#fff",
stopOpacity: 0,
}}
/>
</linearGradient>
<linearGradient id="Searx_logo_svg__a">
<stop
offset={0}
style={{
stopColor: "#a9a9a9",
stopOpacity: 1,
}}
/>
<stop
offset={1}
style={{
stopColor: "#000",
stopOpacity: 1,
}}
/>
</linearGradient>
<linearGradient
xlinkHref="#Searx_logo_svg__b"
id="Searx_logo_svg__d"
x1={120.689}
x2={120.689}
y1={239.618}
y2={602.175}
gradientUnits="userSpaceOnUse"
/>
<radialGradient
xlinkHref="#Searx_logo_svg__a"
id="Searx_logo_svg__c"
cx={294.459}
cy={208.38}
r={107.581}
fx={294.459}
fy={208.38}
gradientUnits="userSpaceOnUse"
/>
<filter
id="Searx_logo_svg__e"
width={1.26}
height={1.294}
x={-0.13}
y={-0.147}
colorInterpolationFilters="sRGB"
>
<feGaussianBlur stdDeviation={6.476} />
</filter>
</defs>
<g transform="translate(-61.72 -34.87)">
<path
d="M70.523 34.87c-7.12 15.244-10.178 31.78-8.225 48.815 5.016 43.774 41.675 79.325 91.536 95.163-6.626-22.407-5.341-44.936 2.64-65.844-47.738-14.183-81.646-42.809-85.95-78.133zM303.779 36.214c7.12 15.243 10.178 31.78 8.225 48.815-5.016 43.774-41.675 79.324-91.536 95.163 6.626-22.408 5.341-44.937-2.64-65.845 47.738-14.182 81.646-42.808 85.95-78.133z"
style={{
fill: "#000",
fillOpacity: 1,
fillRule: "nonzero",
stroke: "none",
}}
/>
<path
d="M-5.09 259.06h18.416c6.22 0 11.228 16.683 11.228 37.404v172.837c0 20.722-5.007 37.404-11.228 37.404H-5.09c-6.22 0-11.228-16.682-11.228-37.404V296.464c0-20.721 5.008-37.403 11.228-37.403z"
style={{
fill: "#000",
fillOpacity: 1,
fillRule: "nonzero",
stroke: "none",
}}
transform="rotate(-49.03)"
/>
<path
d="M402.04 208.38a107.581 107.581 0 1 1-215.162 0 107.581 107.581 0 1 1 215.163 0z"
style={{
fill: "url(#Searx_logo_svg__c)",
fillOpacity: 1,
fillRule: "nonzero",
stroke: "none",
}}
transform="translate(-107.076 -60.61)"
/>
<path
d="M233.345 299.293a101.52 101.52 0 1 1-203.04 0 101.52 101.52 0 1 1 203.04 0z"
style={{
fill: "url(#Searx_logo_svg__d)",
fillOpacity: 1,
fillRule: "nonzero",
stroke: "none",
}}
transform="matrix(.76866 0 0 .76866 85.803 -82.536)"
/>
<path
d="M210.617 156.357a27.274 27.274 0 1 1-54.548 0 27.274 27.274 0 1 1 54.548 0z"
style={{
fill: "#1a1a1a",
fillOpacity: 1,
fillRule: "nonzero",
stroke: "none",
}}
transform="translate(5 -7.143)"
/>
<path
d="M203.546 203.329a5.556 5.556 0 1 1-11.112 0 5.556 5.556 0 1 1 11.112 0z"
style={{
fill: "#fff",
fillOpacity: 1,
fillRule: "nonzero",
stroke: "none",
}}
transform="translate(1.485 -63.565)"
/>
<rect
width={2.239}
height={159.438}
x={19.526}
y={337.84}
rx={2.867}
ry={9.001}
style={{
fill: "#fff",
fillOpacity: 0.82211531,
fillRule: "nonzero",
stroke: "none",
filter: "url(#Searx_logo_svg__e)",
}}
transform="matrix(.74467 -.84318 .84318 .74467 -35.543 -26.35)"
/>
</g>
</svg>
);
export default SvgSearxLogo;

View file

@ -1,8 +1,8 @@
import React, { forwardRef } from "react";
import { ReactComponent as SearxSVG } from "./Searx_logo.svg";
import SvgSearxLogo from "./SearxLogo";
export const SearxIcon = forwardRef<SVGSVGElement, React.PropsWithChildren<{}>>(
(props, ref) => {
return <SearxSVG ref={ref} {...props} />;
return <SvgSearxLogo ref={ref} {...props} />;
}
);

View file

@ -0,0 +1,17 @@
const SvgSerper = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
xmlSpace="preserve"
width="1em"
height="1em"
viewBox="0 0 48 48"
{...props}
>
<image
width={48}
height={48}
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACGVBMVEUAAACVyvSRzvOPzfSQ zfSRzPSQzfSQzfSQzfSQyPSUyfKRzvOQzfSRzvSQzfOOxvGO0PaQzfSQzfSQzfSTzvWZzP+RzPSQ zfSPzfOA1f+Qy/KPzfSQzfSQzfSPzfSRzfSPzPWPy/iRzfWQzfSRz/GPzfORzvWSzfaPzvaQzPOP zPWQzfWQzfSQzfSQzvSMzPKSzvOPzfSQzfWRzvWQzvWN0PKTzPKQzfOQzfSQzfSAv/+Rz/WQzfWQ zfSPzfOQzfSQzPORzPSPzfSRzPSqqv+QzfWQzfSQzvSQzfSRzfWPzPX///+RzvSQzfSQzPSQzvSL 0f+QzvWSy/WQzfWQzfSQzfSPzfWRzfWRzPWRzPWT0feQzPOQzfOQzPOL0fOPzPORzfSPzfOQzPaQ zfSQzfSPy/KQzfWQzfSQzfSPzPOPz/eQzPSQzvSQzfSQzPSPzvSQzvSQzfWPzvWQzfOQzPSJxOuP zPWQzfSQzvSPz/SV1eqQzPSQzfWPy/OQzfSOzfGQzvSRzfOfv/+PzfSQzfSQzvWQzfWSyO2PzvOQ zfSRzfSRzfSSzvOA//+PzvSOxv+OzfKPzPWQzfSRzPKSzPSQzfSQzfOQzfSOzvWPzfOQzfSSzvSR zfSRzPSW0vCRzPSSzvOQzfOQzvSQzfSIzO6OzfWS2/+RzfSSzPCQzfWQzvWQzfORz/KQzfSRy/WQ zfSQzfSQzfT////309j7AAAAsXRSTlMAGFiQuNnu+Y8XE23KyWwSG/X0jhoFb/KABifQ5aNwSDIi M84lUpY4OZdQZ/z4hxQViWVoxCYox/6KBE/z/WvxbniLdAOVy+jkfxkBXeGmjAuqMa3snntmfash aldVFrC0mTfBqDt64udpIHOl0dRytdxJheMNS9rtMAzPw0DrJL9WCGC8fNsOgkdhpD8CWQk9kuo8 RvvFnzQp+i+7jRFfKsaRdQ9NB/AjTGOYOvZKttg9JvjTAAAAAWJLR0RLaQuFUAAAAAd0SU1FB+cF HgMFK2w+nRoAAANfSURBVEjHhVX5QxJREH6eKGQmiIQheJflgXiRYhalmCRlYWqGZZdHB6WllZra aZaVmZUWppZJduj+h8089mIXcH7Ynfnmm7fvzcybJUQqUdExsXHxCkV8XGxCdCLZRpSqHUyQJO1M jkDfFZPCyEStSQ1D16bpmJCSslsfip++h/UbMoymzKysbJMxw8BCOblyfl5geXX+XjG6ryCwSd1+ Kf9AIeJFxSVSh7lUgZ5CSzBcRtcprwi118oq9FmDIvLo+gerw2RDQ79RIzqvDYDaQ+HzraoFQh1/ cj3NTwQ+IYdprrSsdQQtO4koCcg5ytZXjecV7f+Yqb7BoW4sPy7KgRZPbmuiegyoikre5TzRzJW4 1mXm4YoiAE6ipsTSFPOOUy3irjCc5h12LCt2ogq7hV/JeQZ57tazbe0dWDHHOc5TgjvvBAX7OZ9f 5zxYzZ5As3VdAOMi7+oGqwpQK7wv8ehl2Abfzs4r4EvnrKtYbzOJhlejkA03w1wTLGUPoxZ22wtU D81RhkCBDPSJ0t9/XTg1uQFUDYmFZ5oA3mSYW11hiucF6m1yB54DAjgI5l3LvZABQ+AbJvfh+UAA H47QezGqaRuTTYxM8DwimOxxEZo8IVStY/KxOCAXl5IFEOeTEaHSjR5ZgGRLVNIt9U972JBn0i09 Dz60IC/GpoaxVC8lh5akNUic09CiE5K0YuFeCZzE10FDawo6f4YzXLRw2G0GJ4eZHzGjM6KAN+B9 y33PQVuDNh8/vN6BMS0KmGWY95w+F2g+kgTvAg7Ux8HlEFL5YV60X2zvj0R6gQZgoFg/fab6QgEY i1+40+HNLANFiTepNCgVDNMz2vKVTmJrG+fw4RRYQg3nmmKBj/hmE91p3SQHLy/ibKRqKjJWtHxE f3cRS49f5RtQj0fVRQWM7+j0iXLzY22wtaW13fRTgFaR42UNbQ5aKhJBjMho4Iddbh1OrQgRRhzG 634BqKHjXqMNTdfPonf+lxizYL2ZqoVQ/OUkmt+NYNRCv6GwywZAom+Rrr8hddTUBX6xv/84BdA5 1/2Xwutr8i+P57DZ73V5/2X7/dlDXpeDhRr8JIRUh/uxq0P/2EGafGo53WaPilCg5M4Vq5htXelb ItuIeVKzueVWKNxbmz6P7D9P/gNwmex8k7QhUQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMy0wNS0z MFQwMzowNTo0MyswMDowMLa1rmEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjMtMDUtMzBUMDM6MDU6 NDMrMDA6MDDH6BbdAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIzLTA1LTMwVDAzOjA1OjQzKzAw OjAwkP03AgAAAABJRU5ErkJggg=="
/>
</svg>
);
export default SvgSerper;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as SerperSVG } from "./serper.svg";
import SvgSerper from "./Serper";
export const SerperIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <SerperSVG ref={ref} {...props} />;
return <SvgSerper ref={ref} {...props} />;
});

View file

@ -0,0 +1,29 @@
const SvgSlackIcon = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 54 54"
width="1em"
height="1em"
{...props}
>
<g fill="none" fillRule="evenodd">
<path
fill="#36C5F0"
d="M19.712.133a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386h5.376V5.52A5.381 5.381 0 0 0 19.712.133m0 14.365H5.376A5.381 5.381 0 0 0 0 19.884a5.381 5.381 0 0 0 5.376 5.387h14.336a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386"
/>
<path
fill="#2EB67D"
d="M53.76 19.884a5.381 5.381 0 0 0-5.376-5.386 5.381 5.381 0 0 0-5.376 5.386v5.387h5.376a5.381 5.381 0 0 0 5.376-5.387m-14.336 0V5.52A5.381 5.381 0 0 0 34.048.133a5.381 5.381 0 0 0-5.376 5.387v14.364a5.381 5.381 0 0 0 5.376 5.387 5.381 5.381 0 0 0 5.376-5.387"
/>
<path
fill="#ECB22E"
d="M34.048 54a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386h-5.376v5.386A5.381 5.381 0 0 0 34.048 54m0-14.365h14.336a5.381 5.381 0 0 0 5.376-5.386 5.381 5.381 0 0 0-5.376-5.387H34.048a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386"
/>
<path
fill="#E01E5A"
d="M0 34.249a5.381 5.381 0 0 0 5.376 5.386 5.381 5.381 0 0 0 5.376-5.386v-5.387H5.376A5.381 5.381 0 0 0 0 34.25m14.336-.001v14.364A5.381 5.381 0 0 0 19.712 54a5.381 5.381 0 0 0 5.376-5.387V34.25a5.381 5.381 0 0 0-5.376-5.387 5.381 5.381 0 0 0-5.376 5.387"
/>
</g>
</svg>
);
export default SvgSlackIcon;

View file

@ -1,8 +1,8 @@
import React, { forwardRef } from "react";
import { ReactComponent as SlackSVG } from "./slack-icon.svg";
import SvgSlackIcon from "./SlackIcon";
export const SlackIcon = forwardRef<SVGSVGElement, React.PropsWithChildren<{}>>(
(props, ref) => {
return <SlackSVG ref={ref} {...props} />;
return <SvgSlackIcon ref={ref} {...props} />;
}
);

View file

@ -1,6 +1 @@
<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 122.78" style="enable-background:new 0 0 122.88 122.78" xml:space="preserve"><style type="text/css"><![CDATA[
.st0{fill:#E01E5A;}
.st1{fill:#ECB22E;}
.st2{fill:#2EB67D;}
.st3{fill:#36C5F0;}
]]></style><g><path class="st0" d="M25.91,77.62c0,7.14-5.77,12.9-12.9,12.9S0.1,84.75,0.1,77.62c0-7.14,5.77-12.9,12.9-12.9h12.9V77.62 L25.91,77.62z M32.36,77.62c0-7.14,5.77-12.9,12.9-12.9s12.9,5.77,12.9,12.9v32.26c0,7.14-5.77,12.9-12.9,12.9 s-12.9-5.77-12.9-12.9V77.62L32.36,77.62z"/><path class="st3" d="M45.26,25.81c-7.14,0-12.9-5.77-12.9-12.9c0-7.14,5.77-12.9,12.9-12.9s12.9,5.77,12.9,12.9v12.9H45.26 L45.26,25.81z M45.26,32.36c7.14,0,12.9,5.77,12.9,12.9c0,7.14-5.77,12.9-12.9,12.9H12.9C5.77,58.17,0,52.4,0,45.26 c0-7.14,5.77-12.9,12.9-12.9H45.26L45.26,32.36z"/><path class="st2" d="M96.97,45.26c0-7.14,5.77-12.9,12.9-12.9c7.14,0,12.9,5.77,12.9,12.9c0,7.14-5.77,12.9-12.9,12.9h-12.9V45.26 L96.97,45.26z M90.52,45.26c0,7.14-5.77,12.9-12.9,12.9c-7.14,0-12.9-5.77-12.9-12.9V12.9c0-7.14,5.77-12.9,12.9-12.9 c7.14,0,12.9,5.77,12.9,12.9V45.26L90.52,45.26z"/><path class="st1" d="M77.62,96.97c7.14,0,12.9,5.77,12.9,12.9c0,7.14-5.77,12.9-12.9,12.9c-7.14,0-12.9-5.77-12.9-12.9v-12.9H77.62 L77.62,96.97z M77.62,90.52c-7.14,0-12.9-5.77-12.9-12.9c0-7.14,5.77-12.9,12.9-12.9h32.36c7.14,0,12.9,5.77,12.9,12.9 c0,7.14-5.77,12.9-12.9,12.9H77.62L77.62,90.52z"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54" id="slack"><g fill="none" fill-rule="evenodd"><path fill="#36C5F0" d="M19.712.133a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386h5.376V5.52A5.381 5.381 0 0 0 19.712.133m0 14.365H5.376A5.381 5.381 0 0 0 0 19.884a5.381 5.381 0 0 0 5.376 5.387h14.336a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386"></path><path fill="#2EB67D" d="M53.76 19.884a5.381 5.381 0 0 0-5.376-5.386 5.381 5.381 0 0 0-5.376 5.386v5.387h5.376a5.381 5.381 0 0 0 5.376-5.387m-14.336 0V5.52A5.381 5.381 0 0 0 34.048.133a5.381 5.381 0 0 0-5.376 5.387v14.364a5.381 5.381 0 0 0 5.376 5.387 5.381 5.381 0 0 0 5.376-5.387"></path><path fill="#ECB22E" d="M34.048 54a5.381 5.381 0 0 0 5.376-5.387 5.381 5.381 0 0 0-5.376-5.386h-5.376v5.386A5.381 5.381 0 0 0 34.048 54m0-14.365h14.336a5.381 5.381 0 0 0 5.376-5.386 5.381 5.381 0 0 0-5.376-5.387H34.048a5.381 5.381 0 0 0-5.376 5.387 5.381 5.381 0 0 0 5.376 5.386"></path><path fill="#E01E5A" d="M0 34.249a5.381 5.381 0 0 0 5.376 5.386 5.381 5.381 0 0 0 5.376-5.386v-5.387H5.376A5.381 5.381 0 0 0 0 34.25m14.336-.001v14.364A5.381 5.381 0 0 0 19.712 54a5.381 5.381 0 0 0 5.376-5.387V34.25a5.381 5.381 0 0 0-5.376-5.387 5.381 5.381 0 0 0-5.376 5.387"></path></g></svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

View file

@ -0,0 +1,52 @@
const SvgVertexAi = (props) => (
<svg viewBox="0 0 32 32" width="1em" height="1em" {...props}>
<path
fill="#80868b"
d="M26.69 18.53a1 1 0 0 0-1.4-.22L16 25.17v.29a1 1 0 1 1 0 1.91v.05a1 1 0 0 0 .6-.19l9.88-7.3a1 1 0 0 0 .21-1.4z"
/>
<path
fill="#9ba0a5"
d="M16 27.37a1 1 0 1 1 0-1.91v-.29l-9.29-6.86a1 1 0 0 0-1.4.22 1 1 0 0 0 .21 1.4l9.89 7.3a1 1 0 0 0 .59.19v-.05z"
/>
<path
fill="#606368"
d="M16 24.46a2 2 0 1 0 2 2 2 2 0 0 0-2-2zm0 2.91a1 1 0 1 1 1-.95 1 1 0 0 1-1 .95z"
/>
<path
fill="#9ba0a5"
d="M8 8.14a1 1 0 0 1-1-1V4.63a1 1 0 1 1 2 0v2.51a1 1 0 0 1-1 1z"
/>
<circle cx={7.97} cy={16} r={1.01} fill="#9ba0a5" />
<circle cx={7.97} cy={13.05} r={1.01} fill="#9ba0a5" />
<circle cx={7.97} cy={10.09} r={1.01} fill="#9ba0a5" />
<path
fill="#606368"
d="M24 11.07a1 1 0 0 1-1-1V7.55a1 1 0 0 1 2 0v2.52a1 1 0 0 1-1 1z"
/>
<circle cx={24.03} cy={16.01} r={1.01} fill="#606368" />
<circle cx={24.03} cy={13.02} r={1.01} fill="#606368" />
<circle cx={24.03} cy={4.63} r={1.01} fill="#606368" />
<path
fill="#80868b"
d="M16 20a1 1 0 0 1-1-1v-2.54a1 1 0 0 1 2 0V19a1 1 0 0 1-1 1z"
/>
<circle cx={16} cy={21.93} r={1.01} fill="#80868b" />
<circle cx={16} cy={13.51} r={1.01} fill="#80868b" />
<circle cx={16} cy={10.56} r={1.01} fill="#80868b" />
<path
fill="#606368"
d="M20 14.05a1 1 0 0 1-1-1v-2.51a1 1 0 1 1 2 0v2.51a1 1 0 0 1-1 1z"
/>
<circle cx={20.02} cy={7.58} r={1.01} fill="#606368" />
<circle cx={20.02} cy={18.92} r={1.01} fill="#606368" />
<circle cx={20.02} cy={15.97} r={1.01} fill="#606368" />
<circle cx={11.98} cy={18.92} r={1.01} fill="#9ba0a5" />
<circle cx={11.98} cy={10.56} r={1.01} fill="#9ba0a5" />
<circle cx={11.98} cy={7.58} r={1.01} fill="#9ba0a5" />
<path
fill="#9ba0a5"
d="M12 17a1 1 0 0 1-1-1v-2.54a1 1 0 0 1 2 0V16a1 1 0 0 1-1 1z"
/>
</svg>
);
export default SvgVertexAi;

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as VertexAISVG } from "./vertex_ai.svg";
import SvgVertexAi from "./VertexAi";
export const VertexAIIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <VertexAISVG ref={ref} {...props} />;
return <SvgVertexAi ref={ref} {...props} />;
});

File diff suppressed because one or more lines are too long

View file

@ -1,9 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as WeaviateSVG } from "./weaviate.svg";
import SvgWeaviate from "./Weaviate";
export const WeaviateIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <WeaviateSVG ref={ref} {...props} />;
return <SvgWeaviate ref={ref} {...props} />;
});

View file

@ -0,0 +1,12 @@
const SvgWikipedia = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
width="1em"
height="1em"
{...props}
>
<path d="m15.562 19.478-3.07-7.238q-.258.51-1.652 3.182t-2.068 4.057a1.493 1.493 0 0 1-.292.004h.005l-.062.001c-.075 0-.15-.006-.222-.018l.008.001q-.854-2.01-2.662-6.114T2.843 7.144a4.935 4.935 0 0 0-.699-1.128l.007.008a5.747 5.747 0 0 0-1.063-1.035l-.015-.011a1.867 1.867 0 0 0-1.055-.447L.011 4.53q0-.052-.005-.25t-.005-.282h6.073v.521a2.98 2.98 0 0 0-.846.173l.021-.007a1.631 1.631 0 0 0-.692.447l-.001.001a.566.566 0 0 0-.102.669l-.002-.003q.271.614 2.255 5.2t2.453 5.626q.32-.635 1.458-2.776t1.364-2.578q-.198-.406-1.313-2.926T9.253 5.272q-.396-.72-2.094-.74v-.523l5.343.01v.49h-.04c-.345 0-.667.096-.942.263l.008-.005q-.349.24-.13.72.344.73.906 1.974t.895 1.953q1.146-2.229 1.802-3.781.25-.573-.103-.826a2.526 2.526 0 0 0-1.35-.276h.008c.007-.065.011-.14.011-.216V4.27v.002-.25q.666 0 1.776-.005l2.834-.015v.51a2.738 2.738 0 0 0-1.253.351l.014-.007a2.596 2.596 0 0 0-.931.828l-.006.009-2.219 4.604q.135.344 1.328 3.021t1.266 2.854L20.97 5.579a1.356 1.356 0 0 0-.511-.648l-.005-.003a2.038 2.038 0 0 0-.663-.324l-.015-.004a2.91 2.91 0 0 0-.572-.08h-.006v-.524l4.792.042.01.021-.01.458a2.252 2.252 0 0 0-2.089 1.495l-.005.016q-5.482 12.666-5.824 13.447z" />
</svg>
);
export default SvgWikipedia;

View file

@ -1,424 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.0"
width="128"
height="128"
id="svg14662"
sodipodi:version="0.32"
inkscape:version="0.43"
sodipodi:docname="Wikipedia's W.svg"
sodipodi:docbase="D:\var\mediawiki\svg\Inkscape">
<metadata
id="metadata87">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
<dc:title>Wikipedia's W</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>STyx</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>none</dc:source>
<dc:subject>
<rdf:Bag>
<rdf:li>Wikipedia</rdf:li>
<rdf:li>favicon</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:date>2007-06-26</dc:date>
<dc:rights>
<cc:Agent>
<dc:title>GFDL</dc:title>
</cc:Agent>
</dc:rights>
<dc:description>W de Wikipédia</dc:description>
<dc:publisher>
<cc:Agent>
<dc:title>Inkscape</dc:title>
</cc:Agent>
</dc:publisher>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<sodipodi:namedview
inkscape:window-height="978"
inkscape:window-width="1045"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:zoom="7.453125"
inkscape:cx="64.636948"
inkscape:cy="75.677942"
inkscape:window-x="57"
inkscape:window-y="0"
inkscape:current-layer="svg14662" />
<defs
id="defs14664">
<linearGradient
id="linearGradient3261">
<stop
style="stop-color:#ffffff;stop-opacity:0"
offset="0"
id="stop3263" />
<stop
style="stop-color:#ffffff;stop-opacity:0"
offset="0.5"
id="stop3269" />
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="1"
id="stop3265" />
</linearGradient>
<linearGradient
id="linearGradient3219">
<stop
style="stop-color:#0e7309;stop-opacity:1"
offset="0"
id="stop3221" />
<stop
style="stop-color:#70d13e;stop-opacity:1"
offset="1"
id="stop3223" />
</linearGradient>
<linearGradient
id="linearGradient3205">
<stop
style="stop-color:#2c8300;stop-opacity:1"
offset="0"
id="stop3207" />
<stop
style="stop-color:#3db800;stop-opacity:1"
offset="0.25"
id="stop3215" />
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5"
id="stop3213" />
<stop
style="stop-color:#69cf35;stop-opacity:1"
offset="1"
id="stop3209" />
</linearGradient>
<linearGradient
id="linearGradient3197">
<stop
style="stop-color:#002f32;stop-opacity:1"
offset="0"
id="stop3199" />
<stop
style="stop-color:#045b04;stop-opacity:1"
offset="1"
id="stop3201" />
</linearGradient>
<linearGradient
id="linearGradient3339">
<stop
style="stop-color:#e8e8e8;stop-opacity:1"
offset="0"
id="stop3341" />
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5"
id="stop3347" />
<stop
style="stop-color:#e8e8e8;stop-opacity:1"
offset="1"
id="stop3343" />
</linearGradient>
<linearGradient
id="linearGradient3327">
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop3329" />
<stop
style="stop-color:#fdd99a;stop-opacity:1"
offset="0.5"
id="stop3335" />
<stop
style="stop-color:#c39539;stop-opacity:1"
offset="1"
id="stop3331" />
</linearGradient>
<linearGradient
id="linearGradient3319">
<stop
style="stop-color:#7d491f;stop-opacity:1"
offset="0"
id="stop3321" />
<stop
style="stop-color:#926600;stop-opacity:1"
offset="1"
id="stop3323" />
</linearGradient>
<linearGradient
id="linearGradient3282">
<stop
style="stop-color:#ffffff;stop-opacity:0"
offset="0"
id="stop3284" />
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="1"
id="stop3286" />
</linearGradient>
<linearGradient
id="linearGradient14709">
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop14711" />
<stop
style="stop-color:#5eb2ff;stop-opacity:1"
offset="1"
id="stop14713" />
</linearGradient>
<linearGradient
id="linearGradient14685">
<stop
style="stop-color:#0917a0;stop-opacity:1"
offset="0"
id="stop14687" />
<stop
style="stop-color:#0345f4;stop-opacity:1"
offset="1"
id="stop14689" />
</linearGradient>
<linearGradient
x1="96.125"
y1="11.1875"
x2="96.125"
y2="52.101334"
id="linearGradient14691"
xlink:href="#linearGradient14685"
gradientUnits="userSpaceOnUse" />
<linearGradient
x1="96.125"
y1="11.1875"
x2="96.125"
y2="52.101334"
id="linearGradient14699"
xlink:href="#linearGradient14685"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(447.42856,636.93359)" />
<radialGradient
cx="546.31165"
cy="705.48486"
r="25.28125"
fx="546.31165"
fy="705.48486"
id="radialGradient14715"
xlink:href="#linearGradient14709"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.032821,0,-3.289062e-8,1.717338,-565.7183,-518.4991)" />
<linearGradient
x1="96.125"
y1="11.1875"
x2="96.125"
y2="52.101334"
id="linearGradient14723"
xlink:href="#linearGradient14685"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(447.42856,636.93359)" />
<filter
id="filter14824">
<feGaussianBlur
id="feGaussianBlur14826"
stdDeviation="0.37332047"
inkscape:collect="always" />
</filter>
<linearGradient
x1="96.125"
y1="11.1875"
x2="96.125"
y2="52.101334"
id="linearGradient14833"
xlink:href="#linearGradient14685"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(458.16198,644.6232)" />
<linearGradient
x1="96.125"
y1="11.1875"
x2="96.125"
y2="52.101334"
id="linearGradient14842"
xlink:href="#linearGradient14685"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(458.16198,644.6232)" />
<radialGradient
cx="546.31165"
cy="705.48486"
r="25.28125"
fx="546.31165"
fy="705.48486"
id="radialGradient3288"
xlink:href="#linearGradient3282"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.0328206,0,-3.2890618e-8,1.7173381,-565.71835,-518.49911)" />
<linearGradient
x1="96.125"
y1="11.1875"
x2="96.125"
y2="52.101334"
id="linearGradient3296"
xlink:href="#linearGradient14685"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(447.42856,636.93359)" />
<linearGradient
x1="96.381813"
y1="30.666691"
x2="96.381813"
y2="13.187494"
id="linearGradient3302"
xlink:href="#linearGradient3282"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.934851,0,0,0.934851,453.691,638.9931)" />
<linearGradient
x1="41.945538"
y1="46.665127"
x2="41.945538"
y2="82.333244"
id="linearGradient3325"
xlink:href="#linearGradient3319"
gradientUnits="userSpaceOnUse" />
<radialGradient
cx="53.60223"
cy="59.728882"
r="17.834057"
fx="53.60223"
fy="59.728882"
id="radialGradient3333"
xlink:href="#linearGradient3327"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,1.655849,-1.639188,0,152.1501,-32.92373)" />
<linearGradient
x1="28.429483"
y1="61.798298"
x2="58.95916"
y2="61.798298"
id="linearGradient3345"
xlink:href="#linearGradient3339"
gradientUnits="userSpaceOnUse" />
<filter
id="filter3385">
<feGaussianBlur
id="feGaussianBlur3387"
stdDeviation="0.14607691"
inkscape:collect="always" />
</filter>
<linearGradient
x1="83.28125"
y1="123.09795"
x2="83.28125"
y2="66.310989"
id="linearGradient3203"
xlink:href="#linearGradient3197"
gradientUnits="userSpaceOnUse" />
<radialGradient
cx="491.52231"
cy="670.92523"
r="36.426601"
fx="491.52231"
fy="670.92523"
id="radialGradient3211"
xlink:href="#linearGradient3205"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,2.023783,-1.958054,0,1805.23,-312.4948)" />
<linearGradient
x1="517.02167"
y1="705.48438"
x2="517.02167"
y2="745.30084"
id="linearGradient3240"
xlink:href="#linearGradient3219"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,1,983.3261,0)" />
<linearGradient
x1="517.02167"
y1="705.48438"
x2="517.02167"
y2="745.30084"
id="linearGradient3243"
xlink:href="#linearGradient3219"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-0.120047,0)" />
<radialGradient
cx="479.68311"
cy="709.6579"
r="5.0058851"
fx="479.68311"
fy="709.6579"
id="radialGradient3267"
xlink:href="#linearGradient3261"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.233976,-0.151603,0.190797,1.552993,-247.6349,-320.152)" />
<filter
id="filter3331">
<feGaussianBlur
id="feGaussianBlur3333"
stdDeviation="0.355"
inkscape:collect="always" />
</filter>
<filter
id="filter3335">
<feGaussianBlur
id="feGaussianBlur3337"
stdDeviation="0.26694977"
inkscape:collect="always" />
</filter>
<filter
id="filter3339">
<feGaussianBlur
id="feGaussianBlur3341"
stdDeviation="0.23870038"
inkscape:collect="always" />
</filter>
</defs>
<g
id="g2036"
transform="translate(0.999998,0)">
<path
sodipodi:nodetypes="ccccccccsccccsscccsscccc"
id="V1"
d="M 95.868706,23.909104 L 95.868706,26.048056 C 93.047361,26.549147 90.911826,27.435559 89.462097,28.707293 C 87.385251,30.595808 84.936539,33.486281 83.330062,37.378719 L 50.644589,104.09089 L 48.469874,104.09089 L 15.65694,36.511576 C 14.128742,33.043075 12.051176,30.923395 11.424244,30.152531 C 10.44463,28.957874 9.2397119,28.023288 7.8095029,27.34877 C 6.3792686,26.674401 4.449448,26.24083 2.0200347,26.048056 L 2.0200347,23.909104 L 33.947916,23.909104 L 33.947916,26.048056 C 30.264562,26.394989 28.508523,27.011623 27.411399,27.89796 C 26.314212,28.784446 25.765634,29.921365 25.76566,31.308721 C 25.765634,33.235773 26.666868,36.241865 28.469368,40.327004 L 52.701762,86.285559 L 76.394453,40.905099 C 78.236045,36.434562 79.763939,33.332122 79.764002,31.597768 C 79.763939,30.48019 79.195764,29.410715 78.059498,28.389341 C 76.92308,27.368114 75.637251,26.645496 72.933606,26.221484 C 72.737621,26.183021 72.404568,26.125211 71.934408,26.048056 L 71.934408,23.909104 L 95.868706,23.909104 z "
style="font-size:178.22499084px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman" />
<path
sodipodi:nodetypes="ccccccccsccccsscccsscccc"
id="V2"
d="M 123.97997,23.909104 L 123.97997,26.048056 C 121.15863,26.549147 119.0231,27.435559 117.57337,28.707293 C 115.49652,30.595808 113.04781,33.486281 111.44133,37.378719 L 82.755857,104.09089 L 80.581143,104.09089 L 50.268209,36.511576 C 48.74001,33.043075 46.662445,30.923395 46.035513,30.152531 C 45.055898,28.957874 43.850981,28.023288 42.420772,27.34877 C 40.990537,26.674401 39.694911,26.24083 37.265497,26.048056 L 37.265497,23.909104 L 68.559185,23.909104 L 68.559185,26.048056 C 64.875831,26.394989 63.119792,27.011623 62.022668,27.89796 C 60.925481,28.784446 60.376903,29.921365 60.376928,31.308721 C 60.376903,33.235773 61.278137,36.241865 63.080637,40.327004 L 84.813031,86.285559 L 104.50572,40.905099 C 106.34731,36.434562 107.87521,33.332122 107.87527,31.597768 C 107.87521,30.48019 107.30703,29.410715 106.17077,28.389341 C 105.03435,27.368114 103.11433,26.645496 100.41068,26.221484 C 100.2147,26.183021 99.88164,26.125211 99.41148,26.048056 L 99.41148,23.909104 L 123.97997,23.909104 z "
style="font-size:178.22499084px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times New Roman" />
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" id="wikipedia"><path d="m15.562 19.478-3.07-7.238q-.258.51-1.652 3.182t-2.068 4.057c-.051.006-.11.009-.17.009-.041 0-.082-.002-.122-.005h.005c-.019.001-.04.001-.062.001-.075 0-.15-.006-.222-.018l.008.001q-.854-2.01-2.662-6.114t-2.704-6.209c-.193-.428-.425-.796-.699-1.128l.007.008c-.315-.396-.669-.741-1.063-1.035l-.015-.011c-.287-.248-.653-.411-1.055-.447l-.007-.001q0-.052-.005-.25t-.005-.282h6.073v.521c-.301.018-.582.077-.846.173l.021-.007c-.275.092-.508.246-.692.447l-.001.001c-.104.103-.168.246-.168.403 0 .096.024.187.066.266l-.002-.003q.271.614 2.255 5.2t2.453 5.626q.32-.635 1.458-2.776t1.364-2.578q-.198-.406-1.313-2.926t-1.416-3.073q-.396-.72-2.094-.74v-.523l5.343.01v.49c-.012 0-.026 0-.04 0-.345 0-.667.096-.942.263l.008-.005q-.349.24-.13.72.344.73.906 1.974t.895 1.953q1.146-2.229 1.802-3.781.25-.573-.103-.826c-.34-.178-.742-.282-1.169-.282-.061 0-.121.002-.181.006h.008c.007-.065.011-.14.011-.216 0-.015 0-.03 0-.045v.002-.25q.666 0 1.776-.005l2.834-.015v.51c-.457.016-.882.142-1.253.351l.014-.007c-.382.203-.697.486-.931.828l-.006.009-2.219 4.604q.135.344 1.328 3.021t1.266 2.854l4.594-10.593c-.103-.271-.282-.494-.511-.648l-.005-.003c-.193-.143-.419-.256-.663-.324l-.015-.004c-.17-.043-.369-.071-.572-.08h-.006v-.524l4.792.042.01.021-.01.458c-.965.014-1.782.633-2.089 1.495l-.005.016q-5.482 12.666-5.824 13.447z"></path></svg>

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before After
Before After

Some files were not shown because too many files have changed in this diff Show more