@agent-analytics/shared-ui 0.1.0 → 0.2.0

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/README.md CHANGED
@@ -2,13 +2,17 @@
2
2
 
3
3
  Shared UI primitives, design tokens, and site chrome for Agent Analytics properties.
4
4
 
5
+ Consumers install published package versions only. Do not rely on sibling-repo `dist/` fallbacks in app builds or CI.
6
+
5
7
  ## Exports
6
8
 
7
9
  - `@agent-analytics/shared-ui/tokens.json`
8
10
  - `@agent-analytics/shared-ui/variables.css`
9
11
  - `@agent-analytics/shared-ui/tailwind.css`
10
12
  - `@agent-analytics/shared-ui/recipes.css`
13
+ - `@agent-analytics/shared-ui/header`
11
14
  - `@agent-analytics/shared-ui/footer`
15
+ - `@agent-analytics/shared-ui/eleventy/header.njk`
12
16
  - `@agent-analytics/shared-ui/astro/Footer.astro`
13
17
  - `@agent-analytics/shared-ui/eleventy/footer.njk`
14
18
 
@@ -24,8 +28,10 @@ npm run build
24
28
  npm publish --access public
25
29
  ```
26
30
 
31
+ After publishing a new version, update each consumer repo to that exact version and refresh its lockfile before pushing.
32
+
27
33
  ## Consumer usage
28
34
 
29
35
  ```bash
