@smart-cloud/ai-kit-ui 1.1.34 → 1.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smart-cloud/ai-kit-ui",
3
- "version": "1.1.34",
3
+ "version": "1.1.36",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -335,7 +335,7 @@ const AiFeatureBase: FC<AiFeatureProps & AiKitShellInjectedProps> = (props) => {
335
335
 
336
336
  const [state, setState] = useState<string>();
337
337
  const [featureOpen, setFeatureOpen] = useState<boolean>(!showOpenButton);
338
- const [optionsOpen, setOptionsOpen] = useState<boolean>(false);
338
+ const [optionsOpen, setOptionsOpen] = useState<boolean>();
339
339
  const [backendConfigured, setBackendConfigured] = useState(false);
340
340
  const [error, setError] = useState<string | null>(null);
341
341
  const [generated, setGenerated] = useState<never | null>(null);
@@ -344,6 +344,7 @@ const AiFeatureBase: FC<AiFeatureProps & AiKitShellInjectedProps> = (props) => {
344
344
  const [instructions, setInstructions] = useState<string | undefined>(
345
345
  defaults?.instructions,
346
346
  );
347
+ const [detectedLanguage, setDetectedLanguage] = useState<AiKitLanguageCode>();
347
348
  const [inputLanguage, setInputLanguage] = useState<
348
349
  AiKitLanguageCode | "auto" | undefined
349
350
  >(defaults?.inputLanguage);
@@ -462,7 +463,7 @@ const AiFeatureBase: FC<AiFeatureProps & AiKitShellInjectedProps> = (props) => {
462
463
  return (
463
464
  Boolean(text && text.trim().length > 0) &&
464
465
  outputLanguage &&
465
- inputLanguage !== outputLanguage
466
+ detectedLanguage !== outputLanguage
466
467
  );
467
468
  case "summarize":
468
469
  case "proofread":
@@ -473,7 +474,7 @@ const AiFeatureBase: FC<AiFeatureProps & AiKitShellInjectedProps> = (props) => {
473
474
  default:
474
475
  return false;
475
476
  }
476
- }, [inputText, mode, image, inputLanguage, outputLanguage, featureOpen]);
477
+ }, [inputText, mode, image, detectedLanguage, outputLanguage, featureOpen]);
477
478
 
478
479
  const ai = useAiRun();
479
480
  const statusText =
@@ -568,7 +569,9 @@ const AiFeatureBase: FC<AiFeatureProps & AiKitShellInjectedProps> = (props) => {
568
569
  onDeviceTimeoutOverride: onDeviceTimeout,
569
570
  silent: true,
570
571
  });
571
- setInputLanguage(inputLang);
572
+ setDetectedLanguage(inputLang);
573
+ } else {
574
+ setDetectedLanguage(inputLang);
572
575
  }
573
576
  const outLang =
574
577
  (outputLanguage && outputLanguage !== "auto"
@@ -962,10 +965,11 @@ Follow these additional instructions: ${instructions}`
962
965
  if (ai.busy) {
963
966
  ai.cancel();
964
967
  }
965
- }, [ai]);
968
+ }, [ai.busy]);
966
969
 
967
970
  useEffect(() => {
968
971
  if (
972
+ optionsOpen !== false ||
969
973
  !featureOpen ||
970
974
  !autoRun ||
971
975
  !canGenerate ||
@@ -979,7 +983,16 @@ Follow these additional instructions: ${instructions}`
979
983
  queueMicrotask(() => {
980
984
  void runGenerate(modeOverride);
981
985
  });
982
- }, [ai.busy, canGenerate, autoRun, generated, runGenerate, modeOverride]);
986
+ }, [
987
+ ai.busy,
988
+ autoRunOnceRef,
989
+ featureOpen,
990
+ canGenerate,
991
+ autoRun,
992
+ generated,
993
+ runGenerate,
994
+ modeOverride,
995
+ ]);
983
996
 
984
997
  useEffect(() => {
985
998
  if (!allowOverrideParameters) return;
@@ -1206,7 +1219,7 @@ Follow these additional instructions: ${instructions}`
1206
1219
  )}
1207
1220
  </Group>
1208
1221
 
1209
- <CollapseComponent in={optionsOpen}>
1222
+ <CollapseComponent in={optionsOpen === true}>
1210
1223
  {optionsDisplay === "collapse" && <Divider my="sm" />}
1211
1224
  <OptionsComponent gap="xs" justify="space-between">
1212
1225
  {/* TOPIC */}