@alquimia-ai/ui 1.2.1 → 1.2.4

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.
Files changed (101) hide show
  1. package/dist/components/hooks/index.js +41 -32
  2. package/dist/components/hooks/index.js.map +1 -1
  3. package/dist/components/hooks/index.mjs +42 -33
  4. package/dist/components/hooks/index.mjs.map +1 -1
  5. package/dist/components/molecules/index.js +41 -32
  6. package/dist/components/molecules/index.js.map +1 -1
  7. package/dist/components/molecules/index.mjs +42 -33
  8. package/dist/components/molecules/index.mjs.map +1 -1
  9. package/dist/components/organisms/index.js +41 -32
  10. package/dist/components/organisms/index.js.map +1 -1
  11. package/dist/components/organisms/index.mjs +42 -33
  12. package/dist/components/organisms/index.mjs.map +1 -1
  13. package/dist/index.js +41 -32
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.mjs +42 -33
  16. package/dist/index.mjs.map +1 -1
  17. package/dist/package.json +136 -0
  18. package/package.json +50 -53
  19. package/src/components/atoms/index.ts +0 -32
  20. package/src/components/atoms/ui/alert.tsx +0 -59
  21. package/src/components/atoms/ui/aspect-ratio.tsx +0 -7
  22. package/src/components/atoms/ui/avatar.tsx +0 -50
  23. package/src/components/atoms/ui/badge.tsx +0 -36
  24. package/src/components/atoms/ui/breadcrumb.tsx +0 -120
  25. package/src/components/atoms/ui/button.tsx +0 -56
  26. package/src/components/atoms/ui/card.tsx +0 -87
  27. package/src/components/atoms/ui/checkbox.tsx +0 -31
  28. package/src/components/atoms/ui/command.tsx +0 -155
  29. package/src/components/atoms/ui/dialog.tsx +0 -125
  30. package/src/components/atoms/ui/drawer.tsx +0 -119
  31. package/src/components/atoms/ui/input.tsx +0 -26
  32. package/src/components/atoms/ui/label.tsx +0 -26
  33. package/src/components/atoms/ui/loader.tsx +0 -52
  34. package/src/components/atoms/ui/popover.tsx +0 -31
  35. package/src/components/atoms/ui/rich-text.tsx +0 -19
  36. package/src/components/atoms/ui/scroll-area.tsx +0 -48
  37. package/src/components/atoms/ui/select.tsx +0 -160
  38. package/src/components/atoms/ui/skeleton.tsx +0 -15
  39. package/src/components/atoms/ui/slider.tsx +0 -29
  40. package/src/components/atoms/ui/switch.tsx +0 -30
  41. package/src/components/atoms/ui/table.tsx +0 -118
  42. package/src/components/atoms/ui/tabs.tsx +0 -56
  43. package/src/components/atoms/ui/text-area/index.tsx +0 -24
  44. package/src/components/atoms/ui/textarea.tsx +0 -25
  45. package/src/components/atoms/ui/think-indicator.tsx +0 -103
  46. package/src/components/atoms/ui/toast.tsx +0 -129
  47. package/src/components/atoms/ui/toaster.tsx +0 -38
  48. package/src/components/atoms/ui/toggle.tsx +0 -45
  49. package/src/components/atoms/ui/typography/index.tsx +0 -30
  50. package/src/components/hooks/index.ts +0 -4
  51. package/src/components/hooks/use-document.tsx +0 -44
  52. package/src/components/hooks/use-resize-observer.ts +0 -28
  53. package/src/components/hooks/use-text-streaming.ts +0 -63
  54. package/src/components/hooks/use-toast.ts +0 -194
  55. package/src/components/index.ts +0 -1
  56. package/src/components/molecules/alert-dialog.tsx +0 -141
  57. package/src/components/molecules/assistant-button.tsx +0 -148
  58. package/src/components/molecules/call-out.tsx +0 -163
  59. package/src/components/molecules/carousel.tsx +0 -262
  60. package/src/components/molecules/documents/document-selector.tsx +0 -79
  61. package/src/components/molecules/documents/document-viewer.tsx +0 -85
  62. package/src/components/molecules/documents/index.ts +0 -2
  63. package/src/components/molecules/index.ts +0 -11
  64. package/src/components/molecules/navigation-menu.tsx +0 -128
  65. package/src/components/molecules/page-container.tsx +0 -17
  66. package/src/components/molecules/rating-comment.tsx +0 -93
  67. package/src/components/molecules/rating-stars.tsx +0 -136
  68. package/src/components/molecules/rating-thumbs.tsx +0 -90
  69. package/src/components/molecules/sidebar.tsx +0 -107
  70. package/src/components/molecules/sonner.tsx +0 -30
  71. package/src/components/molecules/viewers/index.ts +0 -2
  72. package/src/components/molecules/viewers/pdf-viewer.tsx +0 -138
  73. package/src/components/molecules/viewers/plain-text-viewer.tsx +0 -40
  74. package/src/components/organisms/assistant.tsx +0 -271
  75. package/src/components/organisms/index.ts +0 -6
  76. package/src/components/organisms/rating-dialog.tsx +0 -104
  77. package/src/components/organisms/speechToText.tsx +0 -92
  78. package/src/components/organisms/whisper.tsx +0 -106
  79. package/src/components/templates/cards/index.ts +0 -2
  80. package/src/components/templates/cards/with-image-heading-description-avatar.tsx +0 -94
  81. package/src/components/templates/cards/with-image-heading-description.tsx +0 -63
  82. package/src/components/templates/hero/index.tsx +0 -39
  83. package/src/components/templates/index.ts +0 -4
  84. package/src/components/templates/messages-window.tsx +0 -15
  85. package/src/components/templates/query-box.tsx +0 -13
  86. package/src/components/ui/input.tsx +0 -25
  87. package/src/components/ui/select.tsx +0 -163
  88. package/src/index.ts +0 -7
  89. package/src/lib/index.ts +0 -1
  90. package/src/lib/utils.ts +0 -34
  91. package/src/styles/call-out.css +0 -153
  92. package/src/styles/drawer.css +0 -28
  93. package/src/styles/globals.css +0 -69
  94. package/src/styles/prose.css +0 -51
  95. package/src/styles/ratings.css +0 -27
  96. package/src/styles/themes/base-alquimia.css +0 -95
  97. package/src/styles/themes/base-nordic.css +0 -83
  98. package/src/styles/themes/base-primary.css +0 -85
  99. package/src/styles/themes/base.css +0 -8
  100. package/src/types/index.ts +0 -1
  101. package/src/types/type.ts +0 -76
