@astryxdesign/cli 0.3.0-canary.d1b7d82 → 0.3.0-canary.d52d2cb

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 (52) hide show
  1. package/api/template/template.test.mjs +12 -13
  2. package/assets/codemods/transforms/v0.3.0/__tests__/migrate-grid-minchildwidth-to-columns.test.mjs +82 -0
  3. package/assets/codemods/transforms/v0.3.0/migrate-grid-minchildwidth-to-columns.mjs +38 -2
  4. package/assets/docs/layout.doc.dense.mjs +1 -1
  5. package/assets/templates/blocks/components/AspectRatio/AspectRatioCircleImage.tsx +1 -1
  6. package/assets/templates/blocks/components/AspectRatio/AspectRatioImageGallery.tsx +1 -1
  7. package/assets/templates/blocks/components/AspectRatio/AspectRatioShowcase.tsx +3 -3
  8. package/assets/templates/blocks/components/AspectRatio/AspectRatioSquareImage.tsx +1 -1
  9. package/assets/templates/blocks/components/AspectRatio/AspectRatioWidescreen.tsx +1 -1
  10. package/assets/templates/blocks/components/Avatar/AvatarFallbackChain.tsx +6 -6
  11. package/assets/templates/blocks/components/Avatar/AvatarGroup.tsx +5 -5
  12. package/assets/templates/blocks/components/Avatar/AvatarInteractive.tsx +2 -2
  13. package/assets/templates/blocks/components/Avatar/AvatarShowcase.tsx +4 -4
  14. package/assets/templates/blocks/components/Avatar/AvatarTooltip.tsx +4 -4
  15. package/assets/templates/blocks/components/Avatar/AvatarUserCard.tsx +3 -3
  16. package/assets/templates/blocks/components/Avatar/AvatarWithImage.tsx +4 -4
  17. package/assets/templates/blocks/components/Avatar/AvatarWithStatus.tsx +3 -3
  18. package/assets/templates/blocks/components/ChatComposerDrawer/ChatComposerDrawerAttachments.tsx +5 -5
  19. package/assets/templates/blocks/components/Lightbox/LightboxGallery.tsx +4 -4
  20. package/assets/templates/blocks/components/Lightbox/LightboxShowcase.tsx +1 -1
  21. package/assets/templates/blocks/components/Lightbox/LightboxVideo.tsx +1 -1
  22. package/assets/templates/blocks/components/Lightbox/LightboxZoom.tsx +2 -2
  23. package/assets/templates/blocks/components/MediaTheme/MediaThemeImageOverlay.tsx +1 -1
  24. package/assets/templates/blocks/components/MediaTheme/MediaThemeLightScrim.tsx +1 -1
  25. package/assets/templates/blocks/components/MediaTheme/MediaThemeShowcase.tsx +1 -1
  26. package/assets/templates/blocks/components/Overlay/OverlayBottomStrip.tsx +1 -1
  27. package/assets/templates/blocks/components/Overlay/OverlayHoverReveal.tsx +1 -1
  28. package/assets/templates/blocks/components/Overlay/OverlayShowcase.tsx +1 -1
  29. package/assets/templates/blocks/components/TopNav/TopNavMegaMenu.tsx +1 -1
  30. package/assets/templates/pages/centered-hero/page.tsx +1 -1
  31. package/assets/templates/pages/classic-gallery/page.tsx +10 -10
  32. package/assets/templates/pages/detail-page/page.tsx +5 -5
  33. package/assets/templates/pages/form-two-column/page.tsx +1 -1
  34. package/assets/templates/pages/gallery-hero/page.tsx +3 -3
  35. package/assets/templates/pages/library/page.tsx +30 -30
  36. package/assets/templates/pages/login/page.tsx +1 -2
  37. package/assets/templates/pages/login-card/page.tsx +1 -2
  38. package/assets/templates/pages/login-split/page.tsx +5 -6
  39. package/assets/templates/pages/login-sso/page.tsx +2 -3
  40. package/assets/templates/pages/mixed-gallery/page.tsx +5 -5
  41. package/assets/templates/pages/payment-form/page.tsx +3 -3
  42. package/assets/templates/pages/product-detail/page.tsx +7 -7
  43. package/assets/templates/pages/product-gallery/page.tsx +6 -6
  44. package/assets/templates/pages/shell-top-nav/page.tsx +2 -2
  45. package/assets/templates/pages/side-gallery/page.tsx +9 -9
  46. package/assets/templates/pages/table-page-chart/page.tsx +6 -6
  47. package/assets/templates/pages/theme-showcase/page.tsx +6 -6
  48. package/authoring/doctypes/base/type.ts +6 -0
  49. package/foundation/agent-docs/agent-docs.mjs +3 -4
  50. package/foundation/agent-docs/agent-docs.test.mjs +8 -0
  51. package/foundation/discovery/template-adapter.mjs +8 -4
  52. package/package.json +9 -9
