@easyv/biz-components 1.0.23 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,10 @@ import { AiModel, AiModelServiceProvider } from './types';
3
3
  export interface AiModelSelectPanelProps {
4
4
  className?: string;
5
5
  modelServiceProviderList: AiModelServiceProvider[];
6
+ value?: {
7
+ modelProviderId: string;
8
+ modelId: string;
9
+ };
6
10
  onSelect?: (AiModelServiceProvider: AiModelServiceProvider, model: AiModel) => void;
7
11
  style?: React.CSSProperties;
8
12
  titleClassName?: string;
@@ -8,6 +8,7 @@ const AiModelSelectPanel = (props) => {
8
8
  const {
9
9
  className = "",
10
10
  modelServiceProviderList,
11
+ value,
11
12
  onSelect,
12
13
  style,
13
14
  titleClassName,
@@ -61,9 +62,10 @@ const AiModelSelectPanel = (props) => {
61
62
  modelProvider.isCustom && /* @__PURE__ */ jsxRuntimeExports.jsx(
62
63
  IconBtn,
63
64
  {
64
- onClick: () => {
65
+ onClick: (e) => {
65
66
  setShowInputProviderId(modelProvider.id);
66
67
  setInputValue((model == null ? void 0 : model.name) || "");
68
+ e.stopPropagation();
67
69
  },
68
70
  className: "biz-hidden group-hover:!biz-flex",
69
71
  style: { display: "none" },
@@ -85,6 +87,7 @@ const AiModelSelectPanel = (props) => {
85
87
  setInputValue("");
86
88
  }
87
89
  };
90
+ const isSelected = (value == null ? void 0 : value.modelProviderId) === modelProvider.id && (value == null ? void 0 : value.modelId) === (model == null ? void 0 : model.id);
88
91
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
89
92
  "div",
90
93
  {
@@ -92,6 +95,7 @@ const AiModelSelectPanel = (props) => {
92
95
  "biz-px-3 biz-py-[3px] biz-flex biz-items-center biz-gap-2",
93
96
  "biz-text-text-2 biz-h-8 biz-w-full biz-box-border",
94
97
  "hover:biz-bg-bg-white biz-cursor-pointer biz-group",
98
+ isSelected && "biz-bg-bg-white",
95
99
  itemClassName
96
100
  ),
97
101
  onClick: () => {
@@ -101,7 +105,7 @@ const AiModelSelectPanel = (props) => {
101
105
  },
102
106
  children: showInputProviderId === modelProvider.id ? renderInput({
103
107
  value: inputValue,
104
- onChange: (value) => setInputValue(value),
108
+ onChange: (value2) => setInputValue(value2),
105
109
  onPressEnter: handlePressEnter,
106
110
  onBlur: handlePressEnter
107
111
  }) : normalContent
@@ -1 +1 @@
1
- {"version":3,"file":"ai-model-select-panel.es.js","sources":["../../../src/components/ai-model-select/ai-model-select-panel.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { EditOutlined, PlusOutlined } from '@easyv/react-icons';\nimport classNames from 'classnames';\nimport { produce } from 'immer';\nimport { IconBtn } from './iconBtn';\nimport { AiModel, AiModelServiceProvider } from './types';\n\nexport interface AiModelSelectPanelProps {\n className?: string;\n modelServiceProviderList: AiModelServiceProvider[];\n onSelect?: (AiModelServiceProvider: AiModelServiceProvider, model: AiModel) => void;\n style?: React.CSSProperties;\n titleClassName?: string;\n itemClassName?: string;\n renderInput: (props: {\n value: string;\n onChange: (value: string) => void;\n onPressEnter: () => void;\n onBlur: () => void;\n }) => React.ReactNode;\n}\n\nexport const AiModelSelectPanel = (props: AiModelSelectPanelProps) => {\n const {\n className = '',\n modelServiceProviderList,\n onSelect,\n style,\n titleClassName,\n itemClassName,\n renderInput,\n } = props;\n\n const [customModelServiceProviderList, setCustomModelServiceProviderList] = useState(\n modelServiceProviderList.filter((item) => item.isCustom),\n );\n const [showInputProviderId, setShowInputProviderId] = useState<string>('');\n const [inputValue, setInputValue] = useState<string>('');\n\n const otherModelServiceProviderList = modelServiceProviderList.filter((item) => !item.isCustom);\n\n const handleSelect = (modelProvider: AiModelServiceProvider, model: AiModel) => {\n onSelect?.(modelProvider, model);\n };\n\n const renderTitle = (modelProvider: AiModelServiceProvider) => {\n return (\n <div\n className={classNames(\n 'biz-h-6 biz-text-text-3 biz-px-3 biz-pt-1 biz-w-full',\n 'biz-flex biz-items-center biz-box-border biz-gap-2.5 biz-text-[14px]',\n titleClassName,\n )}\n title={modelProvider.name}\n >\n <div className='biz-w-0 biz-flex-1 biz-truncate'>{modelProvider.name}</div>\n {modelProvider.isCustom && modelProvider.modelList.length === 0 && (\n <IconBtn\n onClick={() => {\n setShowInputProviderId(modelProvider.id);\n }}\n icon={\n <PlusOutlined className='biz-w-3 biz-h-3 biz-text-text-2 hover:biz-text-text-1 biz-flex-center' />\n }\n />\n )}\n </div>\n );\n };\n\n const renderItem = (modelProvider: AiModelServiceProvider, model?: AiModel) => {\n if (modelProvider.isCustom) {\n if (modelProvider.id !== showInputProviderId && !modelProvider.modelList?.length) {\n return null;\n }\n }\n const normalContent = (\n <>\n <img src={modelProvider.iconSrc} className='biz-w-4 biz-h-4' />\n <div className='biz-truncate biz-w-0 biz-flex-1 biz-text-[14px]' title={model?.name}>\n {model?.name}\n </div>\n {modelProvider.isCustom && (\n <IconBtn\n onClick={() => {\n setShowInputProviderId(modelProvider.id);\n setInputValue(model?.name || '');\n }}\n className='biz-hidden group-hover:!biz-flex'\n style={{ display: 'none' }}\n icon={\n <EditOutlined className='biz-w-3 biz-h-3 biz-text-text-2 hover:biz-text-text-1 biz-flex-center' />\n }\n />\n )}\n </>\n );\n\n const handlePressEnter = () => {\n if (inputValue) {\n setCustomModelServiceProviderList(\n produce(customModelServiceProviderList, (draft) => {\n const index = draft.findIndex((i) => i.id === modelProvider.id);\n if (index !== -1) {\n draft[index].modelList = [{ id: inputValue, name: inputValue }];\n }\n }),\n );\n setShowInputProviderId('');\n setInputValue('');\n }\n };\n\n return (\n <div\n key={model?.id}\n className={classNames(\n 'biz-px-3 biz-py-[3px] biz-flex biz-items-center biz-gap-2',\n 'biz-text-text-2 biz-h-8 biz-w-full biz-box-border',\n 'hover:biz-bg-bg-white biz-cursor-pointer biz-group',\n itemClassName,\n )}\n onClick={() => {\n if (model && !showInputProviderId) {\n handleSelect(modelProvider, model);\n }\n }}\n >\n {showInputProviderId === modelProvider.id\n ? renderInput({\n value: inputValue,\n onChange: (value) => setInputValue(value),\n onPressEnter: handlePressEnter,\n onBlur: handlePressEnter,\n })\n : normalContent}\n </div>\n );\n };\n\n return (\n <div\n style={style}\n className={classNames(\n 'biz-bg-[#181B22] biz-border-one biz-rounded-[4px] biz-py-1',\n 'biz-flex biz-flex-col gap-1 biz-w-[160px] biz-max-h-[450px] biz-overflow-auto',\n className,\n )}\n >\n {otherModelServiceProviderList.map((provider) => (\n <div\n key={provider.id}\n className='biz-flex biz-flex-col biz-gap-1 biz-w-full biz-box-border'\n >\n {renderTitle(provider)}\n <div className='biz-flex biz-flex-col gap-1 biz-w-full'>\n {provider.modelList.map((model) => renderItem(provider, model))}\n </div>\n </div>\n ))}\n {customModelServiceProviderList.map((provider) => (\n <div\n key={provider.id}\n className='biz-flex biz-flex-col biz-gap-1 biz-w-full biz-box-border'\n >\n {renderTitle(provider)}\n <div className='biz-flex biz-flex-col gap-1 biz-w-full'>\n {renderItem(provider, provider.modelList[0])}\n </div>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["jsxs","jsx","Fragment"],"mappings":";;;;;;AAsBa,MAAA,qBAAqB,CAAC,UAAmC;AAC9D,QAAA;AAAA,IACJ,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEE,QAAA,CAAC,gCAAgC,iCAAiC,IAAI;AAAA,IAC1E,yBAAyB,OAAO,CAAC,SAAS,KAAK,QAAQ;AAAA,EACzD;AACA,QAAM,CAAC,qBAAqB,sBAAsB,IAAI,SAAiB,EAAE;AACzE,QAAM,CAAC,YAAY,aAAa,IAAI,SAAiB,EAAE;AAEvD,QAAM,gCAAgC,yBAAyB,OAAO,CAAC,SAAS,CAAC,KAAK,QAAQ;AAExF,QAAA,eAAe,CAAC,eAAuC,UAAmB;AAC9E,yCAAW,eAAe;AAAA,EAC5B;AAEM,QAAA,cAAc,CAAC,kBAA0C;AAE3D,WAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,OAAO,cAAc;AAAA,QAErB,UAAA;AAAA,UAAAC,kCAAA,IAAC,OAAI,EAAA,WAAU,mCAAmC,UAAA,cAAc,MAAK;AAAA,UACpE,cAAc,YAAY,cAAc,UAAU,WAAW,KAC5DA,kCAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAS,MAAM;AACb,uCAAuB,cAAc,EAAE;AAAA,cACzC;AAAA,cACA,MACEA,kCAAAA,IAAC,cAAa,EAAA,WAAU,wEAAwE,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAEpG;AAAA,MAAA;AAAA,IAEJ;AAAA,EAEJ;AAEM,QAAA,aAAa,CAAC,eAAuC,UAAoB;;AAC7E,QAAI,cAAc,UAAU;AAC1B,UAAI,cAAc,OAAO,uBAAuB,GAAC,mBAAc,cAAd,mBAAyB,SAAQ;AACzE,eAAA;AAAA,MAAA;AAAA,IACT;AAEF,UAAM,gBAEFD,kCAAAA,KAAAE,kBAAA,UAAA,EAAA,UAAA;AAAA,MAAAD,kCAAA,IAAC,OAAI,EAAA,KAAK,cAAc,SAAS,WAAU,mBAAkB;AAAA,MAC7DA,kCAAAA,IAAC,SAAI,WAAU,mDAAkD,OAAO,+BAAO,MAC5E,yCAAO,KACV,CAAA;AAAA,MACC,cAAc,YACbA,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAS,MAAM;AACb,mCAAuB,cAAc,EAAE;AACzB,2BAAA,+BAAO,SAAQ,EAAE;AAAA,UACjC;AAAA,UACA,WAAU;AAAA,UACV,OAAO,EAAE,SAAS,OAAO;AAAA,UACzB,MACEA,kCAAAA,IAAC,cAAa,EAAA,WAAU,wEAAwE,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEpG,GAEJ;AAGF,UAAM,mBAAmB,MAAM;AAC7B,UAAI,YAAY;AACd;AAAA,UACE,QAAQ,gCAAgC,CAAC,UAAU;AAC3C,kBAAA,QAAQ,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,cAAc,EAAE;AAC9D,gBAAI,UAAU,IAAI;AACV,oBAAA,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,YAAY,MAAM,YAAY;AAAA,YAAA;AAAA,UAEjE,CAAA;AAAA,QACH;AACA,+BAAuB,EAAE;AACzB,sBAAc,EAAE;AAAA,MAAA;AAAA,IAEpB;AAGE,WAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS,MAAM;AACT,cAAA,SAAS,CAAC,qBAAqB;AACjC,yBAAa,eAAe,KAAK;AAAA,UAAA;AAAA,QAErC;AAAA,QAEC,UAAA,wBAAwB,cAAc,KACnC,YAAY;AAAA,UACV,OAAO;AAAA,UACP,UAAU,CAAC,UAAU,cAAc,KAAK;AAAA,UACxC,cAAc;AAAA,UACd,QAAQ;AAAA,QAAA,CACT,IACD;AAAA,MAAA;AAAA,MApBC,+BAAO;AAAA,IAqBd;AAAA,EAEJ;AAGE,SAAAD,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC,UAAA;AAAA,QAA8B,8BAAA,IAAI,CAAC,aAClCA,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YAET,UAAA;AAAA,cAAA,YAAY,QAAQ;AAAA,cACpBC,kCAAAA,IAAA,OAAA,EAAI,WAAU,0CACZ,UAAS,SAAA,UAAU,IAAI,CAAC,UAAU,WAAW,UAAU,KAAK,CAAC,EAChE,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UANK,SAAS;AAAA,QAAA,CAQjB;AAAA,QACA,+BAA+B,IAAI,CAAC,aACnCD,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YAET,UAAA;AAAA,cAAA,YAAY,QAAQ;AAAA,cACrBC,kCAAAA,IAAC,OAAI,EAAA,WAAU,0CACZ,UAAA,WAAW,UAAU,SAAS,UAAU,CAAC,CAAC,EAC7C,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UANK,SAAS;AAAA,QAQjB,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AAEJ;"}
1
+ {"version":3,"file":"ai-model-select-panel.es.js","sources":["../../../src/components/ai-model-select/ai-model-select-panel.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { EditOutlined, PlusOutlined } from '@easyv/react-icons';\nimport classNames from 'classnames';\nimport { produce } from 'immer';\nimport { IconBtn } from './iconBtn';\nimport { AiModel, AiModelServiceProvider } from './types';\n\nexport interface AiModelSelectPanelProps {\n className?: string;\n modelServiceProviderList: AiModelServiceProvider[];\n value?: {\n modelProviderId: string;\n modelId: string;\n };\n onSelect?: (AiModelServiceProvider: AiModelServiceProvider, model: AiModel) => void;\n style?: React.CSSProperties;\n titleClassName?: string;\n itemClassName?: string;\n renderInput: (props: {\n value: string;\n onChange: (value: string) => void;\n onPressEnter: () => void;\n onBlur: () => void;\n }) => React.ReactNode;\n}\n\nexport const AiModelSelectPanel = (props: AiModelSelectPanelProps) => {\n const {\n className = '',\n modelServiceProviderList,\n value,\n onSelect,\n style,\n titleClassName,\n itemClassName,\n renderInput,\n } = props;\n\n const [customModelServiceProviderList, setCustomModelServiceProviderList] = useState(\n modelServiceProviderList.filter((item) => item.isCustom),\n );\n const [showInputProviderId, setShowInputProviderId] = useState<string>('');\n const [inputValue, setInputValue] = useState<string>('');\n\n const otherModelServiceProviderList = modelServiceProviderList.filter((item) => !item.isCustom);\n\n const handleSelect = (modelProvider: AiModelServiceProvider, model: AiModel) => {\n onSelect?.(modelProvider, model);\n };\n\n const renderTitle = (modelProvider: AiModelServiceProvider) => {\n return (\n <div\n className={classNames(\n 'biz-h-6 biz-text-text-3 biz-px-3 biz-pt-1 biz-w-full',\n 'biz-flex biz-items-center biz-box-border biz-gap-2.5 biz-text-[14px]',\n titleClassName,\n )}\n title={modelProvider.name}\n >\n <div className='biz-w-0 biz-flex-1 biz-truncate'>{modelProvider.name}</div>\n {modelProvider.isCustom && modelProvider.modelList.length === 0 && (\n <IconBtn\n onClick={() => {\n setShowInputProviderId(modelProvider.id);\n }}\n icon={\n <PlusOutlined className='biz-w-3 biz-h-3 biz-text-text-2 hover:biz-text-text-1 biz-flex-center' />\n }\n />\n )}\n </div>\n );\n };\n\n const renderItem = (modelProvider: AiModelServiceProvider, model?: AiModel) => {\n if (modelProvider.isCustom) {\n if (modelProvider.id !== showInputProviderId && !modelProvider.modelList?.length) {\n return null;\n }\n }\n const normalContent = (\n <>\n <img src={modelProvider.iconSrc} className='biz-w-4 biz-h-4' />\n <div className='biz-truncate biz-w-0 biz-flex-1 biz-text-[14px]' title={model?.name}>\n {model?.name}\n </div>\n {modelProvider.isCustom && (\n <IconBtn\n onClick={(e) => {\n setShowInputProviderId(modelProvider.id);\n setInputValue(model?.name || '');\n e.stopPropagation();\n }}\n className='biz-hidden group-hover:!biz-flex'\n style={{ display: 'none' }}\n icon={\n <EditOutlined className='biz-w-3 biz-h-3 biz-text-text-2 hover:biz-text-text-1 biz-flex-center' />\n }\n />\n )}\n </>\n );\n\n const handlePressEnter = () => {\n if (inputValue) {\n setCustomModelServiceProviderList(\n produce(customModelServiceProviderList, (draft) => {\n const index = draft.findIndex((i) => i.id === modelProvider.id);\n if (index !== -1) {\n draft[index].modelList = [{ id: inputValue, name: inputValue }];\n }\n }),\n );\n setShowInputProviderId('');\n setInputValue('');\n }\n };\n\n const isSelected = value?.modelProviderId === modelProvider.id && value?.modelId === model?.id;\n return (\n <div\n key={model?.id}\n className={classNames(\n 'biz-px-3 biz-py-[3px] biz-flex biz-items-center biz-gap-2',\n 'biz-text-text-2 biz-h-8 biz-w-full biz-box-border',\n 'hover:biz-bg-bg-white biz-cursor-pointer biz-group',\n isSelected && 'biz-bg-bg-white',\n itemClassName,\n )}\n onClick={() => {\n if (model && !showInputProviderId) {\n handleSelect(modelProvider, model);\n }\n }}\n >\n {showInputProviderId === modelProvider.id\n ? renderInput({\n value: inputValue,\n onChange: (value) => setInputValue(value),\n onPressEnter: handlePressEnter,\n onBlur: handlePressEnter,\n })\n : normalContent}\n </div>\n );\n };\n\n return (\n <div\n style={style}\n className={classNames(\n 'biz-bg-[#181B22] biz-border-one biz-rounded-[4px] biz-py-1',\n 'biz-flex biz-flex-col gap-1 biz-w-[160px] biz-max-h-[450px] biz-overflow-auto',\n className,\n )}\n >\n {otherModelServiceProviderList.map((provider) => (\n <div\n key={provider.id}\n className='biz-flex biz-flex-col biz-gap-1 biz-w-full biz-box-border'\n >\n {renderTitle(provider)}\n <div className='biz-flex biz-flex-col gap-1 biz-w-full'>\n {provider.modelList.map((model) => renderItem(provider, model))}\n </div>\n </div>\n ))}\n {customModelServiceProviderList.map((provider) => (\n <div\n key={provider.id}\n className='biz-flex biz-flex-col biz-gap-1 biz-w-full biz-box-border'\n >\n {renderTitle(provider)}\n <div className='biz-flex biz-flex-col gap-1 biz-w-full'>\n {renderItem(provider, provider.modelList[0])}\n </div>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["jsxs","jsx","Fragment","value"],"mappings":"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"}
package/dist/index.es.js CHANGED
@@ -21,6 +21,7 @@ import { XFStreamVoiceManager } from "./utils/xun-fei-voice/XF-stream-voice-mana
21
21
  import { RecorderManager } from "./utils/xun-fei-voice/recorder-manager/RecorderManager.es.js";
22
22
  import { AudioManager, defaultSampleRate } from "./utils/vosk-browser-manager/audio-manager/audio-manager.es.js";
23
23
  import { VoskBrowserManager } from "./utils/vosk-browser-manager/vosk-browser-manager.es.js";
24
+ import { wait, waitSomeThingBeTrue } from "./utils/wait-something/index.es.js";
24
25
  import { EasyvInput } from "./ant-components/input/input.es.js";
25
26
  export {
26
27
  AiAgentMessageType,
@@ -60,6 +61,8 @@ export {
60
61
  useInitialized,
61
62
  useSocketEvents,
62
63
  useWatchValue,
63
- useXunFeiSteamVoiceManager
64
+ useXunFeiSteamVoiceManager,
65
+ wait,
66
+ waitSomeThingBeTrue
64
67
  };
65
68
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}