@@ -2417,50 +2417,59 @@ RatingComment.displayName = "RatingComment";
2417
2417
  import * as React32 from "react";
2418
2418
 
2419
2419
  // src/components/hooks/use-text-streaming.ts
2420
- import { useEffect as useEffect10, useRef, useState as useState10 } from "react";
2420
+ import { useState as useState10, useEffect as useEffect10, useRef, useCallback as useCallback2 } from "react";
2421
2421
  var CHAR_DELAY = 25;
2422
- var PUNCTUATION_DELAY = 200;
2423
- var PUNCTUATION_MARKS = [".", "!", "?", ";", ":"];
2422
+ var PUNCTUATION_DELAY = 400;
2424
2423
  function useTextStreaming(content, shouldStream, handleIsTextStreaming) {
2425
- const [displayedContent, setDisplayedContent] = useState10("");
2426
- const timeoutId = useRef(null);
2424
+ const [displayedText, setDisplayedText] = useState10("");
2425
+ const contentRef = useRef(content);
2426
+ const indexRef = useRef(0);
2427
+ const timerRef = useRef(null);
2427
2428
  const hasStartedStreaming = useRef(false);
2428
- const getDelayForChar = (text, position) => {
2429
- if (position === 0) return CHAR_DELAY;
2430
- const previousChar = text[position - 1] || "";
2431
- const isEllipsis = text.slice(position - 1, position + 2) === "...";
2432
- if (isEllipsis) {
2433
- return CHAR_DELAY;
2434
- }
2435
- return PUNCTUATION_MARKS.includes(previousChar) ? PUNCTUATION_DELAY : CHAR_DELAY;
2436
- };
2437
2429
  useEffect10(() => {
2438
- if (!shouldStream && !hasStartedStreaming.current) {
2439
- setDisplayedContent(content);
2440
- handleIsTextStreaming?.(false);
2441
- return;
2430
+ contentRef.current = content;
2431
+ if (hasStartedStreaming.current && !timerRef.current && indexRef.current < contentRef.current.length) {
2432
+ typeNext();
2442
2433
  }
2443
- handleIsTextStreaming?.(true);
2444
- hasStartedStreaming.current = true;
2445
- if (displayedContent.length < content.length) {
2446
- const delay = getDelayForChar(content, displayedContent.length);
2447
- timeoutId.current = setTimeout(() => {
2448
- setDisplayedContent((prev) => prev + content[prev.length]);
2434
+ }, [content]);
2435
+ const typeNext = useCallback2(() => {
2436
+ if (indexRef.current < contentRef.current.length) {
2437
+ const nextChar = contentRef.current.charAt(indexRef.current);
2438
+ setDisplayedText((prev) => prev + nextChar);
2439
+ indexRef.current++;
2440
+ const delay = /[.!?;:]/.test(nextChar) ? PUNCTUATION_DELAY : CHAR_DELAY;
2441
+ timerRef.current = setTimeout(() => {
2442
+ timerRef.current = null;
2443
+ typeNext();
2449
2444
  }, delay);
2450
2445
  } else {
2451
2446
  handleIsTextStreaming?.(false);
2452
2447
  }
2448
+ }, []);
2449
+ useEffect10(() => {
2450
+ if (!shouldStream && !hasStartedStreaming.current) {
2451
+ setDisplayedText(contentRef.current);
2452
+ indexRef.current = contentRef.current.length;
2453
+ if (timerRef.current) {
2454
+ clearTimeout(timerRef.current);
2455
+ timerRef.current = null;
2456
+ }
2457
+ handleIsTextStreaming?.(false);
2458
+ } else {
2459
+ if (indexRef.current < contentRef.current.length && !timerRef.current) {
2460
+ handleIsTextStreaming?.(true);
2461
+ hasStartedStreaming.current = true;
2462
+ typeNext();
2463
+ }
2464
+ }
2453
2465
  return () => {
2454
- if (timeoutId.current) clearTimeout(timeoutId.current);
2466
+ if (timerRef.current) {
2467
+ clearTimeout(timerRef.current);
2468
+ timerRef.current = null;
2469
+ }
2455
2470
  };
2456
- }, [
2457
- content,
2458
- displayedContent,
2459
- shouldStream,
2460
- getDelayForChar,
2461
- handleIsTextStreaming
2462
- ]);
2463
- return displayedContent;
2471
+ }, [shouldStream, typeNext]);
2472
+ return displayedText;
2464
2473
  }
2465
2474
 
2466
2475
  // src/components/molecules/call-out.tsx