@datatechsolutions/ui 2.11.34 → 2.11.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.
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { ToggleSwitch, GlassModal, ContextMenu, FormInput, FormSelect, FormTextarea, Button, IconButton } from './chunk-CH5BZ5ML.mjs';
2
+ import { ToggleSwitch, GlassModal, ContextMenu, FormInput, FormSelect, FormTextarea, Button, IconButton } from './chunk-DNGI4ASL.mjs';
3
+ import { useTranslations, I18nProvider, createI18nFromMessages } from './chunk-7VJ7CMMT.mjs';
3
4
  import { GraphNodeHeader, GraphNodeMeta, GraphNodeBadge, GraphNodeIconBubble } from './chunk-OZNTQROP.mjs';
4
5
  import { getAgentTier, createDefaultLogicNodeConfig, applyDagreLayout } from './chunk-TLPPVL3W.mjs';
5
- import { useTranslations, I18nProvider, createI18nFromMessages } from './chunk-7VJ7CMMT.mjs';
6
6
  import { memo, useState, useRef, useCallback, useEffect, lazy, createContext, useMemo, useContext } from 'react';
7
7
  import { Position, NodeResizer, MarkerType, useReactFlow, getBezierPath, BaseEdge, EdgeLabelRenderer, Handle, ReactFlowProvider, useNodesState, useEdgesState, addEdge, BackgroundVariant } from '@xyflow/react';
8
8
  import '@xyflow/react/dist/style.css';
