@superinterface/react 2.13.1 → 2.13.3

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/dist/index.cjs CHANGED
@@ -3044,7 +3044,7 @@ var useRecorder = function(param) {
3044
3044
  var silenceAnalyser = (0, import_react40.useMemo)(function() {
3045
3045
  if (!audioEngine) return null;
3046
3046
  var result = audioEngine.audioContext.createAnalyser();
3047
- result.minDecibels = -45;
3047
+ result.minDecibels = -60;
3048
3048
  audioEngine.source.connect(result);
3049
3049
  return result;
3050
3050
  }, [
@@ -3087,9 +3087,9 @@ var useRecorder = function(param) {
3087
3087
  if (status !== "recording") return;
3088
3088
  if (!silenceStart) return;
3089
3089
  if (!noiseStart) return;
3090
- if (!silenceStart.isBefore((0, import_dayjs2.default)().subtract(1, "second"))) return;
3090
+ if (!silenceStart.isBefore((0, import_dayjs2.default)().subtract(1.5, "second"))) return;
3091
3091
  audioCaptureProps.stop();
3092
- }, 100);
3092
+ }, 300);
3093
3093
  return _object_spread_props(_object_spread({}, audioCaptureProps), {
3094
3094
  status: status,
3095
3095
  visualizationAnalyser: visualizationAnalyser
@@ -3360,6 +3360,7 @@ var Root8 = function(param) {
3360
3360
  };
3361
3361
  // src/components/threads/AudioThread/Visualization/index.tsx
3362
3362
  var import_react44 = require("react");
3363
+ var import_lodash9 = __toESM(require("lodash"), 1);
3363
3364
  var import_themes43 = require("@radix-ui/themes");
3364
3365
  // src/hooks/threads/useAudioThreadContext/index.ts
3365
3366
  var import_react42 = require("react");
@@ -3435,6 +3436,30 @@ var import_jsx_runtime57 = require("react/jsx-runtime");
3435
3436
  var Visualization = function() {
3436
3437
  var audioThreadContext = useAudioThreadContext();
3437
3438
  var assistantNameContext = (0, import_react44.useContext)(AssistantNameContext);
3439
+ var _ref = _sliced_to_array((0, import_react44.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
3440
+ var draw = (0, import_react44.useCallback)(function(param) {
3441
+ var visualizationAnalyser = param.visualizationAnalyser;
3442
+ if (!visualizationAnalyser) {
3443
+ setScale(1);
3444
+ return;
3445
+ }
3446
+ var frequencyData = new Uint8Array(visualizationAnalyser.frequencyBinCount / 15);
3447
+ visualizationAnalyser.getByteFrequencyData(frequencyData);
3448
+ setScale(1 + import_lodash9.default.mean(frequencyData) / 255 / 10);
3449
+ requestAnimationFrame(function() {
3450
+ return draw({
3451
+ visualizationAnalyser: visualizationAnalyser
3452
+ });
3453
+ });
3454
+ }, []);
3455
+ (0, import_react44.useEffect)(function() {
3456
+ draw({
3457
+ visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser
3458
+ });
3459
+ }, [
3460
+ draw,
3461
+ audioThreadContext
3462
+ ]);
3438
3463
  return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_themes43.Flex, {
3439
3464
  direction: "column",
3440
3465
  align: "center",
@@ -3449,7 +3474,8 @@ var Visualization = function() {
3449
3474
  width: "200px",
3450
3475
  style: {
3451
3476
  backgroundColor: audioThreadContext.status === "playing" ? "var(--accent-4)" : "var(--gray-4)",
3452
- borderRadius: "9999px"
3477
+ borderRadius: "9999px",
3478
+ scale: scale
3453
3479
  },
3454
3480
  children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(BarsVisualizer, {
3455
3481
  visualizationAnalyser: audioThreadContext.messageAudioProps.visualizationAnalyser,
@@ -3477,7 +3503,7 @@ var import_themes44 = require("@radix-ui/themes");
3477
3503
  var import_jsx_runtime58 = require("react/jsx-runtime");
3478
3504
  var html = function(param) {
3479
3505
  var texts = param.texts;
3480
- return "\n .status-messages-texts:after {\n content: '".concat(texts[0], "';\n animation: texts ").concat(texts.length * 3, "s linear infinite;\n }\n\n @keyframes texts {\n ").concat(texts.map(function(_9, i) {
3506
+ return "\n .status-messages-texts:after {\n content: '".concat(texts[0], "';\n animation: texts ").concat(texts.length * 5, "s linear infinite;\n }\n\n @keyframes texts {\n ").concat(texts.map(function(_10, i) {
3481
3507
  return "\n ".concat(i * 100 / texts.length, '% {\n content: "').concat(texts[i], '";\n }\n ');
3482
3508
  }).join(""), "\n }");
3483
3509
  };