@schmitech/chatbot-widget 0.5.3 → 0.5.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 (47) hide show
  1. package/dist/Tableau10-D7jGxypv-BNlEL2G_.js +9 -0
  2. package/dist/arc-D-ZI5fuh-CvDHBzlN.js +84 -0
  3. package/dist/blockDiagram-c4efeb88-DUnNxfIR-Bhh-x1q6.js +1221 -0
  4. package/dist/c4Diagram-c83219d4-cC4OxfBG-DRTO_jy5.js +1580 -0
  5. package/dist/channel-hcYozyrT-BSOc2Hp-.js +6 -0
  6. package/dist/chatbot-widget.bundle.js +3881 -1586
  7. package/dist/chatbot-widget.css +1 -1
  8. package/dist/chatbot-widget.es.js +12 -63659
  9. package/dist/chatbot-widget.umd.js +3880 -1585
  10. package/dist/classDiagram-beda092f-BLYhf5Mr-vk4Ko58U.js +218 -0
  11. package/dist/classDiagram-v2-2358418a-VBkbF8mr-Ca0l1fEs.js +201 -0
  12. package/dist/clone-BZIkCMuw-B9owNq6E.js +9 -0
  13. package/dist/config/index.d.ts +2 -2
  14. package/dist/createText-1719965b-UejsQ47k-B1DYw0WW.js +2955 -0
  15. package/dist/edges-96097737-1M5QvjOd-BpQVVoQN.js +1088 -0
  16. package/dist/erDiagram-0228fc6a-CjBNxHoC-DXDVlH55.js +929 -0
  17. package/dist/flowDb-c6c81e3f-Q2aoOxdz-DfrfI3H1.js +1127 -0
  18. package/dist/flowDiagram-50d868cf-zizL6ppE-BAH-_juu.js +788 -0
  19. package/dist/flowDiagram-v2-4f6560a1-DVx_vlO5-bkcRE0UW.js +18 -0
  20. package/dist/flowchart-elk-definition-6af322e1-Eyez36go-B_lk3oHt.js +48132 -0
  21. package/dist/ganttDiagram-a2739b55-C82Jv-TO-DoS-s1Yu.js +1743 -0
  22. package/dist/gitGraphDiagram-82fe8481-D9o_9-U8-DJF-ZeR8.js +1265 -0
  23. package/dist/graph-BjmGDpTe-DgbYS1Ie.js +848 -0
  24. package/dist/index-5325376f-CJL5w-Sw-BXp44Ej5.js +374 -0
  25. package/dist/index-s6Yb6o1D.js +116386 -0
  26. package/dist/infoDiagram-8eee0895-FpS-TLK_-BnvO_wUe.js +320 -0
  27. package/dist/journeyDiagram-c64418c1-CMj1efQ9-CshcRDhm.js +802 -0
  28. package/dist/layout-D_6hdlf3-B7guhEBN.js +1470 -0
  29. package/dist/mindmap-definition-8da855dc-D4SxHjUd-jFZFomnk.js +21924 -0
  30. package/dist/pieDiagram-a8764435-BF5ZqOjB-Mqzg2J4Q.js +498 -0
  31. package/dist/quadrantDiagram-1e28029f-GtQb80VU-DCy1QjzW.js +903 -0
  32. package/dist/requirementDiagram-08caed73-CHtPj3FO-AHEP0cIt.js +767 -0
  33. package/dist/sankeyDiagram-a04cb91d-CBlXzOgd-CWJTc5AX.js +802 -0
  34. package/dist/sequenceDiagram-c5b8d532-Cs1iyw97-oayOJE8v.js +2235 -0
  35. package/dist/shared/styles.d.ts +1 -1
  36. package/dist/stateDiagram-1ecb1508-CpRKICMQ-C5OFJeRZ.js +266 -0
  37. package/dist/stateDiagram-v2-c2b004d7-BtkhFyQ5-DxzE8Je5.js +185 -0
  38. package/dist/styles-b4e223ce-D0oeHeKH-BmNvk4NR.js +1090 -0
  39. package/dist/styles-ca3715f6-BouNgl-L-_qXsPDP3.js +961 -0
  40. package/dist/styles-d45a18b0-Cvhb8Ltu-43I3Cd_I.js +437 -0
  41. package/dist/svgDrawCommon-b86b1483-mg-1NjZY-DrmnILcc.js +65 -0
  42. package/dist/timeline-definition-faaaa080-3olbep_P-BqKpgsPZ.js +793 -0
  43. package/dist/ui/Message.d.ts +1 -5
  44. package/dist/ui/MessagesList.d.ts +1 -5
  45. package/dist/xychartDiagram-f5964ef8-BN6HXpmW-C-g_F1w2.js +1238 -0
  46. package/package.json +3 -3
  47. package/dist/ui/TypingEffect.d.ts +0 -18