@@ -668,6 +668,15 @@ function ConditionalEdgeComponent({
668
668
  }) {
669
669
  const [isHovered, setIsHovered] = useState(false);
670
670
  const [showInsertPopup, setShowInsertPopup] = useState(false);
671
+ const hoverTimeout = useRef(null);
672
+ const handleMouseEnter = useCallback(() => {
673
+ if (hoverTimeout.current) clearTimeout(hoverTimeout.current);
674
+ hoverTimeout.current = null;
675
+ setIsHovered(true);
676
+ }, []);
677
+ const handleMouseLeave = useCallback(() => {
678
+ hoverTimeout.current = setTimeout(() => setIsHovered(false), 100);
679
+ }, []);
671
680
  const { setEdges } = useReactFlow();
672
681
  const [edgePath, labelX, labelY] = getBezierPath({
673
682
  sourceX,
@@ -701,8 +710,8 @@ function ConditionalEdgeComponent({
701
710
  return /* @__PURE__ */ jsxs(
702
711
  "g",
703
712
  {
704
- onMouseEnter: () => setIsHovered(true),
705
- onMouseLeave: () => setIsHovered(false),
713
+ onMouseEnter: handleMouseEnter,
714
+ onMouseLeave: handleMouseLeave,
706
715
  children: [
707
716
  /* @__PURE__ */ jsx(
708
717
  "path",
@@ -731,13 +740,13 @@ function ConditionalEdgeComponent({
731
740
  "button",
732
741
  {
733
742
  type: "button",
734
- className: "nodrag nopan pointer-events-auto absolute flex h-5 w-5 items-center justify-center rounded-full border border-teal-300 bg-white shadow-md transition-all hover:scale-110 hover:bg-teal-50 dark:border-teal-600 dark:bg-gray-800 dark:hover:bg-teal-900/30",
743
+ className: "nodrag nopan pointer-events-auto absolute flex h-5 w-5 items-center justify-center rounded-full border border-teal-300 bg-white shadow-md transition-colors hover:bg-teal-50 dark:border-teal-600 dark:bg-gray-800 dark:hover:bg-teal-900/30",
735
744
  style: {
736
745
  transform: `translate(-50%, -50%) translate(${labelX}px,${labelY + insertButtonOffset}px)`
737
746
  },
738
747
  onClick: handleInsertClick,
739
- onMouseEnter: () => setIsHovered(true),
740
- onMouseLeave: () => setIsHovered(false),
748
+ onMouseEnter: handleMouseEnter,
749
+ onMouseLeave: handleMouseLeave,
741
750
  "aria-label": "Insert node",
742
751
  children: /* @__PURE__ */ jsx(PlusIcon, { className: "h-3 w-3 text-teal-500 dark:text-teal-400" })
743
752
  }
@@ -754,13 +763,13 @@ function ConditionalEdgeComponent({
754
763
  "button",
755
764
  {
756
765
  type: "button",
757
- className: "nodrag nopan pointer-events-auto absolute flex h-5 w-5 items-center justify-center rounded-full border border-red-300 bg-white shadow-md transition-all hover:scale-110 hover:bg-red-50 dark:border-red-600 dark:bg-gray-800 dark:hover:bg-red-900/30",
766
+ className: "nodrag nopan pointer-events-auto absolute flex h-5 w-5 items-center justify-center rounded-full border border-red-300 bg-white shadow-md transition-colors hover:bg-red-50 dark:border-red-600 dark:bg-gray-800 dark:hover:bg-red-900/30",
758
767
  style: {
759
768
  transform: `translate(-50%, -50%) translate(${labelX}px,${labelY + deleteButtonOffset}px)`
760
769
  },
761
770
  onClick: handleDeleteEdge,
762
- onMouseEnter: () => setIsHovered(true),
763
- onMouseLeave: () => setIsHovered(false),
771
+ onMouseEnter: handleMouseEnter,
772
+ onMouseLeave: handleMouseLeave,
764
773
  "aria-label": "Delete connection",
765
774
  children: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-3 w-3 text-red-500 dark:text-red-400" })
766
775
  }
@@ -7610,5 +7619,5 @@ function Workspace({
7610
7619
  }
7611
7620
 
7612
7621
  export { AgentFlowNode, AgentToolFlowNode, AnswerFlowNode, AnthropicIcon, CATEGORY_COLORS, CATEGORY_PILL_COLORS, CodeFlowNode, CrewAIIcon, DocumentExtractorFlowNode, EndFlowNode, EntityFlowNode, FRAMEWORK_META, GoogleADKIcon, GroupFlowNode, HttpRequestFlowNode, ICON_MAP, IfElseFlowNode, IterationFlowNode, IterationStartFlowNode, KnowledgeBaseFlowNode, LOGIC_ICON_MAP, LOGIC_NODE_BADGE_COLORS, LOGIC_NODE_GRADIENTS, LOGIC_NODE_HANDLE_COLORS, LangChainIcon, ListOperatorFlowNode, LogicNodeModal, MINIMAP_NODE_COLORS, ModelProviderFlowNode, NODE_EXECUTION_ACCENT_COLORS, NodeCard, NodeContextMenu, NoteFlowNode, OpenAIIcon, PanelContextMenu, ParameterExtractorFlowNode, QuestionClassifierFlowNode, RuleFlowNode, SelectionContextMenu, StartFlowNode, StrandsIcon, TemplateTransformFlowNode, ToolFlowNode, VariableAggregatorFlowNode, VariableAssignerFlowNode, WorkflowBuilderProvider, WorkflowCanvas, Workspace, getCompatibleModels, getDefaultFrameworkForModel, getEntityBadgeColor, getEntityGradient, getEntityHandleColor, getEntityIcon, getEntityMinimapColor, getFrameworkMeta, getNodeExecutionAccent, getNodeExecutionAccentRgb, isFrameworkCompatibleWithProviders, isModelCompatibleWithFramework, useModalStore, useWorkflowBuilderClient, useWorkflowBuilderClientOptional, useWorkflowStore };
7613
- //# sourceMappingURL=chunk-WG4S74B5.mjs.map
7614
- //# sourceMappingURL=chunk-WG4S74B5.mjs.map
7622
+ //# sourceMappingURL=chunk-OCGSU63W.mjs.map
7623
+ //# sourceMappingURL=chunk-OCGSU63W.mjs.map