@homepages/template-kit 0.9.0-dev-20260719205406 → 0.9.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.
Files changed (146) hide show
  1. package/CHANGELOG.md +60 -59
  2. package/README.md +14 -4
  3. package/dist/contracts/fill-treatments.d.ts +23 -0
  4. package/dist/fixtures/sample-property.d.ts +4 -7
  5. package/dist/fixtures/sample-property.js +41 -97
  6. package/dist/fixtures/scenario.d.ts +1 -1
  7. package/dist/fixtures/scenarios/for-rent-condo.js +24 -44
  8. package/dist/fixtures/scenarios/luxury-multi-unit.js +1 -1
  9. package/dist/fixtures/scenarios/sparse-single-family.js +14 -26
  10. package/dist/fixtures.d.ts +2 -2
  11. package/dist/fixtures.js +1 -2
  12. package/dist/index.d.ts +2 -2
  13. package/dist/index.js +2 -2
  14. package/dist/islands/discover.js +1 -1
  15. package/dist/islands/esbuild-plugin.js +1 -1
  16. package/dist/islands/wrap.d.ts +9 -1
  17. package/dist/manifest.json +940 -0
  18. package/dist/media/pack.d.ts +49 -0
  19. package/dist/media/pack.js +69 -0
  20. package/dist/media/resolve-fixture-media.d.ts +22 -0
  21. package/dist/media/resolve-fixture-media.js +73 -0
  22. package/dist/media/resolve-media.js +195 -0
  23. package/dist/package.js +1 -1
  24. package/dist/schema/property-facts.d.ts +2 -2
  25. package/dist/schema/resolve-section-ref.d.ts +4 -0
  26. package/dist/schema/rows.d.ts +9 -0
  27. package/dist/schema/section-nav.d.ts +5 -1
  28. package/dist/schema/slot-types.d.ts +1 -1
  29. package/dist/ssr.d.ts +19 -2
  30. package/dist/ssr.js +32 -13
  31. package/guide/INDEX.md +5 -0
  32. package/guide/check.md +1 -0
  33. package/guide/dev.md +1 -0
  34. package/guide/llms.txt +11 -3
  35. package/guide/recipes/image-slot-crop.md +6 -6
  36. package/guide/recipes/pick-a-scenario.md +13 -5
  37. package/guide/schema-system.md +36 -12
  38. package/guide/upgrading.md +12 -8
  39. package/package.json +4 -16
  40. package/dist/canvas-core/chrome-css.d.ts +0 -24
  41. package/dist/canvas-core/chrome-css.js +0 -403
  42. package/dist/canvas-core/chrome.d.ts +0 -49
  43. package/dist/canvas-core/chrome.js +0 -147
  44. package/dist/canvas-core/frame.d.ts +0 -20
  45. package/dist/canvas-core/frame.js +0 -23
  46. package/dist/canvas-core/hidden-tabs.d.ts +0 -16
  47. package/dist/canvas-core/hidden-tabs.js +0 -84
  48. package/dist/canvas-core/resolve-target.js +0 -55
  49. package/dist/canvas-core/scroll.d.ts +0 -10
  50. package/dist/canvas-core/scroll.js +0 -15
  51. package/dist/canvas-core/section-dom.d.ts +0 -6
  52. package/dist/canvas-core/section-dom.js +0 -43
  53. package/dist/canvas-core/srcdoc.d.ts +0 -8
  54. package/dist/canvas-core/srcdoc.js +0 -77
  55. package/dist/canvas-core/types.d.ts +0 -76
  56. package/dist/canvas-core.d.ts +0 -9
  57. package/dist/canvas-core.js +0 -9
  58. package/dist/cli/check/config.js +0 -41
  59. package/dist/cli/check/css.js +0 -131
  60. package/dist/cli/check/diagnostics.js +0 -37
  61. package/dist/cli/check/index.js +0 -94
  62. package/dist/cli/check/loader.js +0 -149
  63. package/dist/cli/check/paths.js +0 -15
  64. package/dist/cli/check/relativize.js +0 -18
  65. package/dist/cli/check/render-invariants.js +0 -24
  66. package/dist/cli/check/resolve-tool.js +0 -38
  67. package/dist/cli/check/section-assets.js +0 -58
  68. package/dist/cli/check/stages/deps.js +0 -337
  69. package/dist/cli/check/stages/lint.js +0 -46
  70. package/dist/cli/check/stages/render.js +0 -97
  71. package/dist/cli/check/stages/size.js +0 -274
  72. package/dist/cli/check/stages/tree.js +0 -206
  73. package/dist/cli/check/stages/typecheck.js +0 -46
  74. package/dist/cli/check/stages/validate/catalog-exhaustiveness.js +0 -18
  75. package/dist/cli/check/stages/validate/facts.js +0 -19
  76. package/dist/cli/check/stages/validate/formatter-contract.js +0 -14
  77. package/dist/cli/check/stages/validate/group-contract.js +0 -21
  78. package/dist/cli/check/stages/validate/index.js +0 -66
  79. package/dist/cli/check/stages/validate/list-scalar-contract.js +0 -22
  80. package/dist/cli/check/stages/validate/nav-contract.js +0 -92
  81. package/dist/cli/check/stages/validate/nested-slot-contract.js +0 -12
  82. package/dist/cli/check/stages/validate/object-list-contract.js +0 -31
  83. package/dist/cli/check/stages/validate/orchestrator.js +0 -241
  84. package/dist/cli/check/stages/validate/produced-by-contract.js +0 -18
  85. package/dist/cli/check/stages/validate/row-contract.js +0 -31
  86. package/dist/cli/check/stages/validate/select-contract.js +0 -13
  87. package/dist/cli/check/stages/validate/source-contract.js +0 -21
  88. package/dist/cli/check/stages/validate/variant-contract.js +0 -15
  89. package/dist/cli/check/workspace.js +0 -99
  90. package/dist/cli/dev/build-css.js +0 -97
  91. package/dist/cli/dev/catalog.js +0 -35
  92. package/dist/cli/dev/compose-template.js +0 -39
  93. package/dist/cli/dev/content-override.js +0 -58
  94. package/dist/cli/dev/diagnostics.js +0 -68
  95. package/dist/cli/dev/discover.js +0 -35
  96. package/dist/cli/dev/fill-state.js +0 -77
  97. package/dist/cli/dev/index.js +0 -42
  98. package/dist/cli/dev/inspect.js +0 -38
  99. package/dist/cli/dev/island-bootstrap.js +0 -38
  100. package/dist/cli/dev/island-canvas-bootstrap.js +0 -204
  101. package/dist/cli/dev/island-map.js +0 -35
  102. package/dist/cli/dev/island-transform.js +0 -31
  103. package/dist/cli/dev/manifest-instances.js +0 -31
  104. package/dist/cli/dev/render-section.js +0 -24
  105. package/dist/cli/dev/screenshot-target.js +0 -24
  106. package/dist/cli/dev/section-page.js +0 -91
  107. package/dist/cli/dev/server.js +0 -510
  108. package/dist/cli/dev/slot-schema.js +0 -12
  109. package/dist/cli/dev/structure-summary.js +0 -119
  110. package/dist/cli/dev/tailwind.js +0 -32
  111. package/dist/cli/dev/tsconfig-paths-plugin.js +0 -90
  112. package/dist/cli/dev/vite-server.js +0 -39
  113. package/dist/cli/dev/workspace.js +0 -63
  114. package/dist/cli/link/index.js +0 -74
  115. package/dist/cli/link/overlay.js +0 -59
  116. package/dist/cli/link/watch.js +0 -25
  117. package/dist/cli/new/emit.js +0 -48
  118. package/dist/cli/new/index.js +0 -69
  119. package/dist/cli/new/scaffold/section/_Renderer.tsx +0 -20
  120. package/dist/cli/new/scaffold/section/_fill-spec.ts +0 -18
  121. package/dist/cli/new/scaffold/section/_fixtures.ts +0 -13
  122. package/dist/cli/new/scaffold/section/_schema.ts +0 -24
  123. package/dist/cli/new/scaffold/template/_manifest.json +0 -9
  124. package/dist/cli/new/scaffold/template/sections/hero/ExpandableText.tsx +0 -45
  125. package/dist/cli/new/scaffold/template/sections/hero/Renderer.tsx +0 -40
  126. package/dist/cli/new/scaffold/template/sections/hero/components/Feature.tsx +0 -14
  127. package/dist/cli/new/scaffold/template/sections/hero/fill-spec.ts +0 -29
  128. package/dist/cli/new/scaffold/template/sections/hero/fixtures.ts +0 -41
  129. package/dist/cli/new/scaffold/template/sections/hero/schema.ts +0 -60
  130. package/dist/cli/new/scaffold/template/theme.css +0 -24
  131. package/dist/cli/new/scaffold/template/theme.ts +0 -27
  132. package/dist/cli/new/scaffold-assets.js +0 -20
  133. package/dist/cli/pack/collect.js +0 -44
  134. package/dist/cli/pack/guards.js +0 -57
  135. package/dist/cli/pack/index.js +0 -66
  136. package/dist/cli/pack/manifest.js +0 -15
  137. package/dist/cli/pack/zip.js +0 -86
  138. package/dist/cli/theme/generate.js +0 -43
  139. package/dist/cli/theme/index.js +0 -33
  140. package/dist/cli/theme/load-theme.js +0 -69
  141. package/dist/cli.d.ts +0 -1
  142. package/dist/cli.js +0 -138
  143. package/dist/dev-client/assets/index-CJa9G1Na.css +0 -1
  144. package/dist/dev-client/assets/index-C_1atZs4.js +0 -450
  145. package/dist/dev-client/index.html +0 -13
  146. package/dist/tokens.css +0 -21