@@ -28,7 +28,7 @@ export default function OverlayHoverReveal() {
28
28
  content={<Button label="Quick view" variant="secondary" size="sm" />}>
29
29
  <AspectRatio ratio={16 / 9} style={frame}>
30
30
  <img
31
- src="https://lookaside.facebook.com/assets/astryx/light-working-horizontal-1.png"
31
+ src="/template-assets/light-working-horizontal-1.png"
32
32
  alt="Workspace preview"
33
33
  style={image}
34
34
  />
@@ -29,7 +29,7 @@ export default function OverlayShowcase() {
29
29
  overflow: 'clip',
30
30
  }}>
31
31
  <img
32
- src="https://lookaside.facebook.com/assets/astryx/light-scene-horizontal-1.png"
32
+ src="/template-assets/light-scene-horizontal-1.png"
33
33
  alt="Abstract landscape"
34
34
  style={{width: '100%', height: '100%', objectFit: 'cover'}}
35
35
  />
@@ -75,7 +75,7 @@ export default function TopNavMegaMenuBlock() {
75
75
  <TopNavMegaMenuFeaturedCard
76
76
  title="What's new in v4.0"
77
77
  description="AI-powered analytics and real-time collaboration."
78
- image="https://lookaside.facebook.com/assets/astryx/light-working-horizontal-1.png"
78
+ image="/template-assets/light-working-horizontal-1.png"
79
79
  imageAlt="Team collaboration"
80
80
  linkLabel="Read the announcement"
81
81
  linkHref="#announcement"
@@ -12,7 +12,7 @@ import {Section} from '@astryxdesign/core/Section';
12
12
  import {ArrowRightIcon} from '@heroicons/react/20/solid';
13
13
 
14
14
  const IMAGE_URL =
15
- 'https://lookaside.facebook.com/assets/astryx/light-scene-horizontal-1.png';
15
+ '/template-assets/light-scene-horizontal-1.png';
16
16
 
17
17
  const heroImage: CSSProperties = {
18
18
  width: '100%',
@@ -47,52 +47,52 @@ interface GalleryImage {
47
47
 
48
48
  const GALLERY_IMAGES: GalleryImage[] = [
49
49
  {
50
- src: 'https://lookaside.facebook.com/assets/astryx/moody-scene-horizontal-1.png',
50
+ src: '/template-assets/moody-scene-horizontal-1.png',
51
51
  alt: 'Moody scene landscape',
52
52
  category: 'scene',
53
53
  },
54
54
  {
55
- src: 'https://lookaside.facebook.com/assets/astryx/moody-lifestyle-vertical-1.png',
55
+ src: '/template-assets/moody-lifestyle-vertical-1.png',
56
56
  alt: 'Moody lifestyle portrait',
57
57
  category: 'lifestyle',
58
58
  },
59
59
  {
60
- src: 'https://lookaside.facebook.com/assets/astryx/moody-home-vertical-1.png',
60
+ src: '/template-assets/moody-home-vertical-1.png',
61
61
  alt: 'Moody home interior',
62
62
  category: 'home',
63
63
  },
64
64
  {
65
- src: 'https://lookaside.facebook.com/assets/astryx/moody-scene-horizontal-2.png',
65
+ src: '/template-assets/moody-scene-horizontal-2.png',
66
66
  alt: 'Moody scene vista',
67
67
  category: 'scene',
68
68
  },
69
69
  {
70
- src: 'https://lookaside.facebook.com/assets/astryx/moody-lifestyle-vertical-2.png',
70
+ src: '/template-assets/moody-lifestyle-vertical-2.png',
71
71
  alt: 'Moody lifestyle scene',
72
72
  category: 'lifestyle',
73
73
  },
74
74
  {
75
- src: 'https://lookaside.facebook.com/assets/astryx/moody-lifestyle-horizontal-1.png',
75
+ src: '/template-assets/moody-lifestyle-horizontal-1.png',
76
76
  alt: 'Moody lifestyle horizontal',
77
77
  category: 'lifestyle',
78
78
  },
79
79
  {
80
- src: 'https://lookaside.facebook.com/assets/astryx/moody-scene-vertical-1.png',
80
+ src: '/template-assets/moody-scene-vertical-1.png',
81
81
  alt: 'Moody scene vertical',
82
82
  category: 'scene',
83
83
  },
84
84
  {
85
- src: 'https://lookaside.facebook.com/assets/astryx/moody-home-vertical-2.png',
85
+ src: '/template-assets/moody-home-vertical-2.png',
86
86
  alt: 'Moody home vertical',
87
87
  category: 'home',
88
88
  },
89
89
  {
90
- src: 'https://lookaside.facebook.com/assets/astryx/moody-home-horizontal-1.png',
90
+ src: '/template-assets/moody-home-horizontal-1.png',
91
91
  alt: 'Moody home horizontal',
92
92
  category: 'home',
93
93
  },
94
94
  {
95
- src: 'https://lookaside.facebook.com/assets/astryx/moody-scene-vertical-2.png',
95
+ src: '/template-assets/moody-scene-vertical-2.png',
96
96
  alt: 'Moody scene vertical',
97
97
  category: 'scene',
98
98
  },
@@ -64,11 +64,11 @@ const itemsList: CSSProperties = {
64
64
 
65
65
  // ─── Product data ───────────────────────────────────────────────────────────
66
66
  const PRODUCT_IMAGES = [
67
- 'https://lookaside.facebook.com/assets/astryx/light-product-1.png',
68
- 'https://lookaside.facebook.com/assets/astryx/light-product-2.png',
69
- 'https://lookaside.facebook.com/assets/astryx/light-product-3.png',
70
- 'https://lookaside.facebook.com/assets/astryx/light-product-4.png',
71
- 'https://lookaside.facebook.com/assets/astryx/light-product-5.png',
67
+ '/template-assets/light-product-1.png',
68
+ '/template-assets/light-product-2.png',
69
+ '/template-assets/light-product-3.png',
70
+ '/template-assets/light-product-4.png',
71
+ '/template-assets/light-product-5.png',
72
72
  ];
73
73
 
74
74
  const PRODUCTS = [
@@ -19,7 +19,7 @@ import {Card} from '@astryxdesign/core/Card';
19
19
  import {Selector} from '@astryxdesign/core/Selector';
20
20
 
21
21
  const ILLUSTRATION_URL =
22
- 'https://lookaside.facebook.com/assets/astryx/light-working-vertical-2.png';
22
+ '/template-assets/light-working-vertical-2.png';
23
23
 
24
24
  const INQUIRY_REASONS = [
25
25
  'New business',
@@ -13,15 +13,15 @@ import {ArrowRightIcon} from '@heroicons/react/20/solid';
13
13
 
14
14
  const IMAGES = [
15
15
  {
16
- src: 'https://lookaside.facebook.com/assets/astryx/colorful-home-horizontal-1.png',
16
+ src: '/template-assets/colorful-home-horizontal-1.png',
17
17
  alt: 'Colorful home interior with vibrant decor',
18
18
  },
19
19
  {
20
- src: 'https://lookaside.facebook.com/assets/astryx/colorful-lifestyle-horizontal-1.png',
20
+ src: '/template-assets/colorful-lifestyle-horizontal-1.png',
21
21
  alt: 'Colorful lifestyle portrait with natural lighting',
22
22
  },
23
23
  {
24
- src: 'https://lookaside.facebook.com/assets/astryx/colorful-lifestyle-horizontal-2.png',
24
+ src: '/template-assets/colorful-lifestyle-horizontal-2.png',
25
25
  alt: 'Colorful lifestyle scene with warm tones',
26
26
  },
27
27
  ];
@@ -37,7 +37,7 @@ const ITEMS: LibraryItem[] = [
37
37
  category: 'Layout',
38
38
  type: 'Component',
39
39
  imageUrl:
40
- 'https://lookaside.facebook.com/assets/astryx/colorful-home-horizontal-1.png',
40
+ '/template-assets/colorful-home-horizontal-1.png',
41
41
  },
42
42
  {
43
43
  id: '2',
@@ -47,7 +47,7 @@ const ITEMS: LibraryItem[] = [
47
47
  category: 'Layout',
48
48
  type: 'Component',
49
49
  imageUrl:
50
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-3.png',
50
+ '/template-assets/illustrative-horizontal-3.png',
51
51
  },
52
52
  {
53
53
  id: '3',
@@ -57,7 +57,7 @@ const ITEMS: LibraryItem[] = [
57
57
  category: 'Layout',
58
58
  type: 'Component',
59
59
  imageUrl:
60
- 'https://lookaside.facebook.com/assets/astryx/light-working-horizontal-2.png',
60
+ '/template-assets/light-working-horizontal-2.png',
61
61
  },
62
62
  {
63
63
  id: '4',
@@ -66,7 +66,7 @@ const ITEMS: LibraryItem[] = [
66
66
  category: 'Layout',
67
67
  type: 'Utility',
68
68
  imageUrl:
69
- 'https://lookaside.facebook.com/assets/astryx/moody-scene-horizontal-1.png',
69
+ '/template-assets/moody-scene-horizontal-1.png',
70
70
  },
71
71
  {
72
72
  id: '5',
@@ -75,7 +75,7 @@ const ITEMS: LibraryItem[] = [
75
75
  category: 'Layout',
76
76
  type: 'Pattern',
77
77
  imageUrl:
78
- 'https://lookaside.facebook.com/assets/astryx/colorful-lifestyle-horizontal-2.png',
78
+ '/template-assets/colorful-lifestyle-horizontal-2.png',
79
79
  },
80
80
  {
81
81
  id: '6',
@@ -84,7 +84,7 @@ const ITEMS: LibraryItem[] = [
84
84
  category: 'Layout',
85
85
  type: 'Component',
86
86
  imageUrl:
87
- 'https://lookaside.facebook.com/assets/astryx/light-scene-horizontal-1.png',
87
+ '/template-assets/light-scene-horizontal-1.png',
88
88
  },
89
89
  {
90
90
  id: '7',
@@ -94,7 +94,7 @@ const ITEMS: LibraryItem[] = [
94
94
  category: 'Forms',
95
95
  type: 'Component',
96
96
  imageUrl:
97
- 'https://lookaside.facebook.com/assets/astryx/moody-working-horizontal-1.png',
97
+ '/template-assets/moody-working-horizontal-1.png',
98
98
  },
99
99
  {
100
100
  id: '8',
@@ -103,7 +103,7 @@ const ITEMS: LibraryItem[] = [
103
103
  category: 'Forms',
104
104
  type: 'Component',
105
105
  imageUrl:
106
- 'https://lookaside.facebook.com/assets/astryx/colorful-working-horizontal-3.png',
106
+ '/template-assets/colorful-working-horizontal-3.png',
107
107
  },
108
108
  {
109
109
  id: '9',
@@ -112,7 +112,7 @@ const ITEMS: LibraryItem[] = [
112
112
  category: 'Forms',
113
113
  type: 'Component',
114
114
  imageUrl:
115
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-1.png',
115
+ '/template-assets/illustrative-horizontal-1.png',
116
116
  },
117
117
  {
118
118
  id: '10',
@@ -121,7 +121,7 @@ const ITEMS: LibraryItem[] = [
121
121
  category: 'Forms',
122
122
  type: 'Component',
123
123
  imageUrl:
124
- 'https://lookaside.facebook.com/assets/astryx/light-home-horizontal-1.png',
124
+ '/template-assets/light-home-horizontal-1.png',
125
125
  },
126
126
  {
127
127
  id: '11',
@@ -130,7 +130,7 @@ const ITEMS: LibraryItem[] = [
130
130
  category: 'Forms',
131
131
  type: 'Component',
132
132
  imageUrl:
133
- 'https://lookaside.facebook.com/assets/astryx/moody-home-horizontal-2.png',
133
+ '/template-assets/moody-home-horizontal-2.png',
134
134
  },
135
135
  {
136
136
  id: '12',
@@ -140,7 +140,7 @@ const ITEMS: LibraryItem[] = [
140
140
  category: 'Forms',
141
141
  type: 'Component',
142
142
  imageUrl:
143
- 'https://lookaside.facebook.com/assets/astryx/colorful-product-1.png',
143
+ '/template-assets/colorful-product-1.png',
144
144
  },
145
145
  {
146
146
  id: '13',
@@ -150,7 +150,7 @@ const ITEMS: LibraryItem[] = [
150
150
  category: 'Navigation',
151
151
  type: 'Component',
152
152
  imageUrl:
153
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-5.png',
153
+ '/template-assets/illustrative-horizontal-5.png',
154
154
  },
155
155
  {
156
156
  id: '14',
@@ -159,7 +159,7 @@ const ITEMS: LibraryItem[] = [
159
159
  category: 'Navigation',
160
160
  type: 'Pattern',
161
161
  imageUrl:
162
- 'https://lookaside.facebook.com/assets/astryx/light-working-horizontal-1.png',
162
+ '/template-assets/light-working-horizontal-1.png',
163
163
  },
164
164
  {
165
165
  id: '15',
@@ -169,7 +169,7 @@ const ITEMS: LibraryItem[] = [
169
169
  category: 'Navigation',
170
170
  type: 'Pattern',
171
171
  imageUrl:
172
- 'https://lookaside.facebook.com/assets/astryx/moody-lifestyle-horizontal-1.png',
172
+ '/template-assets/moody-lifestyle-horizontal-1.png',
173
173
  },
174
174
  {
175
175
  id: '16',
@@ -178,7 +178,7 @@ const ITEMS: LibraryItem[] = [
178
178
  category: 'Navigation',
179
179
  type: 'Component',
180
180
  imageUrl:
181
- 'https://lookaside.facebook.com/assets/astryx/colorful-home-horizontal-2.png',
181
+ '/template-assets/colorful-home-horizontal-2.png',
182
182
  },
183
183
  {
184
184
  id: '17',
@@ -188,7 +188,7 @@ const ITEMS: LibraryItem[] = [
188
188
  category: 'Navigation',
189
189
  type: 'Component',
190
190
  imageUrl:
191
- 'https://lookaside.facebook.com/assets/astryx/colorful-working-horizontal-1.png',
191
+ '/template-assets/colorful-working-horizontal-1.png',
192
192
  },
193
193
  {
194
194
  id: '18',
@@ -198,7 +198,7 @@ const ITEMS: LibraryItem[] = [
198
198
  category: 'Navigation',
199
199
  type: 'Pattern',
200
200
  imageUrl:
201
- 'https://lookaside.facebook.com/assets/astryx/light-working-horizontal-3.png',
201
+ '/template-assets/light-working-horizontal-3.png',
202
202
  },
203
203
  {
204
204
  id: '19',
@@ -208,7 +208,7 @@ const ITEMS: LibraryItem[] = [
208
208
  category: 'Feedback',
209
209
  type: 'Component',
210
210
  imageUrl:
211
- 'https://lookaside.facebook.com/assets/astryx/moody-working-horizontal-2.png',
211
+ '/template-assets/moody-working-horizontal-2.png',
212
212
  },
213
213
  {
214
214
  id: '20',
@@ -218,7 +218,7 @@ const ITEMS: LibraryItem[] = [
218
218
  category: 'Feedback',
219
219
  type: 'Component',
220
220
  imageUrl:
221
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-2.png',
221
+ '/template-assets/illustrative-horizontal-2.png',
222
222
  },
223
223
  {
224
224
  id: '21',
@@ -227,7 +227,7 @@ const ITEMS: LibraryItem[] = [
227
227
  category: 'Feedback',
228
228
  type: 'Component',
229
229
  imageUrl:
230
- 'https://lookaside.facebook.com/assets/astryx/colorful-lifestyle-horizontal-1.png',
230
+ '/template-assets/colorful-lifestyle-horizontal-1.png',
231
231
  },
232
232
  {
233
233
  id: '22',
@@ -236,7 +236,7 @@ const ITEMS: LibraryItem[] = [
236
236
  category: 'Feedback',
237
237
  type: 'Component',
238
238
  imageUrl:
239
- 'https://lookaside.facebook.com/assets/astryx/light-lifestyle-horizontal-1.png',
239
+ '/template-assets/light-lifestyle-horizontal-1.png',
240
240
  },
241
241
  {
242
242
  id: '23',
@@ -246,7 +246,7 @@ const ITEMS: LibraryItem[] = [
246
246
  category: 'Feedback',
247
247
  type: 'Component',
248
248
  imageUrl:
249
- 'https://lookaside.facebook.com/assets/astryx/moody-home-horizontal-1.png',
249
+ '/template-assets/moody-home-horizontal-1.png',
250
250
  },
251
251
  {
252
252
  id: '24',
@@ -256,7 +256,7 @@ const ITEMS: LibraryItem[] = [
256
256
  category: 'Feedback',
257
257
  type: 'Component',
258
258
  imageUrl:
259
- 'https://lookaside.facebook.com/assets/astryx/colorful-working-horizontal-2.png',
259
+ '/template-assets/colorful-working-horizontal-2.png',
260
260
  },
261
261
  {
262
262
  id: '25',
@@ -266,7 +266,7 @@ const ITEMS: LibraryItem[] = [
266
266
  category: 'Data',
267
267
  type: 'Component',
268
268
  imageUrl:
269
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-4.png',
269
+ '/template-assets/illustrative-horizontal-4.png',
270
270
  },
271
271
  {
272
272
  id: '26',
@@ -276,7 +276,7 @@ const ITEMS: LibraryItem[] = [
276
276
  category: 'Data',
277
277
  type: 'Component',
278
278
  imageUrl:
279
- 'https://lookaside.facebook.com/assets/astryx/light-working-horizontal-4.png',
279
+ '/template-assets/light-working-horizontal-4.png',
280
280
  },
281
281
  {
282
282
  id: '27',
@@ -286,7 +286,7 @@ const ITEMS: LibraryItem[] = [
286
286
  category: 'Data',
287
287
  type: 'Utility',
288
288
  imageUrl:
289
- 'https://lookaside.facebook.com/assets/astryx/moody-lifestyle-horizontal-2.png',
289
+ '/template-assets/moody-lifestyle-horizontal-2.png',
290
290
  },
291
291
  {
292
292
  id: '28',
@@ -295,7 +295,7 @@ const ITEMS: LibraryItem[] = [
295
295
  category: 'Data',
296
296
  type: 'Component',
297
297
  imageUrl:
298
- 'https://lookaside.facebook.com/assets/astryx/moody-scene-horizontal-2.png',
298
+ '/template-assets/moody-scene-horizontal-2.png',
299
299
  },
300
300
  {
301
301
  id: '29',
@@ -305,7 +305,7 @@ const ITEMS: LibraryItem[] = [
305
305
  category: 'Data',
306
306
  type: 'Pattern',
307
307
  imageUrl:
308
- 'https://lookaside.facebook.com/assets/astryx/colorful-product-2.png',
308
+ '/template-assets/colorful-product-2.png',
309
309
  },
310
310
  {
311
311
  id: '30',
@@ -315,7 +315,7 @@ const ITEMS: LibraryItem[] = [
315
315
  category: 'Data',
316
316
  type: 'Component',
317
317
  imageUrl:
318
- 'https://lookaside.facebook.com/assets/astryx/moody-working-horizontal-3.png',
318
+ '/template-assets/moody-working-horizontal-3.png',
319
319
  },
320
320
  ];
321
321
 
@@ -17,7 +17,6 @@ import {CubeIcon} from '@heroicons/react/24/outline';
17
17
  const pageStyle: CSSProperties = {
18
18
  minHeight: '100%',
19
19
  backgroundColor: 'var(--color-background-body)',
20
- padding: 'var(--spacing-6)',
21
20
  };
22
21
  // Cap the column at 400px but let it shrink to fit narrow screens (Stack
23
22
  // has no maxWidth prop, so it's set here).
@@ -43,7 +42,7 @@ export default function LoginPage() {
43
42
  };
44
43
 
45
44
  return (
46
- <Center axis="both" style={pageStyle}>
45
+ <Center axis="both" padding={6} style={pageStyle}>
47
46
  <VStack gap={4} hAlign="center" style={contentStyle}>
48
47
  {/* Logo */}
49
48
  <VStack gap={2} hAlign="center">
@@ -58,7 +58,6 @@ const GoogleIcon = (props: React.SVGProps<SVGSVGElement>) => (
58
58
  const pageStyle: CSSProperties = {
59
59
  minHeight: '100%',
60
60
  backgroundColor: 'var(--color-background-body)',
61
- padding: 'var(--spacing-6)',
62
61
  };
63
62
  // Cap the column at 400px but let it shrink to fit narrow screens (Stack
64
63
  // has no maxWidth prop, so it's set here).
@@ -87,7 +86,7 @@ export default function LoginSimple() {
87
86
  };
88
87
 
89
88
  return (
90
- <Center axis="both" style={pageStyle}>
89
+ <Center axis="both" padding={6} style={pageStyle}>
91
90
  <VStack gap={4} hAlign="center" style={contentStyle}>
92
91
  {/* Logo */}
93
92
  <VStack gap={2} hAlign="center">
@@ -18,11 +18,11 @@ import {Link} from '@astryxdesign/core/Link';
18
18
  import {Divider} from '@astryxdesign/core/Divider';
19
19
 
20
20
  const COVER_IMAGE_URL =
21
- 'https://lookaside.facebook.com/assets/astryx/light-working-vertical-1.png';
21
+ '/template-assets/light-working-vertical-1.png';
22
22
  const APPLE_LOGO_URL =
23
- 'https://lookaside.facebook.com/assets/astryx/AppleLogo.png';
23
+ '/template-assets/AppleLogo.png';
24
24
  const GOOGLE_LOGO_URL =
25
- 'https://lookaside.facebook.com/assets/astryx/GoogleLogo.png';
25
+ '/template-assets/GoogleLogo.png';
26
26
 
27
27
  // Grid emits minmax(MIN, 1fr) where MIN is a hard floor, so MIN plus the
28
28
  // grid inset and page padding must fit the narrowest phone or the column is
@@ -33,11 +33,10 @@ const COLUMN_MIN_WIDTH = 240;
33
33
  // tightens the inset at that same point, keyed to the card width (not the
34
34
  // window) so it never desyncs.
35
35
  // minHeight:100% fills the host so the centered card never leaves an unpainted
36
- // band; padding keeps it off the surface edges.
36
+ // band; Center's padding prop keeps it off the surface edges.
37
37
  const pageStyle: CSSProperties = {
38
38
  minHeight: '100%',
39
39
  backgroundColor: 'var(--color-background-body)',
40
- padding: 'var(--spacing-6)',
41
40
  };
42
41
  const cardWrap: CSSProperties = {
43
42
  width: '100%',
@@ -98,7 +97,7 @@ export default function LoginTwoColumn() {
98
97
  };
99
98
 
100
99
  return (
101
- <Center axis="both" style={pageStyle}>
100
+ <Center axis="both" padding={6} style={pageStyle}>
102
101
  <style>{LOGIN_SPLIT_CSS}</style>
103
102
  <VStack gap={4} width="100%">
104
103
  <div style={cardWrap}>
@@ -20,14 +20,13 @@ import {Avatar} from '@astryxdesign/core/Avatar';
20
20
  // Styles
21
21
  // ---------------------------------------------------------------------------
22
22
 
23
- const BG_URL = 'https://lookaside.facebook.com/assets/astryx/building.png';
23
+ const BG_URL = '/template-assets/building.png';
24
24
 
25
25
  const pageStyle: CSSProperties = {
26
26
  minHeight: '100%',
27
27
  backgroundImage: `url(${BG_URL})`,
28
28
  backgroundSize: 'cover',
29
29
  backgroundPosition: 'center',
30
- padding: 'var(--spacing-6)',
31
30
  };
32
31
 
33
32
  type SSOProvider = {
@@ -98,7 +97,7 @@ export default function LoginSSO() {
98
97
  };
99
98
 
100
99
  return (
101
- <Center axis="both" style={pageStyle}>
100
+ <Center axis="both" padding={6} style={pageStyle}>
102
101
  <Card padding={8} width="100%" maxWidth={400}>
103
102
  <VStack gap={4} hAlign="stretch">
104
103
  {/* ── Step 1: Email entry ── */}
@@ -66,23 +66,23 @@ interface GalleryImage {
66
66
  // All landscape photos so the uniform 3:2 / 3:1 tiles crop cleanly.
67
67
  const IMAGES: GalleryImage[] = [
68
68
  {
69
- src: 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-1.png',
69
+ src: '/template-assets/illustrative-horizontal-1.png',
70
70
  title: 'Going places',
71
71
  },
72
72
  {
73
- src: 'https://lookaside.facebook.com/assets/astryx/light-home-horizontal-1.png',
73
+ src: '/template-assets/light-home-horizontal-1.png',
74
74
  title: 'Making memories',
75
75
  },
76
76
  {
77
- src: 'https://lookaside.facebook.com/assets/astryx/light-lifestyle-horizontal-1.png',
77
+ src: '/template-assets/light-lifestyle-horizontal-1.png',
78
78
  title: 'Being free',
79
79
  },
80
80
  {
81
- src: 'https://lookaside.facebook.com/assets/astryx/light-working-horizontal-2.png',
81
+ src: '/template-assets/light-working-horizontal-2.png',
82
82
  title: 'Getting it done',
83
83
  },
84
84
  {
85
- src: 'https://lookaside.facebook.com/assets/astryx/light-scene-horizontal-1.png',
85
+ src: '/template-assets/light-scene-horizontal-1.png',
86
86
  title: 'Finding calm',
87
87
  },
88
88
  ];
@@ -111,13 +111,13 @@ const US_STATES = [
111
111
  // docsite; the CLI swaps these for an inline placeholder on scaffold).
112
112
  const ITEM_IMAGES: Record<string, {src: string}> = {
113
113
  '1': {
114
- src: 'https://lookaside.facebook.com/assets/astryx/light-product-1.png',
114
+ src: '/template-assets/light-product-1.png',
115
115
  },
116
116
  '2': {
117
- src: 'https://lookaside.facebook.com/assets/astryx/light-product-4.png',
117
+ src: '/template-assets/light-product-4.png',
118
118
  },
119
119
  '3': {
120
- src: 'https://lookaside.facebook.com/assets/astryx/light-product-5.png',
120
+ src: '/template-assets/light-product-5.png',
121
121
  },
122
122
  };
123
123
 
@@ -74,13 +74,13 @@ function StarRating({rating, count}: {rating: number; count: number}) {
74
74
  // ─── Image URLs ─────────────────────────────────────────────────────────────
75
75
  // IMAGES[0] = fallback hero; IMAGES[1..6] = thumbnails (first is selected by default)
76
76
  const IMAGES = [
77
- 'https://lookaside.facebook.com/assets/astryx/light-product-1.png',
78
- 'https://lookaside.facebook.com/assets/astryx/light-product-1.png',
79
- 'https://lookaside.facebook.com/assets/astryx/light-product-2.png',
80
- 'https://lookaside.facebook.com/assets/astryx/light-product-3.png',
81
- 'https://lookaside.facebook.com/assets/astryx/light-product-4.png',
82
- 'https://lookaside.facebook.com/assets/astryx/light-product-5.png',
83
- 'https://lookaside.facebook.com/assets/astryx/light-product-3.png',
77
+ '/template-assets/light-product-1.png',
78
+ '/template-assets/light-product-1.png',
79
+ '/template-assets/light-product-2.png',
80
+ '/template-assets/light-product-3.png',
81
+ '/template-assets/light-product-4.png',
82
+ '/template-assets/light-product-5.png',
83
+ '/template-assets/light-product-3.png',
84
84
  ];
85
85
 
86
86
  // ─── Product Data ───────────────────────────────────────────────────────────
@@ -40,7 +40,7 @@ const PRODUCTS: Product[] = [
40
40
  "Sometimes all it takes is one small thing to turn your whole day around. That's what good design is for.",
41
41
  price: 75.0,
42
42
  image:
43
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-1.png',
43
+ '/template-assets/illustrative-horizontal-1.png',
44
44
  },
45
45
  {
46
46
  id: 2,
@@ -49,7 +49,7 @@ const PRODUCTS: Product[] = [
49
49
  "Sometimes all it takes is one small thing to turn your whole day around. That's what good design is for.",
50
50
  price: 80.0,
51
51
  image:
52
- 'https://lookaside.facebook.com/assets/astryx/illustrative-vertical-1.png',
52
+ '/template-assets/illustrative-vertical-1.png',
53
53
  },
54
54
  {
55
55
  id: 3,
@@ -58,7 +58,7 @@ const PRODUCTS: Product[] = [
58
58
  "Sometimes all it takes is one small thing to turn your whole day around. That's what good design is for.",
59
59
  price: 75.0,
60
60
  image:
61
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-3.png',
61
+ '/template-assets/illustrative-horizontal-3.png',
62
62
  },
63
63
  {
64
64
  id: 4,
@@ -67,7 +67,7 @@ const PRODUCTS: Product[] = [
67
67
  "Sometimes all it takes is one small thing to turn your whole day around. That's what good design is for.",
68
68
  price: 75.0,
69
69
  image:
70
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-4.png',
70
+ '/template-assets/illustrative-horizontal-4.png',
71
71
  },
72
72
  {
73
73
  id: 5,
@@ -76,7 +76,7 @@ const PRODUCTS: Product[] = [
76
76
  "Sometimes all it takes is one small thing to turn your whole day around. That's what good design is for.",
77
77
  price: 60.0,
78
78
  image:
79
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-5.png',
79
+ '/template-assets/illustrative-horizontal-5.png',
80
80
  },
81
81
  {
82
82
  id: 6,
@@ -85,7 +85,7 @@ const PRODUCTS: Product[] = [
85
85
  "Sometimes all it takes is one small thing to turn your whole day around. That's what good design is for.",
86
86
  price: 80.0,
87
87
  image:
88
- 'https://lookaside.facebook.com/assets/astryx/illustrative-horizontal-2.png',
88
+ '/template-assets/illustrative-horizontal-2.png',
89
89
  },
90
90
  ];
91
91
 
@@ -158,7 +158,7 @@ export default function ShellTopNav() {
158
158
  <MegaFeatured
159
159
  title="The Autumn Edit"
160
160
  description="Layering staples in warm, earthy tones."
161
- image="https://lookaside.facebook.com/assets/astryx/texture-beige-horizontal-1.png"
161
+ image="/template-assets/texture-beige-horizontal-1.png"
162
162
  imageAlt="Autumn collection lookbook"
163
163
  linkLabel="Shop the edit"
164
164
  linkHref="#autumn-edit"
@@ -172,7 +172,7 @@ export default function ShellTopNav() {
172
172
  <MegaFeatured
173
173
  title="Meet Studio Mara"
174
174
  description="Modern tailoring, made to last."
175
- image="https://lookaside.facebook.com/assets/astryx/texture-beige-horizontal-2.png"
175
+ image="/template-assets/texture-beige-horizontal-2.png"
176
176
  imageAlt="Studio Mara lookbook"
177
177
  linkLabel="Discover the label"
178
178
  linkHref="#studio-mara"