@float.js/core 2.0.3 → 2.0.5
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.
- package/dist/cli/index.js +143 -460
- package/dist/cli/index.js.map +1 -1
- package/dist/devtools/index.js +1 -1
- package/dist/devtools/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +142 -459
- package/dist/index.js.map +1 -1
- package/dist/server/index.js +142 -459
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -567,7 +567,7 @@ function generateDashboardHTML(state) {
|
|
|
567
567
|
<div class="logo-icon">\u26A1</div>
|
|
568
568
|
<div class="logo-text">
|
|
569
569
|
<span class="logo-title">Float.js</span>
|
|
570
|
-
<span class="logo-version">v2.0.
|
|
570
|
+
<span class="logo-version">v2.0.4</span>
|
|
571
571
|
</div>
|
|
572
572
|
</div>
|
|
573
573
|
</div>
|
|
@@ -1276,7 +1276,7 @@ var FLOAT_INDICATOR_SCRIPT = `
|
|
|
1276
1276
|
|
|
1277
1277
|
var indicator = document.createElement('div');
|
|
1278
1278
|
indicator.id = '__float-dev-indicator';
|
|
1279
|
-
indicator.innerHTML = '<div class="float-btn" id="float-btn"><svg width="16" height="16" viewBox="0 0 200 200" fill="none"><path d="M50 145C50 136.716 56.7157 130 65 130H105C113.284 130 120 136.716 120 145C120 153.284 113.284 160 105 160H65C56.7157 160 50 153.284 50 145Z" fill="#3B82F6"/><path d="M50 100C50 91.7157 56.7157 85 65 85H135C143.284 85 150 91.7157 150 100C150 108.284 143.284 115 135 115H65C56.7157 115 50 108.284 50 100Z" fill="#6366F1"/><path d="M50 55C50 46.7157 56.7157 40 65 40H155C163.284 40 170 46.7157 170 55C170 63.2843 163.284 70 155 70H65C56.7157 70 50 63.2843 50 55Z" fill="#8B5CF6"/></svg><span class="float-dot" id="float-dot"></span></div><div class="float-panel" id="float-panel"><div class="float-panel-header"><svg width="20" height="20" viewBox="0 0 200 200" fill="none"><path d="M50 145C50 136.716 56.7157 130 65 130H105C113.284 130 120 136.716 120 145C120 153.284 113.284 160 105 160H65C56.7157 160 50 153.284 50 145Z" fill="#3B82F6"/><path d="M50 100C50 91.7157 56.7157 85 65 85H135C143.284 85 150 91.7157 150 100C150 108.284 143.284 115 135 115H65C56.7157 115 50 108.284 50 100Z" fill="#6366F1"/><path d="M50 55C50 46.7157 56.7157 40 65 40H155C163.284 40 170 46.7157 170 55C170 63.2843 163.284 70 155 70H65C56.7157 70 50 63.2843 50 55Z" fill="#8B5CF6"/></svg><span>Float.js</span><span class="float-version">v2.0.
|
|
1279
|
+
indicator.innerHTML = '<div class="float-btn" id="float-btn"><svg width="16" height="16" viewBox="0 0 200 200" fill="none"><path d="M50 145C50 136.716 56.7157 130 65 130H105C113.284 130 120 136.716 120 145C120 153.284 113.284 160 105 160H65C56.7157 160 50 153.284 50 145Z" fill="#3B82F6"/><path d="M50 100C50 91.7157 56.7157 85 65 85H135C143.284 85 150 91.7157 150 100C150 108.284 143.284 115 135 115H65C56.7157 115 50 108.284 50 100Z" fill="#6366F1"/><path d="M50 55C50 46.7157 56.7157 40 65 40H155C163.284 40 170 46.7157 170 55C170 63.2843 163.284 70 155 70H65C56.7157 70 50 63.2843 50 55Z" fill="#8B5CF6"/></svg><span class="float-dot" id="float-dot"></span></div><div class="float-panel" id="float-panel"><div class="float-panel-header"><svg width="20" height="20" viewBox="0 0 200 200" fill="none"><path d="M50 145C50 136.716 56.7157 130 65 130H105C113.284 130 120 136.716 120 145C120 153.284 113.284 160 105 160H65C56.7157 160 50 153.284 50 145Z" fill="#3B82F6"/><path d="M50 100C50 91.7157 56.7157 85 65 85H135C143.284 85 150 91.7157 150 100C150 108.284 143.284 115 135 115H65C56.7157 115 50 108.284 50 100Z" fill="#6366F1"/><path d="M50 55C50 46.7157 56.7157 40 65 40H155C163.284 40 170 46.7157 170 55C170 63.2843 163.284 70 155 70H65C56.7157 70 50 63.2843 50 55Z" fill="#8B5CF6"/></svg><span>Float.js</span><span class="float-version">v2.0.4</span></div><div class="float-panel-body"><div class="float-row"><span class="float-label">Estado</span><span class="float-value" id="float-state">Conectando...</span></div><div class="float-row"><span class="float-label">HMR</span><span class="float-value" id="float-hmr">\u2014</span></div><div class="float-row"><span class="float-label">Build</span><span class="float-value" id="float-build">\u2014</span></div></div><div class="float-panel-footer"><a href="/__float" class="float-link">Dashboard</a><a href="https://floatjs.dev/docs" target="_blank" class="float-link">Docs</a></div></div>';
|
|
1280
1280
|
|
|
1281
1281
|
var styles = document.createElement('style');
|
|
1282
1282
|
styles.textContent = '#__float-dev-indicator{position:fixed;bottom:16px;left:16px;z-index:99999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px}.float-btn{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,0.05);cursor:pointer;transition:all 0.15s}.float-btn:hover{border-color:#d1d5db;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.float-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background 0.2s}.float-dot.connected{background:#22c55e}.float-dot.error{background:#ef4444}.float-dot.building{background:#eab308;animation:blink 0.8s infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:0.4}}.float-panel{position:absolute;bottom:48px;left:0;width:240px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,0.1);opacity:0;visibility:hidden;transform:translateY(8px);transition:all 0.2s ease}.float-panel.open{opacity:1;visibility:visible;transform:translateY(0)}.float-panel-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #f3f4f6;font-weight:600;color:#111827}.float-version{margin-left:auto;font-size:11px;font-weight:400;color:#9ca3af}.float-panel-body{padding:8px 0}.float-row{display:flex;justify-content:space-between;padding:8px 14px}.float-label{color:#6b7280}.float-value{color:#111827;font-weight:500}.float-value.success{color:#16a34a}.float-value.error{color:#dc2626}.float-panel-footer{display:flex;gap:8px;padding:12px 14px;border-top:1px solid #f3f4f6}.float-link{flex:1;text-align:center;padding:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;text-decoration:none;font-size:12px;font-weight:500;transition:all 0.15s}.float-link:hover{background:#f3f4f6;border-color:#d1d5db}';
|
|
@@ -1708,486 +1708,169 @@ function generateWelcomePage() {
|
|
|
1708
1708
|
<meta charset="UTF-8">
|
|
1709
1709
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
1710
1710
|
<title>Welcome to Float.js</title>
|
|
1711
|
-
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0
|
|
1711
|
+
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><defs><linearGradient id='g' x1='0%25' y1='100%25' x2='100%25' y2='0%25'><stop offset='0%25' stop-color='%233B82F6'/><stop offset='100%25' stop-color='%238B5CF6'/></linearGradient></defs><path d='M50 145C50 136.716 56.7157 130 65 130H105C113.284 130 120 136.716 120 145C120 153.284 113.284 160 105 160H65C56.7157 160 50 153.284 50 145Z' fill='url(%23g)'/><path d='M50 100C50 91.7157 56.7157 85 65 85H135C143.284 85 150 91.7157 150 100C150 108.284 143.284 115 135 115H65C56.7157 115 50 108.284 50 100Z' fill='url(%23g)'/><path d='M50 55C50 46.7157 56.7157 40 65 40H155C163.284 40 170 46.7157 170 55C170 63.2843 163.284 70 155 70H65C56.7157 70 50 63.2843 50 55Z' fill='url(%23g)'/></svg>">
|
|
1712
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
1712
1713
|
<style>
|
|
1713
|
-
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700
|
|
1714
|
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
|
|
1714
1715
|
|
|
1715
|
-
* {
|
|
1716
|
-
|
|
1717
|
-
:root {
|
|
1718
|
-
--float-purple: #8b5cf6;
|
|
1719
|
-
--float-indigo: #6366f1;
|
|
1720
|
-
--float-pink: #d946ef;
|
|
1721
|
-
--float-cyan: #06b6d4;
|
|
1722
|
-
}
|
|
1723
|
-
|
|
1724
|
-
body {
|
|
1725
|
-
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
|
|
1726
|
-
background: #0a0a0b;
|
|
1727
|
-
color: white;
|
|
1728
|
-
min-height: 100vh;
|
|
1729
|
-
overflow-x: hidden;
|
|
1730
|
-
}
|
|
1731
|
-
|
|
1732
|
-
/* Animated background */
|
|
1733
|
-
.bg-gradient {
|
|
1734
|
-
position: fixed;
|
|
1735
|
-
inset: 0;
|
|
1736
|
-
background:
|
|
1737
|
-
radial-gradient(ellipse 80% 50% at 50% -20%, rgba(99, 102, 241, 0.3), transparent),
|
|
1738
|
-
radial-gradient(ellipse 60% 40% at 80% 60%, rgba(139, 92, 246, 0.15), transparent),
|
|
1739
|
-
radial-gradient(ellipse 40% 30% at 20% 80%, rgba(217, 70, 239, 0.1), transparent);
|
|
1740
|
-
pointer-events: none;
|
|
1741
|
-
}
|
|
1742
|
-
|
|
1743
|
-
.bg-grid {
|
|
1744
|
-
position: fixed;
|
|
1745
|
-
inset: 0;
|
|
1746
|
-
background-image:
|
|
1747
|
-
linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
|
|
1748
|
-
linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
|
|
1749
|
-
background-size: 60px 60px;
|
|
1750
|
-
pointer-events: none;
|
|
1751
|
-
}
|
|
1752
|
-
|
|
1753
|
-
/* Floating orbs */
|
|
1754
|
-
.orb {
|
|
1755
|
-
position: fixed;
|
|
1756
|
-
border-radius: 50%;
|
|
1757
|
-
filter: blur(80px);
|
|
1758
|
-
opacity: 0.5;
|
|
1759
|
-
animation: float 20s ease-in-out infinite;
|
|
1760
|
-
pointer-events: none;
|
|
1761
|
-
}
|
|
1762
|
-
|
|
1763
|
-
.orb-1 {
|
|
1764
|
-
width: 400px;
|
|
1765
|
-
height: 400px;
|
|
1766
|
-
background: var(--float-purple);
|
|
1767
|
-
top: -100px;
|
|
1768
|
-
right: -100px;
|
|
1769
|
-
animation-delay: 0s;
|
|
1770
|
-
}
|
|
1716
|
+
* { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }
|
|
1771
1717
|
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
background: var(--float-pink);
|
|
1776
|
-
bottom: -50px;
|
|
1777
|
-
left: -50px;
|
|
1778
|
-
animation-delay: -7s;
|
|
1779
|
-
}
|
|
1780
|
-
|
|
1781
|
-
.orb-3 {
|
|
1782
|
-
width: 200px;
|
|
1783
|
-
height: 200px;
|
|
1784
|
-
background: var(--float-cyan);
|
|
1785
|
-
top: 50%;
|
|
1786
|
-
left: 50%;
|
|
1787
|
-
animation-delay: -14s;
|
|
1718
|
+
@keyframes fade-in {
|
|
1719
|
+
from { opacity: 0; transform: translateY(20px); }
|
|
1720
|
+
to { opacity: 1; transform: translateY(0); }
|
|
1788
1721
|
}
|
|
1789
1722
|
|
|
1790
1723
|
@keyframes float {
|
|
1791
|
-
0%, 100% { transform:
|
|
1792
|
-
|
|
1793
|
-
50% { transform: translate(-20px, 20px) scale(0.9); }
|
|
1794
|
-
75% { transform: translate(20px, 10px) scale(1.05); }
|
|
1795
|
-
}
|
|
1796
|
-
|
|
1797
|
-
/* Main content */
|
|
1798
|
-
.container {
|
|
1799
|
-
position: relative;
|
|
1800
|
-
max-width: 1200px;
|
|
1801
|
-
margin: 0 auto;
|
|
1802
|
-
padding: 60px 24px;
|
|
1803
|
-
min-height: 100vh;
|
|
1804
|
-
display: flex;
|
|
1805
|
-
flex-direction: column;
|
|
1806
|
-
align-items: center;
|
|
1807
|
-
justify-content: center;
|
|
1724
|
+
0%, 100% { transform: translateY(0); }
|
|
1725
|
+
50% { transform: translateY(-10px); }
|
|
1808
1726
|
}
|
|
1809
1727
|
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
animation: fadeInUp 0.8s ease-out;
|
|
1728
|
+
@keyframes pulse-glow {
|
|
1729
|
+
0%, 100% { opacity: 0.4; }
|
|
1730
|
+
50% { opacity: 0.8; }
|
|
1814
1731
|
}
|
|
1815
1732
|
|
|
1816
|
-
.
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
}
|
|
1821
|
-
|
|
1822
|
-
/* Hero */
|
|
1823
|
-
.hero {
|
|
1824
|
-
text-align: center;
|
|
1825
|
-
margin-bottom: 64px;
|
|
1826
|
-
}
|
|
1827
|
-
|
|
1828
|
-
.hero h1 {
|
|
1829
|
-
font-size: clamp(48px, 10vw, 80px);
|
|
1830
|
-
font-weight: 800;
|
|
1831
|
-
letter-spacing: -0.03em;
|
|
1832
|
-
line-height: 1.1;
|
|
1833
|
-
margin-bottom: 24px;
|
|
1834
|
-
animation: fadeInUp 0.8s ease-out 0.1s both;
|
|
1835
|
-
}
|
|
1836
|
-
|
|
1837
|
-
.hero h1 .gradient {
|
|
1838
|
-
background: linear-gradient(135deg, var(--float-indigo), var(--float-purple), var(--float-pink));
|
|
1839
|
-
-webkit-background-clip: text;
|
|
1840
|
-
-webkit-text-fill-color: transparent;
|
|
1841
|
-
background-clip: text;
|
|
1842
|
-
}
|
|
1843
|
-
|
|
1844
|
-
.hero p {
|
|
1845
|
-
font-size: 20px;
|
|
1846
|
-
color: rgba(255,255,255,0.6);
|
|
1847
|
-
max-width: 600px;
|
|
1848
|
-
margin: 0 auto;
|
|
1849
|
-
line-height: 1.7;
|
|
1850
|
-
animation: fadeInUp 0.8s ease-out 0.2s both;
|
|
1851
|
-
}
|
|
1852
|
-
|
|
1853
|
-
/* Features */
|
|
1854
|
-
.features {
|
|
1855
|
-
display: grid;
|
|
1856
|
-
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
1857
|
-
gap: 20px;
|
|
1858
|
-
width: 100%;
|
|
1859
|
-
max-width: 900px;
|
|
1860
|
-
margin-bottom: 64px;
|
|
1861
|
-
}
|
|
1862
|
-
|
|
1863
|
-
.feature {
|
|
1864
|
-
background: rgba(255,255,255,0.03);
|
|
1865
|
-
border: 1px solid rgba(255,255,255,0.06);
|
|
1866
|
-
border-radius: 20px;
|
|
1867
|
-
padding: 28px;
|
|
1868
|
-
transition: all 0.3s ease;
|
|
1869
|
-
animation: fadeInUp 0.8s ease-out both;
|
|
1870
|
-
}
|
|
1871
|
-
|
|
1872
|
-
.feature:nth-child(1) { animation-delay: 0.3s; }
|
|
1873
|
-
.feature:nth-child(2) { animation-delay: 0.4s; }
|
|
1874
|
-
.feature:nth-child(3) { animation-delay: 0.5s; }
|
|
1875
|
-
|
|
1876
|
-
.feature:hover {
|
|
1877
|
-
background: rgba(255,255,255,0.05);
|
|
1878
|
-
border-color: rgba(139, 92, 246, 0.3);
|
|
1879
|
-
transform: translateY(-4px);
|
|
1880
|
-
}
|
|
1881
|
-
|
|
1882
|
-
.feature-icon {
|
|
1883
|
-
width: 48px;
|
|
1884
|
-
height: 48px;
|
|
1885
|
-
background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(139, 92, 246, 0.2));
|
|
1886
|
-
border-radius: 14px;
|
|
1887
|
-
display: flex;
|
|
1888
|
-
align-items: center;
|
|
1889
|
-
justify-content: center;
|
|
1890
|
-
margin-bottom: 16px;
|
|
1891
|
-
font-size: 24px;
|
|
1892
|
-
}
|
|
1893
|
-
|
|
1894
|
-
.feature h3 {
|
|
1895
|
-
font-size: 18px;
|
|
1896
|
-
font-weight: 600;
|
|
1897
|
-
margin-bottom: 8px;
|
|
1898
|
-
}
|
|
1899
|
-
|
|
1900
|
-
.feature p {
|
|
1901
|
-
font-size: 14px;
|
|
1902
|
-
color: rgba(255,255,255,0.5);
|
|
1903
|
-
line-height: 1.6;
|
|
1904
|
-
}
|
|
1905
|
-
|
|
1906
|
-
/* Code block */
|
|
1907
|
-
.code-section {
|
|
1908
|
-
width: 100%;
|
|
1909
|
-
max-width: 600px;
|
|
1910
|
-
animation: fadeInUp 0.8s ease-out 0.6s both;
|
|
1911
|
-
margin-bottom: 48px;
|
|
1912
|
-
}
|
|
1913
|
-
|
|
1914
|
-
.code-header {
|
|
1915
|
-
background: rgba(255,255,255,0.05);
|
|
1916
|
-
border: 1px solid rgba(255,255,255,0.08);
|
|
1917
|
-
border-bottom: none;
|
|
1918
|
-
border-radius: 16px 16px 0 0;
|
|
1919
|
-
padding: 14px 20px;
|
|
1920
|
-
display: flex;
|
|
1921
|
-
align-items: center;
|
|
1922
|
-
gap: 8px;
|
|
1923
|
-
}
|
|
1924
|
-
|
|
1925
|
-
.code-dots {
|
|
1926
|
-
display: flex;
|
|
1927
|
-
gap: 6px;
|
|
1928
|
-
}
|
|
1929
|
-
|
|
1930
|
-
.code-dot {
|
|
1931
|
-
width: 12px;
|
|
1932
|
-
height: 12px;
|
|
1933
|
-
border-radius: 50%;
|
|
1934
|
-
background: rgba(255,255,255,0.1);
|
|
1935
|
-
}
|
|
1936
|
-
|
|
1937
|
-
.code-dot:nth-child(1) { background: #ff5f57; }
|
|
1938
|
-
.code-dot:nth-child(2) { background: #febc2e; }
|
|
1939
|
-
.code-dot:nth-child(3) { background: #28c840; }
|
|
1940
|
-
|
|
1941
|
-
.code-title {
|
|
1942
|
-
margin-left: auto;
|
|
1943
|
-
font-size: 12px;
|
|
1944
|
-
color: rgba(255,255,255,0.4);
|
|
1945
|
-
}
|
|
1946
|
-
|
|
1947
|
-
.code-block {
|
|
1948
|
-
background: rgba(0,0,0,0.4);
|
|
1949
|
-
border: 1px solid rgba(255,255,255,0.08);
|
|
1950
|
-
border-radius: 0 0 16px 16px;
|
|
1951
|
-
padding: 24px;
|
|
1952
|
-
font-family: 'Monaco', 'Menlo', monospace;
|
|
1953
|
-
font-size: 14px;
|
|
1954
|
-
line-height: 1.8;
|
|
1955
|
-
overflow-x: auto;
|
|
1956
|
-
}
|
|
1957
|
-
|
|
1958
|
-
.code-line {
|
|
1959
|
-
display: flex;
|
|
1960
|
-
}
|
|
1961
|
-
|
|
1962
|
-
.code-number {
|
|
1963
|
-
color: rgba(255,255,255,0.2);
|
|
1964
|
-
width: 40px;
|
|
1965
|
-
flex-shrink: 0;
|
|
1966
|
-
user-select: none;
|
|
1967
|
-
}
|
|
1968
|
-
|
|
1969
|
-
.code-content {
|
|
1970
|
-
color: rgba(255,255,255,0.8);
|
|
1971
|
-
}
|
|
1972
|
-
|
|
1973
|
-
.code-keyword { color: #c792ea; }
|
|
1974
|
-
.code-string { color: #c3e88d; }
|
|
1975
|
-
.code-function { color: #82aaff; }
|
|
1976
|
-
.code-comment { color: rgba(255,255,255,0.3); }
|
|
1977
|
-
.code-tag { color: #f07178; }
|
|
1978
|
-
.code-attr { color: #ffcb6b; }
|
|
1979
|
-
|
|
1980
|
-
/* Quick start */
|
|
1981
|
-
.quick-start {
|
|
1982
|
-
text-align: center;
|
|
1983
|
-
animation: fadeInUp 0.8s ease-out 0.7s both;
|
|
1984
|
-
}
|
|
1985
|
-
|
|
1986
|
-
.quick-start h2 {
|
|
1987
|
-
font-size: 14px;
|
|
1988
|
-
font-weight: 500;
|
|
1989
|
-
color: rgba(255,255,255,0.4);
|
|
1990
|
-
text-transform: uppercase;
|
|
1991
|
-
letter-spacing: 0.1em;
|
|
1992
|
-
margin-bottom: 20px;
|
|
1993
|
-
}
|
|
1994
|
-
|
|
1995
|
-
.quick-start-cmd {
|
|
1996
|
-
display: inline-flex;
|
|
1997
|
-
align-items: center;
|
|
1998
|
-
gap: 12px;
|
|
1999
|
-
background: rgba(255,255,255,0.05);
|
|
2000
|
-
border: 1px solid rgba(255,255,255,0.1);
|
|
2001
|
-
border-radius: 12px;
|
|
2002
|
-
padding: 16px 24px;
|
|
2003
|
-
font-family: 'Monaco', 'Menlo', monospace;
|
|
2004
|
-
font-size: 15px;
|
|
2005
|
-
cursor: pointer;
|
|
2006
|
-
transition: all 0.2s;
|
|
2007
|
-
}
|
|
2008
|
-
|
|
2009
|
-
.quick-start-cmd:hover {
|
|
2010
|
-
background: rgba(255,255,255,0.08);
|
|
2011
|
-
border-color: rgba(139, 92, 246, 0.4);
|
|
2012
|
-
}
|
|
2013
|
-
|
|
2014
|
-
.quick-start-cmd .prompt {
|
|
2015
|
-
color: var(--float-purple);
|
|
2016
|
-
}
|
|
2017
|
-
|
|
2018
|
-
.quick-start-cmd .text {
|
|
2019
|
-
color: rgba(255,255,255,0.8);
|
|
2020
|
-
}
|
|
2021
|
-
|
|
2022
|
-
.quick-start-cmd .copy {
|
|
2023
|
-
opacity: 0.4;
|
|
2024
|
-
transition: opacity 0.2s;
|
|
2025
|
-
}
|
|
2026
|
-
|
|
2027
|
-
.quick-start-cmd:hover .copy {
|
|
2028
|
-
opacity: 0.8;
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
|
-
/* Links */
|
|
2032
|
-
.links {
|
|
2033
|
-
display: flex;
|
|
2034
|
-
gap: 24px;
|
|
2035
|
-
margin-top: 48px;
|
|
2036
|
-
animation: fadeInUp 0.8s ease-out 0.8s both;
|
|
2037
|
-
}
|
|
2038
|
-
|
|
2039
|
-
.link {
|
|
2040
|
-
color: rgba(255,255,255,0.5);
|
|
2041
|
-
text-decoration: none;
|
|
2042
|
-
font-size: 14px;
|
|
2043
|
-
display: flex;
|
|
2044
|
-
align-items: center;
|
|
2045
|
-
gap: 6px;
|
|
2046
|
-
transition: color 0.2s;
|
|
2047
|
-
}
|
|
2048
|
-
|
|
2049
|
-
.link:hover {
|
|
2050
|
-
color: var(--float-purple);
|
|
2051
|
-
}
|
|
2052
|
-
|
|
2053
|
-
/* Footer */
|
|
2054
|
-
.footer {
|
|
2055
|
-
position: absolute;
|
|
2056
|
-
bottom: 24px;
|
|
2057
|
-
font-size: 12px;
|
|
2058
|
-
color: rgba(255,255,255,0.3);
|
|
2059
|
-
animation: fadeInUp 0.8s ease-out 0.9s both;
|
|
2060
|
-
}
|
|
2061
|
-
|
|
2062
|
-
@keyframes fadeInUp {
|
|
2063
|
-
from {
|
|
2064
|
-
opacity: 0;
|
|
2065
|
-
transform: translateY(20px);
|
|
2066
|
-
}
|
|
2067
|
-
to {
|
|
2068
|
-
opacity: 1;
|
|
2069
|
-
transform: translateY(0);
|
|
2070
|
-
}
|
|
2071
|
-
}
|
|
2072
|
-
|
|
2073
|
-
/* Responsive */
|
|
2074
|
-
@media (max-width: 640px) {
|
|
2075
|
-
.container { padding: 40px 20px; }
|
|
2076
|
-
.hero h1 { font-size: 40px; }
|
|
2077
|
-
.hero p { font-size: 16px; }
|
|
2078
|
-
.features { gap: 16px; }
|
|
2079
|
-
.feature { padding: 20px; }
|
|
2080
|
-
}
|
|
1733
|
+
.animate-fade-in { animation: fade-in 0.8s ease-out forwards; }
|
|
1734
|
+
.animate-fade-in-delay { animation: fade-in 0.8s ease-out 0.2s forwards; opacity: 0; }
|
|
1735
|
+
.animate-fade-in-delay-2 { animation: fade-in 0.8s ease-out 0.4s forwards; opacity: 0; }
|
|
1736
|
+
.animate-fade-in-delay-3 { animation: fade-in 0.8s ease-out 0.6s forwards; opacity: 0; }
|
|
1737
|
+
.animate-float { animation: float 3s ease-in-out infinite; }
|
|
1738
|
+
.animate-pulse-glow { animation: pulse-glow 4s ease-in-out infinite; }
|
|
2081
1739
|
</style>
|
|
2082
1740
|
</head>
|
|
2083
|
-
<body>
|
|
2084
|
-
<div class="bg-gradient"></div>
|
|
2085
|
-
<div class="bg-grid"></div>
|
|
2086
|
-
<div class="orb orb-1"></div>
|
|
2087
|
-
<div class="orb orb-2"></div>
|
|
2088
|
-
<div class="orb orb-3"></div>
|
|
1741
|
+
<body class="bg-black text-white min-h-screen flex flex-col">
|
|
2089
1742
|
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
<
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
<div class="feature-icon">\u26A1</div>
|
|
2118
|
-
<h3>Desarrollo Instant\xE1neo</h3>
|
|
2119
|
-
<p>Hot reload ultrarr\xE1pido con esbuild. Ve tus cambios al instante sin perder el estado.</p>
|
|
2120
|
-
</div>
|
|
2121
|
-
<div class="feature">
|
|
2122
|
-
<div class="feature-icon">\u{1F3AF}</div>
|
|
2123
|
-
<h3>Routing Inteligente</h3>
|
|
2124
|
-
<p>Sistema de rutas basado en archivos. Crea page.tsx y tu ruta est\xE1 lista autom\xE1ticamente.</p>
|
|
2125
|
-
</div>
|
|
2126
|
-
<div class="feature">
|
|
2127
|
-
<div class="feature-icon">\u{1F30A}</div>
|
|
2128
|
-
<h3>SSR Streaming</h3>
|
|
2129
|
-
<p>Renderizado del lado del servidor con React 18 y soporte para streaming nativo.</p>
|
|
1743
|
+
<!-- Background Effects -->
|
|
1744
|
+
<div class="fixed inset-0 pointer-events-none overflow-hidden">
|
|
1745
|
+
<!-- Gradient orbs -->
|
|
1746
|
+
<div class="absolute -top-40 -right-40 w-96 h-96 bg-blue-500/20 rounded-full blur-3xl animate-pulse-glow"></div>
|
|
1747
|
+
<div class="absolute -bottom-40 -left-40 w-96 h-96 bg-violet-500/20 rounded-full blur-3xl animate-pulse-glow" style="animation-delay: 2s;"></div>
|
|
1748
|
+
|
|
1749
|
+
<!-- Grid pattern -->
|
|
1750
|
+
<div class="absolute inset-0 bg-[linear-gradient(rgba(255,255,255,0.02)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.02)_1px,transparent_1px)] bg-[size:64px_64px]"></div>
|
|
1751
|
+
</div>
|
|
1752
|
+
|
|
1753
|
+
<!-- Main Content -->
|
|
1754
|
+
<main class="flex-1 flex items-center justify-center px-6 relative z-10">
|
|
1755
|
+
<div class="max-w-2xl w-full text-center">
|
|
1756
|
+
|
|
1757
|
+
<!-- Logo -->
|
|
1758
|
+
<div class="animate-fade-in animate-float mb-8">
|
|
1759
|
+
<svg class="w-20 h-20 mx-auto" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1760
|
+
<defs>
|
|
1761
|
+
<linearGradient id="logo-gradient" x1="50" y1="160" x2="170" y2="40" gradientUnits="userSpaceOnUse">
|
|
1762
|
+
<stop stop-color="#3B82F6"/>
|
|
1763
|
+
<stop offset="1" stop-color="#8B5CF6"/>
|
|
1764
|
+
</linearGradient>
|
|
1765
|
+
</defs>
|
|
1766
|
+
<path d="M50 145C50 136.716 56.7157 130 65 130H105C113.284 130 120 136.716 120 145C120 153.284 113.284 160 105 160H65C56.7157 160 50 153.284 50 145Z" fill="url(#logo-gradient)"/>
|
|
1767
|
+
<path d="M50 100C50 91.7157 56.7157 85 65 85H135C143.284 85 150 91.7157 150 100C150 108.284 143.284 115 135 115H65C56.7157 115 50 108.284 50 100Z" fill="url(#logo-gradient)"/>
|
|
1768
|
+
<path d="M50 55C50 46.7157 56.7157 40 65 40H155C163.284 40 170 46.7157 170 55C170 63.2843 163.284 70 155 70H65C56.7157 70 50 63.2843 50 55Z" fill="url(#logo-gradient)"/>
|
|
1769
|
+
</svg>
|
|
2130
1770
|
</div>
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
1771
|
+
|
|
1772
|
+
<!-- Title -->
|
|
1773
|
+
<h1 class="animate-fade-in-delay text-4xl sm:text-5xl font-semibold tracking-tight mb-4">
|
|
1774
|
+
Welcome to <span class="bg-gradient-to-r from-blue-400 to-violet-400 bg-clip-text text-transparent">Float.js</span>
|
|
1775
|
+
</h1>
|
|
1776
|
+
|
|
1777
|
+
<!-- Subtitle -->
|
|
1778
|
+
<p class="animate-fade-in-delay-2 text-lg text-zinc-400 mb-12 max-w-md mx-auto">
|
|
1779
|
+
The React framework built for speed. Get started by editing your first page.
|
|
1780
|
+
</p>
|
|
1781
|
+
|
|
1782
|
+
<!-- Code Block -->
|
|
1783
|
+
<div class="animate-fade-in-delay-3 bg-zinc-900/80 backdrop-blur-sm border border-zinc-800 rounded-xl p-6 mb-8 text-left">
|
|
1784
|
+
<div class="flex items-center gap-2 mb-4">
|
|
1785
|
+
<div class="w-3 h-3 rounded-full bg-zinc-700"></div>
|
|
1786
|
+
<div class="w-3 h-3 rounded-full bg-zinc-700"></div>
|
|
1787
|
+
<div class="w-3 h-3 rounded-full bg-zinc-700"></div>
|
|
1788
|
+
<span class="ml-3 text-xs text-zinc-500 font-mono">app/page.tsx</span>
|
|
2139
1789
|
</div>
|
|
2140
|
-
<span class="
|
|
1790
|
+
<pre class="text-sm font-mono overflow-x-auto"><code><span class="text-violet-400">export default</span> <span class="text-blue-400">function</span> <span class="text-yellow-300">Page</span>() {
|
|
1791
|
+
<span class="text-violet-400">return</span> (
|
|
1792
|
+
<span class="text-zinc-500"><</span><span class="text-blue-300">h1</span><span class="text-zinc-500">></span><span class="text-zinc-300">Hello, Float.js!</span><span class="text-zinc-500"></</span><span class="text-blue-300">h1</span><span class="text-zinc-500">></span>
|
|
1793
|
+
);
|
|
1794
|
+
}</code></pre>
|
|
2141
1795
|
</div>
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
1796
|
+
|
|
1797
|
+
<!-- Action Buttons -->
|
|
1798
|
+
<div class="animate-fade-in-delay-3 flex flex-col sm:flex-row gap-4 justify-center">
|
|
1799
|
+
<a href="https://floatjs.dev/docs" target="_blank"
|
|
1800
|
+
class="inline-flex items-center justify-center gap-2 px-6 py-3 bg-white text-black font-medium rounded-lg hover:bg-zinc-200 transition-colors">
|
|
1801
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
1802
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"/>
|
|
1803
|
+
</svg>
|
|
1804
|
+
Read the Docs
|
|
1805
|
+
</a>
|
|
1806
|
+
<a href="https://github.com/float-js/float-js" target="_blank"
|
|
1807
|
+
class="inline-flex items-center justify-center gap-2 px-6 py-3 bg-zinc-900 text-white font-medium rounded-lg border border-zinc-800 hover:bg-zinc-800 hover:border-zinc-700 transition-colors">
|
|
1808
|
+
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24">
|
|
1809
|
+
<path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/>
|
|
1810
|
+
</svg>
|
|
1811
|
+
View on GitHub
|
|
1812
|
+
</a>
|
|
1813
|
+
</div>
|
|
1814
|
+
|
|
1815
|
+
<!-- Quick Commands -->
|
|
1816
|
+
<div class="animate-fade-in-delay-3 mt-12 grid grid-cols-1 sm:grid-cols-3 gap-4 text-left">
|
|
1817
|
+
<div class="p-4 bg-zinc-900/50 border border-zinc-800/50 rounded-lg">
|
|
1818
|
+
<div class="text-xs text-zinc-500 mb-1 font-mono">Create page</div>
|
|
1819
|
+
<code class="text-sm text-zinc-300 font-mono">mkdir app && touch app/page.tsx</code>
|
|
2154
1820
|
</div>
|
|
2155
|
-
<div class="
|
|
2156
|
-
<
|
|
2157
|
-
<
|
|
1821
|
+
<div class="p-4 bg-zinc-900/50 border border-zinc-800/50 rounded-lg">
|
|
1822
|
+
<div class="text-xs text-zinc-500 mb-1 font-mono">Add route</div>
|
|
1823
|
+
<code class="text-sm text-zinc-300 font-mono">touch app/about/page.tsx</code>
|
|
2158
1824
|
</div>
|
|
2159
|
-
<div class="
|
|
2160
|
-
<
|
|
2161
|
-
<
|
|
1825
|
+
<div class="p-4 bg-zinc-900/50 border border-zinc-800/50 rounded-lg">
|
|
1826
|
+
<div class="text-xs text-zinc-500 mb-1 font-mono">API route</div>
|
|
1827
|
+
<code class="text-sm text-zinc-300 font-mono">touch app/api/route.ts</code>
|
|
2162
1828
|
</div>
|
|
2163
1829
|
</div>
|
|
1830
|
+
|
|
2164
1831
|
</div>
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
1832
|
+
</main>
|
|
1833
|
+
|
|
1834
|
+
<!-- Footer -->
|
|
1835
|
+
<footer class="relative z-10 border-t border-zinc-800/50 py-8 px-6">
|
|
1836
|
+
<div class="max-w-2xl mx-auto flex flex-col sm:flex-row items-center justify-between gap-4">
|
|
1837
|
+
|
|
1838
|
+
<!-- Left: Logo + Version -->
|
|
1839
|
+
<div class="flex items-center gap-3">
|
|
1840
|
+
<svg class="w-6 h-6" viewBox="0 0 200 200" fill="none">
|
|
1841
|
+
<defs>
|
|
1842
|
+
<linearGradient id="footer-gradient" x1="50" y1="160" x2="170" y2="40" gradientUnits="userSpaceOnUse">
|
|
1843
|
+
<stop stop-color="#3B82F6"/>
|
|
1844
|
+
<stop offset="1" stop-color="#8B5CF6"/>
|
|
1845
|
+
</linearGradient>
|
|
1846
|
+
</defs>
|
|
1847
|
+
<path d="M50 145C50 136.716 56.7157 130 65 130H105C113.284 130 120 136.716 120 145C120 153.284 113.284 160 105 160H65C56.7157 160 50 153.284 50 145Z" fill="url(#footer-gradient)"/>
|
|
1848
|
+
<path d="M50 100C50 91.7157 56.7157 85 65 85H135C143.284 85 150 91.7157 150 100C150 108.284 143.284 115 135 115H65C56.7157 115 50 108.284 50 100Z" fill="url(#footer-gradient)"/>
|
|
1849
|
+
<path d="M50 55C50 46.7157 56.7157 40 65 40H155C163.284 40 170 46.7157 170 55C170 63.2843 163.284 70 155 70H65C56.7157 70 50 63.2843 50 55Z" fill="url(#footer-gradient)"/>
|
|
1850
|
+
</svg>
|
|
1851
|
+
<span class="text-sm text-zinc-500">Float.js v2.0.4</span>
|
|
2172
1852
|
</div>
|
|
1853
|
+
|
|
1854
|
+
<!-- Center: Creator Info -->
|
|
1855
|
+
<div class="text-center">
|
|
1856
|
+
<p class="text-sm text-zinc-400">
|
|
1857
|
+
Created by <span class="text-white font-medium">Peter Fulle</span>
|
|
1858
|
+
</p>
|
|
1859
|
+
<a href="mailto:prfulle@gmail.com" class="text-xs text-zinc-500 hover:text-zinc-400 transition-colors">
|
|
1860
|
+
prfulle@gmail.com
|
|
1861
|
+
</a>
|
|
1862
|
+
</div>
|
|
1863
|
+
|
|
1864
|
+
<!-- Right: Links -->
|
|
1865
|
+
<div class="flex items-center gap-4">
|
|
1866
|
+
<a href="https://floatjs.dev" target="_blank" class="text-sm text-zinc-500 hover:text-white transition-colors">Docs</a>
|
|
1867
|
+
<a href="https://github.com/float-js/float-js" target="_blank" class="text-sm text-zinc-500 hover:text-white transition-colors">GitHub</a>
|
|
1868
|
+
<a href="https://x.com/floatjs" target="_blank" class="text-sm text-zinc-500 hover:text-white transition-colors">Twitter</a>
|
|
1869
|
+
</div>
|
|
1870
|
+
|
|
2173
1871
|
</div>
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
<a href="https://floatjs.dev/docs" target="_blank" class="link">
|
|
2177
|
-
<span>\u{1F4D6}</span> Documentaci\xF3n
|
|
2178
|
-
</a>
|
|
2179
|
-
<a href="https://github.com/floatjs/float" target="_blank" class="link">
|
|
2180
|
-
<span>\u2B50</span> GitHub
|
|
2181
|
-
</a>
|
|
2182
|
-
<a href="https://floatjs.dev/examples" target="_blank" class="link">
|
|
2183
|
-
<span>\u{1F3A8}</span> Ejemplos
|
|
2184
|
-
</a>
|
|
2185
|
-
</div>
|
|
2186
|
-
|
|
2187
|
-
<div class="footer">
|
|
2188
|
-
Float.js v2.0.1 \u2014 Made with \u26A1 for the modern web
|
|
2189
|
-
</div>
|
|
2190
|
-
</div>
|
|
1872
|
+
</footer>
|
|
1873
|
+
|
|
2191
1874
|
</body>
|
|
2192
1875
|
</html>`;
|
|
2193
1876
|
}
|
|
@@ -2801,7 +2484,7 @@ async function startProductionServer(options) {
|
|
|
2801
2484
|
|
|
2802
2485
|
// src/version.ts
|
|
2803
2486
|
init_esm_shims();
|
|
2804
|
-
var VERSION = "2.0.
|
|
2487
|
+
var VERSION = "2.0.4";
|
|
2805
2488
|
|
|
2806
2489
|
// src/cli/index.ts
|
|
2807
2490
|
var cli = cac("float");
|