@@ -1,11 +1,7 @@
1
- import { mkResponsive } from "../sample-property.js";
2
-
3
1
  //#region src/fixtures/scenarios/for-rent-condo.ts
4
- const PHOTO_BASE = "https://example.invalid/photos/pearl-street";
5
2
  const photos = [
6
3
  {
7
- id: "ph_01",
8
- url: `${PHOTO_BASE}/01-exterior-front.jpg`,
4
+ id: "dev_upl_pearl_street_01_exterior_front",
9
5
  alt: "Brick townhome exterior with a street-facing entry stoop.",
10
6
  tags: {
11
7
  room: "exterior-front",
@@ -13,8 +9,7 @@ const photos = [
13
9
  }
14
10
  },
15
11
  {
16
- id: "ph_02",
17
- url: `${PHOTO_BASE}/02-living.jpg`,
12
+ id: "dev_upl_pearl_street_02_living",
18
13
  alt: "Living room with tall windows and exposed-beam ceiling.",
19
14
  tags: {
20
15
  room: "living",
@@ -22,8 +17,7 @@ const photos = [
22
17
  }
23
18
  },
24
19
  {
25
- id: "ph_03",
26
- url: `${PHOTO_BASE}/03-dining.jpg`,
20
+ id: "dev_upl_pearl_street_03_dining",
27
21
  alt: "Open dining area beside the kitchen island.",
28
22
  tags: {
29
23
  room: "dining",
@@ -31,8 +25,7 @@ const photos = [
31
25
  }
32
26
  },
33
27
  {
34
- id: "ph_04",
35
- url: `${PHOTO_BASE}/04-kitchen.jpg`,
28
+ id: "dev_upl_pearl_street_04_kitchen",
36
29
  alt: "Kitchen with stainless appliances and quartz counters.",
37
30
  tags: {
38
31
  room: "kitchen",
@@ -40,8 +33,7 @@ const photos = [
40
33
  }
41
34
  },
42
35
  {
43
- id: "ph_05",
44
- url: `${PHOTO_BASE}/05-primary-bedroom.jpg`,
36
+ id: "dev_upl_pearl_street_05_primary_bedroom",
45
37
  alt: "Primary bedroom with a walk-in closet.",
46
38
  tags: {
47
39
  room: "bedroom",
@@ -49,8 +41,7 @@ const photos = [
49
41
  }
50
42
  },
51
43
  {
52
- id: "ph_06",
53
- url: `${PHOTO_BASE}/06-second-bedroom.jpg`,
44
+ id: "dev_upl_pearl_street_06_second_bedroom",
54
45
  alt: "Second bedroom used as a home office.",
55
46
  tags: {
56
47
  room: "bedroom",
@@ -58,8 +49,7 @@ const photos = [
58
49
  }
59
50
  },
60
51
  {
61
- id: "ph_07",
62
- url: `${PHOTO_BASE}/07-primary-bath.jpg`,
52
+ id: "dev_upl_pearl_street_07_primary_bath",
63
53
  alt: "Primary bath with a glass-enclosed shower.",
64
54
  tags: {
65
55
  room: "bath",
@@ -67,8 +57,7 @@ const photos = [
67
57
  }
68
58
  },
69
59
  {
70
- id: "ph_08",
71
- url: `${PHOTO_BASE}/08-powder-room.jpg`,
60
+ id: "dev_upl_pearl_street_08_powder_room",
72
61
  alt: "Powder room off the main hallway.",
73
62
  tags: {
74
63
  room: "bath",
@@ -76,8 +65,7 @@ const photos = [
76
65
  }
77
66
  },
78
67
  {
79
- id: "ph_09",
80
- url: `${PHOTO_BASE}/09-balcony.jpg`,
68
+ id: "dev_upl_pearl_street_09_balcony",
81
69
  alt: "Private balcony overlooking a landscaped courtyard.",
82
70
  tags: {
83
71
  room: "balcony",
@@ -85,8 +73,7 @@ const photos = [
85
73
  }
86
74
  },
87
75
  {
88
- id: "ph_10",
89
- url: `${PHOTO_BASE}/10-rooftop-deck.jpg`,
76
+ id: "dev_upl_pearl_street_10_rooftop_deck",
90
77
  alt: "Shared rooftop deck with skyline views.",
91
78
  tags: {
92
79
  room: "rooftop",
@@ -94,7 +81,6 @@ const photos = [
94
81
  }
95
82
  }
96
83
  ];
97
- const FP_BASE = "https://example.invalid/floorplans/pearl-street";
98
84
  const units = [{
99
85
  unit_id: "unit_04",
100
86
  unit_label: "Unit 4",
@@ -113,19 +99,13 @@ const units = [{
113
99
  ],
114
100
  position: 0,
115
101
  floor_plans: [{
116
- id: "fp_unit04_main",
117
- url: `${FP_BASE}/unit04-main.png`,
118
- alt: "Unit 4 floor plan — main floor (living, dining, kitchen).",
102
+ id: "dev_efp_pearl_street_unit04_main",
119
103
  floor_label: "Main Floor",
120
- position: 0,
121
- responsive: mkResponsive(`${FP_BASE}/unit04-main.png`, 1024, 1024)
104
+ position: 0
122
105
  }, {
123
- id: "fp_unit04_upper",
124
- url: `${FP_BASE}/unit04-upper.png`,
125
- alt: "Unit 4 floor plan — upper floor (bedrooms, baths).",
106
+ id: "dev_efp_pearl_street_unit04_upper",
126
107
  floor_label: "Upper Floor",
127
- position: 1,
128
- responsive: mkResponsive(`${FP_BASE}/unit04-upper.png`, 1024, 1024)
108
+ position: 1
129
109
  }]
130
110
  }];
131
111
  const pois = [
@@ -277,14 +257,14 @@ const contacts = [{
277
257
  display_name: "Ngozi Okafor",
278
258
  title: "Leasing Agent",
279
259
  bio: "Ngozi Okafor leases condos and townhomes across Denver's Speer, Uptown, and Governor's Park neighborhoods, with a focus on responsive turnarounds for one-year leases and relocation clients.",
280
- headshot_url: "https://example.invalid/contacts/ngozi-okafor.jpg",
260
+ headshot_id: "dev_lib_ngozi_okafor",
281
261
  website_url: "https://bluebird-realty-group.example.invalid",
282
262
  email: "ngozi@homepages.io",
283
263
  phone: "(720) 555-0173",
284
264
  address: "845 Pearl Street, Denver, CO 80203",
285
265
  org_name: "Bluebird Realty Group",
286
- logo_light: "https://example.invalid/brand/bluebird-logo-light.svg",
287
- logo_dark: "https://example.invalid/brand/bluebird-logo-dark.svg",
266
+ logo_light_id: "dev_lib_bluebird_logo_light",
267
+ logo_dark_id: "dev_lib_bluebird_logo_dark",
288
268
  socials: [{
289
269
  platform: "instagram",
290
270
  url: "https://instagram.com/ngozileases/"
@@ -299,14 +279,14 @@ const contacts = [{
299
279
  display_name: "Marco Bianchi",
300
280
  title: "Property Manager",
301
281
  bio: "Marco Bianchi manages day-to-day operations and maintenance for the Pearl Street townhome portfolio, coordinating move-ins, repairs, and lease renewals for residents.",
302
- headshot_url: "https://example.invalid/contacts/marco-bianchi.jpg",
282
+ headshot_id: "dev_lib_marco_bianchi",
303
283
  website_url: "https://bluebird-realty-group.example.invalid",
304
284
  email: "marco@homepages.io",
305
285
  phone: "(720) 555-0184",
306
286
  address: "845 Pearl Street, Denver, CO 80203",
307
287
  org_name: "Bluebird Realty Group",
308
- logo_light: "https://example.invalid/brand/bluebird-logo-light.svg",
309
- logo_dark: "https://example.invalid/brand/bluebird-logo-dark.svg",
288
+ logo_light_id: "dev_lib_bluebird_logo_light",
289
+ logo_dark_id: "dev_lib_bluebird_logo_dark",
310
290
  socials: [{
311
291
  platform: "linkedin",
312
292
  url: "https://linkedin.com/in/marco-bianchi-pm/"
@@ -343,10 +323,10 @@ const facts = {
343
323
  phone: c.fields.phone,
344
324
  address: c.fields.address,
345
325
  website_url: c.fields.website_url,
346
- avatar_upload_id: `upload_headshot_${c.library_item_id}`,
326
+ avatar_upload_id: c.fields.headshot_id,
347
327
  org_name: c.fields.org_name,
348
- logo_light_upload_id: c.fields.logo_light ? `upload_logo_light_${c.library_item_id}` : null,
349
- logo_dark_upload_id: c.fields.logo_dark ? `upload_logo_dark_${c.library_item_id}` : null,
328
+ logo_light_upload_id: c.fields.logo_light_id,
329
+ logo_dark_upload_id: c.fields.logo_dark_id,
350
330
  instagram_url: c.fields.socials.find((s) => s.platform === "instagram")?.url ?? null,
351
331
  linkedin_url: c.fields.socials.find((s) => s.platform === "linkedin")?.url ?? null,
352
332
  x_url: c.fields.socials.find((s) => s.platform === "x")?.url ?? null,
@@ -362,7 +342,7 @@ const forRentCondo = {
362
342
  amenities,
363
343
  contacts,
364
344
  media: {
365
- video_url: "https://vimeo.com/128373708",
345
+ video_id: "dev_vid_pearl_street_tour",
366
346
  tour_3d_url: null
367
347
  }
368
348
  };
@@ -10,7 +10,7 @@ const luxuryMultiUnit = {
10
10
  amenities: sampleAmenities,
11
11
  contacts: sampleContacts,
12
12
  media: {
13
- video_url: "https://vimeo.com/76979871",
13
+ video_id: "dev_vid_queensway_walkthrough",
14
14
  tour_3d_url: "https://my.matterport.com/show/?m=SxQL3iGyoDo"
15
15
  }
16
16
  };
@@ -1,11 +1,7 @@
1
- import { mkResponsive } from "../sample-property.js";
2
-
3
1
  //#region src/fixtures/scenarios/sparse-single-family.ts
4
- const PHOTO_BASE = "https://example.invalid/photos/tuscan-road";
5
2
  const photos = [
6
3
  {
7
- id: "ph_01",
8
- url: `${PHOTO_BASE}/01-exterior-front.jpg`,
4
+ id: "dev_upl_tuscan_road_01_exterior_front",
9
5
  alt: "Center-hall colonial facade with a covered front porch.",
10
6
  tags: {
11
7
  room: "exterior-front",
@@ -13,8 +9,7 @@ const photos = [
13
9
  }
14
10
  },
15
11
  {
16
- id: "ph_02",
17
- url: `${PHOTO_BASE}/02-living.jpg`,
12
+ id: "dev_upl_tuscan_road_02_living",
18
13
  alt: "Living room with a bay window and original hardwood floors.",
19
14
  tags: {
20
15
  room: "living",
@@ -22,8 +17,7 @@ const photos = [
22
17
  }
23
18
  },
24
19
  {
25
- id: "ph_03",
26
- url: `${PHOTO_BASE}/03-kitchen.jpg`,
20
+ id: "dev_upl_tuscan_road_03_kitchen",
27
21
  alt: "Updated kitchen with white shaker cabinets and butcher-block counters.",
28
22
  tags: {
29
23
  room: "kitchen",
@@ -31,8 +25,7 @@ const photos = [
31
25
  }
32
26
  },
33
27
  {
34
- id: "ph_04",
35
- url: `${PHOTO_BASE}/04-bedroom.jpg`,
28
+ id: "dev_upl_tuscan_road_04_bedroom",
36
29
  alt: "Primary bedroom with double-hung windows and a ceiling fan.",
37
30
  tags: {
38
31
  room: "bedroom",
@@ -40,8 +33,7 @@ const photos = [
40
33
  }
41
34
  },
42
35
  {
43
- id: "ph_05",
44
- url: `${PHOTO_BASE}/05-backyard.jpg`,
36
+ id: "dev_upl_tuscan_road_05_backyard",
45
37
  alt: "Fenced backyard with a paver patio and mature shade trees.",
46
38
  tags: {
47
39
  room: "backyard",
@@ -49,7 +41,6 @@ const photos = [
49
41
  }
50
42
  }
51
43
  ];
52
- const floorplanUrl = `https://example.invalid/floorplans/tuscan-road/main-floor.png`;
53
44
  const units = [{
54
45
  unit_id: "unit_01",
55
46
  unit_label: null,
@@ -66,12 +57,9 @@ const units = [{
66
57
  ],
67
58
  position: 0,
68
59
  floor_plans: [{
69
- id: "fp_main",
70
- url: floorplanUrl,
71
- alt: "Full-house floor plan — first and second floor.",
60
+ id: "dev_efp_tuscan_road_main_floor",
72
61
  floor_label: null,
73
- position: 0,
74
- responsive: mkResponsive(floorplanUrl, 1024, 1024)
62
+ position: 0
75
63
  }]
76
64
  }];
77
65
  const pois = [
@@ -168,14 +156,14 @@ const contacts = [{
168
156
  display_name: "Priya Chandran",
169
157
  title: "Owner/Broker",
170
158
  bio: "Priya Chandran is a solo independent broker serving Maplewood and the surrounding South Orange Valley towns. She handles every listing personally, from staging through closing, with a focus on single-family colonials and first-time sellers.",
171
- headshot_url: "https://example.invalid/contacts/priya-chandran.jpg",
159
+ headshot_id: "dev_lib_priya_chandran",
172
160
  website_url: "https://priya-chandran-realty.example.invalid",
173
161
  email: "priya@homepages.io",
174
162
  phone: "(973) 555-0148",
175
163
  address: "1620 Springfield Ave, Maplewood, NJ 07040",
176
164
  org_name: "Priya Chandran Realty",
177
- logo_light: null,
178
- logo_dark: null,
165
+ logo_light_id: null,
166
+ logo_dark_id: null,
179
167
  socials: [{
180
168
  platform: "instagram",
181
169
  url: "https://instagram.com/priyachandranrealty/"
@@ -211,10 +199,10 @@ const facts = {
211
199
  phone: c.fields.phone,
212
200
  address: c.fields.address,
213
201
  website_url: c.fields.website_url,
214
- avatar_upload_id: `upload_headshot_${c.library_item_id}`,
202
+ avatar_upload_id: c.fields.headshot_id,
215
203
  org_name: c.fields.org_name,
216
- logo_light_upload_id: c.fields.logo_light ? `upload_logo_light_${c.library_item_id}` : null,
217
- logo_dark_upload_id: c.fields.logo_dark ? `upload_logo_dark_${c.library_item_id}` : null,
204
+ logo_light_upload_id: c.fields.logo_light_id,
205
+ logo_dark_upload_id: c.fields.logo_dark_id,
218
206
  instagram_url: c.fields.socials.find((s) => s.platform === "instagram")?.url ?? null,
219
207
  linkedin_url: c.fields.socials.find((s) => s.platform === "linkedin")?.url ?? null,
220
208
  x_url: c.fields.socials.find((s) => s.platform === "x")?.url ?? null,
@@ -230,7 +218,7 @@ const sparseSingleFamily = {
230
218
  amenities,
231
219
  contacts,
232
220
  media: {
233
- video_url: null,
221
+ video_id: null,
234
222
  tour_3d_url: null
235
223
  }
236
224
  };
@@ -1,8 +1,8 @@
1
- import { AmenityItem, ContactFixture, PhotoFixture, PoiFixture, mkResponsive } from "./fixtures/sample-property.js";
1
+ import { AmenityItem, ContactFixture, PhotoFixture, PoiFixture } from "./fixtures/sample-property.js";
2
2
  import { MediaFixture, Scenario, ScenarioKey } from "./fixtures/scenario.js";
3
3
  import { forRentCondo } from "./fixtures/scenarios/for-rent-condo.js";
4
4
  import { luxuryMultiUnit } from "./fixtures/scenarios/luxury-multi-unit.js";
5
5
  import { sparseSingleFamily } from "./fixtures/scenarios/sparse-single-family.js";
6
6
  import { scenarios } from "./fixtures/scenarios/index.js";
7
7
  import { PropertyMetrics, contactCards, poisByCategory, primaryContact, propertyMetrics } from "./fixtures/helpers.js";
8
- export { type AmenityItem, type ContactFixture, type MediaFixture, type PhotoFixture, type PoiFixture, type PropertyMetrics, type Scenario, type ScenarioKey, contactCards, forRentCondo, luxuryMultiUnit, mkResponsive, poisByCategory, primaryContact, propertyMetrics, scenarios, sparseSingleFamily };
8
+ export { type AmenityItem, type ContactFixture, type MediaFixture, type PhotoFixture, type PoiFixture, type PropertyMetrics, type Scenario, type ScenarioKey, contactCards, forRentCondo, luxuryMultiUnit, poisByCategory, primaryContact, propertyMetrics, scenarios, sparseSingleFamily };
package/dist/fixtures.js CHANGED
@@ -1,8 +1,7 @@
1
- import { mkResponsive } from "./fixtures/sample-property.js";
2
1
  import { forRentCondo } from "./fixtures/scenarios/for-rent-condo.js";
3
2
  import { luxuryMultiUnit } from "./fixtures/scenarios/luxury-multi-unit.js";
4
3
  import { sparseSingleFamily } from "./fixtures/scenarios/sparse-single-family.js";
5
4
  import { scenarios } from "./fixtures/scenarios/index.js";
6
5
  import { contactCards, poisByCategory, primaryContact, propertyMetrics } from "./fixtures/helpers.js";
7
6
 
8
- export { contactCards, forRentCondo, luxuryMultiUnit, mkResponsive, poisByCategory, primaryContact, propertyMetrics, scenarios, sparseSingleFamily };
7
+ export { contactCards, forRentCondo, luxuryMultiUnit, poisByCategory, primaryContact, propertyMetrics, scenarios, sparseSingleFamily };
package/dist/index.d.ts CHANGED
@@ -34,8 +34,8 @@ import { TokenNameSchema, TokenTheme, TokenThemeSchema, compileThemeToCss } from
34
34
  * Read from package.json and inlined at build time, so it cannot drift: changesets
35
35
  * owns package.json's version, and a hardcoded constant here would have to be
36
36
  * hand-edited on every release — on a branch changesets force-pushes, which would
37
- * silently discard the edit. `dist/cli.js --version` is asserted against
38
- * package.json to prove the inlining actually happened.
37
+ * silently discard the edit. src/index.test.ts asserts it against package.json to
38
+ * prove the inlining actually happened.
39
39
  */
40
40
  declare const KIT_VERSION: string;
41
41
  //#endregion
package/dist/index.js CHANGED
@@ -27,8 +27,8 @@ import { TokenNameSchema, TokenThemeSchema, compileThemeToCss } from "./design-s
27
27
  * Read from package.json and inlined at build time, so it cannot drift: changesets
28
28
  * owns package.json's version, and a hardcoded constant here would have to be
29
29
  * hand-edited on every release — on a branch changesets force-pushes, which would
30
- * silently discard the edit. `dist/cli.js --version` is asserted against
31
- * package.json to prove the inlining actually happened.
30
+ * silently discard the edit. src/index.test.ts asserts it against package.json to
31
+ * prove the inlining actually happened.
32
32
  */
33
33
  const KIT_VERSION = version;
34
34
 
@@ -1,6 +1,6 @@
1
1
  import { isClientComponentFile } from "./detect.js";
2
- import { readdir } from "node:fs/promises";
3
2
  import { extname, join } from "node:path";
3
+ import { readdir } from "node:fs/promises";
4
4
 
5
5
  //#region src/islands/discover.ts
6
6
  const COMPONENT_EXTS = /* @__PURE__ */ new Set([".tsx", ".jsx"]);
@@ -1,7 +1,7 @@
1
1
  import { islandKey } from "./detect.js";
2
2
  import { wrapClientModuleSource } from "./wrap.js";
3
- import { readFile } from "node:fs/promises";
4
3
  import { basename, extname } from "node:path";
4
+ import { readFile } from "node:fs/promises";
5
5
 
6
6
  //#region src/islands/esbuild-plugin.ts
7
7
  const LOADER = {
@@ -1,5 +1,13 @@
1
1
  import MagicString from "magic-string";
2
2
  //#region src/islands/wrap.d.ts
3
+ /**
4
+ * The codemod as a `MagicString`, so a caller (the Vite plugin) can emit a
5
+ * hi-res sourcemap alongside the rewritten code. Returns null on the same terms
6
+ * as `wrapClientModuleSource` — a non-client module or one with no default
7
+ * export. The rebound original is `__trIslandReal`; it still flows through the
8
+ * consumer's JSX/TS transform unchanged.
9
+ */
10
+ declare function wrapClientModuleMagic(code: string, islandKey: string): MagicString | null;
3
11
  /**
4
12
  * Rewrite a client module's source so its default export renders through
5
13
  * `IslandMarker` with `islandKey`. Returns null when `code` is not a client
@@ -9,4 +17,4 @@ import MagicString from "magic-string";
9
17
  */
10
18
  declare function wrapClientModuleSource(code: string, islandKey: string): string | null;
11
19
  //#endregion
12
- export { wrapClientModuleSource };
20
+ export { wrapClientModuleMagic, wrapClientModuleSource };