snow-flow 3.4.36 → 3.4.39

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 (49) hide show
  1. package/README.md +412 -287
  2. package/dist/cli/deploy-artifact.js +2 -2
  3. package/dist/mcp/servicenow-deployment-mcp.js +1 -1
  4. package/dist/mcp/servicenow-mcp-server.js +2 -2
  5. package/dist/queen/agent-factory.js +134 -52
  6. package/dist/queen/servicenow-queen.d.ts +127 -2
  7. package/dist/queen/servicenow-queen.js +978 -618
  8. package/dist/services/widget-deployment-service.d.ts +1 -1
  9. package/dist/services/widget-deployment-service.js +1 -1
  10. package/dist/templates/claude-md-template.d.ts +1 -1
  11. package/dist/templates/claude-md-template.js +2 -2
  12. package/dist/types/servicenow.types.d.ts +1 -1
  13. package/dist/utils/dependency-detector.d.ts +1 -1
  14. package/dist/utils/dependency-detector.js +1 -1
  15. package/dist/utils/servicenow-client.d.ts +1 -1
  16. package/dist/utils/servicenow-client.js +4 -8
  17. package/package.json +1 -1
  18. package/website/components/README.md +419 -0
  19. package/website/components/code-display/CodeDisplay.css +583 -0
  20. package/website/components/code-display/CodeDisplay.html +200 -0
  21. package/website/components/code-display/CodeDisplay.js +375 -0
  22. package/website/components/code-display/CodeDisplay.jsx +268 -0
  23. package/website/components/demo/ComponentLibraryDemo.html +845 -0
  24. package/website/components/feature-cards/FeatureCards.css +573 -0
  25. package/website/components/feature-cards/FeatureCards.html +247 -0
  26. package/website/components/feature-cards/FeatureCards.js +382 -0
  27. package/website/components/feature-cards/FeatureCards.jsx +235 -0
  28. package/website/components/hero/Hero.css +558 -0
  29. package/website/components/hero/Hero.html +98 -0
  30. package/website/components/hero/Hero.js +415 -0
  31. package/website/components/hero/Hero.jsx +214 -0
  32. package/website/components/interactive/InteractiveElements.css +776 -0
  33. package/website/components/interactive/InteractiveElements.html +283 -0
  34. package/website/components/interactive/InteractiveElements.js +489 -0
  35. package/website/components/interactive/InteractiveElements.jsx +444 -0
  36. package/website/components/layout/LayoutComponents.css +697 -0
  37. package/website/components/layout/LayoutComponents.html +374 -0
  38. package/website/components/layout/LayoutComponents.js +447 -0
  39. package/website/components/layout/LayoutComponents.jsx +379 -0
  40. package/website/components/navigation/Navigation.css +383 -0
  41. package/website/components/navigation/Navigation.html +89 -0
  42. package/website/components/navigation/Navigation.js +248 -0
  43. package/website/components/navigation/Navigation.jsx +124 -0
  44. package/website/css/animations.css +854 -0
  45. package/website/css/style.css +916 -948
  46. package/website/index.html +394 -424
  47. package/website/js/animations.js +707 -0
  48. package/website/js/main.js +310 -383
  49. package/website/mcp-servers.html +310 -0