30
- npm install @agent-analytics/shared-ui@0.1.0
36
+ npm install @agent-analytics/shared-ui@0.2.0
31
37
  ```
@@ -1,70 +1,54 @@
1
- ---
2
- const links = [
3
- {
4
- "href": "https://github.com/Agent-Analytics/agent-analytics",
5
- "label": "GitHub",
6
- "external": true
7
- },
8
- {
9
- "href": "https://docs.agentanalytics.sh",
10
- "label": "API Docs"
11
- },
12
- {
13
- "href": "https://blog.agentanalytics.sh",
14
- "label": "Blog"
15
- },
16
- {
17
- "href": "https://app.agentanalytics.sh",
18
- "label": "Dashboard"
19
- },
20
- {
21
- "href": "https://x.com/analytics_90590",
22
- "label": "X",
23
- "external": true
24
- },
25
- {
26
- "href": "mailto:contact@agentanalytics.sh",
27
- "label": "Contact"
28
- },
29
- {
30
- "href": "mailto:support@agentanalytics.sh",
31
- "label": "Support"
32
- },
33
- {
34
- "href": "https://agentanalytics.sh/privacy",
35
- "label": "Privacy"
36
- },
37
- {
38
- "href": "https://agentanalytics.sh/terms",
39
- "label": "Terms"
40
- },
41
- {
42
- "href": "https://agentanalytics.sh/dpa",
43
- "label": "DPA"
44
- }
45
- ];
46
- const copy = "Built for builders who ship fast. Open source under MIT.";
47
- const logoSrc = "/favicon.png";
48
- const logoAlt = "Agent Analytics";
49
- ---
50
-
51
1
  <footer class="aa-footer" data-aa-impression="footer">
52
2
  <div class="aa-footer__inner">
53
- <div class="aa-footer__mark">
54
- <img src={logoSrc} alt={logoAlt} />
3
+ <div class="aa-footer__grid">
4
+ <div class="aa-footer__brand">
5
+ <div class="aa-footer__mark">
6
+ <img src="/logo-v2.png" alt="Agent Analytics" />
7
+ </div>
8
+ <div class="aa-footer__brand-copy">
9
+ <h2 class="aa-footer__title">Agent Analytics</h2>
10
+ <p class="aa-footer__description">Agent-ready analytics for builders who ship fast.</p>
11
+ <p class="aa-footer__copy">Built for builders who ship fast. Open source under MIT.</p>
12
+ </div>
13
+ </div>
14
+ <nav class="aa-footer__sections" aria-label="Footer">
15
+ <section class="aa-footer__section">
16
+ <h3 class="aa-footer__heading">Product</h3>
17
+ <div class="aa-footer__list">
18
+ <a href="https://app.agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_product_dashboard'})">Dashboard</a>
19
+ <a href="https://blog.agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_product_blog'})">Blog</a>
20
+ <a href="https://docs.agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_product_docs'})">API Docs</a>
21
+ <a href="https://github.com/Agent-Analytics/agent-analytics" class="aa-footer__link" target="_blank" rel="noopener noreferrer" onclick="window.aa?.track('cta_click',{id:'footer_product_github'})">GitHub</a>
22
+ </div>
23
+ </section>
24
+ <section class="aa-footer__section">
25
+ <h3 class="aa-footer__heading">Compare</h3>
26
+ <div class="aa-footer__list">
27
+ <a href="https://agentanalytics.sh/compare/umami" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_umami'})">vs Umami</a>
28
+ <a href="https://agentanalytics.sh/compare/mixpanel" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_mixpanel'})">vs Mixpanel</a>
29
+ <a href="https://agentanalytics.sh/compare/amplitude" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_amplitude'})">vs Amplitude</a>
30
+ <a href="https://agentanalytics.sh/compare/ga4" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_ga4'})">vs GA4</a>
31
+ <a href="https://agentanalytics.sh/compare/heap" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_heap'})">vs Heap</a>
32
+ <a href="https://agentanalytics.sh/compare/adobe-analytics" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_adobe_analytics'})">vs Adobe Analytics</a>
33
+ </div>
34
+ </section>
35
+ <section class="aa-footer__section">
36
+ <h3 class="aa-footer__heading">Company</h3>
37
+ <div class="aa-footer__list">
38
+ <a href="https://x.com/analytics_90590" class="aa-footer__link" target="_blank" rel="noopener noreferrer" onclick="window.aa?.track('cta_click',{id:'footer_company_x'})">X</a>
39
+ <a href="mailto:contact@agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_company_contact'})">Contact</a>
40
+ <a href="mailto:support@agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_company_support'})">Support</a>
41
+ </div>
42
+ </section>
43
+ <section class="aa-footer__section">
44
+ <h3 class="aa-footer__heading">Legal</h3>
45
+ <div class="aa-footer__list">
46
+ <a href="https://agentanalytics.sh/privacy" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_legal_privacy'})">Privacy</a>
47
+ <a href="https://agentanalytics.sh/terms" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_legal_terms'})">Terms</a>
48
+ <a href="https://agentanalytics.sh/dpa" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_legal_dpa'})">DPA</a>
49
+ </div>
50
+ </section>
51
+ </nav>
55
52
  </div>
56
- <nav class="aa-footer__links" aria-label="Footer">
57
- <a href="https://github.com/Agent-Analytics/agent-analytics" class="aa-footer__link" target="_blank" rel="noopener noreferrer">GitHub</a>
58
- <a href="https://docs.agentanalytics.sh" class="aa-footer__link">API Docs</a>
59
- <a href="https://blog.agentanalytics.sh" class="aa-footer__link">Blog</a>
60
- <a href="https://app.agentanalytics.sh" class="aa-footer__link">Dashboard</a>
61
- <a href="https://x.com/analytics_90590" class="aa-footer__link" target="_blank" rel="noopener noreferrer">X</a>
62
- <a href="mailto:contact@agentanalytics.sh" class="aa-footer__link">Contact</a>
63
- <a href="mailto:support@agentanalytics.sh" class="aa-footer__link">Support</a>
64
- <a href="https://agentanalytics.sh/privacy" class="aa-footer__link">Privacy</a>
65
- <a href="https://agentanalytics.sh/terms" class="aa-footer__link">Terms</a>
66
- <a href="https://agentanalytics.sh/dpa" class="aa-footer__link">DPA</a>
67
- </nav>
68
- <p class="aa-footer__copy">{copy}</p>
69
53
  </div>
70
54
  </footer>
@@ -1,20 +1,54 @@
1
1
  <footer class="aa-footer" data-aa-impression="footer">
2
2
  <div class="aa-footer__inner">
3
- <div class="aa-footer__mark">
4
- <img src="/favicon.png" alt="Agent Analytics">
3
+ <div class="aa-footer__grid">
4
+ <div class="aa-footer__brand">
5
+ <div class="aa-footer__mark">
6
+ <img src="/logo-v2.png" alt="Agent Analytics">
7
+ </div>
8
+ <div class="aa-footer__brand-copy">
9
+ <h2 class="aa-footer__title">Agent Analytics</h2>
10
+ <p class="aa-footer__description">Agent-ready analytics for builders who ship fast.</p>
11
+ <p class="aa-footer__copy">Built for builders who ship fast. Open source under MIT.</p>
12
+ </div>
13
+ </div>
14
+ <nav class="aa-footer__sections" aria-label="Footer">
15
+ <section class="aa-footer__section">
16
+ <h3 class="aa-footer__heading">Product</h3>
17
+ <div class="aa-footer__list">
18
+ <a href="https://app.agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_product_dashboard'})">Dashboard</a>
19
+ <a href="https://blog.agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_product_blog'})">Blog</a>
20
+ <a href="https://docs.agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_product_docs'})">API Docs</a>
21
+ <a href="https://github.com/Agent-Analytics/agent-analytics" class="aa-footer__link" target="_blank" rel="noopener noreferrer" onclick="window.aa?.track('cta_click',{id:'footer_product_github'})">GitHub</a>
22
+ </div>
23
+ </section>
24
+ <section class="aa-footer__section">
25
+ <h3 class="aa-footer__heading">Compare</h3>
26
+ <div class="aa-footer__list">
27
+ <a href="https://agentanalytics.sh/compare/umami" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_umami'})">vs Umami</a>
28
+ <a href="https://agentanalytics.sh/compare/mixpanel" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_mixpanel'})">vs Mixpanel</a>
29
+ <a href="https://agentanalytics.sh/compare/amplitude" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_amplitude'})">vs Amplitude</a>
30
+ <a href="https://agentanalytics.sh/compare/ga4" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_ga4'})">vs GA4</a>
31
+ <a href="https://agentanalytics.sh/compare/heap" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_heap'})">vs Heap</a>
32
+ <a href="https://agentanalytics.sh/compare/adobe-analytics" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_compare_adobe_analytics'})">vs Adobe Analytics</a>
33
+ </div>
34
+ </section>
35
+ <section class="aa-footer__section">
36
+ <h3 class="aa-footer__heading">Company</h3>
37
+ <div class="aa-footer__list">
38
+ <a href="https://x.com/analytics_90590" class="aa-footer__link" target="_blank" rel="noopener noreferrer" onclick="window.aa?.track('cta_click',{id:'footer_company_x'})">X</a>
39
+ <a href="mailto:contact@agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_company_contact'})">Contact</a>
40
+ <a href="mailto:support@agentanalytics.sh" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_company_support'})">Support</a>
41
+ </div>
42
+ </section>
43
+ <section class="aa-footer__section">
44
+ <h3 class="aa-footer__heading">Legal</h3>
45
+ <div class="aa-footer__list">
46
+ <a href="https://agentanalytics.sh/privacy" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_legal_privacy'})">Privacy</a>
47
+ <a href="https://agentanalytics.sh/terms" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_legal_terms'})">Terms</a>
48
+ <a href="https://agentanalytics.sh/dpa" class="aa-footer__link" onclick="window.aa?.track('cta_click',{id:'footer_legal_dpa'})">DPA</a>
49
+ </div>
50
+ </section>
51
+ </nav>
5
52
  </div>
6
- <nav class="aa-footer__links" aria-label="Footer">
7
- <a href="https://github.com/Agent-Analytics/agent-analytics" class="aa-footer__link" target="_blank" rel="noopener noreferrer">GitHub</a>
8
- <a href="https://docs.agentanalytics.sh" class="aa-footer__link">API Docs</a>
9
- <a href="https://blog.agentanalytics.sh" class="aa-footer__link">Blog</a>
10
- <a href="https://app.agentanalytics.sh" class="aa-footer__link">Dashboard</a>
11
- <a href="https://x.com/analytics_90590" class="aa-footer__link" target="_blank" rel="noopener noreferrer">X</a>
12
- <a href="mailto:contact@agentanalytics.sh" class="aa-footer__link">Contact</a>
13
- <a href="mailto:support@agentanalytics.sh" class="aa-footer__link">Support</a>
14
- <a href="https://agentanalytics.sh/privacy" class="aa-footer__link">Privacy</a>
15
- <a href="https://agentanalytics.sh/terms" class="aa-footer__link">Terms</a>
16
- <a href="https://agentanalytics.sh/dpa" class="aa-footer__link">DPA</a>
17
- </nav>
18
- <p class="aa-footer__copy">Built for builders who ship fast. Open source under MIT.</p>
19
53
  </div>
20
54
  </footer>
@@ -0,0 +1,19 @@
1
+ <header class="aa-site-header aa-utility-header">
2
+ <div class="aa-utility-header__inner">
3
+ <a href="/" class="aa-utility-header__brand">
4
+ <span class="aa-utility-header__mark">
5
+ <img src="/logo-v2.png" alt="Agent Analytics">
6
+ </span>
7
+ <span class="aa-utility-header__copy">
8
+ <strong>AgentAnalytics</strong>
9
+ <span>Agent-ready analytics</span>
10
+ </span>
11
+ </a>
12
+ <nav class="aa-utility-header__nav" aria-label="Primary">
13
+ <a href="https://blog.agentanalytics.sh" class="aa-utility-header__link aa-link-muted" onclick="window.aa?.track('cta_click',{id:'nav_blog'})">Blog</a>
14
+ <a href="https://docs.agentanalytics.sh" class="aa-utility-header__link aa-link-muted" onclick="window.aa?.track('cta_click',{id:'nav_docs'})">Docs</a>
15
+ <a href="/#pricing" class="aa-utility-header__link aa-link-muted" onclick="window.aa?.track('cta_click',{id:'nav_pricing'})">Pricing</a>
16
+ <a href="https://app.agentanalytics.sh" class="aa-utility-header__cta aa-button-dark" onclick="window.aa?.track('cta_click',{id:'nav_start_free'})">Start free</a>
17
+ </nav>
18
+ </div>
19
+ </header>
package/dist/footer.js CHANGED
@@ -1,54 +1,203 @@
1
1
  export const footerLinks = [
2
+ {
3
+ "href": "https://app.agentanalytics.sh",
4
+ "label": "Dashboard",
5
+ "trackingId": "footer_product_dashboard"
6
+ },
7
+ {
8
+ "href": "https://blog.agentanalytics.sh",
9
+ "label": "Blog",
10
+ "trackingId": "footer_product_blog"
11
+ },
12
+ {
13
+ "href": "https://docs.agentanalytics.sh",
14
+ "label": "API Docs",
15
+ "trackingId": "footer_product_docs"
16
+ },
2
17
  {
3
18
  "href": "https://github.com/Agent-Analytics/agent-analytics",
4
19
  "label": "GitHub",
5
- "external": true
20
+ "external": true,
21
+ "trackingId": "footer_product_github"
6
22
  },
7
23
  {
8
- "href": "https://docs.agentanalytics.sh",
9
- "label": "API Docs"
24
+ "href": "https://agentanalytics.sh/compare/umami",
25
+ "label": "vs Umami",
26
+ "trackingId": "footer_compare_umami"
10
27
  },
11
28
  {
12
- "href": "https://blog.agentanalytics.sh",
13
- "label": "Blog"
29
+ "href": "https://agentanalytics.sh/compare/mixpanel",
30
+ "label": "vs Mixpanel",
31
+ "trackingId": "footer_compare_mixpanel"
14
32
  },
15
33
  {
16
- "href": "https://app.agentanalytics.sh",
17
- "label": "Dashboard"
34
+ "href": "https://agentanalytics.sh/compare/amplitude",
35
+ "label": "vs Amplitude",
36
+ "trackingId": "footer_compare_amplitude"
37
+ },
38
+ {
39
+ "href": "https://agentanalytics.sh/compare/ga4",
40
+ "label": "vs GA4",
41
+ "trackingId": "footer_compare_ga4"
42
+ },
43
+ {
44
+ "href": "https://agentanalytics.sh/compare/heap",
45
+ "label": "vs Heap",
46
+ "trackingId": "footer_compare_heap"
47
+ },
48
+ {
49
+ "href": "https://agentanalytics.sh/compare/adobe-analytics",
50
+ "label": "vs Adobe Analytics",
51
+ "trackingId": "footer_compare_adobe_analytics"
18
52
  },
19
53
  {
20
54
  "href": "https://x.com/analytics_90590",
21
55
  "label": "X",
22
- "external": true
56
+ "external": true,
57
+ "trackingId": "footer_company_x"
23
58
  },
24
59
  {
25
60
  "href": "mailto:contact@agentanalytics.sh",
26
- "label": "Contact"
61
+ "label": "Contact",
62
+ "trackingId": "footer_company_contact"
27
63
  },
28
64
  {
29
65
  "href": "mailto:support@agentanalytics.sh",
30
- "label": "Support"
66
+ "label": "Support",
67
+ "trackingId": "footer_company_support"
31
68
  },
32
69
  {
33
70
  "href": "https://agentanalytics.sh/privacy",
34
- "label": "Privacy"
71
+ "label": "Privacy",
72
+ "trackingId": "footer_legal_privacy"
35
73
  },
36
74
  {
37
75
  "href": "https://agentanalytics.sh/terms",
38
- "label": "Terms"
76
+ "label": "Terms",
77
+ "trackingId": "footer_legal_terms"
39
78
  },
40
79
  {
41
80
  "href": "https://agentanalytics.sh/dpa",
42
- "label": "DPA"
81
+ "label": "DPA",
82
+ "trackingId": "footer_legal_dpa"
83
+ }
84
+ ];
85
+ export const footerSections = [
86
+ {
87
+ "title": "Product",
88
+ "links": [
89
+ {
90
+ "href": "https://app.agentanalytics.sh",
91
+ "label": "Dashboard",
92
+ "trackingId": "footer_product_dashboard"
93
+ },
94
+ {
95
+ "href": "https://blog.agentanalytics.sh",
96
+ "label": "Blog",
97
+ "trackingId": "footer_product_blog"
98
+ },
99
+ {
100
+ "href": "https://docs.agentanalytics.sh",
101
+ "label": "API Docs",
102
+ "trackingId": "footer_product_docs"
103
+ },
104
+ {
105
+ "href": "https://github.com/Agent-Analytics/agent-analytics",
106
+ "label": "GitHub",
107
+ "external": true,
108
+ "trackingId": "footer_product_github"
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "title": "Compare",
114
+ "links": [
115
+ {
116
+ "href": "https://agentanalytics.sh/compare/umami",
117
+ "label": "vs Umami",
118
+ "trackingId": "footer_compare_umami"
119
+ },
120
+ {
121
+ "href": "https://agentanalytics.sh/compare/mixpanel",
122
+ "label": "vs Mixpanel",
123
+ "trackingId": "footer_compare_mixpanel"
124
+ },
125
+ {
126
+ "href": "https://agentanalytics.sh/compare/amplitude",
127
+ "label": "vs Amplitude",
128
+ "trackingId": "footer_compare_amplitude"
129
+ },
130
+ {
131
+ "href": "https://agentanalytics.sh/compare/ga4",
132
+ "label": "vs GA4",
133
+ "trackingId": "footer_compare_ga4"
134
+ },
135
+ {
136
+ "href": "https://agentanalytics.sh/compare/heap",
137
+ "label": "vs Heap",
138
+ "trackingId": "footer_compare_heap"
139
+ },
140
+ {
141
+ "href": "https://agentanalytics.sh/compare/adobe-analytics",
142
+ "label": "vs Adobe Analytics",
143
+ "trackingId": "footer_compare_adobe_analytics"
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ "title": "Company",
149
+ "links": [
150
+ {
151
+ "href": "https://x.com/analytics_90590",
152
+ "label": "X",
153
+ "external": true,
154
+ "trackingId": "footer_company_x"
155
+ },
156
+ {
157
+ "href": "mailto:contact@agentanalytics.sh",
158
+ "label": "Contact",
159
+ "trackingId": "footer_company_contact"
160
+ },
161
+ {
162
+ "href": "mailto:support@agentanalytics.sh",
163
+ "label": "Support",
164
+ "trackingId": "footer_company_support"
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "title": "Legal",
170
+ "links": [
171
+ {
172
+ "href": "https://agentanalytics.sh/privacy",
173
+ "label": "Privacy",
174
+ "trackingId": "footer_legal_privacy"
175
+ },
176
+ {
177
+ "href": "https://agentanalytics.sh/terms",
178
+ "label": "Terms",
179
+ "trackingId": "footer_legal_terms"
180
+ },
181
+ {
182
+ "href": "https://agentanalytics.sh/dpa",
183
+ "label": "DPA",
184
+ "trackingId": "footer_legal_dpa"
185
+ }
186
+ ]
43
187
  }
44
188
  ];
45
189
  export const footerCopy = "Built for builders who ship fast. Open source under MIT.";
46
- export const footerLogoSrc = "/favicon.png";
190
+ export const footerDescription = "Agent-ready analytics for builders who ship fast.";
191
+ export const footerLogoSrc = "/logo-v2.png";
47
192
  export const footerLogoAlt = "Agent Analytics";
193
+ export const footerTitle = "Agent Analytics";
48
194
 
49
195
  export default {
50
196
  copy: footerCopy,
197
+ description: footerDescription,
51
198
  links: footerLinks,
52
199
  logoAlt: footerLogoAlt,
53
200
  logoSrc: footerLogoSrc,
201
+ sections: footerSections,
202
+ title: footerTitle,
54
203
  };
package/dist/header.js ADDED
@@ -0,0 +1,35 @@
1
+ export const headerBrand = {
2
+ "href": "/",
3
+ "logoAlt": "Agent Analytics",
4
+ "logoSrc": "/logo-v2.png",
5
+ "subtitle": "Agent-ready analytics",
6
+ "title": "AgentAnalytics"
7
+ };
8
+ export const headerLinks = [
9
+ {
10
+ "href": "https://blog.agentanalytics.sh",
11
+ "label": "Blog",
12
+ "trackingId": "nav_blog"
13
+ },
14
+ {
15
+ "href": "https://docs.agentanalytics.sh",
16
+ "label": "Docs",
17
+ "trackingId": "nav_docs"
18
+ },
19
+ {
20
+ "href": "/#pricing",
21
+ "label": "Pricing",
22
+ "trackingId": "nav_pricing"
23
+ }
24
+ ];
25
+ export const headerCta = {
26
+ "href": "https://app.agentanalytics.sh",
27
+ "label": "Start free",
28
+ "trackingId": "nav_start_free"
29
+ };
30
+
31
+ export default {
32
+ brand: headerBrand,
33
+ cta: headerCta,
34
+ links: headerLinks,
35
+ };
package/dist/recipes.css CHANGED
@@ -36,6 +36,85 @@
36
36
  border-bottom: 1px solid var(--header-border);
37
37
  }
38
38
 
39
+ .aa-utility-header__inner {
40
+ width: min(1180px, calc(100% - 56px));
41
+ margin: 0 auto;
42
+ padding: 18px 0;
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: space-between;
46
+ gap: 24px;
47
+ }
48
+
49
+ .aa-utility-header__brand {
50
+ display: inline-flex;
51
+ align-items: center;
52
+ gap: 12px;
53
+ min-width: 0;
54
+ color: var(--text);
55
+ text-decoration: none;
56
+ }
57
+
58
+ .aa-utility-header__mark {
59
+ width: 42px;
60
+ height: 42px;
61
+ display: inline-flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ flex-shrink: 0;
65
+ }
66
+
67
+ .aa-utility-header__mark img {
68
+ width: 100%;
69
+ height: 100%;
70
+ object-fit: contain;
71
+ }
72
+
73
+ .aa-utility-header__copy {
74
+ display: flex;
75
+ flex-direction: column;
76
+ gap: 2px;
77
+ min-width: 0;
78
+ }
79
+
80
+ .aa-utility-header__copy strong {
81
+ font-size: 16px;
82
+ font-weight: 700;
83
+ letter-spacing: -0.03em;
84
+ }
85
+
86
+ .aa-utility-header__copy span {
87
+ font-family: var(--font-mono);
88
+ font-size: 11px;
89
+ color: var(--text-dim);
90
+ text-transform: uppercase;
91
+ letter-spacing: 0.14em;
92
+ white-space: nowrap;
93
+ }
94
+
95
+ .aa-utility-header__nav {
96
+ display: flex;
97
+ align-items: center;
98
+ gap: 22px;
99
+ font-size: 14px;
100
+ }
101
+
102
+ .aa-utility-header__link {
103
+ text-decoration: none;
104
+ transition: color 0.2s ease;
105
+ }
106
+
107
+ .aa-utility-header__cta {
108
+ display: inline-flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ padding: 11px 18px;
112
+ border-radius: 14px;
113
+ font-size: 13px;
114
+ font-weight: 600;
115
+ text-decoration: none;
116
+ }
117
+
39
118
  .aa-paper-card,
40
119
  .aa-paper-panel {
41
120
  background: var(--surface-glass);
@@ -140,14 +219,26 @@
140
219
 
141
220
  .aa-footer {
142
221
  margin-top: clamp(4rem, 8vw, 6rem);
143
- padding: 3.5rem 0 4rem;
222
+ padding: clamp(3rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 4.5rem);
144
223
  border-top: 1px solid var(--aa-footer-border, var(--sl-color-hairline, rgba(16, 19, 19, 0.08)));
145
224
  }
146
225
 
147
226
  .aa-footer__inner {
148
227
  width: min(72rem, calc(100% - 3rem));
149
228
  margin: 0 auto;
150
- text-align: center;
229
+ }
230
+
231
+ .aa-footer__grid {
232
+ display: grid;
233
+ grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.6fr);
234
+ gap: 2.5rem 3rem;
235
+ align-items: start;
236
+ }
237
+
238
+ .aa-footer__brand {
239
+ display: grid;
240
+ gap: 1.25rem;
241
+ align-content: start;
151
242
  }
152
243
 
153
244
  .aa-footer__mark {
@@ -156,7 +247,6 @@
156
247
  justify-content: center;
157
248
  width: 5rem;
158
249
  height: 5rem;
159
- margin-bottom: 1.5rem;
160
250
  border-radius: 1.75rem;
161
251
  border: 1px solid var(--aa-footer-mark-border, var(--sl-color-hairline, rgba(16, 19, 19, 0.08)));
162
252
  background: var(--aa-footer-mark-bg, var(--sl-color-bg-sidebar, var(--surface-strong, rgba(255, 255, 255, 0.6))));
@@ -166,23 +256,66 @@
166
256
  .aa-footer__mark img {
167
257
  width: 3rem;
168
258
  height: 3rem;
259
+ object-fit: contain;
169
260
  border-radius: 1rem;
170
261
  }
171
262
 
172
- .aa-footer__links {
173
- display: flex;
174
- flex-wrap: wrap;
175
- align-items: center;
176
- justify-content: center;
177
- gap: 0.9rem 2rem;
178
- margin-bottom: 1.25rem;
263
+ .aa-footer__brand-copy {
264
+ display: grid;
265
+ gap: 0.7rem;
266
+ }
267
+
268
+ .aa-footer__title {
269
+ margin: 0;
270
+ font-size: clamp(1.5rem, 3vw, 1.9rem);
271
+ line-height: 1.05;
272
+ letter-spacing: -0.04em;
273
+ }
274
+
275
+ .aa-footer__description {
276
+ margin: 0;
277
+ max-width: 24rem;
278
+ color: var(--text-dim);
279
+ font-size: 1rem;
280
+ line-height: 1.65;
281
+ }
282
+
283
+ .aa-footer__copy {
284
+ margin: 0;
285
+ color: var(--aa-footer-copy, var(--sl-color-gray-3, var(--text-muted)));
286
+ font-size: 0.95rem;
287
+ line-height: 1.6;
288
+ }
289
+
290
+ .aa-footer__sections {
291
+ display: grid;
292
+ grid-template-columns: repeat(4, minmax(0, 1fr));
293
+ gap: 1.5rem 1.75rem;
294
+ }
295
+
296
+ .aa-footer__section {
297
+ display: grid;
298
+ gap: 0.9rem;
299
+ align-content: start;
300
+ }
301
+
302
+ .aa-footer__heading {
303
+ margin: 0;
304
+ font-size: 0.95rem;
305
+ font-weight: 700;
306
+ letter-spacing: -0.02em;
307
+ }
308
+
309
+ .aa-footer__list {
310
+ display: grid;
311
+ gap: 0.7rem;
179
312
  }
180
313
 
181
314
  .aa-footer__link {
182
315
  color: var(--aa-footer-text, var(--sl-color-text, var(--text-dim)));
183
316
  text-decoration: none;
184
- font-size: 1rem;
185
- line-height: 1.4;
317
+ font-size: 0.98rem;
318
+ line-height: 1.45;
186
319
  transition: color 0.18s ease;
187
320
  }
188
321
 
@@ -190,14 +323,51 @@
190
323
  color: var(--aa-footer-hover, var(--sl-color-white, var(--text)));
191
324
  }
192
325
 
193
- .aa-footer__copy {
194
- margin: 0;
195
- color: var(--aa-footer-copy, var(--sl-color-gray-3, var(--text-muted)));
196
- font-size: 1rem;
197
- line-height: 1.6;
326
+ @media (max-width: 960px) {
327
+ .aa-footer__grid {
328
+ grid-template-columns: 1fr;
329
+ }
330
+
331
+ .aa-footer__sections {
332
+ grid-template-columns: repeat(2, minmax(0, 1fr));
333
+ }
198
334
  }
199
335
 
200
336
  @media (max-width: 720px) {
337
+ .aa-utility-header__inner {
338
+ width: min(100%, calc(100% - 32px));
339
+ padding: 14px 0;
340
+ gap: 14px;
341
+ }
342
+
343
+ .aa-utility-header__mark {
344
+ width: 36px;
345
+ height: 36px;
346
+ }
347
+
348
+ .aa-utility-header__copy strong {
349
+ font-size: 14px;
350
+ }
351
+
352
+ .aa-utility-header__copy span {
353
+ font-size: 10px;
354
+ letter-spacing: 0.12em;
355
+ }
356
+
357
+ .aa-utility-header__nav {
358
+ gap: 12px;
359
+ }
360
+
361
+ .aa-utility-header__link {
362
+ display: none;
363
+ }
364
+
365
+ .aa-utility-header__cta {
366
+ min-height: 44px;
367
+ padding: 10px 14px;
368
+ font-size: 14px;
369
+ }
370
+
201
371
  .aa-footer {
202
372
  padding-top: 3rem;
203
373
  }
@@ -206,12 +376,18 @@
206
376
  width: min(100%, calc(100% - 2rem));
207
377
  }
208
378
 
209
- .aa-footer__links {
210
- gap: 0.75rem 1.25rem;
379
+ .aa-footer__sections {
380
+ grid-template-columns: 1fr;
381
+ gap: 1.25rem;
382
+ }
383
+
384
+ .aa-footer__brand {
385
+ gap: 1rem;
211
386
  }
212
387
 
213
388
  .aa-footer__link,
214
- .aa-footer__copy {
389
+ .aa-footer__copy,
390
+ .aa-footer__description {
215
391
  font-size: 0.95rem;
216
392
  }
217
393
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-analytics/shared-ui",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "Shared UI primitives, tokens, and marketing chrome for Agent Analytics properties.",
@@ -30,8 +30,10 @@
30
30
  ],
31
31
  "exports": {
32
32
  ".": "./dist/index.js",
33
+ "./header": "./dist/header.js",
33
34
  "./footer": "./dist/footer.js",
34
35
  "./astro/Footer.astro": "./dist/astro/Footer.astro",
36
+ "./eleventy/header.njk": "./dist/eleventy/header.njk",
35
37
  "./eleventy/footer.njk": "./dist/eleventy/footer.njk",
36
38
  "./tokens.json": "./tokens.json",
37
39
  "./variables.css": "./dist/variables.css",