| import { useUnmount } from 'ahooks' | import { useUnmount } from 'ahooks' | ||||
| import React, { useCallback, useEffect, useState } from 'react' | import React, { useCallback, useEffect, useState } from 'react' | ||||
| import { usePathname, useRouter } from 'next/navigation' | import { usePathname, useRouter } from 'next/navigation' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiDashboard2Fill, | RiDashboard2Fill, | ||||
| RiDashboard2Line, | RiDashboard2Line, | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useShallow } from 'zustand/react/shallow' | import { useShallow } from 'zustand/react/shallow' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import { useStore } from '@/app/components/app/store' | import { useStore } from '@/app/components/app/store' | ||||
| import AppSideBar from '@/app/components/app-sidebar' | import AppSideBar from '@/app/components/app-sidebar' | ||||
| import type { NavIcon } from '@/app/components/app-sidebar/navLink' | import type { NavIcon } from '@/app/components/app-sidebar/navLink' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useCallback, useEffect, useRef, useState } from 'react' | import React, { useCallback, useEffect, useRef, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import type { PopupProps } from './config-popup' | import type { PopupProps } from './config-popup' | ||||
| import ConfigPopup from './config-popup' | import ConfigPopup from './config-popup' | ||||
| import cn from '@/utils/classnames' | |||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import { Settings04 } from '@/app/components/base/icons/src/vender/line/general' | import { Settings04 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import { | import { |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| type Props = { | type Props = { | ||||
| className?: string | className?: string |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useCallback, useEffect, useState } from 'react' | import React, { useCallback, useEffect, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { usePathname } from 'next/navigation' | import { usePathname } from 'next/navigation' | ||||
| import { useBoolean } from 'ahooks' | import { useBoolean } from 'ahooks' | ||||
| import type { LangFuseConfig, LangSmithConfig } from './type' | import type { LangFuseConfig, LangSmithConfig } from './type' | ||||
| import { TracingProvider } from './type' | import { TracingProvider } from './type' | ||||
| import TracingIcon from './tracing-icon' | import TracingIcon from './tracing-icon' | ||||
| import ConfigButton from './config-button' | import ConfigButton from './config-button' | ||||
| import cn from '@/utils/classnames' | |||||
| import { LangfuseIcon, LangsmithIcon } from '@/app/components/base/icons/src/public/tracing' | import { LangfuseIcon, LangsmithIcon } from '@/app/components/base/icons/src/public/tracing' | ||||
| import Indicator from '@/app/components/header/indicator' | import Indicator from '@/app/components/header/indicator' | ||||
| import { fetchTracingConfig as doFetchTracingConfig, fetchTracingStatus, updateTracingStatus } from '@/service/apps' | import { fetchTracingConfig as doFetchTracingConfig, fetchTracingStatus, updateTracingStatus } from '@/service/apps' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useCallback } from 'react' | import React, { useCallback } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { TracingProvider } from './type' | import { TracingProvider } from './type' | ||||
| import cn from '@/utils/classnames' | |||||
| import { LangfuseIconBig, LangsmithIconBig } from '@/app/components/base/icons/src/public/tracing' | import { LangfuseIconBig, LangsmithIconBig } from '@/app/components/base/icons/src/public/tracing' | ||||
| import { Settings04 } from '@/app/components/base/icons/src/vender/line/general' | import { Settings04 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| import { TracingIcon as Icon } from '@/app/components/base/icons/src/public/tracing' | import { TracingIcon as Icon } from '@/app/components/base/icons/src/public/tracing' | ||||
| type Props = { | type Props = { |
| import { useRouter } from 'next/navigation' | import { useRouter } from 'next/navigation' | ||||
| import { useCallback, useEffect, useState } from 'react' | import { useCallback, useEffect, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { RiMoreFill } from '@remixicon/react' | import { RiMoreFill } from '@remixicon/react' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import type { App } from '@/types/app' | import type { App } from '@/types/app' | ||||
| import Confirm from '@/app/components/base/confirm' | import Confirm from '@/app/components/base/confirm' | ||||
| import { ToastContext } from '@/app/components/base/toast' | import { ToastContext } from '@/app/components/base/toast' | ||||
| /> | /> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div className='!hidden group-hover:!flex shrink-0 mx-1 w-[1px] h-[14px] bg-gray-200'/> | |||||
| <div className='!hidden group-hover:!flex shrink-0 mx-1 w-[1px] h-[14px] bg-gray-200' /> | |||||
| <div className='!hidden group-hover:!flex shrink-0'> | <div className='!hidden group-hover:!flex shrink-0'> | ||||
| <CustomPopover | <CustomPopover | ||||
| htmlContent={<Operations />} | htmlContent={<Operations />} |
| import classNames from 'classnames' | |||||
| import style from '../list.module.css' | import style from '../list.module.css' | ||||
| import Apps from './Apps' | import Apps from './Apps' | ||||
| import classNames from '@/utils/classnames' | |||||
| import { getLocaleOnServer, useTranslation as translate } from '@/i18n/server' | import { getLocaleOnServer, useTranslation as translate } from '@/i18n/server' | ||||
| const AppList = async () => { | const AppList = async () => { |
| import { usePathname } from 'next/navigation' | import { usePathname } from 'next/navigation' | ||||
| import useSWR from 'swr' | import useSWR from 'swr' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import classNames from 'classnames' | |||||
| import { useBoolean } from 'ahooks' | import { useBoolean } from 'ahooks' | ||||
| import { | import { | ||||
| Cog8ToothIcon, | Cog8ToothIcon, | ||||
| } from '@heroicons/react/24/solid' | } from '@heroicons/react/24/solid' | ||||
| import Link from 'next/link' | import Link from 'next/link' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import classNames from '@/utils/classnames' | |||||
| import { fetchDatasetDetail, fetchDatasetRelatedApps } from '@/service/datasets' | import { fetchDatasetDetail, fetchDatasetRelatedApps } from '@/service/datasets' | ||||
| import type { RelatedApp, RelatedAppResponse } from '@/models/datasets' | import type { RelatedApp, RelatedAppResponse } from '@/models/datasets' | ||||
| import AppSideBar from '@/app/components/app-sidebar' | import AppSideBar from '@/app/components/app-sidebar' |
| import Link from 'next/link' | import Link from 'next/link' | ||||
| import { useCallback, useEffect, useState } from 'react' | import { useCallback, useEffect, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiMoreFill, | RiMoreFill, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import cn from '@/utils/classnames' | |||||
| import Confirm from '@/app/components/base/confirm' | import Confirm from '@/app/components/base/confirm' | ||||
| import { ToastContext } from '@/app/components/base/toast' | import { ToastContext } from '@/app/components/base/toast' | ||||
| import { checkIsUsedInApp, deleteDataset } from '@/service/datasets' | import { checkIsUsedInApp, deleteDataset } from '@/service/datasets' |
| 'use client' | 'use client' | ||||
| import cn from 'classnames' | |||||
| import { useRouter, useSearchParams } from 'next/navigation' | import { useRouter, useSearchParams } from 'next/navigation' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useEffect } from 'react' | import React, { useEffect } from 'react' | ||||
| import cn from '@/utils/classnames' | |||||
| import Toast from '@/app/components/base/toast' | import Toast from '@/app/components/base/toast' | ||||
| import { fetchSystemFeatures, fetchWebOAuth2SSOUrl, fetchWebOIDCSSOUrl, fetchWebSAMLSSOUrl } from '@/service/share' | import { fetchSystemFeatures, fetchWebOAuth2SSOUrl, fetchWebOIDCSSOUrl, fetchWebSAMLSSOUrl } from '@/service/share' | ||||
| import { setAccessToken } from '@/app/components/share/utils' | import { setAccessToken } from '@/app/components/share/utils' |
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import useSWR from 'swr' | import useSWR from 'swr' | ||||
| import { useSearchParams } from 'next/navigation' | import { useSearchParams } from 'next/navigation' | ||||
| import cn from 'classnames' | |||||
| import Link from 'next/link' | import Link from 'next/link' | ||||
| import { CheckCircleIcon } from '@heroicons/react/24/solid' | import { CheckCircleIcon } from '@heroicons/react/24/solid' | ||||
| import style from './style.module.css' | import style from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import { SimpleSelect } from '@/app/components/base/select' | import { SimpleSelect } from '@/app/components/base/select' |
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import Header from '../signin/_header' | import Header from '../signin/_header' | ||||
| import style from '../signin/page.module.css' | import style from '../signin/page.module.css' | ||||
| import ActivateForm from './activateForm' | import ActivateForm from './activateForm' | ||||
| import cn from '@/utils/classnames' | |||||
| const Activate = () => { | const Activate = () => { | ||||
| return ( | return ( |
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useRouter } from 'next/navigation' | import { useRouter } from 'next/navigation' | ||||
| import { useContext, useContextSelector } from 'use-context-selector' | import { useContext, useContextSelector } from 'use-context-selector' | ||||
| import cn from 'classnames' | |||||
| import { RiArrowDownSLine } from '@remixicon/react' | import { RiArrowDownSLine } from '@remixicon/react' | ||||
| import React, { useCallback, useState } from 'react' | import React, { useCallback, useState } from 'react' | ||||
| import AppIcon from '../base/app-icon' | import AppIcon from '../base/app-icon' | ||||
| import SwitchAppModal from '../app/switch-app-modal' | import SwitchAppModal from '../app/switch-app-modal' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, | ||||
| PortalToFollowElemContent, | PortalToFollowElemContent, | ||||
| 'w-full h-[256px] bg-center bg-no-repeat bg-contain rounded-xl', | 'w-full h-[256px] bg-center bg-no-repeat bg-contain rounded-xl', | ||||
| showSwitchTip === 'chat' && s.expertPic, | showSwitchTip === 'chat' && s.expertPic, | ||||
| showSwitchTip === 'completion' && s.completionPic, | showSwitchTip === 'completion' && s.completionPic, | ||||
| )}/> | |||||
| )} /> | |||||
| <div className='px-4 pb-2'> | <div className='px-4 pb-2'> | ||||
| <div className='flex items-center gap-1 text-gray-700 text-md leading-6 font-semibold'> | <div className='flex items-center gap-1 text-gray-700 text-md leading-6 font-semibold'> | ||||
| {showSwitchTip === 'chat' ? t('app.newApp.advanced') : t('app.types.workflow')} | {showSwitchTip === 'chat' ? t('app.newApp.advanced') : t('app.types.workflow')} |
| 'use client' | 'use client' | ||||
| import { useSelectedLayoutSegment } from 'next/navigation' | import { useSelectedLayoutSegment } from 'next/navigation' | ||||
| import classNames from 'classnames' | |||||
| import Link from 'next/link' | import Link from 'next/link' | ||||
| import classNames from '@/utils/classnames' | |||||
| export type NavIcon = React.ComponentType< | export type NavIcon = React.ComponentType< | ||||
| React.PropsWithoutRef<React.ComponentProps<'svg'>> & { | React.PropsWithoutRef<React.ComponentProps<'svg'>> & { |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useEffect, useRef, useState } from 'react' | import React, { useEffect, useRef, useState } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import { RiDeleteBinLine } from '@remixicon/react' | import { RiDeleteBinLine } from '@remixicon/react' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Csv as CSVIcon } from '@/app/components/base/icons/src/public/files' | import { Csv as CSVIcon } from '@/app/components/base/icons/src/public/files' | ||||
| import { ToastContext } from '@/app/components/base/toast' | import { ToastContext } from '@/app/components/base/toast' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' |
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import Textarea from 'rc-textarea' | import Textarea from 'rc-textarea' | ||||
| import cn from 'classnames' | |||||
| import { RiDeleteBinLine } from '@remixicon/react' | import { RiDeleteBinLine } from '@remixicon/react' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Robot, User } from '@/app/components/base/icons/src/public/avatar' | import { Robot, User } from '@/app/components/base/icons/src/public/avatar' | ||||
| import { Edit04 } from '@/app/components/base/icons/src/vender/line/general' | import { Edit04 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import { Edit04 as EditSolid } from '@/app/components/base/icons/src/vender/solid/general' | import { Edit04 as EditSolid } from '@/app/components/base/icons/src/vender/solid/general' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { Fragment, useEffect, useState } from 'react' | import React, { Fragment, useEffect, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiAddLine, | RiAddLine, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import type { AnnotationItemBasic } from '../type' | import type { AnnotationItemBasic } from '../type' | ||||
| import BatchAddModal from '../batch-add-annotation-modal' | import BatchAddModal from '../batch-add-annotation-modal' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import CustomPopover from '@/app/components/base/popover' | import CustomPopover from '@/app/components/base/popover' | ||||
| import { FileDownload02, FilePlus02 } from '@/app/components/base/icons/src/vender/line/files' | import { FileDownload02, FilePlus02 } from '@/app/components/base/icons/src/vender/line/files' | ||||
| import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows' | import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows' |
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { Pagination } from 'react-headless-pagination' | import { Pagination } from 'react-headless-pagination' | ||||
| import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline' | import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline' | ||||
| import cn from 'classnames' | |||||
| import Toast from '../../base/toast' | import Toast from '../../base/toast' | ||||
| import Filter from './filter' | import Filter from './filter' | ||||
| import type { QueryParam } from './filter' | import type { QueryParam } from './filter' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import { AnnotationEnableStatus, type AnnotationItem, type AnnotationItemBasic, JobStatus } from './type' | import { AnnotationEnableStatus, type AnnotationItem, type AnnotationItemBasic, JobStatus } from './type' | ||||
| import ViewAnnotationModal from './view-annotation-modal' | import ViewAnnotationModal from './view-annotation-modal' | ||||
| import cn from '@/utils/classnames' | |||||
| import Switch from '@/app/components/base/switch' | import Switch from '@/app/components/base/switch' | ||||
| import { addAnnotation, delAnnotation, fetchAnnotationConfig as doFetchAnnotationConfig, editAnnotation, fetchAnnotationList, queryAnnotationJobStatus, updateAnnotationScore, updateAnnotationStatus } from '@/service/annotation' | import { addAnnotation, delAnnotation, fetchAnnotationConfig as doFetchAnnotationConfig, editAnnotation, fetchAnnotationList, queryAnnotationJobStatus, updateAnnotationScore, updateAnnotationStatus } from '@/service/annotation' | ||||
| import Loading from '@/app/components/base/loading' | import Loading from '@/app/components/base/loading' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { RiDeleteBinLine } from '@remixicon/react' | import { RiDeleteBinLine } from '@remixicon/react' | ||||
| import { Edit02 } from '../../base/icons/src/vender/line/general' | import { Edit02 } from '../../base/icons/src/vender/line/general' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import type { AnnotationItem } from './type' | import type { AnnotationItem } from './type' | ||||
| import RemoveAnnotationConfirmModal from './remove-annotation-confirm-modal' | import RemoveAnnotationConfirmModal from './remove-annotation-confirm-modal' | ||||
| import cn from '@/utils/classnames' | |||||
| import useTimestamp from '@/hooks/use-timestamp' | import useTimestamp from '@/hooks/use-timestamp' | ||||
| type Props = { | type Props = { |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useEffect, useState } from 'react' | import React, { useEffect, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { Pagination } from 'react-headless-pagination' | import { Pagination } from 'react-headless-pagination' | ||||
| import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline' | import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline' | ||||
| import EditItem, { EditItemType } from '../edit-annotation-modal/edit-item' | import EditItem, { EditItemType } from '../edit-annotation-modal/edit-item' | ||||
| import type { AnnotationItem, HitHistoryItem } from '../type' | import type { AnnotationItem, HitHistoryItem } from '../type' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import HitHistoryNoData from './hit-history-no-data' | import HitHistoryNoData from './hit-history-no-data' | ||||
| import cn from '@/utils/classnames' | |||||
| import Drawer from '@/app/components/base/drawer-plus' | import Drawer from '@/app/components/base/drawer-plus' | ||||
| import { MessageCheckRemove } from '@/app/components/base/icons/src/vender/line/communication' | import { MessageCheckRemove } from '@/app/components/base/icons/src/vender/line/communication' | ||||
| import DeleteConfirmModal from '@/app/components/base/modal/delete-confirm-modal' | import DeleteConfirmModal from '@/app/components/base/modal/delete-confirm-modal' |
| import type { HTMLProps, PropsWithChildren } from 'react' | import type { HTMLProps, PropsWithChildren } from 'react' | ||||
| import classNames from 'classnames' | |||||
| import classNames from '@/utils/classnames' | |||||
| import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows' | import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows' | ||||
| export type SuggestedActionProps = PropsWithChildren<HTMLProps<HTMLAnchorElement> & { | export type SuggestedActionProps = PropsWithChildren<HTMLProps<HTMLAnchorElement> & { |
| 'use client' | 'use client' | ||||
| import type { FC, ReactNode } from 'react' | import type { FC, ReactNode } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| import ParamsConfig from '@/app/components/app/configuration/config-voice/param-config' | import ParamsConfig from '@/app/components/app/configuration/config-voice/param-config' | ||||
| export type IFeaturePanelProps = { | export type IFeaturePanelProps = { | ||||
| <div className='flex gap-2 items-center'> | <div className='flex gap-2 items-center'> | ||||
| {headerRight && <div>{headerRight}</div>} | {headerRight && <div>{headerRight}</div>} | ||||
| {isShowTextToSpeech && <div className='flex items-center'> | {isShowTextToSpeech && <div className='flex items-center'> | ||||
| <ParamsConfig/> | |||||
| <ParamsConfig /> | |||||
| </div>} | </div>} | ||||
| </div> | </div> | ||||
| </div> | </div> |
| 'use client' | 'use client' | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| type IRemoveIconProps = { | type IRemoveIconProps = { | ||||
| className?: string | className?: string |
| import React from 'react' | import React from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { PlusIcon } from '@heroicons/react/20/solid' | import { PlusIcon } from '@heroicons/react/20/solid' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| export type IOperationBtnProps = { | export type IOperationBtnProps = { | ||||
| className?: string | className?: string |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import copy from 'copy-to-clipboard' | import copy from 'copy-to-clipboard' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import { useBoolean } from 'ahooks' | import { useBoolean } from 'ahooks' | ||||
| import MessageTypeSelector from './message-type-selector' | import MessageTypeSelector from './message-type-selector' | ||||
| import ConfirmAddVar from './confirm-add-var' | import ConfirmAddVar from './confirm-add-var' | ||||
| import PromptEditorHeightResizeWrap from './prompt-editor-height-resize-wrap' | import PromptEditorHeightResizeWrap from './prompt-editor-height-resize-wrap' | ||||
| import cn from '@/utils/classnames' | |||||
| import type { PromptRole, PromptVariable } from '@/models/debug' | import type { PromptRole, PromptVariable } from '@/models/debug' | ||||
| import { | import { | ||||
| Clipboard, | Clipboard, |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import { useBoolean, useClickAway } from 'ahooks' | import { useBoolean, useClickAway } from 'ahooks' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| import { PromptRole } from '@/models/debug' | import { PromptRole } from '@/models/debug' | ||||
| import { ChevronSelectorVertical } from '@/app/components/base/icons/src/vender/line/arrows' | import { ChevronSelectorVertical } from '@/app/components/base/icons/src/vender/line/arrows' | ||||
| type Props = { | type Props = { |
| import React, { useCallback, useEffect, useState } from 'react' | import React, { useCallback, useEffect, useState } from 'react' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import { useDebounceFn } from 'ahooks' | import { useDebounceFn } from 'ahooks' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| type Props = { | type Props = { | ||||
| className?: string | className?: string |
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useBoolean } from 'ahooks' | import { useBoolean } from 'ahooks' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiQuestionLine, | RiQuestionLine, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import ConfirmAddVar from './confirm-add-var' | import ConfirmAddVar from './confirm-add-var' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import PromptEditorHeightResizeWrap from './prompt-editor-height-resize-wrap' | import PromptEditorHeightResizeWrap from './prompt-editor-height-resize-wrap' | ||||
| import cn from '@/utils/classnames' | |||||
| import { type PromptVariable } from '@/models/debug' | import { type PromptVariable } from '@/models/debug' | ||||
| import Tooltip from '@/app/components/base/tooltip' | import Tooltip from '@/app/components/base/tooltip' | ||||
| import { AppType } from '@/types/app' | import { AppType } from '@/types/app' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import type { InputVarType } from '@/app/components/workflow/types' | import type { InputVarType } from '@/app/components/workflow/types' | ||||
| import InputVarTypeIcon from '@/app/components/workflow/nodes/_base/components/input-var-type-icon' | import InputVarTypeIcon from '@/app/components/workflow/nodes/_base/components/input-var-type-icon' | ||||
| export type ISelectTypeItemProps = { | export type ISelectTypeItemProps = { |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from '@/utils/classnames' | |||||
| import OperationBtn from '@/app/components/app/configuration/base/operation-btn' | import OperationBtn from '@/app/components/app/configuration/base/operation-btn' | ||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import { memo, useState } from 'react' | import { memo, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import VoiceParamConfig from './param-config-content' | import VoiceParamConfig from './param-config-content' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' | import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| type OPTION = { | type OPTION = { | ||||
| label: string | label: string |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import React, { Fragment } from 'react' | import React, { Fragment } from 'react' | ||||
| import classNames from 'classnames' | |||||
| import { | import { | ||||
| RiQuestionLine, | RiQuestionLine, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { Listbox, Transition } from '@headlessui/react' | import { Listbox, Transition } from '@headlessui/react' | ||||
| import { CheckIcon, ChevronDownIcon } from '@heroicons/react/20/solid' | import { CheckIcon, ChevronDownIcon } from '@heroicons/react/20/solid' | ||||
| import classNames from '@/utils/classnames' | |||||
| import RadioGroup from '@/app/components/app/configuration/config-vision/radio-group' | import RadioGroup from '@/app/components/app/configuration/config-vision/radio-group' | ||||
| import type { Item } from '@/app/components/base/select' | import type { Item } from '@/app/components/base/select' | ||||
| import ConfigContext from '@/context/debug-configuration' | import ConfigContext from '@/context/debug-configuration' | ||||
| 'absolute inset-y-0 right-0 flex items-center pr-4 text-gray-700', | 'absolute inset-y-0 right-0 flex items-center pr-4 text-gray-700', | ||||
| )} | )} | ||||
| > | > | ||||
| <CheckIcon className="h-5 w-5" aria-hidden="true"/> | |||||
| <CheckIcon className="h-5 w-5" aria-hidden="true" /> | |||||
| </span> | </span> | ||||
| )} | )} | ||||
| </> | </> | ||||
| 'absolute inset-y-0 right-0 flex items-center pr-4 text-gray-700', | 'absolute inset-y-0 right-0 flex items-center pr-4 text-gray-700', | ||||
| )} | )} | ||||
| > | > | ||||
| <CheckIcon className="h-5 w-5" aria-hidden="true"/> | |||||
| <CheckIcon className="h-5 w-5" aria-hidden="true" /> | |||||
| </span> | </span> | ||||
| )} | )} | ||||
| </> | </> |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import { memo, useState } from 'react' | import { memo, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import VoiceParamConfig from './param-config-content' | import VoiceParamConfig from './param-config-content' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' | import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import { RiQuestionLine } from '@remixicon/react' | import { RiQuestionLine } from '@remixicon/react' | ||||
| import cn from '@/utils/classnames' | |||||
| import Tooltip from '@/app/components/base/tooltip' | import Tooltip from '@/app/components/base/tooltip' | ||||
| type Props = { | type Props = { | ||||
| className?: string | className?: string |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import produce from 'immer' | import produce from 'immer' | ||||
| import { | import { | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import { useFormattingChangedDispatcher } from '../../../debug/hooks' | import { useFormattingChangedDispatcher } from '../../../debug/hooks' | ||||
| import SettingBuiltInTool from './setting-built-in-tool' | import SettingBuiltInTool from './setting-built-in-tool' | ||||
| import cn from '@/utils/classnames' | |||||
| import Panel from '@/app/components/app/configuration/base/feature-panel' | import Panel from '@/app/components/app/configuration/base/feature-panel' | ||||
| import Tooltip from '@/app/components/base/tooltip' | import Tooltip from '@/app/components/base/tooltip' | ||||
| import { InfoCircle } from '@/app/components/base/icons/src/vender/line/general' | import { InfoCircle } from '@/app/components/base/icons/src/vender/line/general' |
| import React, { useEffect, useState } from 'react' | import React, { useEffect, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| import Drawer from '@/app/components/base/drawer-plus' | import Drawer from '@/app/components/base/drawer-plus' | ||||
| import Form from '@/app/components/header/account-setting/model-provider-page/model-modal/Form' | import Form from '@/app/components/header/account-setting/model-provider-page/model-modal/Form' | ||||
| import { addDefaultValue, toolParametersToFormSchemas } from '@/app/components/tools/utils/to-form-schema' | import { addDefaultValue, toolParametersToFormSchemas } from '@/app/components/tools/utils/to-form-schema' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import copy from 'copy-to-clipboard' | import copy from 'copy-to-clipboard' | ||||
| import cn from 'classnames' | |||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from '@/utils/classnames' | |||||
| import { | import { | ||||
| Clipboard, | Clipboard, | ||||
| ClipboardCheck, | ClipboardCheck, |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { RiArrowDownSLine } from '@remixicon/react' | import { RiArrowDownSLine } from '@remixicon/react' | ||||
| import AgentSetting from '../agent/agent-setting' | import AgentSetting from '../agent/agent-setting' | ||||
| import cn from '@/utils/classnames' | |||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, | ||||
| PortalToFollowElemContent, | PortalToFollowElemContent, |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Switch from '@/app/components/base/switch' | import Switch from '@/app/components/base/switch' | ||||
| export type IFeatureItemProps = { | export type IFeatureItemProps = { |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import TypeIcon from '../type-icon' | import TypeIcon from '../type-icon' | ||||
| import RemoveIcon from '../../base/icons/remove-icon' | import RemoveIcon from '../../base/icons/remove-icon' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import type { DataSet } from '@/models/datasets' | import type { DataSet } from '@/models/datasets' | ||||
| import { formatNumber } from '@/utils/format' | import { formatNumber } from '@/utils/format' | ||||
| import Tooltip from '@/app/components/base/tooltip' | import Tooltip from '@/app/components/base/tooltip' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiQuestionLine, | RiQuestionLine, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import type { Props } from './var-picker' | import type { Props } from './var-picker' | ||||
| import VarPicker from './var-picker' | import VarPicker from './var-picker' | ||||
| import cn from '@/utils/classnames' | |||||
| import { BracketsX } from '@/app/components/base/icons/src/vender/line/development' | import { BracketsX } from '@/app/components/base/icons/src/vender/line/development' | ||||
| import Tooltip from '@/app/components/base/tooltip' | import Tooltip from '@/app/components/base/tooltip' | ||||
| <div className={cn(notSetVar ? 'rounded-bl-xl rounded-br-xl bg-[#FEF0C7] border-[#FEF0C7]' : 'border-gray-200', 'flex justify-between items-center h-12 px-3 border-t ')}> | <div className={cn(notSetVar ? 'rounded-bl-xl rounded-br-xl bg-[#FEF0C7] border-[#FEF0C7]' : 'border-gray-200', 'flex justify-between items-center h-12 px-3 border-t ')}> | ||||
| <div className='flex items-center space-x-1 shrink-0'> | <div className='flex items-center space-x-1 shrink-0'> | ||||
| <div className='p-1'> | <div className='p-1'> | ||||
| <BracketsX className='w-4 h-4 text-primary-500'/> | |||||
| <BracketsX className='w-4 h-4 text-primary-500' /> | |||||
| </div> | </div> | ||||
| <div className='mr-1 text-sm font-medium text-gray-800'>{t('appDebug.feature.dataSet.queryVariable.title')}</div> | <div className='mr-1 text-sm font-medium text-gray-800'>{t('appDebug.feature.dataSet.queryVariable.title')}</div> | ||||
| <Tooltip | <Tooltip | ||||
| </div>} | </div>} | ||||
| selector='context-var-tooltip' | selector='context-var-tooltip' | ||||
| > | > | ||||
| <RiQuestionLine className='w-3.5 h-3.5 text-gray-400'/> | |||||
| <RiQuestionLine className='w-3.5 h-3.5 text-gray-400' /> | |||||
| </Tooltip> | </Tooltip> | ||||
| </div> | </div> | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { ChevronDownIcon } from '@heroicons/react/24/outline' | import { ChevronDownIcon } from '@heroicons/react/24/outline' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, | ||||
| PortalToFollowElemContent, | PortalToFollowElemContent, |
| import { memo, useState } from 'react' | import { memo, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import cn from 'classnames' | |||||
| import ConfigContent from './config-content' | import ConfigContent from './config-content' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Settings04 } from '@/app/components/base/icons/src/vender/line/general' | import { Settings04 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import ConfigContext from '@/context/debug-configuration' | import ConfigContext from '@/context/debug-configuration' | ||||
| import Modal from '@/app/components/base/modal' | import Modal from '@/app/components/base/modal' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useRef, useState } from 'react' | import React, { useRef, useState } from 'react' | ||||
| import { useGetState, useInfiniteScroll } from 'ahooks' | import { useGetState, useInfiniteScroll } from 'ahooks' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import Link from 'next/link' | import Link from 'next/link' | ||||
| import produce from 'immer' | import produce from 'immer' | ||||
| import TypeIcon from '../type-icon' | import TypeIcon from '../type-icon' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Modal from '@/app/components/base/modal' | import Modal from '@/app/components/base/modal' | ||||
| import type { DataSet } from '@/models/datasets' | import type { DataSet } from '@/models/datasets' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' |
| import { useRef, useState } from 'react' | import { useRef, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { isEqual } from 'lodash-es' | import { isEqual } from 'lodash-es' | ||||
| import cn from 'classnames' | |||||
| import { RiCloseLine } from '@remixicon/react' | import { RiCloseLine } from '@remixicon/react' | ||||
| import { BookOpenIcon } from '@heroicons/react/24/outline' | import { BookOpenIcon } from '@heroicons/react/24/outline' | ||||
| import cn from '@/utils/classnames' | |||||
| import IndexMethodRadio from '@/app/components/datasets/settings/index-method-radio' | import IndexMethodRadio from '@/app/components/datasets/settings/index-method-radio' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import type { DataSet } from '@/models/datasets' | import type { DataSet } from '@/models/datasets' |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useEffect, useRef, useState } from 'react' | import React, { useEffect, useRef, useState } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiAddLine, | RiAddLine, | ||||
| RiDeleteBinLine, | RiDeleteBinLine, | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useBoolean } from 'ahooks' | import { useBoolean } from 'ahooks' | ||||
| import { ReactSortable } from 'react-sortablejs' | import { ReactSortable } from 'react-sortablejs' | ||||
| import cn from '@/utils/classnames' | |||||
| import ConfigContext from '@/context/debug-configuration' | import ConfigContext from '@/context/debug-configuration' | ||||
| import Panel from '@/app/components/app/configuration/base/feature-panel' | import Panel from '@/app/components/app/configuration/base/feature-panel' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useRef, useState } from 'react' | import React, { useRef, useState } from 'react' | ||||
| import { useHover } from 'ahooks' | import { useHover } from 'ahooks' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from '@/utils/classnames' | |||||
| import { MessageCheckRemove, MessageFastPlus } from '@/app/components/base/icons/src/vender/line/communication' | import { MessageCheckRemove, MessageFastPlus } from '@/app/components/base/icons/src/vender/line/communication' | ||||
| import { MessageFast } from '@/app/components/base/icons/src/vender/solid/communication' | import { MessageFast } from '@/app/components/base/icons/src/vender/solid/communication' | ||||
| import { Edit04 } from '@/app/components/base/icons/src/vender/line/general' | import { Edit04 } from '@/app/components/base/icons/src/vender/line/general' |
| import ReactSlider from 'react-slider' | import ReactSlider from 'react-slider' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| type ISliderProps = { | type ISliderProps = { | ||||
| className?: string | className?: string |
| import { Fragment, useCallback } from 'react' | import { Fragment, useCallback } from 'react' | ||||
| import type { ReactNode } from 'react' | import type { ReactNode } from 'react' | ||||
| import { Dialog, Transition } from '@headlessui/react' | import { Dialog, Transition } from '@headlessui/react' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| type DialogProps = { | type DialogProps = { | ||||
| className?: string | className?: string |
| import type { MouseEventHandler } from 'react' | import type { MouseEventHandler } from 'react' | ||||
| import { useCallback, useRef, useState } from 'react' | import { useCallback, useRef, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiCloseLine, | RiCloseLine, | ||||
| RiQuestionLine, | RiQuestionLine, | ||||
| import { useRouter } from 'next/navigation' | import { useRouter } from 'next/navigation' | ||||
| import { useContext, useContextSelector } from 'use-context-selector' | import { useContext, useContextSelector } from 'use-context-selector' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import AppsContext, { useAppContext } from '@/context/app-context' | import AppsContext, { useAppContext } from '@/context/app-context' | ||||
| import { useProviderContext } from '@/context/provider-context' | import { useProviderContext } from '@/context/provider-context' | ||||
| import { ToastContext } from '@/app/components/base/toast' | import { ToastContext } from '@/app/components/base/toast' |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useEffect, useRef, useState } from 'react' | import React, { useEffect, useRef, useState } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiDeleteBinLine, | RiDeleteBinLine, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Yaml as YamlIcon } from '@/app/components/base/icons/src/public/files' | import { Yaml as YamlIcon } from '@/app/components/base/icons/src/public/files' | ||||
| import { ToastContext } from '@/app/components/base/toast' | import { ToastContext } from '@/app/components/base/toast' | ||||
| import { UploadCloud01 } from '@/app/components/base/icons/src/vender/line/general' | import { UploadCloud01 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| {!file && ( | {!file && ( | ||||
| <div className={cn('flex items-center h-20 rounded-xl bg-gray-50 border border-dashed border-gray-200 text-sm font-normal', dragging && 'bg-[#F5F8FF] border border-[#B2CCFF]')}> | <div className={cn('flex items-center h-20 rounded-xl bg-gray-50 border border-dashed border-gray-200 text-sm font-normal', dragging && 'bg-[#F5F8FF] border border-[#B2CCFF]')}> | ||||
| <div className='w-full flex items-center justify-center space-x-2'> | <div className='w-full flex items-center justify-center space-x-2'> | ||||
| <UploadCloud01 className='w-6 h-6 mr-2'/> | |||||
| <UploadCloud01 className='w-6 h-6 mr-2' /> | |||||
| <div className='text-gray-500'> | <div className='text-gray-500'> | ||||
| {t('datasetCreation.stepOne.uploader.button')} | {t('datasetCreation.stepOne.uploader.button')} | ||||
| <span className='pl-1 text-[#155eef] cursor-pointer' onClick={selectHandle}>{t('datasetDocuments.list.batchModal.browse')}</span> | <span className='pl-1 text-[#155eef] cursor-pointer' onClick={selectHandle}>{t('datasetDocuments.list.batchModal.browse')}</span> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| {dragging && <div ref={dragRef} className='absolute w-full h-full top-0 left-0'/>} | |||||
| {dragging && <div ref={dragRef} className='absolute w-full h-full top-0 left-0' />} | |||||
| </div> | </div> | ||||
| )} | )} | ||||
| {file && ( | {file && ( |
| 'use client' | 'use client' | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Modal from '@/app/components/base/modal' | import Modal from '@/app/components/base/modal' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import Toast from '@/app/components/base/toast' | import Toast from '@/app/components/base/toast' |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { useRouter } from 'next/navigation' | import { useRouter } from 'next/navigation' | ||||
| import cn from '@/utils/classnames' | |||||
| import Log from '@/app/components/app/log' | import Log from '@/app/components/app/log' | ||||
| import WorkflowLog from '@/app/components/app/workflow-log' | import WorkflowLog from '@/app/components/app/workflow-log' | ||||
| import Annotation from '@/app/components/app/annotation' | import Annotation from '@/app/components/app/annotation' |
| import { createContext, useContext } from 'use-context-selector' | import { createContext, useContext } from 'use-context-selector' | ||||
| import { useShallow } from 'zustand/react/shallow' | import { useShallow } from 'zustand/react/shallow' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import VarPanel from './var-panel' | import VarPanel from './var-panel' | ||||
| import cn from '@/utils/classnames' | |||||
| import { randomString } from '@/utils' | import { randomString } from '@/utils' | ||||
| import type { FeedbackFunc, Feedbacktype, IChatItem, SubmitAnnotationFunc } from '@/app/components/base/chat/chat/type' | import type { FeedbackFunc, Feedbacktype, IChatItem, SubmitAnnotationFunc } from '@/app/components/base/chat/chat/type' | ||||
| import type { Annotation, ChatConversationFullDetailResponse, ChatConversationGeneralDetail, ChatConversationsResponse, ChatMessage, ChatMessagesRequest, CompletionConversationFullDetailResponse, CompletionConversationGeneralDetail, CompletionConversationsResponse, LogAnnotation } from '@/models/log' | import type { Annotation, ChatConversationFullDetailResponse, ChatConversationGeneralDetail, ChatConversationsResponse, ChatMessage, ChatMessagesRequest, CompletionConversationFullDetailResponse, CompletionConversationGeneralDetail, CompletionConversationsResponse, LogAnnotation } from '@/models/log' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { RiCloseLine } from '@remixicon/react' | import { RiCloseLine } from '@remixicon/react' | ||||
| import cn from '@/utils/classnames' | |||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import { LinkExternal02 } from '@/app/components/base/icons/src/vender/line/general' | import { LinkExternal02 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import { IS_CE_EDITION } from '@/config' | import { IS_CE_EDITION } from '@/config' |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| export type IProgressProps = { | export type IProgressProps = { | ||||
| className?: string | className?: string |
| import React, { useEffect, useState } from 'react' | import React, { useEffect, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import copy from 'copy-to-clipboard' | import copy from 'copy-to-clipboard' | ||||
| import style from './style.module.css' | import style from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Modal from '@/app/components/base/modal' | import Modal from '@/app/components/base/modal' | ||||
| import copyStyle from '@/app/components/base/copy-btn/style.module.css' | import copyStyle from '@/app/components/base/copy-btn/style.module.css' | ||||
| import Tooltip from '@/app/components/base/tooltip' | import Tooltip from '@/app/components/base/tooltip' |
| import { useRouter } from 'next/navigation' | import { useRouter } from 'next/navigation' | ||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { RiCloseLine } from '@remixicon/react' | import { RiCloseLine } from '@remixicon/react' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import Modal from '@/app/components/base/modal' | import Modal from '@/app/components/base/modal' | ||||
| import Confirm from '@/app/components/base/confirm' | import Confirm from '@/app/components/base/confirm' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useEffect, useRef, useState } from 'react' | import React, { useEffect, useRef, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiClipboardLine, | RiClipboardLine, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import { useBoolean } from 'ahooks' | import { useBoolean } from 'ahooks' | ||||
| import { HashtagIcon } from '@heroicons/react/24/solid' | import { HashtagIcon } from '@heroicons/react/24/solid' | ||||
| import ResultTab from './result-tab' | import ResultTab from './result-tab' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Markdown } from '@/app/components/base/markdown' | import { Markdown } from '@/app/components/base/markdown' | ||||
| import Loading from '@/app/components/base/loading' | import Loading from '@/app/components/base/loading' | ||||
| import Toast from '@/app/components/base/toast' | import Toast from '@/app/components/base/toast' |
| memo, | memo, | ||||
| useEffect, | useEffect, | ||||
| } from 'react' | } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from '@/utils/classnames' | |||||
| // import Loading from '@/app/components/base/loading' | // import Loading from '@/app/components/base/loading' | ||||
| import { Markdown } from '@/app/components/base/markdown' | import { Markdown } from '@/app/components/base/markdown' | ||||
| import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor' | import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import copy from 'copy-to-clipboard' | import copy from 'copy-to-clipboard' | ||||
| import NoData from './no-data' | import NoData from './no-data' | ||||
| import cn from '@/utils/classnames' | |||||
| import type { SavedMessage } from '@/models/debug' | import type { SavedMessage } from '@/models/debug' | ||||
| import { Markdown } from '@/app/components/base/markdown' | import { Markdown } from '@/app/components/base/markdown' | ||||
| import { SimpleBtn, copyIcon } from '@/app/components/app/text-generate/item' | import { SimpleBtn, copyIcon } from '@/app/components/app/text-generate/item' |
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { RiArrowDownSLine } from '@remixicon/react' | import { RiArrowDownSLine } from '@remixicon/react' | ||||
| import cn from '@/utils/classnames' | |||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, | ||||
| PortalToFollowElemContent, | PortalToFollowElemContent, | ||||
| }}> | }}> | ||||
| <ChatBot className='mr-2 w-4 h-4 text-[#1570EF]' /> | <ChatBot className='mr-2 w-4 h-4 text-[#1570EF]' /> | ||||
| <div className='grow text-gray-700 text-[13px] font-medium leading-[18px]'>{t('app.typeSelector.chatbot')}</div> | <div className='grow text-gray-700 text-[13px] font-medium leading-[18px]'>{t('app.typeSelector.chatbot')}</div> | ||||
| {value === 'chatbot' && <Check className='w-4 h-4 text-primary-600'/>} | |||||
| {value === 'chatbot' && <Check className='w-4 h-4 text-primary-600' />} | |||||
| </div> | </div> | ||||
| <div className='flex items-center pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-50' onClick={() => { | <div className='flex items-center pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-50' onClick={() => { | ||||
| onChange('agent') | onChange('agent') | ||||
| }}> | }}> | ||||
| <CuteRobote className='mr-2 w-4 h-4 text-indigo-600' /> | <CuteRobote className='mr-2 w-4 h-4 text-indigo-600' /> | ||||
| <div className='grow text-gray-700 text-[13px] font-medium leading-[18px]'>{t('app.typeSelector.agent')}</div> | <div className='grow text-gray-700 text-[13px] font-medium leading-[18px]'>{t('app.typeSelector.agent')}</div> | ||||
| {value === 'agent' && <Check className='w-4 h-4 text-primary-600'/>} | |||||
| {value === 'agent' && <Check className='w-4 h-4 text-primary-600' />} | |||||
| </div> | </div> | ||||
| <div className='flex items-center pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-50' onClick={() => { | <div className='flex items-center pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-50' onClick={() => { | ||||
| onChange('workflow') | onChange('workflow') | ||||
| }}> | }}> | ||||
| <Route className='mr-2 w-4 h-4 text-[#F79009]' /> | <Route className='mr-2 w-4 h-4 text-[#F79009]' /> | ||||
| <div className='grow text-gray-700 text-[13px] font-medium leading-[18px]'>{t('app.typeSelector.workflow')}</div> | <div className='grow text-gray-700 text-[13px] font-medium leading-[18px]'>{t('app.typeSelector.workflow')}</div> | ||||
| {value === 'workflow' && <Check className='w-4 h-4 text-primary-600'/>} | |||||
| {value === 'workflow' && <Check className='w-4 h-4 text-primary-600' />} | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </PortalToFollowElemContent> | </PortalToFollowElemContent> |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import DetailPanel from './detail' | import DetailPanel from './detail' | ||||
| import cn from '@/utils/classnames' | |||||
| import type { WorkflowAppLogDetail, WorkflowLogsResponse } from '@/models/log' | import type { WorkflowAppLogDetail, WorkflowLogsResponse } from '@/models/log' | ||||
| import type { App } from '@/types/app' | import type { App } from '@/types/app' | ||||
| import Loading from '@/app/components/base/loading' | import Loading from '@/app/components/base/loading' |
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { flatten, uniq } from 'lodash-es' | import { flatten, uniq } from 'lodash-es' | ||||
| import cn from 'classnames' | |||||
| import ResultPanel from './result' | import ResultPanel from './result' | ||||
| import TracingPanel from './tracing' | import TracingPanel from './tracing' | ||||
| import cn from '@/utils/classnames' | |||||
| import { ToastContext } from '@/app/components/base/toast' | import { ToastContext } from '@/app/components/base/toast' | ||||
| import Loading from '@/app/components/base/loading' | import Loading from '@/app/components/base/loading' | ||||
| import { fetchAgentLogDetail } from '@/service/log' | import { fetchAgentLogDetail } from '@/service/log' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { RiCloseLine } from '@remixicon/react' | import { RiCloseLine } from '@remixicon/react' | ||||
| import { useEffect, useRef, useState } from 'react' | import { useEffect, useRef, useState } from 'react' | ||||
| import { useClickAway } from 'ahooks' | import { useClickAway } from 'ahooks' | ||||
| import AgentLogDetail from './detail' | import AgentLogDetail from './detail' | ||||
| import cn from '@/utils/classnames' | |||||
| import type { IChatItem } from '@/app/components/base/chat/chat/type' | import type { IChatItem } from '@/app/components/base/chat/chat/type' | ||||
| type AgentLogModalProps = { | type AgentLogModalProps = { |
| 'use client' | 'use client' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import cn from 'classnames' | |||||
| import ToolCall from './tool-call' | import ToolCall from './tool-call' | ||||
| import cn from '@/utils/classnames' | |||||
| import type { AgentIteration } from '@/models/log' | import type { AgentIteration } from '@/models/log' | ||||
| type Props = { | type Props = { |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import { useState } from 'react' | import { useState } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiCheckboxCircleLine, | RiCheckboxCircleLine, | ||||
| RiErrorWarningLine, | RiErrorWarningLine, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import { useContext } from 'use-context-selector' | import { useContext } from 'use-context-selector' | ||||
| import cn from '@/utils/classnames' | |||||
| import BlockIcon from '@/app/components/workflow/block-icon' | import BlockIcon from '@/app/components/workflow/block-icon' | ||||
| import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor' | import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor' | ||||
| import { CodeLanguage } from '@/app/components/workflow/nodes/code/types' | import { CodeLanguage } from '@/app/components/workflow/nodes/code/types' |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import classNames from 'classnames' | |||||
| import data from '@emoji-mart/data' | import data from '@emoji-mart/data' | ||||
| import { init } from 'emoji-mart' | import { init } from 'emoji-mart' | ||||
| import style from './style.module.css' | import style from './style.module.css' | ||||
| import classNames from '@/utils/classnames' | |||||
| init({ data }) | init({ data }) | ||||
| import { forwardRef, useEffect, useRef } from 'react' | import { forwardRef, useEffect, useRef } from 'react' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| type AutoHeightTextareaProps = | type AutoHeightTextareaProps = | ||||
| & React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement> | & React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement> |
| import { forwardRef, useEffect, useRef } from 'react' | import { forwardRef, useEffect, useRef } from 'react' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| import { sleep } from '@/utils' | import { sleep } from '@/utils' | ||||
| type IProps = { | type IProps = { |
| 'use client' | 'use client' | ||||
| import cn from 'classnames' | |||||
| import { useState } from 'react' | import { useState } from 'react' | ||||
| import cn from '@/utils/classnames' | |||||
| type AvatarProps = { | type AvatarProps = { | ||||
| name: string | name: string |
| import type { ChangeEvent, FC } from 'react' | import type { ChangeEvent, FC } from 'react' | ||||
| import React, { useCallback, useEffect, useRef, useState } from 'react' | import React, { useCallback, useEffect, useRef, useState } from 'react' | ||||
| import classNames from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { varHighlightHTML } from '../../app/configuration/base/var-highlight' | import { varHighlightHTML } from '../../app/configuration/base/var-highlight' | ||||
| import Toast from '../toast' | import Toast from '../toast' | ||||
| import classNames from '@/utils/classnames' | |||||
| import { checkKeys } from '@/utils/var' | import { checkKeys } from '@/utils/var' | ||||
| // regex to match the {{}} and replace it with a span | // regex to match the {{}} and replace it with a span |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import { RiAddLine } from '@remixicon/react' | import { RiAddLine } from '@remixicon/react' | ||||
| import cn from '@/utils/classnames' | |||||
| type Props = { | type Props = { | ||||
| className?: string | className?: string |
| import type { CSSProperties } from 'react' | import type { CSSProperties } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import { type VariantProps, cva } from 'class-variance-authority' | import { type VariantProps, cva } from 'class-variance-authority' | ||||
| import classNames from 'classnames' | |||||
| import Spinner from '../spinner' | import Spinner from '../spinner' | ||||
| import classNames from '@/utils/classnames' | |||||
| const buttonVariants = cva( | const buttonVariants = cva( | ||||
| 'btn disabled:btn-disabled', | 'btn disabled:btn-disabled', |
| useMemo, | useMemo, | ||||
| useState, | useState, | ||||
| } from 'react' | } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import type { ChatItem } from '../../types' | import type { ChatItem } from '../../types' | ||||
| import { useChatContext } from '../context' | import { useChatContext } from '../context' | ||||
| import cn from '@/utils/classnames' | |||||
| import CopyBtn from '@/app/components/base/copy-btn' | import CopyBtn from '@/app/components/base/copy-btn' | ||||
| import { MessageFast } from '@/app/components/base/icons/src/vender/solid/communication' | import { MessageFast } from '@/app/components/base/icons/src/vender/solid/communication' | ||||
| import AudioBtn from '@/app/components/base/audio-btn' | import AudioBtn from '@/app/components/base/audio-btn' | ||||
| )} | )} | ||||
| {(config?.text_to_speech?.enabled) && ( | {(config?.text_to_speech?.enabled) && ( | ||||
| <> | <> | ||||
| <div className='mx-1 w-[1px] h-[14px] bg-gray-200'/> | |||||
| <div className='mx-1 w-[1px] h-[14px] bg-gray-200' /> | |||||
| <AudioBtn | <AudioBtn | ||||
| id={id} | id={id} | ||||
| value={content} | value={content} |
| useMemo, | useMemo, | ||||
| useState, | useState, | ||||
| } from 'react' | } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiArrowRightSLine, | RiArrowRightSLine, | ||||
| RiErrorWarningFill, | RiErrorWarningFill, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import type { ChatItem, WorkflowProcess } from '../../types' | import type { ChatItem, WorkflowProcess } from '../../types' | ||||
| import cn from '@/utils/classnames' | |||||
| import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general' | import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general' | ||||
| import { WorkflowRunningStatus } from '@/app/components/workflow/types' | import { WorkflowRunningStatus } from '@/app/components/workflow/types' | ||||
| import NodePanel from '@/app/components/workflow/run/node' | import NodePanel from '@/app/components/workflow/run/node' |
| } from 'react' | } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { debounce } from 'lodash-es' | import { debounce } from 'lodash-es' | ||||
| import classNames from 'classnames' | |||||
| import { useShallow } from 'zustand/react/shallow' | import { useShallow } from 'zustand/react/shallow' | ||||
| import type { | import type { | ||||
| ChatConfig, | ChatConfig, | ||||
| import ChatInput from './chat-input' | import ChatInput from './chat-input' | ||||
| import TryToAsk from './try-to-ask' | import TryToAsk from './try-to-ask' | ||||
| import { ChatContextProvider } from './context' | import { ChatContextProvider } from './context' | ||||
| import classNames from '@/utils/classnames' | |||||
| import type { Emoji } from '@/app/components/tools/types' | import type { Emoji } from '@/app/components/tools/types' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import { StopCircle } from '@/app/components/base/icons/src/vender/solid/mediaAndDevices' | import { StopCircle } from '@/app/components/base/icons/src/vender/solid/mediaAndDevices' |
| import React, { useState } from 'react' | import React, { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiArrowDownSLine, | RiArrowDownSLine, | ||||
| RiLoader2Line, | RiLoader2Line, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import type { ToolInfoInThought } from '../type' | import type { ToolInfoInThought } from '../type' | ||||
| import Panel from './panel' | import Panel from './panel' | ||||
| import cn from '@/utils/classnames' | |||||
| import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general' | import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general' | ||||
| import { DataSet as DataSetIcon } from '@/app/components/base/icons/src/public/thought' | import { DataSet as DataSetIcon } from '@/app/components/base/icons/src/public/thought' | ||||
| import type { Emoji } from '@/app/components/tools/types' | import type { Emoji } from '@/app/components/tools/types' |
| import { useCallback, useEffect, useMemo } from 'react' | import { useCallback, useEffect, useMemo } from 'react' | ||||
| import cn from 'classnames' | |||||
| import Chat from '../chat' | import Chat from '../chat' | ||||
| import type { | import type { | ||||
| ChatConfig, | ChatConfig, | ||||
| import { useEmbeddedChatbotContext } from './context' | import { useEmbeddedChatbotContext } from './context' | ||||
| import ConfigPanel from './config-panel' | import ConfigPanel from './config-panel' | ||||
| import { isDify } from './utils' | import { isDify } from './utils' | ||||
| import cn from '@/utils/classnames' | |||||
| import { | import { | ||||
| fetchSuggestedQuestions, | fetchSuggestedQuestions, | ||||
| getUrl, | getUrl, |
| import { useState } from 'react' | import { useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { useEmbeddedChatbotContext } from '../context' | import { useEmbeddedChatbotContext } from '../context' | ||||
| import { useThemeContext } from '../theme/theme-context' | import { useThemeContext } from '../theme/theme-context' | ||||
| import { CssTransform } from '../theme/utils' | import { CssTransform } from '../theme/utils' | ||||
| import Form from './form' | import Form from './form' | ||||
| import cn from '@/utils/classnames' | |||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import AppIcon from '@/app/components/base/app-icon' | import AppIcon from '@/app/components/base/app-icon' | ||||
| import { MessageDotsCircle } from '@/app/components/base/icons/src/vender/solid/communication' | import { MessageDotsCircle } from '@/app/components/base/icons/src/vender/solid/communication' |
| useEffect, | useEffect, | ||||
| useState, | useState, | ||||
| } from 'react' | } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { useAsyncEffect } from 'ahooks' | import { useAsyncEffect } from 'ahooks' | ||||
| import { | import { | ||||
| EmbeddedChatbotContext, | EmbeddedChatbotContext, | ||||
| import { useEmbeddedChatbot } from './hooks' | import { useEmbeddedChatbot } from './hooks' | ||||
| import { isDify } from './utils' | import { isDify } from './utils' | ||||
| import { useThemeContext } from './theme/theme-context' | import { useThemeContext } from './theme/theme-context' | ||||
| import cn from '@/utils/classnames' | |||||
| import { checkOrSetAccessToken } from '@/app/components/share/utils' | import { checkOrSetAccessToken } from '@/app/components/share/utils' | ||||
| import AppUnavailable from '@/app/components/base/app-unavailable' | import AppUnavailable from '@/app/components/base/app-unavailable' | ||||
| import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' | import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' |
| import cn from 'classnames' | |||||
| import s from './index.module.css' | import s from './index.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| type CheckboxProps = { | type CheckboxProps = { | ||||
| checked?: boolean | checked?: boolean |
| import type { FC, ReactElement } from 'react' | import type { FC, ReactElement } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiCloseLine, | RiCloseLine, | ||||
| RiErrorWarningFill, | RiErrorWarningFill, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| import s from './common.module.css' | import s from './common.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Modal from '@/app/components/base/modal' | import Modal from '@/app/components/base/modal' | ||||
| import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general' | import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' |
| import { Fragment, useCallback } from 'react' | import { Fragment, useCallback } from 'react' | ||||
| import type { ElementType, ReactNode } from 'react' | import type { ElementType, ReactNode } from 'react' | ||||
| import { Dialog, Transition } from '@headlessui/react' | import { Dialog, Transition } from '@headlessui/react' | ||||
| import classNames from 'classnames' | |||||
| import classNames from '@/utils/classnames' | |||||
| // https://headlessui.com/react/dialog | // https://headlessui.com/react/dialog | ||||
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useRef } from 'react' | import React, { useRef } from 'react' | ||||
| import cn from 'classnames' | |||||
| import { RiCloseLine } from '@remixicon/react' | import { RiCloseLine } from '@remixicon/react' | ||||
| import cn from '@/utils/classnames' | |||||
| import Drawer from '@/app/components/base/drawer' | import Drawer from '@/app/components/base/drawer' | ||||
| import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' | import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' | ||||
| 'use client' | 'use client' | ||||
| import cn from 'classnames' | |||||
| import { Dialog } from '@headlessui/react' | import { Dialog } from '@headlessui/react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import { XMarkIcon } from '@heroicons/react/24/outline' | import { XMarkIcon } from '@heroicons/react/24/outline' | ||||
| import Button from '../button' | import Button from '../button' | ||||
| import cn from '@/utils/classnames' | |||||
| export type IDrawerProps = { | export type IDrawerProps = { | ||||
| title?: string | title?: string |
| import data from '@emoji-mart/data' | import data from '@emoji-mart/data' | ||||
| import type { Emoji, EmojiMartData } from '@emoji-mart/data' | import type { Emoji, EmojiMartData } from '@emoji-mart/data' | ||||
| import { SearchIndex, init } from 'emoji-mart' | import { SearchIndex, init } from 'emoji-mart' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| MagnifyingGlassIcon, | MagnifyingGlassIcon, | ||||
| } from '@heroicons/react/24/outline' | } from '@heroicons/react/24/outline' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Divider from '@/app/components/base/divider' | import Divider from '@/app/components/base/divider' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useCallback } from 'react' | import React, { useCallback } from 'react' | ||||
| import produce from 'immer' | import produce from 'immer' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| import Switch from '@/app/components/base/switch' | import Switch from '@/app/components/base/switch' | ||||
| import { FeatureEnum } from '@/app/components/base/features/types' | import { FeatureEnum } from '@/app/components/base/features/types' | ||||
| import { useFeaturesStore } from '@/app/components/base/features/hooks' | import { useFeaturesStore } from '@/app/components/base/features/hooks' |
| import { memo, useState } from 'react' | import { memo, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import type { OnFeaturesChange } from '../../types' | import type { OnFeaturesChange } from '../../types' | ||||
| import ParamConfigContent from './param-config-content' | import ParamConfigContent from './param-config-content' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' | import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, |
| 'use client' | 'use client' | ||||
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React from 'react' | import React from 'react' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| type OPTION = { | type OPTION = { | ||||
| label: string | label: string |
| import type { FC } from 'react' | import type { FC } from 'react' | ||||
| import React, { useEffect, useRef, useState } from 'react' | import React, { useEffect, useRef, useState } from 'react' | ||||
| import produce from 'immer' | import produce from 'immer' | ||||
| import cn from 'classnames' | |||||
| import { | import { | ||||
| RiAddLine, | RiAddLine, | ||||
| RiDeleteBinLine, | RiDeleteBinLine, | ||||
| useFeaturesStore, | useFeaturesStore, | ||||
| } from '../../hooks' | } from '../../hooks' | ||||
| import type { OnFeaturesChange } from '../../types' | import type { OnFeaturesChange } from '../../types' | ||||
| import cn from '@/utils/classnames' | |||||
| import Panel from '@/app/components/app/configuration/base/feature-panel' | import Panel from '@/app/components/app/configuration/base/feature-panel' | ||||
| import Button from '@/app/components/base/button' | import Button from '@/app/components/base/button' | ||||
| import OperationBtn from '@/app/components/app/configuration/base/operation-btn' | import OperationBtn from '@/app/components/app/configuration/base/operation-btn' |
| import ReactSlider from 'react-slider' | import ReactSlider from 'react-slider' | ||||
| import cn from 'classnames' | |||||
| import s from './style.module.css' | import s from './style.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| type ISliderProps = { | type ISliderProps = { | ||||
| className?: string | className?: string |
| import useSWR from 'swr' | import useSWR from 'swr' | ||||
| import produce from 'immer' | import produce from 'immer' | ||||
| import React, { Fragment } from 'react' | import React, { Fragment } from 'react' | ||||
| import classNames from 'classnames' | |||||
| import { | import { | ||||
| RiQuestionLine, | RiQuestionLine, | ||||
| } from '@remixicon/react' | } from '@remixicon/react' | ||||
| useFeaturesStore, | useFeaturesStore, | ||||
| } from '../../hooks' | } from '../../hooks' | ||||
| import type { OnFeaturesChange } from '../../types' | import type { OnFeaturesChange } from '../../types' | ||||
| import classNames from '@/utils/classnames' | |||||
| import type { Item } from '@/app/components/base/select' | import type { Item } from '@/app/components/base/select' | ||||
| import { fetchAppVoices } from '@/service/apps' | import { fetchAppVoices } from '@/service/apps' | ||||
| import Tooltip from '@/app/components/base/tooltip' | import Tooltip from '@/app/components/base/tooltip' |
| 'use client' | 'use client' | ||||
| import { memo, useState } from 'react' | import { memo, useState } from 'react' | ||||
| import { useTranslation } from 'react-i18next' | import { useTranslation } from 'react-i18next' | ||||
| import cn from 'classnames' | |||||
| import type { OnFeaturesChange } from '../../types' | import type { OnFeaturesChange } from '../../types' | ||||
| import ParamConfigContent from './param-config-content' | import ParamConfigContent from './param-config-content' | ||||
| import cn from '@/utils/classnames' | |||||
| import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' | import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import { | import { | ||||
| PortalToFollowElem, | PortalToFollowElem, |
| // DON NOT EDIT IT MANUALLY | // DON NOT EDIT IT MANUALLY | ||||
| import * as React from 'react' | import * as React from 'react' | ||||
| import cn from 'classnames' | |||||
| import cn from '@/utils/classnames' | |||||
| import s from './<%= fileName %>.module.css' | import s from './<%= fileName %>.module.css' | ||||
| const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>(( | const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>(( |
| // DON NOT EDIT IT MANUALLY | // DON NOT EDIT IT MANUALLY | ||||
| import * as React from 'react' | import * as React from 'react' | ||||
| import cn from 'classnames' | |||||
| import s from './BaichuanTextCn.module.css' | import s from './BaichuanTextCn.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>(( | const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>(( | ||||
| { className, ...restProps }, | { className, ...restProps }, |
| // DON NOT EDIT IT MANUALLY | // DON NOT EDIT IT MANUALLY | ||||
| import * as React from 'react' | import * as React from 'react' | ||||
| import cn from 'classnames' | |||||
| import s from './Minimax.module.css' | import s from './Minimax.module.css' | ||||
| import cn from '@/utils/classnames' | |||||
| const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>(( | const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>(( | ||||
| { className, ...restProps }, | { className, ...restProps }, |