@@ -0,0 +1,124 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import './Navigation.css';
3
+
4
+ const Navigation = ({
5
+ logo = "⚡",
6
+ brandName = "Snow-Flow",
7
+ navItems = [
8
+ { href: "#home", label: "Home" },
9
+ { href: "#features", label: "Features" },
10
+ { href: "#about", label: "About" },
11
+ { href: "#contact", label: "Contact" }
12
+ ],
13
+ className = ""
14
+ }) => {
15
+ const [isOpen, setIsOpen] = useState(false);
16
+ const [scrolled, setScrolled] = useState(false);
17
+ const [activeSection, setActiveSection] = useState('home');
18
+
19
+ useEffect(() => {
20
+ const handleScroll = () => {
21
+ const scrollTop = window.pageYOffset;
22
+ setScrolled(scrollTop > 50);
23
+
24
+ // Update active section based on scroll position
25
+ const sections = navItems.map(item => item.href.replace('#', ''));
26
+ let current = 'home';
27
+
28
+ for (const section of sections) {
29
+ const element = document.getElementById(section);
30
+ if (element) {
31
+ const rect = element.getBoundingClientRect();
32
+ if (rect.top <= 100 && rect.bottom >= 100) {
33
+ current = section;
34
+ }
35
+ }
36
+ }
37
+ setActiveSection(current);
38
+ };
39
+
40
+ window.addEventListener('scroll', handleScroll);
41
+ return () => window.removeEventListener('scroll', handleScroll);
42
+ }, [navItems]);
43
+
44
+ const handleNavClick = (e, href) => {
45
+ e.preventDefault();
46
+ setIsOpen(false);
47
+
48
+ if (href.startsWith('#')) {
49
+ const target = document.querySelector(href);
50
+ if (target) {
51
+ const offset = 80;
52
+ const targetPosition = target.offsetTop - offset;
53
+ window.scrollTo({
54
+ top: targetPosition,
55
+ behavior: 'smooth'
56
+ });
57
+ }
58
+ }
59
+ };
60
+
61
+ const toggleMobileMenu = () => {
62
+ setIsOpen(!isOpen);
63
+ };
64
+
65
+ return (
66
+ <nav className={`sf-nav ${scrolled ? 'sf-nav--scrolled' : ''} ${className}`}>
67
+ <div className="sf-nav__container">
68
+ {/* Logo and Brand */}
69
+ <div className="sf-nav__brand" onClick={(e) => handleNavClick(e, '#home')}>
70
+ <span className="sf-nav__logo">{logo}</span>
71
+ <span className="sf-nav__brand-name">{brandName}</span>
72
+ </div>
73
+
74
+ {/* Desktop Navigation */}
75
+ <ul className={`sf-nav__menu ${isOpen ? 'sf-nav__menu--open' : ''}`}>
76
+ {navItems.map((item, index) => (
77
+ <li key={index} className="sf-nav__item">
78
+ <a
79
+ href={item.href}
80
+ className={`sf-nav__link ${
81
+ activeSection === item.href.replace('#', '') ? 'sf-nav__link--active' : ''
82
+ }`}
83
+ onClick={(e) => handleNavClick(e, item.href)}
84
+ >
85
+ {item.label}
86
+ <span className="sf-nav__link-indicator"></span>
87
+ </a>
88
+ </li>
89
+ ))}
90
+
91
+ {/* CTA Button */}
92
+ <li className="sf-nav__item">
93
+ <a href="#get-started" className="sf-nav__cta" onClick={(e) => handleNavClick(e, '#get-started')}>
94
+ Get Started
95
+ </a>
96
+ </li>
97
+ </ul>
98
+
99
+ {/* Mobile Hamburger */}
100
+ <button
101
+ className={`sf-nav__hamburger ${isOpen ? 'sf-nav__hamburger--open' : ''}`}
102
+ onClick={toggleMobileMenu}
103
+ aria-label="Toggle navigation menu"
104
+ >
105
+ <span></span>
106
+ <span></span>
107
+ <span></span>
108
+ </button>
109
+ </div>
110
+
111
+ {/* Scroll Progress Indicator */}
112
+ <div className="sf-nav__progress">
113
+ <div
114
+ className="sf-nav__progress-bar"
115
+ style={{
116
+ width: `${Math.min(100, (window.pageYOffset / (document.documentElement.scrollHeight - window.innerHeight)) * 100)}%`
117
+ }}
118
+ ></div>
119
+ </div>
120
+ </nav>
121
+ );
122
+ };
123
+
124
+ export default Navigation;