@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
package/dist/index.mjs CHANGED
@@ -2626,50 +2626,59 @@ RatingComment.displayName = "RatingComment";
2626
2626
  import * as React32 from "react";
2627
2627
 
2628
2628
  // src/components/hooks/use-text-streaming.ts
2629
- import { useEffect as useEffect10, useRef, useState as useState10 } from "react";
2629
+ import { useState as useState10, useEffect as useEffect10, useRef, useCallback as useCallback2 } from "react";
2630
2630
  var CHAR_DELAY = 25;
2631
- var PUNCTUATION_DELAY = 200;
2632
- var PUNCTUATION_MARKS = [".", "!", "?", ";", ":"];
2631
+ var PUNCTUATION_DELAY = 400;
2633
2632
  function useTextStreaming(content, shouldStream, handleIsTextStreaming) {
2634
- const [displayedContent, setDisplayedContent] = useState10("");
2635
- const timeoutId = useRef(null);
2633
+ const [displayedText, setDisplayedText] = useState10("");
2634
+ const contentRef = useRef(content);
2635
+ const indexRef = useRef(0);
2636
+ const timerRef = useRef(null);
2636
2637
  const hasStartedStreaming = useRef(false);
2637
- const getDelayForChar = (text, position) => {
2638
- if (position === 0) return CHAR_DELAY;
2639
- const previousChar = text[position - 1] || "";
2640
- const isEllipsis = text.slice(position - 1, position + 2) === "...";
2641
- if (isEllipsis) {
2642
- return CHAR_DELAY;
2643
- }
2644
- return PUNCTUATION_MARKS.includes(previousChar) ? PUNCTUATION_DELAY : CHAR_DELAY;
2645
- };
2646
2638
  useEffect10(() => {
2647
- if (!shouldStream && !hasStartedStreaming.current) {
2648
- setDisplayedContent(content);
2649
- handleIsTextStreaming?.(false);
2650
- return;
2639
+ contentRef.current = content;
2640
+ if (hasStartedStreaming.current && !timerRef.current && indexRef.current < contentRef.current.length) {
2641
+ typeNext();
2651
2642
  }
2652
- handleIsTextStreaming?.(true);
2653
- hasStartedStreaming.current = true;
2654
- if (displayedContent.length < content.length) {
2655
- const delay = getDelayForChar(content, displayedContent.length);
2656
- timeoutId.current = setTimeout(() => {
2657
- setDisplayedContent((prev) => prev + content[prev.length]);
2643
+ }, [content]);
2644
+ const typeNext = useCallback2(() => {
2645
+ if (indexRef.current < contentRef.current.length) {
2646
+ const nextChar = contentRef.current.charAt(indexRef.current);
2647
+ setDisplayedText((prev) => prev + nextChar);
2648
+ indexRef.current++;
2649
+ const delay = /[.!?;:]/.test(nextChar) ? PUNCTUATION_DELAY : CHAR_DELAY;
2650
+ timerRef.current = setTimeout(() => {
2651
+ timerRef.current = null;
2652
+ typeNext();
2658
2653
  }, delay);
2659
2654
  } else {
2660
2655
  handleIsTextStreaming?.(false);
2661
2656
  }
2657
+ }, []);
2658
+ useEffect10(() => {
2659
+ if (!shouldStream && !hasStartedStreaming.current) {
2660
+ setDisplayedText(contentRef.current);
2661
+ indexRef.current = contentRef.current.length;
2662
+ if (timerRef.current) {
2663
+ clearTimeout(timerRef.current);
2664
+ timerRef.current = null;
2665
+ }
2666
+ handleIsTextStreaming?.(false);
2667
+ } else {
2668
+ if (indexRef.current < contentRef.current.length && !timerRef.current) {
2669
+ handleIsTextStreaming?.(true);
2670
+ hasStartedStreaming.current = true;
2671
+ typeNext();
2672
+ }
2673
+ }
2662
2674
  return () => {
2663
- if (timeoutId.current) clearTimeout(timeoutId.current);
2675
+ if (timerRef.current) {
2676
+ clearTimeout(timerRef.current);
2677
+ timerRef.current = null;
2678
+ }
2664
2679
  };
2665
- }, [
2666
- content,
2667
- displayedContent,
2668
- shouldStream,
2669
- getDelayForChar,
2670
- handleIsTextStreaming
2671
- ]);
2672
- return displayedContent;
2680
+ }, [shouldStream, typeNext]);
2681
+ return displayedText;
2673
2682
  }
2674
2683
 
2675
2684
  // src/components/molecules/call-out.tsx