@@ -51,7 +51,7 @@ export declare let CHAT_CONSTANTS: {
51
51
  /**
52
52
  * Global CSS styles for the ChatWidget component
53
53
  */
54
- export declare const CHAT_WIDGET_STYLES = "\n body, button, input, textarea {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n }\n \n /* Complete focus ring removal - covers all browsers and scenarios */\n textarea,\n textarea:focus,\n textarea:focus-visible,\n input,\n input:focus,\n input:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n border-color: inherit !important;\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n -webkit-tap-highlight-color: transparent !important;\n }\n \n /* Alternative: Uncomment for subtle light focus ring instead of complete removal */\n /*\n textarea:focus,\n textarea:focus-visible {\n outline: 2px solid rgba(203, 213, 225, 0.4) !important;\n outline-offset: -1px !important;\n box-shadow: 0 0 0 1px rgba(203, 213, 225, 0.2) !important;\n }\n */\n \n /* Remove webkit/safari specific styling */\n textarea::-webkit-input-placeholder,\n input::-webkit-input-placeholder {\n -webkit-appearance: none;\n }\n \n /* Ensure buttons also don't show focus rings */\n button:focus,\n button:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n }\n\n /* Enhanced animations for modern feel */\n @keyframes slideInUp {\n 0% { \n opacity: 0; \n transform: translateY(20px) scale(0.95); \n }\n 100% { \n opacity: 1; \n transform: translateY(0) scale(1); \n }\n }\n\n @keyframes slideOutDown {\n 0% { \n opacity: 1; \n transform: translateY(0) scale(1); \n }\n 100% { \n opacity: 0; \n transform: translateY(20px) scale(0.95); \n }\n }\n\n .animate-slide-in-up {\n animation: slideInUp 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n .animate-slide-out-down {\n animation: slideOutDown 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n @keyframes pulseGlow {\n 0%, 100% { \n box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);\n }\n 50% { \n box-shadow: 0 0 0 8px rgba(59, 130, 246, 0);\n }\n }\n\n .animate-pulse-glow {\n animation: pulseGlow 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n\n @keyframes messageEntry {\n 0% { \n opacity: 0; \n transform: translateY(10px) scale(0.98);\n }\n 100% { \n opacity: 1; \n transform: translateY(0) scale(1);\n }\n }\n\n .animate-message-entry {\n animation: messageEntry 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n @keyframes buttonHover {\n 0% { transform: translateY(0) scale(1); }\n 100% { transform: translateY(-2px) scale(1.05); }\n }\n\n .animate-button-hover:hover {\n animation: buttonHover 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n \n @keyframes fadeInOut {\n 0% { opacity: 0; transform: translateY(4px); }\n 20% { opacity: 1; transform: translateY(0); }\n 80% { opacity: 1; transform: translateY(0); }\n 100% { opacity: 0; transform: translateY(-4px); }\n }\n .animate-fade-in-out {\n animation: fadeInOut 2s ease-in-out forwards;\n }\n \n @keyframes bounce-gentle {\n 0%, 100% { transform: translateY(0); }\n 50% { transform: translateY(-8px); }\n }\n .animate-bounce-gentle {\n animation: bounce-gentle 3s ease-in-out infinite;\n animation-delay: 2s;\n }\n\n @keyframes float {\n 0%, 100% { transform: translateY(0px) rotate(0deg) scale(1); }\n 25% { transform: translateY(-8px) rotate(2deg) scale(1.02); }\n 50% { transform: translateY(-4px) rotate(-1deg) scale(1); }\n 75% { transform: translateY(-6px) rotate(1deg) scale(1.01); }\n }\n .animate-float {\n animation: float 2.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n \n /* Modern typing dots animation */\n @keyframes dotWave {\n 0%, 60%, 100% {\n transform: translateY(0) scale(1);\n background-color: #9ca3af;\n }\n 30% {\n transform: translateY(-10px) scale(1.1);\n background-color: #6b7280;\n }\n }\n \n .typing-dots-container {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 0;\n }\n \n .typing-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: #9ca3af;\n animation: dotWave 1.4s ease-in-out infinite;\n }\n \n .typing-dot:nth-child(1) {\n animation-delay: 0s;\n }\n \n .typing-dot:nth-child(2) {\n animation-delay: 0.2s;\n }\n \n .typing-dot:nth-child(3) {\n animation-delay: 0.4s;\n }\n\n /* Glassmorphism effects */\n .glass-effect {\n backdrop-filter: blur(20px);\n -webkit-backdrop-filter: blur(20px);\n background: rgba(255, 255, 255, 0.8);\n border: 1px solid rgba(255, 255, 255, 0.3);\n }\n\n .glass-effect-dark {\n backdrop-filter: blur(20px);\n -webkit-backdrop-filter: blur(20px);\n background: rgba(30, 41, 59, 0.8);\n border: 1px solid rgba(255, 255, 255, 0.1);\n }\n\n /* Custom scrollbar */\n .custom-scrollbar::-webkit-scrollbar {\n width: 6px;\n }\n\n .custom-scrollbar::-webkit-scrollbar-track {\n background: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n }\n\n .custom-scrollbar::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 3px;\n transition: background 0.2s ease;\n }\n\n .custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: rgba(0, 0, 0, 0.3);\n }\n\n /* Enhanced shadows */\n .shadow-elegant {\n box-shadow: \n 0 10px 25px -5px rgba(0, 0, 0, 0.1),\n 0 8px 10px -6px rgba(0, 0, 0, 0.1),\n 0 0 0 1px rgba(255, 255, 255, 0.05);\n }\n\n .shadow-soft {\n box-shadow: \n 0 4px 6px -1px rgba(0, 0, 0, 0.1),\n 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n }\n\n .shadow-floating {\n box-shadow: \n 0 20px 25px -5px rgba(0, 0, 0, 0.1),\n 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n }\n \n .prose {\n max-width: 100%;\n }\n \n .prose > * {\n margin-top: 0 !important;\n margin-bottom: 0.5em !important;\n }\n \n .prose p {\n margin: 0 0 0.5em 0 !important;\n padding: 0;\n line-height: 1.6;\n }\n \n .prose p:last-child {\n margin-bottom: 0 !important;\n }\n \n .prose ul,\n .prose ol {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n padding-left: 1.5em !important;\n }\n \n .prose li {\n margin-bottom: 0.25em !important;\n padding-left: 0.25em !important;\n line-height: 1.5;\n }\n \n .prose li p {\n margin: 0 !important;\n }\n \n .prose li + li {\n margin-top: 0.1em !important;\n }\n \n .prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 {\n margin-top: 1em !important;\n margin-bottom: 0.5em !important;\n font-weight: 600;\n }\n\n /* Button enhancements */\n .btn-modern {\n position: relative;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .btn-modern::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n\n .btn-modern:hover::before {\n opacity: 1;\n }\n\n /* Input enhancements */\n .input-modern {\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .input-modern:focus {\n transform: translateY(-1px);\n }\n ";
54
+ export declare const CHAT_WIDGET_STYLES = "\n body, button, input, textarea {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n }\n \n /* Complete focus ring removal - covers all browsers and scenarios */\n textarea,\n textarea:focus,\n textarea:focus-visible,\n input,\n input:focus,\n input:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n border-color: inherit !important;\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n -webkit-tap-highlight-color: transparent !important;\n }\n \n /* Alternative: Uncomment for subtle light focus ring instead of complete removal */\n /*\n textarea:focus,\n textarea:focus-visible {\n outline: 2px solid rgba(203, 213, 225, 0.4) !important;\n outline-offset: -1px !important;\n box-shadow: 0 0 0 1px rgba(203, 213, 225, 0.2) !important;\n }\n */\n \n /* Remove webkit/safari specific styling */\n textarea::-webkit-input-placeholder,\n input::-webkit-input-placeholder {\n -webkit-appearance: none;\n }\n \n /* Ensure buttons also don't show focus rings */\n button:focus,\n button:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n }\n\n /* Enhanced animations for modern feel */\n @keyframes slideInUp {\n 0% { \n opacity: 0; \n transform: translateY(20px) scale(0.95); \n }\n 100% { \n opacity: 1; \n transform: translateY(0) scale(1); \n }\n }\n\n @keyframes slideOutDown {\n 0% { \n opacity: 1; \n transform: translateY(0) scale(1); \n }\n 100% { \n opacity: 0; \n transform: translateY(20px) scale(0.95); \n }\n }\n\n .animate-slide-in-up {\n animation: slideInUp 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n .animate-slide-out-down {\n animation: slideOutDown 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n @keyframes pulseGlow {\n 0%, 100% { \n box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);\n }\n 50% { \n box-shadow: 0 0 0 8px rgba(59, 130, 246, 0);\n }\n }\n\n .animate-pulse-glow {\n animation: pulseGlow 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n\n @keyframes messageEntry {\n 0% { \n opacity: 0; \n transform: translateY(10px) scale(0.98);\n }\n 100% { \n opacity: 1; \n transform: translateY(0) scale(1);\n }\n }\n\n .animate-message-entry {\n animation: messageEntry 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n @keyframes buttonHover {\n 0% { transform: translateY(0) scale(1); }\n 100% { transform: translateY(-2px) scale(1.05); }\n }\n\n .animate-button-hover:hover {\n animation: buttonHover 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n \n @keyframes fadeInOut {\n 0% { opacity: 0; transform: translateY(4px); }\n 20% { opacity: 1; transform: translateY(0); }\n 80% { opacity: 1; transform: translateY(0); }\n 100% { opacity: 0; transform: translateY(-4px); }\n }\n .animate-fade-in-out {\n animation: fadeInOut 2s ease-in-out forwards;\n }\n \n @keyframes bounce-gentle {\n 0%, 100% { transform: translateY(0); }\n 50% { transform: translateY(-8px); }\n }\n .animate-bounce-gentle {\n animation: bounce-gentle 3s ease-in-out infinite;\n animation-delay: 2s;\n }\n\n @keyframes float {\n 0%, 100% { transform: translateY(0px) rotate(0deg) scale(1); }\n 25% { transform: translateY(-8px) rotate(2deg) scale(1.02); }\n 50% { transform: translateY(-4px) rotate(-1deg) scale(1); }\n 75% { transform: translateY(-6px) rotate(1deg) scale(1.01); }\n }\n .animate-float {\n animation: float 2.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n \n /* Modern typing dots animation */\n @keyframes dotWave {\n 0%, 60%, 100% {\n transform: translateY(0) scale(1);\n background-color: #9ca3af;\n }\n 30% {\n transform: translateY(-10px) scale(1.1);\n background-color: #6b7280;\n }\n }\n \n .typing-dots-container {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 0;\n }\n \n .typing-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: #9ca3af;\n animation: dotWave 1.4s ease-in-out infinite;\n }\n \n .typing-dot:nth-child(1) {\n animation-delay: 0s;\n }\n \n .typing-dot:nth-child(2) {\n animation-delay: 0.2s;\n }\n \n .typing-dot:nth-child(3) {\n animation-delay: 0.4s;\n }\n\n /* Glassmorphism effects */\n .glass-effect {\n backdrop-filter: blur(20px);\n -webkit-backdrop-filter: blur(20px);\n background: rgba(255, 255, 255, 0.8);\n border: 1px solid rgba(255, 255, 255, 0.3);\n }\n\n .glass-effect-dark {\n backdrop-filter: blur(20px);\n -webkit-backdrop-filter: blur(20px);\n background: rgba(30, 41, 59, 0.8);\n border: 1px solid rgba(255, 255, 255, 0.1);\n }\n\n /* Custom scrollbar */\n .custom-scrollbar::-webkit-scrollbar {\n width: 6px;\n }\n\n .custom-scrollbar::-webkit-scrollbar-track {\n background: rgba(0, 0, 0, 0.05);\n border-radius: 3px;\n }\n\n .custom-scrollbar::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 3px;\n transition: background 0.2s ease;\n }\n\n .custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: rgba(0, 0, 0, 0.3);\n }\n\n /* Horizontal scrollbar for markdown content (tables, code blocks, etc.) */\n .markdown-content-wrapper {\n overflow-x: scroll !important; /* Use 'scroll' to always show scrollbar when content overflows */\n overflow-y: visible !important;\n -webkit-overflow-scrolling: touch;\n /* Force scrollbar to always be visible when content overflows */\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.15);\n }\n\n /* WebKit scrollbar - always visible when overflow */\n .markdown-content-wrapper::-webkit-scrollbar {\n height: 12px;\n width: 12px;\n /* Force scrollbar to always display */\n display: block;\n -webkit-appearance: none;\n }\n\n .markdown-content-wrapper::-webkit-scrollbar-track {\n background: rgba(0, 0, 0, 0.15);\n border-radius: 6px;\n margin: 4px;\n /* Make track always visible */\n -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);\n }\n\n .markdown-content-wrapper::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.4);\n border-radius: 6px;\n border: 2px solid transparent;\n background-clip: padding-box;\n transition: background 0.2s ease;\n /* Ensure thumb is always visible */\n min-height: 20px;\n }\n\n .markdown-content-wrapper::-webkit-scrollbar-thumb:hover {\n background: rgba(0, 0, 0, 0.6);\n background-clip: padding-box;\n }\n\n .markdown-content-wrapper::-webkit-scrollbar-thumb:active {\n background: rgba(0, 0, 0, 0.7);\n }\n\n .markdown-content-wrapper::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0.1);\n }\n\n /* Ensure scrollbar styling is consistent across browsers */\n @supports (-webkit-appearance: none) {\n .markdown-content-wrapper::-webkit-scrollbar {\n -webkit-appearance: none;\n }\n }\n\n /* Force scrollbar to always be visible when content overflows (macOS workaround) */\n .markdown-content-wrapper.has-horizontal-scroll {\n /* Reserve space for scrollbar */\n scrollbar-gutter: stable;\n }\n\n .markdown-content-wrapper.has-horizontal-scroll::-webkit-scrollbar {\n /* Force scrollbar to always be visible */\n display: block !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n\n .markdown-content-wrapper.has-horizontal-scroll::-webkit-scrollbar-track {\n /* Make track more visible */\n background: rgba(0, 0, 0, 0.2) !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n\n .markdown-content-wrapper.has-horizontal-scroll::-webkit-scrollbar-thumb {\n /* Make thumb more visible */\n background: rgba(0, 0, 0, 0.5) !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n\n /* Enhanced shadows */\n .shadow-elegant {\n box-shadow: \n 0 10px 25px -5px rgba(0, 0, 0, 0.1),\n 0 8px 10px -6px rgba(0, 0, 0, 0.1),\n 0 0 0 1px rgba(255, 255, 255, 0.05);\n }\n\n .shadow-soft {\n box-shadow: \n 0 4px 6px -1px rgba(0, 0, 0, 0.1),\n 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n }\n\n .shadow-floating {\n box-shadow: \n 0 20px 25px -5px rgba(0, 0, 0, 0.1),\n 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n }\n \n .prose {\n max-width: 100%;\n }\n \n .prose > * {\n margin-top: 0 !important;\n margin-bottom: 0.5em !important;\n }\n \n .prose p {\n margin: 0 0 0.5em 0 !important;\n padding: 0;\n line-height: 1.6;\n }\n \n .prose p:last-child {\n margin-bottom: 0 !important;\n }\n \n .prose ul,\n .prose ol {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n padding-left: 1.5em !important;\n }\n \n .prose li {\n margin-bottom: 0.25em !important;\n padding-left: 0.25em !important;\n line-height: 1.5;\n }\n \n .prose li p {\n margin: 0 !important;\n }\n \n .prose li + li {\n margin-top: 0.1em !important;\n }\n \n .prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 {\n margin-top: 1em !important;\n margin-bottom: 0.5em !important;\n font-weight: 600;\n }\n\n /* Button enhancements */\n .btn-modern {\n position: relative;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .btn-modern::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));\n opacity: 0;\n transition: opacity 0.3s ease;\n }\n\n .btn-modern:hover::before {\n opacity: 1;\n }\n\n /* Input enhancements */\n .input-modern {\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .input-modern:focus {\n transform: translateY(-1px);\n }\n ";
55
55
  /**
56
56
  * Helper functions for responsive window dimensions
57
57
  */
@@ -0,0 +1,266 @@
1
+ import { A as O, v as N, D as T } from "./styles-ca3715f6-BouNgl-L-_qXsPDP3.js";
2
+ import { g as t, P as S, O as k, W as G, l as z, c as L, k as P, i as U } from "./index-s6Yb6o1D.js";
3
+ import { K as I } from "./graph-BjmGDpTe-DgbYS1Ie.js";
4
+ import { A as R } from "./layout-D_6hdlf3-B7guhEBN.js";
5
+ typeof window < "u" && (window.global = window);
6
+ const W = (e) => e.append("circle").attr("class", "start-state").attr("r", t().state.sizeUnit).attr("cx", t().state.padding + t().state.sizeUnit).attr("cy", t().state.padding + t().state.sizeUnit), C = (e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", t().state.textHeight).attr("class", "divider").attr("x2", t().state.textHeight * 2).attr("y1", 0).attr("y2", 0), F = (e, r) => {
7
+ const g = e.append("text").attr("x", 2 * t().state.padding).attr("y", t().state.textHeight + 2 * t().state.padding).attr("font-size", t().state.fontSize).attr("class", "state-title").text(r.id), s = g.node().getBBox();
8
+ return e.insert("rect", ":first-child").attr("x", t().state.padding).attr("y", t().state.padding).attr("width", s.width + 2 * t().state.padding).attr("height", s.height + 2 * t().state.padding).attr("rx", t().state.radius), g;
9
+ }, J = (e, r) => {
10
+ const g = function(o, u, b) {
11
+ const w = o.append("tspan").attr("x", 2 * t().state.padding).text(u);
12
+ b || w.attr("dy", t().state.textHeight);
13
+ }, s = e.append("text").attr("x", 2 * t().state.padding).attr("y", t().state.textHeight + 1.3 * t().state.padding).attr("font-size", t().state.fontSize).attr("class", "state-title").text(r.descriptions[0]).node().getBBox(), d = s.height, l = e.append("text").attr("x", t().state.padding).attr(
14
+ "y",
15
+ d + t().state.padding * 0.4 + t().state.dividerMargin + t().state.textHeight
16
+ ).attr("class", "state-description");
17
+ let h = !0, a = !0;
18
+ r.descriptions.forEach(function(o) {
19
+ h || (g(l, o, a), a = !1), h = !1;
20
+ });
21
+ const n = e.append("line").attr("x1", t().state.padding).attr("y1", t().state.padding + d + t().state.dividerMargin / 2).attr("y2", t().state.padding + d + t().state.dividerMargin / 2).attr("class", "descr-divider"), x = l.node().getBBox(), p = Math.max(x.width, s.width);
22
+ return n.attr("x2", p + 3 * t().state.padding), e.insert("rect", ":first-child").attr("x", t().state.padding).attr("y", t().state.padding).attr("width", p + 2 * t().state.padding).attr("height", x.height + d + 2 * t().state.padding).attr("rx", t().state.radius), e;
23
+ }, Y = (e, r, g) => {
24
+ const s = t().state.padding, d = 2 * t().state.padding, l = e.node().getBBox(), h = l.width, a = l.x, n = e.append("text").attr("x", 0).attr("y", t().state.titleShift).attr("font-size", t().state.fontSize).attr("class", "state-title").text(r.id), x = n.node().getBBox().width + d;
25
+ let p = Math.max(x, h);
26
+ p === h && (p = p + d);
27
+ let o;
28
+ const u = e.node().getBBox();
29
+ r.doc, o = a - s, x > h && (o = (h - p) / 2 + s), Math.abs(a - u.x) < s && x > h && (o = a - (x - h) / 2);
30
+ const b = 1 - t().state.textHeight;
31
+ return e.insert("rect", ":first-child").attr("x", o).attr("y", b).attr("class", g ? "alt-composit" : "composit").attr("width", p).attr(
32
+ "height",
33
+ u.height + t().state.textHeight + t().state.titleShift + 1
34
+ ).attr("rx", "0"), n.attr("x", o + s), x <= h && n.attr("x", a + (p - d) / 2 - x / 2 + s), e.insert("rect", ":first-child").attr("x", o).attr(
35
+ "y",
36
+ t().state.titleShift - t().state.textHeight - t().state.padding
37
+ ).attr("width", p).attr("height", t().state.textHeight * 3).attr("rx", t().state.radius), e.insert("rect", ":first-child").attr("x", o).attr(
38
+ "y",
39
+ t().state.titleShift - t().state.textHeight - t().state.padding
40
+ ).attr("width", p).attr("height", u.height + 3 + 2 * t().state.textHeight).attr("rx", t().state.radius), e;
41
+ }, j = (e) => (e.append("circle").attr("class", "end-state-outer").attr("r", t().state.sizeUnit + t().state.miniPadding).attr(
42
+ "cx",
43
+ t().state.padding + t().state.sizeUnit + t().state.miniPadding
44
+ ).attr(
45
+ "cy",
46
+ t().state.padding + t().state.sizeUnit + t().state.miniPadding
47
+ ), e.append("circle").attr("class", "end-state-inner").attr("r", t().state.sizeUnit).attr("cx", t().state.padding + t().state.sizeUnit + 2).attr("cy", t().state.padding + t().state.sizeUnit + 2)), K = (e, r) => {
48
+ let g = t().state.forkWidth, s = t().state.forkHeight;
49
+ if (r.parentId) {
50
+ let d = g;
51
+ g = s, s = d;
52
+ }
53
+ return e.append("rect").style("stroke", "black").style("fill", "black").attr("width", g).attr("height", s).attr("x", t().state.padding).attr("y", t().state.padding);
54
+ }, X = (e, r, g, s) => {
55
+ let d = 0;
56
+ const l = s.append("text");
57
+ l.style("text-anchor", "start"), l.attr("class", "noteText");
58
+ let h = e.replace(/\r\n/g, "<br/>");
59
+ h = h.replace(/\n/g, "<br/>");
60
+ const a = h.split(z.lineBreakRegex);
61
+ let n = 1.25 * t().state.noteMargin;
62
+ for (const x of a) {
63
+ const p = x.trim();
64
+ if (p.length > 0) {
65
+ const o = l.append("tspan");
66
+ if (o.text(p), n === 0) {
67
+ const u = o.node().getBBox();
68
+ n += u.height;
69
+ }
70
+ d += n, o.attr("x", r + t().state.noteMargin), o.attr("y", g + d + 1.25 * t().state.noteMargin);
71
+ }
72
+ }
73
+ return { textWidth: l.node().getBBox().width, textHeight: d };
74
+ }, $ = (e, r) => {
75
+ r.attr("class", "state-note");
76
+ const g = r.append("rect").attr("x", 0).attr("y", t().state.padding), s = r.append("g"), { textWidth: d, textHeight: l } = X(e, 0, 0, s);
77
+ return g.attr("height", l + 2 * t().state.noteMargin), g.attr("width", d + t().state.noteMargin * 2), g;
78
+ }, H = function(e, r) {
79
+ const g = r.id, s = {
80
+ id: g,
81
+ label: r.id,
82
+ width: 0,
83
+ height: 0
84
+ }, d = e.append("g").attr("id", g).attr("class", "stateGroup");
85
+ r.type === "start" && W(d), r.type === "end" && j(d), (r.type === "fork" || r.type === "join") && K(d, r), r.type === "note" && $(r.note.text, d), r.type === "divider" && C(d), r.type === "default" && r.descriptions.length === 0 && F(d, r), r.type === "default" && r.descriptions.length > 0 && J(d, r);
86
+ const l = d.node().getBBox();
87
+ return s.width = l.width + 2 * t().state.padding, s.height = l.height + 2 * t().state.padding, s;
88
+ };
89
+ let A = 0;
90
+ const q = function(e, r, g) {
91
+ const s = function(n) {
92
+ switch (n) {
93
+ case N.relationType.AGGREGATION:
94
+ return "aggregation";
95
+ case N.relationType.EXTENSION:
96
+ return "extension";
97
+ case N.relationType.COMPOSITION:
98
+ return "composition";
99
+ case N.relationType.DEPENDENCY:
100
+ return "dependency";
101
+ }
102
+ };
103
+ r.points = r.points.filter((n) => !Number.isNaN(n.y));
104
+ const d = r.points, l = L().x(function(n) {
105
+ return n.x;
106
+ }).y(function(n) {
107
+ return n.y;
108
+ }).curve(P), h = e.append("path").attr("d", l(d)).attr("id", "edge" + A).attr("class", "transition");
109
+ let a = "";
110
+ if (t().state.arrowMarkerAbsolute && (a = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, a = a.replace(/\(/g, "\\("), a = a.replace(/\)/g, "\\)")), h.attr(
111
+ "marker-end",
112
+ "url(" + a + "#" + s(N.relationType.DEPENDENCY) + "End)"
113
+ ), g.title !== void 0) {
114
+ const n = e.append("g").attr("class", "stateLabel"), { x, y: p } = U.calcLabelPosition(r.points), o = z.getRows(g.title);
115
+ let u = 0;
116
+ const b = [];
117
+ let w = 0, M = 0;
118
+ for (let f = 0; f <= o.length; f++) {
119
+ const c = n.append("text").attr("text-anchor", "middle").text(o[f]).attr("x", x).attr("y", p + u), y = c.node().getBBox();
120
+ w = Math.max(w, y.width), M = Math.min(M, y.x), k.info(y.x, x, p + u), u === 0 && (u = c.node().getBBox().height, k.info("Title height", u, p)), b.push(c);
121
+ }
122
+ let E = u * o.length;
123
+ if (o.length > 1) {
124
+ const f = (o.length - 1) * u * 0.5;
125
+ b.forEach((c, y) => c.attr("y", p + y * u - f)), E = u * o.length;
126
+ }
127
+ const i = n.node().getBBox();
128
+ n.insert("rect", ":first-child").attr("class", "box").attr("x", x - w / 2 - t().state.padding / 2).attr("y", p - E / 2 - t().state.padding / 2 - 3.5).attr("width", w + t().state.padding).attr("height", E + t().state.padding), k.info(i);
129
+ }
130
+ A++;
131
+ };
132
+ let m;
133
+ const v = {}, Z = function() {
134
+ }, Q = function(e) {
135
+ e.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
136
+ }, V = function(e, r, g, s) {
137
+ m = t().state;
138
+ const d = t().securityLevel;
139
+ let l;
140
+ d === "sandbox" && (l = S("#i" + r));
141
+ const h = d === "sandbox" ? S(l.nodes()[0].contentDocument.body) : S("body"), a = d === "sandbox" ? l.nodes()[0].contentDocument : document;
142
+ k.debug("Rendering diagram " + e);
143
+ const n = h.select(`[id='${r}']`);
144
+ Q(n);
145
+ const x = s.db.getRootDoc();
146
+ D(x, n, void 0, !1, h, a, s);
147
+ const p = m.padding, o = n.node().getBBox(), u = o.width + p * 2, b = o.height + p * 2, w = u * 1.75;
148
+ G(n, b, w, m.useMaxWidth), n.attr(
149
+ "viewBox",
150
+ `${o.x - m.padding} ${o.y - m.padding} ` + u + " " + b
151
+ );
152
+ }, _ = (e) => e ? e.length * m.fontSizeFactor : 1, D = (e, r, g, s, d, l, h) => {
153
+ const a = new I({
154
+ compound: !0,
155
+ multigraph: !0
156
+ });
157
+ let n, x = !0;
158
+ for (n = 0; n < e.length; n++)
159
+ if (e[n].stmt === "relation") {
160
+ x = !1;
161
+ break;
162
+ }
163
+ g ? a.setGraph({
164
+ rankdir: "LR",
165
+ multigraph: !0,
166
+ compound: !0,
167
+ // acyclicer: 'greedy',
168
+ ranker: "tight-tree",
169
+ ranksep: x ? 1 : m.edgeLengthFactor,
170
+ nodeSep: x ? 1 : 50,
171
+ isMultiGraph: !0
172
+ // ranksep: 5,
173
+ // nodesep: 1
174
+ }) : a.setGraph({
175
+ rankdir: "TB",
176
+ multigraph: !0,
177
+ compound: !0,
178
+ // isCompound: true,
179
+ // acyclicer: 'greedy',
180
+ // ranker: 'longest-path'
181
+ ranksep: x ? 1 : m.edgeLengthFactor,
182
+ nodeSep: x ? 1 : 50,
183
+ ranker: "tight-tree",
184
+ // ranker: 'network-simplex'
185
+ isMultiGraph: !0
186
+ }), a.setDefaultEdgeLabel(function() {
187
+ return {};
188
+ }), h.db.extract(e);
189
+ const p = h.db.getStates(), o = h.db.getRelations(), u = Object.keys(p);
190
+ for (const i of u) {
191
+ const f = p[i];
192
+ g && (f.parentId = g);
193
+ let c;
194
+ if (f.doc) {
195
+ let y = r.append("g").attr("id", f.id).attr("class", "stateGroup");
196
+ c = D(f.doc, y, f.id, !s, d, l, h);
197
+ {
198
+ y = Y(y, f, s);
199
+ let B = y.node().getBBox();
200
+ c.width = B.width, c.height = B.height + m.padding / 2, v[f.id] = { y: m.compositTitleSize };
201
+ }
202
+ } else
203
+ c = H(r, f);
204
+ if (f.note) {
205
+ const y = {
206
+ descriptions: [],
207
+ id: f.id + "-note",
208
+ note: f.note,
209
+ type: "note"
210
+ }, B = H(r, y);
211
+ f.note.position === "left of" ? (a.setNode(c.id + "-note", B), a.setNode(c.id, c)) : (a.setNode(c.id, c), a.setNode(c.id + "-note", B)), a.setParent(c.id, c.id + "-group"), a.setParent(c.id + "-note", c.id + "-group");
212
+ } else
213
+ a.setNode(c.id, c);
214
+ }
215
+ k.debug("Count=", a.nodeCount(), a);
216
+ let b = 0;
217
+ o.forEach(function(i) {
218
+ b++, k.debug("Setting edge", i), a.setEdge(
219
+ i.id1,
220
+ i.id2,
221
+ {
222
+ relation: i,
223
+ width: _(i.title),
224
+ height: m.labelHeight * z.getRows(i.title).length,
225
+ labelpos: "c"
226
+ },
227
+ "id" + b
228
+ );
229
+ }), R(a), k.debug("Graph after layout", a.nodes());
230
+ const w = r.node();
231
+ a.nodes().forEach(function(i) {
232
+ i !== void 0 && a.node(i) !== void 0 ? (k.warn("Node " + i + ": " + JSON.stringify(a.node(i))), d.select("#" + w.id + " #" + i).attr(
233
+ "transform",
234
+ "translate(" + (a.node(i).x - a.node(i).width / 2) + "," + (a.node(i).y + (v[i] ? v[i].y : 0) - a.node(i).height / 2) + " )"
235
+ ), d.select("#" + w.id + " #" + i).attr("data-x-shift", a.node(i).x - a.node(i).width / 2), l.querySelectorAll("#" + w.id + " #" + i + " .divider").forEach((f) => {
236
+ const c = f.parentElement;
237
+ let y = 0, B = 0;
238
+ c && (c.parentElement && (y = c.parentElement.getBBox().width), B = parseInt(c.getAttribute("data-x-shift"), 10), Number.isNaN(B) && (B = 0)), f.setAttribute("x1", 0 - B + 8), f.setAttribute("x2", y - B - 8);
239
+ })) : k.debug("No Node " + i + ": " + JSON.stringify(a.node(i)));
240
+ });
241
+ let M = w.getBBox();
242
+ a.edges().forEach(function(i) {
243
+ i !== void 0 && a.edge(i) !== void 0 && (k.debug("Edge " + i.v + " -> " + i.w + ": " + JSON.stringify(a.edge(i))), q(r, a.edge(i), a.edge(i).relation));
244
+ }), M = w.getBBox();
245
+ const E = {
246
+ id: g || "root",
247
+ label: g || "root",
248
+ width: 0,
249
+ height: 0
250
+ };
251
+ return E.width = M.width + 2 * m.padding, E.height = M.height + 2 * m.padding, k.debug("Doc rendered", E, a), E;
252
+ }, tt = {
253
+ setConf: Z,
254
+ draw: V
255
+ }, dt = {
256
+ parser: T,
257
+ db: N,
258
+ renderer: tt,
259
+ styles: O,
260
+ init: (e) => {
261
+ e.state || (e.state = {}), e.state.arrowMarkerAbsolute = e.arrowMarkerAbsolute, N.clear();
262
+ }
263
+ };
264
+ export {
265
+ dt as diagram
266
+ };
@@ -0,0 +1,185 @@
1
+ import { A as Y, v as W, D as F, C as H, E as z, t as Q, I as X, _ as Z } from "./styles-ca3715f6-BouNgl-L-_qXsPDP3.js";
2
+ import { K as tt } from "./graph-BjmGDpTe-DgbYS1Ie.js";
3
+ import { O as p, g as S, P as A, i as et, W as st, l as B } from "./index-s6Yb6o1D.js";
4
+ import { b as ot } from "./index-5325376f-CJL5w-Sw-BXp44Ej5.js";
5
+ import "./layout-D_6hdlf3-B7guhEBN.js";
6
+ typeof window < "u" && (window.global = window);
7
+ const x = "rect", k = "rectWithTitle", at = "start", it = "end", rt = "divider", nt = "roundedWithTitle", dt = "note", lt = "noteGroup", h = "statediagram", ct = "state", pt = `${h}-${ct}`, I = "transition", bt = "note", gt = "note-edge", ut = `${I} ${gt}`, ht = `${h}-${bt}`, yt = "cluster", ft = `${h}-${yt}`, $t = "cluster-alt", mt = `${h}-${$t}`, L = "parent", M = "note", wt = "state", C = "----", xt = `${C}${M}`, _ = `${C}${L}`, j = "fill:none", G = "fill: #333", K = "c", q = "text", J = "normal";
8
+ let T = {}, c = 0;
9
+ const Tt = function(t) {
10
+ const a = Object.keys(t);
11
+ for (const e of a)
12
+ t[e];
13
+ }, St = function(t, a) {
14
+ return a.db.extract(a.db.getRootDocV2()), a.db.getClasses();
15
+ };
16
+ function Dt(t) {
17
+ return t == null ? "" : t.classes ? t.classes.join(" ") : "";
18
+ }
19
+ function v(t = "", a = 0, e = "", i = C) {
20
+ const r = e !== null && e.length > 0 ? `${i}${e}` : "";
21
+ return `${wt}-${t}${r}-${a}`;
22
+ }
23
+ const w = (t, a, e, i, r, n) => {
24
+ const s = e.id, y = Dt(i[s]);
25
+ if (s !== "root") {
26
+ let g = x;
27
+ e.start === !0 && (g = at), e.start === !1 && (g = it), e.type !== z && (g = e.type), T[s] || (T[s] = {
28
+ id: s,
29
+ shape: g,
30
+ description: B.sanitizeText(s, S()),
31
+ classes: `${y} ${pt}`
32
+ });
33
+ const o = T[s];
34
+ e.description && (Array.isArray(o.description) ? (o.shape = k, o.description.push(e.description)) : o.description.length > 0 ? (o.shape = k, o.description === s ? o.description = [e.description] : o.description = [o.description, e.description]) : (o.shape = x, o.description = e.description), o.description = B.sanitizeTextOrArray(o.description, S())), o.description.length === 1 && o.shape === k && (o.shape = x), !o.type && e.doc && (p.info("Setting cluster for ", s, E(e)), o.type = "group", o.dir = E(e), o.shape = e.type === Q ? rt : nt, o.classes = o.classes + " " + ft + " " + (n ? mt : ""));
35
+ const u = {
36
+ labelStyle: "",
37
+ shape: o.shape,
38
+ labelText: o.description,
39
+ // typeof newNode.description === 'object'
40
+ // ? newNode.description[0]
41
+ // : newNode.description,
42
+ classes: o.classes,
43
+ style: "",
44
+ //styles.style,
45
+ id: s,
46
+ dir: o.dir,
47
+ domId: v(s, c),
48
+ type: o.type,
49
+ padding: 15
50
+ //getConfig().flowchart.padding
51
+ };
52
+ if (u.centerLabel = !0, e.note) {
53
+ const d = {
54
+ labelStyle: "",
55
+ shape: dt,
56
+ labelText: e.note.text,
57
+ classes: ht,
58
+ // useHtmlLabels: false,
59
+ style: "",
60
+ // styles.style,
61
+ id: s + xt + "-" + c,
62
+ domId: v(s, c, M),
63
+ type: o.type,
64
+ padding: 15
65
+ //getConfig().flowchart.padding
66
+ }, l = {
67
+ labelStyle: "",
68
+ shape: lt,
69
+ labelText: e.note.text,
70
+ classes: o.classes,
71
+ style: "",
72
+ // styles.style,
73
+ id: s + _,
74
+ domId: v(s, c, L),
75
+ type: "group",
76
+ padding: 0
77
+ //getConfig().flowchart.padding
78
+ };
79
+ c++;
80
+ const f = s + _;
81
+ t.setNode(f, l), t.setNode(d.id, d), t.setNode(s, u), t.setParent(s, f), t.setParent(d.id, f);
82
+ let b = s, $ = d.id;
83
+ e.note.position === "left of" && (b = d.id, $ = s), t.setEdge(b, $, {
84
+ arrowhead: "none",
85
+ arrowType: "",
86
+ style: j,
87
+ labelStyle: "",
88
+ classes: ut,
89
+ arrowheadStyle: G,
90
+ labelpos: K,
91
+ labelType: q,
92
+ thickness: J
93
+ });
94
+ } else
95
+ t.setNode(s, u);
96
+ }
97
+ a && a.id !== "root" && (p.trace("Setting node ", s, " to be child of its parent ", a.id), t.setParent(s, a.id)), e.doc && (p.trace("Adding nodes children "), At(t, e, e.doc, i, r, !n));
98
+ }, At = (t, a, e, i, r, n) => {
99
+ p.trace("items", e), e.forEach((s) => {
100
+ switch (s.stmt) {
101
+ case Z:
102
+ w(t, a, s, i, r, n);
103
+ break;
104
+ case z:
105
+ w(t, a, s, i, r, n);
106
+ break;
107
+ case X:
108
+ {
109
+ w(t, a, s.state1, i, r, n), w(t, a, s.state2, i, r, n);
110
+ const y = {
111
+ id: "edge" + c,
112
+ arrowhead: "normal",
113
+ arrowTypeEnd: "arrow_barb",
114
+ style: j,
115
+ labelStyle: "",
116
+ label: B.sanitizeText(s.description, S()),
117
+ arrowheadStyle: G,
118
+ labelpos: K,
119
+ labelType: q,
120
+ thickness: J,
121
+ classes: I
122
+ };
123
+ t.setEdge(s.state1.id, s.state2.id, y, c), c++;
124
+ }
125
+ break;
126
+ }
127
+ });
128
+ }, E = (t, a = H) => {
129
+ let e = a;
130
+ if (t.doc)
131
+ for (let i = 0; i < t.doc.length; i++) {
132
+ const r = t.doc[i];
133
+ r.stmt === "dir" && (e = r.value);
134
+ }
135
+ return e;
136
+ }, kt = async function(t, a, e, i) {
137
+ p.info("Drawing state diagram (v2)", a), T = {}, i.db.getDirection();
138
+ const { securityLevel: r, state: n } = S(), s = n.nodeSpacing || 50, y = n.rankSpacing || 50;
139
+ p.info(i.db.getRootDocV2()), i.db.extract(i.db.getRootDocV2()), p.info(i.db.getRootDocV2());
140
+ const g = i.db.getStates(), o = new tt({
141
+ multigraph: !0,
142
+ compound: !0
143
+ }).setGraph({
144
+ rankdir: E(i.db.getRootDocV2()),
145
+ nodesep: s,
146
+ ranksep: y,
147
+ marginx: 8,
148
+ marginy: 8
149
+ }).setDefaultEdgeLabel(function() {
150
+ return {};
151
+ });
152
+ w(o, void 0, i.db.getRootDocV2(), g, i.db, !0);
153
+ let u;
154
+ r === "sandbox" && (u = A("#i" + a));
155
+ const d = r === "sandbox" ? A(u.nodes()[0].contentDocument.body) : A("body"), l = d.select(`[id="${a}"]`), f = d.select("#" + a + " g");
156
+ await ot(f, o, ["barb"], h, a);
157
+ const b = 8;
158
+ et.insertTitle(l, "statediagramTitleText", n.titleTopMargin, i.db.getDiagramTitle());
159
+ const $ = l.node().getBBox(), R = $.width + b * 2, V = $.height + b * 2;
160
+ l.attr("class", h);
161
+ const N = l.node().getBBox();
162
+ st(l, V, R, n.useMaxWidth);
163
+ const O = `${N.x - b} ${N.y - b} ${R} ${V}`;
164
+ p.debug(`viewBox ${O}`), l.attr("viewBox", O);
165
+ const U = document.querySelectorAll('[id="' + a + '"] .edgeLabel .label');
166
+ for (const D of U) {
167
+ const P = D.getBBox(), m = document.createElementNS("http://www.w3.org/2000/svg", x);
168
+ m.setAttribute("rx", 0), m.setAttribute("ry", 0), m.setAttribute("width", P.width), m.setAttribute("height", P.height), D.insertBefore(m, D.firstChild);
169
+ }
170
+ }, vt = {
171
+ setConf: Tt,
172
+ getClasses: St,
173
+ draw: kt
174
+ }, Nt = {
175
+ parser: F,
176
+ db: W,
177
+ renderer: vt,
178
+ styles: Y,
179
+ init: (t) => {
180
+ t.state || (t.state = {}), t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute, W.clear();
181
+ }
182
+ };
183
+ export {
184
+ Nt as diagram
185
+ };