efficient-web-builder 44.0.1 → 45.0.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 (368) hide show
  1. package/CHANGELOG.md +0 -4
  2. package/README.md +8 -0
  3. package/dist/editor/components/BlogPostSource.js +1 -1
  4. package/dist/editor/components/CanvasPartsBridge.js +1 -1
  5. package/dist/editor/components/CardShadowField.js +1 -1
  6. package/dist/editor/components/ChatSettingsPanel.js +1 -1
  7. package/dist/editor/components/FieldGlyph.js +1 -1
  8. package/dist/editor/components/LocationsGroupedField.js +1 -1
  9. package/dist/editor/components/PartInkControl.js +1 -1
  10. package/dist/editor/components/PartSettingsPanel.d.ts +0 -2
  11. package/dist/editor/components/PartSettingsPanel.js +1 -1
  12. package/dist/editor/components/PartTextBox.d.ts +6 -3
  13. package/dist/editor/components/PartTextBox.js +1 -1
  14. package/dist/editor/components/PreviewChatContext.d.ts +1 -2
  15. package/dist/editor/components/PreviewChatContext.js +1 -1
  16. package/dist/editor/components/PreviewPartAnchors.js +1 -1
  17. package/dist/editor/components/SectionIcon.js +1 -1
  18. package/dist/editor/components/SectionThemePicker.js +1 -1
  19. package/dist/editor/components/SectionWidthRows.d.ts +6 -13
  20. package/dist/editor/components/SectionWidthRows.js +1 -1
  21. package/dist/editor/components/SourceStatus.d.ts +2 -1
  22. package/dist/editor/components/SourceStatus.js +1 -1
  23. package/dist/editor/components/ThemeCard.js +1 -1
  24. package/dist/editor/components/ThemeColourField.js +1 -1
  25. package/dist/editor/components/ThemeField.js +1 -1
  26. package/dist/editor/components/TickerSettingsPanel.js +1 -1
  27. package/dist/editor/components/WebsiteScreenParts.js +1 -1
  28. package/dist/editor/components/WebsiteSettingsPanel.js +1 -1
  29. package/dist/editor/components/storefront-editor.css +90 -359
  30. package/dist/editor/components/useHostDocumentBridge.js +1 -1
  31. package/dist/editor/components/useLocationsTree.js +1 -1
  32. package/dist/editor/lib/animation/AnimationDurationRow.d.ts +3 -0
  33. package/dist/editor/lib/animation/AnimationDurationRow.js +1 -0
  34. package/dist/editor/lib/animation/entrance-fields.d.ts +4 -0
  35. package/dist/editor/lib/animation/entrance-fields.js +1 -0
  36. package/dist/editor/lib/animation/fields.d.ts +2 -0
  37. package/dist/editor/lib/animation/fields.js +1 -0
  38. package/dist/editor/lib/animation/loop-fields.d.ts +2 -0
  39. package/dist/editor/lib/animation/loop-fields.js +1 -0
  40. package/dist/editor/lib/document/ColourControl.js +1 -1
  41. package/dist/editor/lib/document/add-palette.js +1 -1
  42. package/dist/editor/lib/document/block-offer.js +1 -1
  43. package/dist/editor/lib/document/block-source-fields.d.ts +1 -1
  44. package/dist/editor/lib/document/block-source-fields.js +1 -1
  45. package/dist/editor/lib/document/blocks/general/Banner/fields.js +1 -1
  46. package/dist/editor/lib/document/blocks/general/Breadcrumb/fields.js +1 -1
  47. package/dist/editor/lib/document/blocks/general/ButtonBlock/fields.js +1 -1
  48. package/dist/editor/lib/document/blocks/general/Cards/fields.js +1 -1
  49. package/dist/editor/lib/document/blocks/general/CategoryBar/fields.js +1 -1
  50. package/dist/editor/lib/document/blocks/general/Chart/fields.js +1 -1
  51. package/dist/editor/lib/document/blocks/general/Divider/fields.js +1 -1
  52. package/dist/editor/lib/document/blocks/general/DocBody/fields.js +1 -1
  53. package/dist/editor/lib/document/blocks/general/DocMasthead/fields.js +1 -1
  54. package/dist/editor/lib/document/blocks/general/DocTabs/fields.js +1 -1
  55. package/dist/editor/lib/document/blocks/general/Eyebrow/fields.js +1 -1
  56. package/dist/editor/lib/document/blocks/general/FAQ/fields.js +1 -1
  57. package/dist/editor/lib/document/blocks/general/FeaturedCover/fields.js +1 -1
  58. package/dist/editor/lib/document/blocks/general/Flex/fields.js +1 -1
  59. package/dist/editor/lib/document/blocks/general/Footprint/fields.js +1 -1
  60. package/dist/editor/lib/document/blocks/general/Grid/fields.js +1 -1
  61. package/dist/editor/lib/document/blocks/general/Heading/fields.js +1 -1
  62. package/dist/editor/lib/document/blocks/general/Hero/fields.js +1 -1
  63. package/dist/editor/lib/document/blocks/general/HeroGroup/fields.js +1 -1
  64. package/dist/editor/lib/document/blocks/general/HeroSingle/fields.js +1 -1
  65. package/dist/editor/lib/document/blocks/general/HeroSlide/fields.js +1 -1
  66. package/dist/editor/lib/document/blocks/general/ImageBlock/fields.js +1 -1
  67. package/dist/editor/lib/document/blocks/general/Integrations/fields.js +2 -2
  68. package/dist/editor/lib/document/blocks/general/IntroBleed/fields.js +1 -1
  69. package/dist/editor/lib/document/blocks/general/KeyFeatures/fields.js +1 -1
  70. package/dist/editor/lib/document/blocks/general/LocationMap/fields.d.ts +10 -0
  71. package/dist/editor/lib/document/blocks/general/LocationMap/fields.js +1 -0
  72. package/dist/editor/lib/document/blocks/general/LogoBlock/fields.js +1 -1
  73. package/dist/editor/lib/document/blocks/general/Logos/fields.js +1 -1
  74. package/dist/editor/lib/document/blocks/general/LongRead/fields.js +1 -1
  75. package/dist/editor/lib/document/blocks/general/Manifesto/fields.js +2 -2
  76. package/dist/editor/lib/document/blocks/general/Masthead/fields.js +1 -1
  77. package/dist/editor/lib/document/blocks/general/Mockup/fields.js +2 -2
  78. package/dist/editor/lib/document/blocks/general/OrderSummary/fields.js +1 -1
  79. package/dist/editor/lib/document/blocks/general/ParagraphsA/fields.js +1 -1
  80. package/dist/editor/lib/document/blocks/general/PaymentBadges/fields.js +1 -1
  81. package/dist/editor/lib/document/blocks/general/PostCard/fields.js +1 -1
  82. package/dist/editor/lib/document/blocks/general/ProcessSteps/fields.js +1 -1
  83. package/dist/editor/lib/document/blocks/general/Prose/fields.js +1 -1
  84. package/dist/editor/lib/document/blocks/general/SectionHeader/fields.js +1 -1
  85. package/dist/editor/lib/document/blocks/general/Series/fields.js +1 -1
  86. package/dist/editor/lib/document/blocks/general/SpecStrip/fields.js +1 -1
  87. package/dist/editor/lib/document/blocks/general/Split/fields.js +1 -1
  88. package/dist/editor/lib/document/blocks/general/Stats/fields.js +1 -1
  89. package/dist/editor/lib/document/blocks/general/StatsParagraph/fields.js +1 -1
  90. package/dist/editor/lib/document/blocks/general/Testimonials/fields.js +1 -1
  91. package/dist/editor/lib/document/blocks/general/Text/fields.js +1 -1
  92. package/dist/editor/lib/document/blocks/general/Ticker/fields.js +1 -1
  93. package/dist/editor/lib/document/blocks/general/Timeline/fields.js +1 -1
  94. package/dist/editor/lib/document/blocks/general/TimelineTrack/fields.js +1 -1
  95. package/dist/editor/lib/document/blocks/general/TitleWithButtons/fields.js +1 -1
  96. package/dist/editor/lib/document/blocks/general/index.d.ts +2 -2
  97. package/dist/editor/lib/document/blocks/general/index.js +1 -1
  98. package/dist/editor/lib/document/blocks/shared-fields.d.ts +3 -4
  99. package/dist/editor/lib/document/blocks/shared-fields.js +1 -1
  100. package/dist/editor/lib/document/box-fields.d.ts +32 -0
  101. package/dist/editor/lib/document/box-fields.js +1 -0
  102. package/dist/editor/lib/document/box-gutter-field.d.ts +1 -0
  103. package/dist/editor/lib/document/box-gutter-field.js +1 -0
  104. package/dist/editor/lib/document/card-row-fields.d.ts +1 -1
  105. package/dist/editor/lib/document/card-row-fields.js +1 -1
  106. package/dist/editor/lib/document/consent-words-field.d.ts +2 -3
  107. package/dist/editor/lib/document/consent-words-field.js +1 -1
  108. package/dist/editor/lib/document/controls.d.ts +34 -94
  109. package/dist/editor/lib/document/controls.js +1 -1
  110. package/dist/editor/lib/document/enclosing-section.d.ts +5 -1
  111. package/dist/editor/lib/document/enclosing-section.js +1 -1
  112. package/dist/editor/lib/document/field-groups.js +1 -1
  113. package/dist/editor/lib/document/general-registry.js +1 -1
  114. package/dist/editor/lib/document/overrides.js +1 -1
  115. package/dist/editor/lib/document/page-root-fields.d.ts +1 -1
  116. package/dist/editor/lib/document/page-root-fields.js +1 -1
  117. package/dist/editor/lib/document/page-root.d.ts +2 -7
  118. package/dist/editor/lib/document/page-root.js +2 -2
  119. package/dist/editor/lib/document/part-anchors.d.ts +0 -1
  120. package/dist/editor/lib/document/part-anchors.js +1 -1
  121. package/dist/editor/lib/document/part-panel-rows.d.ts +75 -0
  122. package/dist/editor/lib/document/part-panel-rows.js +1 -0
  123. package/dist/editor/lib/document/passes/inspector.js +1 -1
  124. package/dist/editor/lib/document/separator-field.d.ts +10 -0
  125. package/dist/editor/lib/document/separator-field.js +1 -0
  126. package/dist/editor/lib/document/shell-glyph.d.ts +2 -0
  127. package/dist/editor/lib/document/shell-glyph.js +1 -0
  128. package/dist/{format → editor}/lib/host-document-bridge.d.ts +1 -3
  129. package/dist/editor/lib/host-document-bridge.js +1 -0
  130. package/dist/editor/lib/pinned-chrome-doc.js +1 -1
  131. package/dist/editor/lib/sections/new-section-node.js +1 -1
  132. package/dist/editor/lib/sections/section-dry-run.d.ts +13 -2
  133. package/dist/editor/lib/sections/section-dry-run.js +2 -2
  134. package/dist/editor/lib/sections/text-layouts.d.ts +6 -0
  135. package/dist/editor/lib/sections/text-layouts.js +1 -0
  136. package/dist/editor/lib/source-rules/part-slider-fills-row.d.ts +1 -0
  137. package/dist/editor/lib/source-rules/part-slider-fills-row.js +5 -5
  138. package/dist/format/lib/animation/index.d.ts +1 -0
  139. package/dist/format/lib/animation/index.js +1 -0
  140. package/dist/format/lib/animation/loop.d.ts +29 -0
  141. package/dist/format/lib/animation/loop.js +1 -0
  142. package/dist/format/lib/content/block-size.d.ts +59 -0
  143. package/dist/format/lib/content/block-size.js +1 -0
  144. package/dist/format/lib/content/box-background.js +1 -1
  145. package/dist/format/lib/content/box-layout.d.ts +16 -37
  146. package/dist/format/lib/content/box-layout.js +1 -1
  147. package/dist/format/lib/content/box-link.d.ts +13 -0
  148. package/dist/format/lib/content/box-link.js +13 -0
  149. package/dist/format/lib/content/box-separator.d.ts +10 -0
  150. package/dist/format/lib/content/box-separator.js +1 -0
  151. package/dist/format/lib/content/box-shape.d.ts +10 -0
  152. package/dist/format/lib/content/box-shape.js +1 -0
  153. package/dist/format/lib/content/button-icon.d.ts +1 -0
  154. package/dist/format/lib/content/button-icon.js +1 -1
  155. package/dist/format/lib/content/card-corners.d.ts +0 -3
  156. package/dist/format/lib/content/card-corners.js +1 -1
  157. package/dist/format/lib/content/card-template.d.ts +2 -0
  158. package/dist/format/lib/content/card-template.js +1 -1
  159. package/dist/format/lib/content/cart-drawer.d.ts +7 -0
  160. package/dist/format/lib/content/cart-drawer.js +1 -1
  161. package/dist/format/lib/content/chat-launcher.js +1 -1
  162. package/dist/format/lib/content/container-gap.d.ts +9 -1
  163. package/dist/format/lib/content/container-gap.js +1 -1
  164. package/dist/format/lib/content/gallery-card-layout.js +1 -1
  165. package/dist/format/lib/content/gallery-layout.d.ts +1 -0
  166. package/dist/format/lib/content/gallery-layout.js +1 -1
  167. package/dist/format/lib/content/page-background.js +1 -1
  168. package/dist/format/lib/content/post-date.d.ts +1 -0
  169. package/dist/format/lib/content/post-date.js +1 -0
  170. package/dist/format/lib/content/scrim.d.ts +1 -0
  171. package/dist/format/lib/content/scrim.js +1 -0
  172. package/dist/format/lib/content/section-min-height.d.ts +4 -0
  173. package/dist/format/lib/content/section-min-height.js +1 -1
  174. package/dist/format/lib/content/section-width.d.ts +2 -18
  175. package/dist/format/lib/content/section-width.js +1 -1
  176. package/dist/format/lib/content/site-gutter.d.ts +11 -1
  177. package/dist/format/lib/content/site-gutter.js +1 -1
  178. package/dist/format/lib/content/tint.d.ts +1 -0
  179. package/dist/format/lib/content/tint.js +1 -0
  180. package/dist/format/lib/document/blocks/block-types.d.ts +0 -1
  181. package/dist/format/lib/document/blocks/general/HeroSingle/meta.js +1 -1
  182. package/dist/format/lib/document/blocks/general/HeroSlide/meta.js +1 -1
  183. package/dist/format/lib/document/blocks/general/IntroBleed/meta.js +1 -1
  184. package/dist/format/lib/document/blocks/general/LocationMap/meta.d.ts +2 -0
  185. package/dist/format/lib/document/blocks/general/LocationMap/meta.js +1 -0
  186. package/dist/format/lib/document/blocks/general/SpecStrip/meta.d.ts +5 -0
  187. package/dist/format/lib/document/blocks/general/SpecStrip/meta.js +1 -1
  188. package/dist/format/lib/document/blocks/general/Ticker/meta.js +1 -1
  189. package/dist/format/lib/document/blocks/general/metas.d.ts +1 -0
  190. package/dist/format/lib/document/blocks/general/metas.js +1 -1
  191. package/dist/format/lib/document/blocks/general/text-part-shapes.json +30 -0
  192. package/dist/format/lib/document/box-footer.d.ts +1 -0
  193. package/dist/format/lib/document/box-footer.js +1 -1
  194. package/dist/format/lib/document/cap-hero-groups.js +1 -1
  195. package/dist/format/lib/document/container-blocks.js +1 -1
  196. package/dist/format/lib/document/editor-site-widths.d.ts +2 -0
  197. package/dist/format/lib/document/editor-site-widths.js +1 -0
  198. package/dist/format/lib/document/general-order.d.ts +1 -1
  199. package/dist/format/lib/document/general-order.js +1 -1
  200. package/dist/format/lib/document/part-inks.js +1 -1
  201. package/dist/format/lib/document/passes/document-position.js +1 -1
  202. package/dist/format/lib/document/passes/settings-groups.js +1 -1
  203. package/dist/format/lib/document/passes/types.d.ts +10 -5
  204. package/dist/format/lib/document/renamed-props.js +1 -1
  205. package/dist/format/lib/document/section-catalog.js +2 -2
  206. package/dist/format/lib/editor-words-catalogue.d.ts +32 -31
  207. package/dist/format/lib/editor-words-catalogue.js +6 -6
  208. package/dist/format/lib/fit-words.js +77 -18
  209. package/dist/format/lib/fonts.d.ts +1 -0
  210. package/dist/format/lib/fonts.js +1 -1
  211. package/dist/format/lib/hero-group-placement.js +1 -1
  212. package/dist/format/lib/hero-texture.d.ts +1 -1
  213. package/dist/format/lib/hero-texture.js +1 -1
  214. package/dist/format/lib/locations-grid.d.ts +1 -0
  215. package/dist/format/lib/locations-grid.js +1 -1
  216. package/dist/format/lib/map-styles.d.ts +0 -1
  217. package/dist/format/lib/map-styles.js +1 -1
  218. package/dist/format/lib/popup/look.js +1 -1
  219. package/dist/format/lib/popup/text-kinds.d.ts +0 -1
  220. package/dist/format/lib/popup/text-kinds.js +1 -1
  221. package/dist/format/lib/sections/hero-overlay.d.ts +1 -1
  222. package/dist/format/lib/sections/hero-overlay.js +1 -1
  223. package/dist/format/lib/sections/section-head-placement.d.ts +0 -4
  224. package/dist/format/lib/sections/section-head-placement.js +1 -1
  225. package/dist/format/lib/sections/section-presets.js +1 -1
  226. package/dist/format/lib/sections/strip-shape.d.ts +16 -0
  227. package/dist/format/lib/sections/strip-shape.js +1 -0
  228. package/dist/format/lib/sections/timeline-year-shape.d.ts +4 -0
  229. package/dist/format/lib/sections/timeline-year-shape.js +1 -0
  230. package/dist/format/lib/source-rules/box-fields-from-easel.d.ts +4 -0
  231. package/dist/format/lib/source-rules/box-fields-from-easel.js +8 -0
  232. package/dist/format/lib/source-rules/editor-chrome-note.js +1 -1
  233. package/dist/format/lib/source-rules/editor-words.js +2 -2
  234. package/dist/format/lib/source-rules/no-glyph-rows.d.ts +0 -4
  235. package/dist/format/lib/source-rules/no-glyph-rows.js +4 -4
  236. package/dist/format/lib/source-rules/one-loop-module.d.ts +7 -0
  237. package/dist/format/lib/source-rules/one-loop-module.js +6 -0
  238. package/dist/format/lib/source-rules/one-node-list.d.ts +2 -0
  239. package/dist/format/lib/source-rules/one-node-list.js +1 -0
  240. package/dist/format/lib/source-rules/one-page-theme-reader.d.ts +6 -0
  241. package/dist/format/lib/source-rules/one-page-theme-reader.js +6 -0
  242. package/dist/format/lib/source-rules/part-style-naming.js +1 -1
  243. package/dist/format/lib/source-rules/shell-width-token-not-colour.d.ts +5 -0
  244. package/dist/format/lib/source-rules/shell-width-token-not-colour.js +2 -0
  245. package/dist/format/lib/source-rules/site-square-by-default.js +3 -3
  246. package/dist/format/lib/source-rules/support/panel-select-cascade.js +2 -2
  247. package/dist/format/lib/theme.d.ts +3 -0
  248. package/dist/format/lib/theme.js +4 -4
  249. package/dist/render/components/Banner.js +1 -1
  250. package/dist/render/components/ButtonBlock.d.ts +1 -0
  251. package/dist/render/components/ButtonBlock.js +1 -1
  252. package/dist/render/components/CardRowContext.d.ts +4 -4
  253. package/dist/render/components/CardRowContext.js +1 -1
  254. package/dist/render/components/Cards.d.ts +1 -0
  255. package/dist/render/components/Cards.js +1 -1
  256. package/dist/render/components/ContactLocations.js +2 -14
  257. package/dist/render/components/FeaturedCover.js +1 -1
  258. package/dist/render/components/Flex.d.ts +19 -1
  259. package/dist/render/components/Flex.js +1 -1
  260. package/dist/render/components/Grid.js +1 -1
  261. package/dist/render/components/Heading.d.ts +1 -0
  262. package/dist/render/components/Heading.js +1 -1
  263. package/dist/render/components/HeroSection.js +1 -1
  264. package/dist/render/components/HeroSingle.js +1 -1
  265. package/dist/render/components/HeroSlide.js +1 -1
  266. package/dist/render/components/HeroVideoPlay.js +1 -1
  267. package/dist/render/components/ImageBlock.d.ts +1 -2
  268. package/dist/render/components/ImageBlock.js +1 -1
  269. package/dist/render/components/InBoxContext.d.ts +2 -0
  270. package/dist/render/components/InBoxContext.js +1 -0
  271. package/dist/render/components/KeyFeatures.js +1 -1
  272. package/dist/render/components/LocationMap.d.ts +23 -0
  273. package/dist/render/components/LocationMap.js +1 -0
  274. package/dist/render/components/Logo.js +1 -1
  275. package/dist/render/components/LongRead.js +1 -1
  276. package/dist/render/components/Manifesto.d.ts +2 -1
  277. package/dist/render/components/Manifesto.js +1 -1
  278. package/dist/render/components/PreviewHeaderContext.d.ts +1 -4
  279. package/dist/render/components/PreviewHeaderContext.js +1 -1
  280. package/dist/render/components/PreviewLocationPartContext.d.ts +1 -1
  281. package/dist/render/components/PreviewLocationPartContext.js +1 -1
  282. package/dist/render/components/ProcessSteps.js +1 -1
  283. package/dist/render/components/SectionAnimation.d.ts +16 -3
  284. package/dist/render/components/SectionAnimation.js +1 -1
  285. package/dist/render/components/SiteGutterFrame.d.ts +7 -1
  286. package/dist/render/components/SiteGutterFrame.js +1 -1
  287. package/dist/render/components/SiteMap.js +1 -1
  288. package/dist/render/components/SpecStrip.d.ts +2 -4
  289. package/dist/render/components/SpecStrip.js +1 -1
  290. package/dist/render/components/Split.d.ts +2 -1
  291. package/dist/render/components/Split.js +1 -1
  292. package/dist/render/components/Text.d.ts +2 -0
  293. package/dist/render/components/Text.js +1 -1
  294. package/dist/render/components/Ticker.d.ts +5 -4
  295. package/dist/render/components/Ticker.js +1 -1
  296. package/dist/render/components/TickerSection.d.ts +5 -4
  297. package/dist/render/components/TickerSection.js +1 -1
  298. package/dist/render/components/Timeline.js +1 -1
  299. package/dist/render/components/TimelineRail.d.ts +55 -0
  300. package/dist/render/components/TimelineRail.js +1 -0
  301. package/dist/render/components/TimelineTrack.js +1 -1
  302. package/dist/render/components/goldPhrases.js +1 -1
  303. package/dist/render/lib/animation/LoopTrack.d.ts +14 -0
  304. package/dist/render/lib/animation/LoopTrack.js +1 -0
  305. package/dist/render/lib/animation/entrance.d.ts +18 -0
  306. package/dist/render/lib/animation/entrance.js +1 -0
  307. package/dist/render/lib/document/blocks/general/ButtonBlock/render.js +1 -1
  308. package/dist/render/lib/document/blocks/general/Flex/render.js +1 -1
  309. package/dist/render/lib/document/blocks/general/ImageBlock/render.js +1 -1
  310. package/dist/render/lib/document/blocks/general/LocationMap/render.d.ts +2 -0
  311. package/dist/render/lib/document/blocks/general/LocationMap/render.js +1 -0
  312. package/dist/render/lib/document/blocks/general/Manifesto/render.js +1 -1
  313. package/dist/render/lib/document/blocks/general/SectionHeader/render.js +1 -1
  314. package/dist/render/lib/document/blocks/general/Split/render.js +1 -1
  315. package/dist/render/lib/document/blocks/general/Text/render.js +1 -1
  316. package/dist/render/lib/document/blocks/general/Ticker/render.js +1 -1
  317. package/dist/render/lib/document/blocks/general/renders.d.ts +1 -0
  318. package/dist/render/lib/document/blocks/general/renders.js +1 -1
  319. package/dist/render/lib/document/blocks/general/section-head-looks.d.ts +9 -0
  320. package/dist/render/lib/document/blocks/general/section-head-looks.js +2 -0
  321. package/dist/render/lib/document/blocks/general/section-to-box-row-parts.d.ts +9 -1
  322. package/dist/render/lib/document/blocks/general/section-to-box-row-parts.js +1 -1
  323. package/dist/render/lib/document/blocks/general/section-to-box-rows-cards.d.ts +2 -0
  324. package/dist/render/lib/document/blocks/general/section-to-box-rows-cards.js +1 -0
  325. package/dist/render/lib/document/blocks/general/section-to-box-rows-head.d.ts +4 -0
  326. package/dist/render/lib/document/blocks/general/section-to-box-rows-head.js +1 -0
  327. package/dist/render/lib/document/blocks/general/section-to-box-rows-locations.d.ts +2 -0
  328. package/dist/render/lib/document/blocks/general/section-to-box-rows-locations.js +1 -0
  329. package/dist/render/lib/document/blocks/general/section-to-box-rows-logos.js +1 -1
  330. package/dist/render/lib/document/blocks/general/section-to-box-rows-stats.js +1 -1
  331. package/dist/render/lib/document/blocks/general/section-to-box-rows-strip.d.ts +2 -0
  332. package/dist/render/lib/document/blocks/general/section-to-box-rows-strip.js +1 -0
  333. package/dist/render/lib/document/blocks/general/section-to-box-rows-timeline.d.ts +2 -0
  334. package/dist/render/lib/document/blocks/general/section-to-box-rows-timeline.js +3 -0
  335. package/dist/render/lib/document/blocks/general/section-to-box-rows.js +1 -1
  336. package/dist/render/lib/document/page-frame.d.ts +3 -21
  337. package/dist/render/lib/document/page-frame.js +1 -1
  338. package/dist/render/lib/document/part-styles.d.ts +14 -13
  339. package/dist/render/lib/document/part-styles.js +2 -2
  340. package/dist/render/lib/document/passes/block-size.d.ts +3 -0
  341. package/dist/render/lib/document/passes/block-size.js +1 -0
  342. package/dist/render/lib/document/passes/cell-width.d.ts +1 -0
  343. package/dist/render/lib/document/passes/cell-width.js +1 -1
  344. package/dist/render/lib/document/passes/clickable-parts.js +1 -1
  345. package/dist/render/lib/document/passes/corners.js +1 -1
  346. package/dist/render/lib/document/passes/index.js +1 -1
  347. package/dist/render/lib/document/passes/section-anchor.d.ts +1 -0
  348. package/dist/render/lib/document/passes/section-anchor.js +1 -1
  349. package/dist/render/lib/document/passes/section-animation.d.ts +1 -0
  350. package/dist/render/lib/document/passes/section-animation.js +1 -1
  351. package/dist/render/lib/document/passes/section-padding.js +1 -1
  352. package/dist/render/lib/document/passes/section-width.d.ts +1 -4
  353. package/dist/render/lib/document/passes/section-width.js +1 -1
  354. package/dist/render/lib/sections/section-to-box.d.ts +28 -7
  355. package/dist/render/lib/sections/section-to-box.js +1 -1
  356. package/dist/render/lib/text-styles/site-text-styles.js +2 -2
  357. package/package.json +5 -5
  358. package/dist/editor/components/PartResetDot.d.ts +0 -5
  359. package/dist/editor/components/PartResetDot.js +0 -1
  360. package/dist/editor/lib/document/section-width-fields.d.ts +0 -2
  361. package/dist/editor/lib/document/section-width-fields.js +0 -1
  362. package/dist/format/lib/content/image-width.d.ts +0 -9
  363. package/dist/format/lib/content/image-width.js +0 -1
  364. package/dist/format/lib/content/section-animation.d.ts +0 -13
  365. package/dist/format/lib/content/section-animation.js +0 -1
  366. package/dist/format/lib/host-document-bridge.js +0 -1
  367. package/dist/format/lib/sections/ticker-scroll.d.ts +0 -11
  368. package/dist/format/lib/sections/ticker-scroll.js +0 -1
@@ -0,0 +1 @@
1
+ "use client";import{jsx as n,jsxs as s}from"react/jsx-runtime";import{useMemo as v}from"react";import{hasMapCoords as m}from"../../format/lib/map-styles.js";import _ from"./SiteMap.js";const y="relative overflow-hidden max-[1100px]:aspect-square";function k(e,r,t){return m(r,t)?[{key:"place",label:e,lat:r,lng:t,glyph:"",tone:""}]:[]}function N(e,r,t,a){return e||(r?`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent([r,t,a].filter(Boolean).join(" "))}`:"")}function j({href:e}){return n("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent transition-colors hover:text-fg",children:"Get directions ↗"})}function w({name:e,state:r,country:t,lat:a,lng:i,mapsUrl:f,mapTheme:u="auto",pick:c,editing:g,boxClass:l=y}){const h=m(a,i),p=r,o=e||"Location",b=v(()=>k(o,a,i),[o,a,i]),d=N(f,e,r,t),x=s("div",{className:"absolute left-5 top-5 z-10 flex max-w-[64%] flex-col gap-1.5 border border-line bg-bg p-3.5 shadow-[0_8px_24px_color-mix(in_srgb,var(--overlay-scrim)_40%,transparent)]",children:[s("span",{className:"font-display text-[length:var(--size-body,14px)] font-medium tracking-[-0.01em]",children:[o,p?`, ${p}`:""]}),d&&n(j,{href:d})]});return h?n("div",{"data-loc-pick":c,className:l,children:n(_,{pins:b,mapTheme:u,ariaLabel:o,className:"absolute inset-0",children:x})}):s("div",{"data-loc-pick":c,className:`${l} bg-bg`,style:{backgroundImage:"repeating-linear-gradient(45deg, color-mix(in srgb, var(--accent) 4%, transparent) 0 1px, transparent 1px 14px), repeating-linear-gradient(-45deg, color-mix(in srgb, var(--accent) 4%, transparent) 0 1px, transparent 1px 14px), linear-gradient(135deg, var(--site-surface-2), var(--site-surface))"},children:[x,g&&n("div",{className:"absolute inset-0 flex items-center justify-center px-6 text-center font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-fg-dim/40",children:"Add latitude & longitude"})]})}export{j as DirectionsLink,y as LOCATION_MAP_BOX,w as default,N as directionsHref,k as locationMapPins};
@@ -1 +1 @@
1
- "use client";import{jsx as i,jsxs as L}from"react/jsx-runtime";import{useEffect as m,useId as ot,useRef as H,useState as h}from"react";import{NEUTRAL_SITE_NAME as lt}from"../../format/lib/content/site-name.js";import{isSvgUrl as rt}from"../../format/lib/logo/reverse-svg.js";import{analyzeLogoViaServer as it}from"../lib/logo/analyze-logo-client.js";import{FOOTER_LOGO_PX as at,HEADER_LOGO_PX as ct}from"../../format/lib/logo/logo-size.js";import{FOOTER_LOGO_PX as It,HEADER_LOGO_PX as Lt,HEADER_LOGO_PX_MAX as At,HEADER_LOGO_PX_MIN as St,LOGO_BLOCK_PX_MAX as Ft}from"../../format/lib/logo/logo-size.js";const ut=202/22,dt=.88,Rt=16,mt="invert(1)";function ht({variant:N="header",scrolled:W=!0,src:f,reverse:j=!1,color:p=null,onLightSurface:C,reversedSrc:A,inkIsDark:K,size:q="medium",sizePx:_,wordmark:O,siteName:z=lt,fitToContainer:S=!1,fitWordmarkToContainer:B=!1,fitFloorPx:g}){const a=O&&O.trim()?O.trim():z,[U,V]=h(!1),F=H(null),Z=t=>{F.current=t};m(()=>{const t=F.current?.ownerDocument??document,o=()=>{V(t.documentElement.getAttribute("data-theme")==="light")};o();const d=new MutationObserver(o);return d.observe(t.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>d.disconnect()},[]);const n=f&&f.trim()?f.trim():null,c=!!n&&rt(n),b=C??(U&&W),s=p&&p.trim()?p.trim():null,u=j&&!s,k=`logo-color-${ot().replace(/[^A-Za-z0-9_-]/g,"")}`,y=u&&c&&n&&A!=null?{reversed:A,inkIsDark:K??null}:null,D=y!==null,[J,E]=h(null);m(()=>{if(!u||!n||!c||D){E(null);return}let t=!1;return E(null),it(n).then(o=>{t||E(o)}),()=>{t=!0}},[u,n,c,D]);const r=y??J,$=!!r&&r.inkIsDark!==null&&(b?!r.inkIsDark:r.inkIsDark),Q=u&&!!n&&!c&&!b,R=$&&r?r.reversed:n,X=R?[R]:[],[w,x]=h(0);m(()=>{x(0)},[n,$]);const Y=N==="footer"?at:ct[q],l=_&&_>0?_:Y,tt=Math.round(l*ut),e=w<X.length?X[w]:null,[et,v]=h(R),G=e!==null&&e===et,M=H(null);m(()=>{const t=M.current;if(!t||!t.complete)return;if(t.naturalWidth>0||t.naturalHeight>0){v(e);return}let o=!1;return t.decode().then(()=>!o&&v(e),()=>!o&&x(d=>d+1)),()=>{o=!0}},[e]);const P=S||B,T=`calc(100cqi / ${((a.length+1)*dt).toFixed(2)})`,I=P&&g&&g>0?Math.min(g,l):null,nt=P?I===null?`min(${l}px, ${T})`:`clamp(${I}px, ${T}, ${l}px)`:`${l}px`,st=L("span",{className:`font-display font-bold tracking-[0.18em] ${I===null?"whitespace-nowrap":"whitespace-normal"}`,style:{fontSize:nt,lineHeight:1,...s?{color:s}:{}},"aria-label":a,children:[a,i("span",{className:"text-accent",style:s?{color:s}:void 0,children:"."})]});return L("span",{ref:Z,className:"inline-flex items-center",children:[!G&&st,s&&e&&i("svg",{"aria-hidden":"true",focusable:"false",width:"0",height:"0",style:{position:"absolute"},children:L("filter",{id:k,colorInterpolationFilters:"sRGB",children:[i("feFlood",{style:{floodColor:s}}),i("feComposite",{in2:"SourceAlpha",operator:"in"})]})}),e&&i("img",{ref:M,src:e,alt:a,width:tt,height:l,className:"shrink-0 object-contain",style:{...G?{height:`${l}px`,width:"auto",...S?{maxWidth:"100cqi"}:{}}:{display:"none"},...Q?{filter:mt}:{},...s?{filter:`url(#${k})`}:{}},onLoad:()=>v(e),onError:()=>x(t=>t+1)},e)]})}export{It as FOOTER_LOGO_PX,Lt as HEADER_LOGO_PX,At as HEADER_LOGO_PX_MAX,St as HEADER_LOGO_PX_MIN,Ft as LOGO_BLOCK_PX_MAX,Rt as WORDMARK_FIT_FLOOR_PX,ht as default};
1
+ "use client";import{jsx as i,jsxs as L}from"react/jsx-runtime";import{useEffect as d,useId as ot,useRef as H,useState as f}from"react";import{NEUTRAL_SITE_NAME as rt}from"../../format/lib/content/site-name.js";import{useRootIsDark as it}from"efficient-shell/theme";import{isSvgUrl as ct}from"../../format/lib/logo/reverse-svg.js";import{analyzeLogoViaServer as at}from"../lib/logo/analyze-logo-client.js";import{FOOTER_LOGO_PX as ut,HEADER_LOGO_PX as dt}from"../../format/lib/logo/logo-size.js";import{FOOTER_LOGO_PX as St,HEADER_LOGO_PX as kt,HEADER_LOGO_PX_MAX as Dt,HEADER_LOGO_PX_MIN as yt,LOGO_BLOCK_PX_MAX as Ft}from"../../format/lib/logo/logo-size.js";const ft=202/22,ht=.88,Lt=16,mt="invert(1)";function pt({variant:N="header",scrolled:W=!0,src:h,reverse:b=!1,color:m=null,onLightSurface:j,reversedSrc:A,inkIsDark:C,size:K="medium",sizePx:p,wordmark:_,siteName:U=rt,fitToContainer:v=!1,fitWordmarkToContainer:q=!1,fitFloorPx:O}){const c=_&&_.trim()?_.trim():U,[z,B]=f(null),S=H(null),V=t=>{S.current=t};d(()=>{B(S.current?.ownerDocument??null)},[]);const Z=!it({doc:z,whenUnset:!0}),n=h&&h.trim()?h.trim():null,a=!!n&&ct(n),k=j??(Z&&W),l=m&&m.trim()?m.trim():null,u=b&&!l,D=`logo-color-${ot().replace(/[^A-Za-z0-9_-]/g,"")}`,y=u&&a&&n&&A!=null?{reversed:A,inkIsDark:C??null}:null,F=y!==null,[J,g]=f(null);d(()=>{if(!u||!n||!a||F){g(null);return}let t=!1;return g(null),at(n).then(r=>{t||g(r)}),()=>{t=!0}},[u,n,a,F]);const o=y??J,$=!!o&&o.inkIsDark!==null&&(k?!o.inkIsDark:o.inkIsDark),Q=u&&!!n&&!a&&!k,E=$&&o?o.reversed:n,X=E?[E]:[],[w,R]=f(0);d(()=>{R(0)},[n,$]);const Y=N==="footer"?ut:dt[K],s=p&&p>0?p:Y,tt=Math.round(s*ft),e=w<X.length?X[w]:null,[et,x]=f(E),G=e!==null&&e===et,P=H(null);d(()=>{const t=P.current;if(!t||!t.complete)return;if(t.naturalWidth>0||t.naturalHeight>0){x(e);return}let r=!1;return t.decode().then(()=>!r&&x(e),()=>!r&&R(st=>st+1)),()=>{r=!0}},[e]);const T=v||q,M=`calc(100cqi / ${((c.length+1)*ht).toFixed(2)})`,I=T&&O&&O>0?Math.min(O,s):null,nt=T?I===null?`min(${s}px, ${M})`:`clamp(${I}px, ${M}, ${s}px)`:`${s}px`,lt=L("span",{className:`font-display font-bold tracking-[0.18em] ${I===null?"whitespace-nowrap":"whitespace-normal"}`,style:{fontSize:nt,lineHeight:1,...l?{color:l}:{}},"aria-label":c,children:[c,i("span",{className:"text-accent",style:l?{color:l}:void 0,children:"."})]});return L("span",{ref:V,className:"inline-flex items-center",children:[!G&&lt,l&&e&&i("svg",{"aria-hidden":"true",focusable:"false",width:"0",height:"0",style:{position:"absolute"},children:L("filter",{id:D,colorInterpolationFilters:"sRGB",children:[i("feFlood",{style:{floodColor:l}}),i("feComposite",{in2:"SourceAlpha",operator:"in"})]})}),e&&i("img",{ref:P,src:e,alt:c,width:tt,height:s,className:"shrink-0 object-contain",style:{...G?{height:`${s}px`,width:"auto",...v?{maxWidth:"100cqi"}:{}}:{display:"none"},...Q?{filter:mt}:{},...l?{filter:`url(#${D})`}:{}},onLoad:()=>x(e),onError:()=>R(t=>t+1)},e)]})}export{St as FOOTER_LOGO_PX,kt as HEADER_LOGO_PX,Dt as HEADER_LOGO_PX_MAX,yt as HEADER_LOGO_PX_MIN,Ft as LOGO_BLOCK_PX_MAX,Lt as WORDMARK_FIT_FLOOR_PX,pt as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r,Fragment as p}from"react/jsx-runtime";import{EDITORIAL_COLUMN as $}from"../../format/lib/content/page-width.js";import{Fragment as k}from"react";import{SiteLink as j}from"../lib/site-runtime.js";import{stripMarkup as E}from"../../format/lib/markup.js";import B from"./EditorialSectionHead.js";import F from"./Placeholder.js";import I from"./SectionEyebrow.js";import{renderGold as a,renderHeadline as z}from"./goldPhrases.js";const n={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,17px)]",bodyLarge:"text-[length:var(--size-body,22px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function O({headNum:S,headTitle:m,headDesc:x,category:f,metaMiddle:g,readLabel:b,title:t,dek:h,quote:i,quoteAttribution:o,ctaText:u,ctaHref:L,image:w,imageLabel:v,metaPublished:s,metaReads:c,omitHead:y=!1}){const N=[f?e("span",{className:"text-accent",children:a(f)}):null,g?e("span",{children:a(g)}):null,b?e("span",{children:a(b)}):null].filter(Boolean),_=!!s||!!c;return e("section",{className:y?"border-b border-line pt-0 pb-[120px] max-[1100px]:pt-0 max-[1100px]:pb-20":"border-b border-line py-[120px] max-[1100px]:py-20",children:r("div",{className:$,children:[y?null:e(B,{num:S,title:m?z(m,!0):void 0,desc:x?a(x):void 0}),r("article",{className:"sf-card grid min-h-[640px] grid-cols-[1fr_1.2fr] border border-line max-[1100px]:grid-cols-1",children:[r("div",{className:"flex flex-col justify-center gap-7 border-r border-line bg-surface px-14 py-16 max-[1100px]:border-r-0 max-[1100px]:border-b max-[1100px]:px-7 max-[1100px]:py-12",children:[N.length>0&&e("div",{className:`flex items-center gap-3.5 font-mono ${n.labelSmall} uppercase tracking-[0.3em] text-fg-dim`,children:N.map((d,l)=>r(k,{children:[l>0&&e("span",{className:"opacity-40",children:"·"}),d]},l))}),t&&e("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4.2vw,68px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.035em]",children:z(t,!0)}),h&&e("p",{className:`font-serif ${n.bodyLarge} italic leading-[1.45] text-fg`,children:a(h)}),(i||o)&&r("blockquote",{className:`max-w-[520px] border-l-2 border-accent py-1.5 pl-[22px] font-serif ${n.body} italic leading-[1.6] text-fg-dim`,children:[i&&r(p,{children:["“",a(i),"”"]}),o&&e("strong",{className:`mt-2.5 block font-display ${n.bodySmall} font-normal not-italic uppercase tracking-[0.22em] text-fg`,children:a(o)})]}),u&&r(j,{href:L||"#",className:`inline-flex items-center gap-3.5 self-start border border-btn px-7 py-4 font-mono ${n.labelLarge} uppercase tracking-[0.3em] text-btn transition-colors hover:bg-btn hover:text-btn-ink`,children:[a(u)," ",e("span",{children:"→"})]})]}),r("div",{className:"relative overflow-hidden bg-surface-2 max-[1100px]:aspect-[4/3]",children:[e(F,{label:"long-read",src:w||void 0,alt:E(t||"Long read"),sizes:"(max-width: 1100px) 100vw, 56vw"}),e("div",{className:"pointer-events-none absolute inset-0 z-[1]",style:{background:"linear-gradient(180deg, rgba(10,10,10,0.55) 0%, transparent 25%, transparent 60%, rgba(10,10,10,0.7) 100%)"}}),v&&e(I,{text:v,size:12,className:"absolute right-6 top-6 z-[2]"}),_&&e("div",{className:`absolute bottom-6 left-6 z-[2] font-mono ${n.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-overlay-fg`,children:[s?r(p,{children:[e("strong",{className:"font-normal text-accent",children:"Published"})," ",a(s)]}):null,c?r(p,{children:[e("strong",{className:"font-normal text-accent",children:"Reads in"})," ",a(c)]}):null].filter(Boolean).map((d,l)=>r(k,{children:[l>0&&e("br",{}),d]},l))})]})]})]})})}export{O as default};
1
+ import{jsx as e,jsxs as r,Fragment as m}from"react/jsx-runtime";import{EDITORIAL_COLUMN as j}from"../../format/lib/content/page-width.js";import{Fragment as k}from"react";import{SiteLink as E}from"../lib/site-runtime.js";import{stripMarkup as B}from"../../format/lib/markup.js";import F from"./EditorialSectionHead.js";import I from"./Placeholder.js";import O from"./SectionEyebrow.js";import{renderGold as a,renderHeadline as z}from"./goldPhrases.js";import{scrim as S}from"../../format/lib/content/scrim.js";const n={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,17px)]",bodyLarge:"text-[length:var(--size-body,22px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function C({headNum:L,headTitle:p,headDesc:x,category:f,metaMiddle:g,readLabel:b,title:t,dek:h,quote:i,quoteAttribution:o,ctaText:u,ctaHref:$,image:w,imageLabel:v,metaPublished:s,metaReads:c,omitHead:y=!1}){const N=[f?e("span",{className:"text-accent",children:a(f)}):null,g?e("span",{children:a(g)}):null,b?e("span",{children:a(b)}):null].filter(Boolean),_=!!s||!!c;return e("section",{className:y?"border-b border-line pt-0 pb-[120px] max-[1100px]:pt-0 max-[1100px]:pb-20":"border-b border-line py-[120px] max-[1100px]:py-20",children:r("div",{className:j,children:[y?null:e(F,{num:L,title:p?z(p,!0):void 0,desc:x?a(x):void 0}),r("article",{className:"sf-card grid min-h-[640px] grid-cols-[1fr_1.2fr] border border-line max-[1100px]:grid-cols-1",children:[r("div",{className:"flex flex-col justify-center gap-7 border-r border-line bg-surface px-14 py-16 max-[1100px]:border-r-0 max-[1100px]:border-b max-[1100px]:px-7 max-[1100px]:py-12",children:[N.length>0&&e("div",{className:`flex items-center gap-3.5 font-mono ${n.labelSmall} uppercase tracking-[0.3em] text-fg-dim`,children:N.map((d,l)=>r(k,{children:[l>0&&e("span",{className:"opacity-40",children:"·"}),d]},l))}),t&&e("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4.2vw,68px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.035em]",children:z(t,!0)}),h&&e("p",{className:`font-serif ${n.bodyLarge} italic leading-[1.45] text-fg`,children:a(h)}),(i||o)&&r("blockquote",{className:`max-w-[520px] border-l-2 border-accent py-1.5 pl-[22px] font-serif ${n.body} italic leading-[1.6] text-fg-dim`,children:[i&&r(m,{children:["“",a(i),"”"]}),o&&e("strong",{className:`mt-2.5 block font-display ${n.bodySmall} font-normal not-italic uppercase tracking-[0.22em] text-fg`,children:a(o)})]}),u&&r(E,{href:$||"#",className:`inline-flex items-center gap-3.5 self-start border border-btn px-7 py-4 font-mono ${n.labelLarge} uppercase tracking-[0.3em] text-btn transition-colors hover:bg-btn hover:text-btn-ink`,children:[a(u)," ",e("span",{children:"→"})]})]}),r("div",{className:"relative overflow-hidden bg-surface-2 max-[1100px]:aspect-[4/3]",children:[e(I,{label:"long-read",src:w||void 0,alt:B(t||"Long read"),sizes:"(max-width: 1100px) 100vw, 56vw"}),e("div",{className:"pointer-events-none absolute inset-0 z-[1]",style:{background:`linear-gradient(180deg, ${S(.55)} 0%, transparent 25%, transparent 60%, ${S(.7)} 100%)`}}),v&&e(O,{text:v,size:12,className:"absolute right-6 top-6 z-[2]"}),_&&e("div",{className:`absolute bottom-6 left-6 z-[2] font-mono ${n.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-overlay-fg`,children:[s?r(m,{children:[e("strong",{className:"font-normal text-accent",children:"Published"})," ",a(s)]}):null,c?r(m,{children:[e("strong",{className:"font-normal text-accent",children:"Reads in"})," ",a(c)]}):null].filter(Boolean).map((d,l)=>r(k,{children:[l>0&&e("br",{}),d]},l))})]})]})]})})}export{C as default};
@@ -10,5 +10,6 @@ export interface ManifestoProps extends WidthProps {
10
10
  stats?: ManifestoStat[];
11
11
  imageSrc?: string;
12
12
  grayscale?: boolean;
13
+ fillHeight?: boolean;
13
14
  }
14
- export default function Manifesto({ eyebrow, heading, body, stats, imageSrc, grayscale, ...widthProps }?: ManifestoProps): import("react").JSX.Element;
15
+ export default function Manifesto({ eyebrow, heading, body, stats, imageSrc, grayscale, fillHeight, ...widthProps }?: ManifestoProps): import("react").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as o}from"react/jsx-runtime";import h from"./AnimatedStat.js";import b from"./Placeholder.js";import{useSitePhotography as v}from"./SitePhotographyContext.js";import y from"./SectionEyebrow.js";import{renderGold as w,renderHeadline as j,splitParagraphs as N}from"./goldPhrases.js";import{resolveImageTreatment as M}from"../../format/lib/content/image-treatment.js";import{sectionRunsFullWidth as _}from"../../format/lib/content/section-width.js";const i={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,16px)]"};function T({eyebrow:s,heading:d,body:x,stats:p,imageSrc:c,grayscale:f,...g}={}){const u=M(f,v()),l=s||null,n=d||null,m=x||null,r=(p??[]).filter(a=>(a.value??"").trim()!==""||(a.label??"").trim()!=="");return e("section",{className:"relative z-[2] bg-bg p-0",children:o("div",{className:"grid h-screen min-h-[100vh] grid-cols-2 border-y border-line max-[960px]:h-auto max-[960px]:grid-cols-1",children:[e("div",{className:"flex flex-col justify-center border-r border-line px-[var(--sf-site-gutter,40px)] py-[100px] max-[960px]:order-2 max-[960px]:border-r-0 max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[960px]:py-[60px]",children:o("div",{className:_(g)?"flex w-full flex-col gap-7":"ml-auto flex w-full flex-col gap-7 max-w-[calc(var(--sf-site-width,1600px)/2_-_var(--sf-site-gutter,40px)*2_-_1px)] max-[960px]:ml-0 max-[960px]:max-w-none",children:[l!==null&&e(y,{text:l,size:14}),n!==null&&e("h2",{className:`font-heading2 ${i.headingMedium} font-normal leading-[1.05] tracking-[-0.03em] ${i.headingMediumUpTo800} max-[800px]:leading-[1]`,children:j(n,!0)}),m!==null&&N(m).map((a,t)=>e("p",{className:`max-w-[520px] ${i.body} leading-[1.7] text-fg-dim`,children:w(a)},t)),r.length>0&&e("div",{className:"mt-4 grid max-w-[520px] gap-6 border-t border-line pt-7",style:{gridTemplateColumns:`repeat(${r.length}, minmax(0, 1fr))`},children:r.map((a,t)=>e(h,{target:a.value??"",label:a.label??""},t))})]})}),e("div",{className:"sf-card relative flex items-center justify-center bg-surface overflow-hidden max-[960px]:aspect-[4/3]",children:e(b,{label:"manifesto",src:c||void 0,objectFit:"cover",objectPosition:"center",treatment:u})})]})})}export{T as default};
1
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import b from"./AnimatedStat.js";import v from"./Placeholder.js";import{useSitePhotography as y}from"./SitePhotographyContext.js";import w from"./SectionEyebrow.js";import{renderGold as N,renderHeadline as _,splitParagraphs as j}from"./goldPhrases.js";import{resolveImageTreatment as S}from"../../format/lib/content/image-treatment.js";import{sectionRunsFullWidth as M}from"../../format/lib/content/section-width.js";import{SECTION_FILL_CLASS as T}from"../../format/lib/content/section-min-height.js";const i={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,16px)]"};function z({eyebrow:s,heading:d,body:x,stats:p,imageSrc:c,grayscale:f,fillHeight:g=!1,...u}={}){const h=S(f,y()),l=s||null,n=d||null,m=x||null,r=(p??[]).filter(a=>(a.value??"").trim()!==""||(a.label??"").trim()!=="");return e("section",{className:"relative z-[2] bg-bg p-0",children:o("div",{className:`grid ${g?T:"h-screen"} min-h-[100vh] grid-cols-2 border-y border-line max-[960px]:h-auto max-[960px]:grid-cols-1`,children:[e("div",{className:"flex flex-col justify-center border-r border-line px-[var(--sf-site-gutter,40px)] py-[100px] max-[960px]:order-2 max-[960px]:border-r-0 max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[960px]:py-[60px]",children:o("div",{className:M(u)?"flex w-full flex-col gap-7":"ml-auto flex w-full flex-col gap-7 max-w-[calc(var(--sf-site-width,1600px)/2_-_var(--sf-site-gutter,40px)*2_-_1px)] max-[960px]:ml-0 max-[960px]:max-w-none",children:[l!==null&&e(w,{text:l,size:14}),n!==null&&e("h2",{className:`font-heading2 ${i.headingMedium} font-normal leading-[1.05] tracking-[-0.03em] ${i.headingMediumUpTo800} max-[800px]:leading-[1]`,children:_(n,!0)}),m!==null&&j(m).map((a,t)=>e("p",{className:`max-w-[520px] ${i.body} leading-[1.7] text-fg-dim`,children:N(a)},t)),r.length>0&&e("div",{className:"mt-4 grid max-w-[520px] gap-6 border-t border-line pt-7",style:{gridTemplateColumns:`repeat(${r.length}, minmax(0, 1fr))`},children:r.map((a,t)=>e(b,{target:a.value??"",label:a.label??""},t))})]})}),e("div",{className:"sf-card relative flex items-center justify-center bg-surface overflow-hidden max-[960px]:aspect-[4/3]",children:e(v,{label:"manifesto",src:c||void 0,objectFit:"cover",objectPosition:"center",treatment:h})})]})})}export{z as default};
@@ -56,10 +56,6 @@ type Ctx = {
56
56
  shareButtonOnPosts: boolean | null;
57
57
  setShareButtonOnPosts: (v: boolean | null) => void;
58
58
  themeFromDocument: boolean;
59
- selected: boolean;
60
- setSelected: (b: boolean) => void;
61
- select: () => void;
62
- setSelectHandler: (fn: () => void) => void;
63
59
  };
64
60
  export declare const PreviewHeaderContext: import("react").Context<Ctx>;
65
61
  export declare function PreviewHeaderProvider({ children, websiteName, templateChrome, templateName, chromePlaceholder, themeMode, onThemeModeChange, themeSwitchShown, onThemeSwitchShownChange, theme, onThemeChange, fonts, onFontsChange, sizes, onSizesChange, cornerRadiusPx, onCornerRadiusPxChange, cardShadow, onCardShadowChange, shadowColor, onShadowColorChange, cardGap, onCardGapChange, hoverEffect, onHoverEffectChange, headingCompression, onHeadingCompressionChange, siteWidth, onSiteWidthChange, siteGutter, blockGap, onSiteGutterChange, onBlockGapChange, headingTypography, onHeadingTypographyChange, textStyles, onTextStylesChange, wordStyles, heroBackgroundFollowsWidth, onHeroBackgroundFollowsWidthChange, sectionBackgroundWidth, onSectionBackgroundWidthChange, sectionContentWidth, onSectionContentWidthChange, photographyGrayscale, onPhotographyGrayscaleChange, shareButtonOnPosts, onShareButtonOnPostsChange, themeFromDocument, }: {
@@ -114,3 +110,4 @@ export declare function PreviewHeaderProvider({ children, websiteName, templateC
114
110
  themeFromDocument?: boolean;
115
111
  }): import("react").JSX.Element;
116
112
  export declare const usePreviewHeader: () => Ctx;
113
+ export declare function useSiteContentWidth(): "full" | "content" | null;
@@ -1 +1 @@
1
- "use client";import{jsx as U}from"react/jsx-runtime";import{createContext as jt,useCallback as e,useContext as zt,useMemo as bt,useState as W}from"react";import{EditorSiteLogoContext as Vt}from"./SiteLogoContext.js";import{useSelectHandler as Zt}from"efficient-easel/draw/client";import{IDENTITY_CARD_GAP as O,DEFAULT_HEADING_COMPRESSION as g,DEFAULT_HEADING_TYPOGRAPHY as B,DEFAULT_SIZES as M,DEFAULT_SWITCH_SHOWN as R,DEFAULT_THEME_MODE as N,DEFAULT_THEME_VALUE as Y}from"../../format/lib/theme.js";import{DEFAULT_FONTS as j}from"../../format/lib/fonts.js";const z=jt({settings:null,setSettings:()=>{},primeSettings:()=>{},websiteName:null,templateChrome:!1,templateName:null,chromePlaceholder:!1,themeMode:N,setThemeMode:()=>{},themeSwitchShown:R,setThemeSwitchShown:()=>{},theme:Y,setTheme:()=>{},fonts:j,setFonts:()=>{},sizes:M,setSizes:()=>{},cornerRadiusPx:null,setCornerRadiusPx:()=>{},cardShadow:null,setCardShadow:()=>{},shadowColor:null,setShadowColor:()=>{},cardGap:O,setCardGap:()=>{},hoverEffect:null,setHoverEffect:()=>{},headingCompression:g,setHeadingCompression:()=>{},siteWidth:null,setSiteWidth:()=>{},siteGutter:null,blockGap:null,setSiteGutter:()=>{},setBlockGap:()=>{},headingTypography:B,setHeadingTypography:()=>{},textStyles:null,setTextStyles:()=>{},wordStyles:null,heroBackgroundFollowsWidth:null,setHeroBackgroundFollowsWidth:()=>{},sectionBackgroundWidth:null,setSectionBackgroundWidth:()=>{},sectionContentWidth:null,setSectionContentWidth:()=>{},photographyGrayscale:null,setPhotographyGrayscale:()=>{},shareButtonOnPosts:null,setShareButtonOnPosts:()=>{},themeFromDocument:!1,selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function Ct({children:b,websiteName:o=null,templateChrome:l=!1,templateName:n=null,chromePlaceholder:r=!1,themeMode:V=N,onThemeModeChange:c,themeSwitchShown:Z=R,onThemeSwitchShownChange:u,theme:q=Y,onThemeChange:i,fonts:J=j,onFontsChange:d,sizes:K=M,onSizesChange:S,cornerRadiusPx:Q=null,onCornerRadiusPxChange:a,cardShadow:X=null,onCardShadowChange:p,shadowColor:$=null,onShadowColorChange:E,cardGap:C=O,onCardGapChange:f,hoverEffect:tt=null,onHoverEffectChange:T,headingCompression:et=g,onHeadingCompressionChange:m,siteWidth:st=null,onSiteWidthChange:H,siteGutter:lt=null,blockGap:ot=null,onSiteGutterChange:D,onBlockGapChange:_,headingTypography:nt=B,onHeadingTypographyChange:h,textStyles:rt=null,onTextStylesChange:w,wordStyles:ct=null,heroBackgroundFollowsWidth:ut=null,onHeroBackgroundFollowsWidthChange:P,sectionBackgroundWidth:it=null,onSectionBackgroundWidthChange:x,sectionContentWidth:dt=null,onSectionContentWidthChange:A,photographyGrayscale:St=null,onPhotographyGrayscaleChange:k,shareButtonOnPosts:at=null,onShareButtonOnPostsChange:v,themeFromDocument:pt=!1}){const[s,F]=W(null),Et=e(t=>F(Yt=>Yt??t),[]),[ft,Tt]=W(!1),mt=e(t=>c?.(t),[c]),Ht=e(t=>u?.(t),[u]),Dt=e(t=>i?.(t),[i]),_t=e(t=>d?.(t),[d]),ht=e(t=>S?.(t),[S]),wt=e(t=>H?.(t),[H]),Pt=e(t=>D?.(t),[D]),xt=e(t=>_?.(t),[_]),At=e(t=>P?.(t),[P]),kt=e(t=>x?.(t),[x]),vt=e(t=>A?.(t),[A]),Ft=e(t=>k?.(t),[k]),Gt=e(t=>v?.(t),[v]),yt=e(t=>a?.(t),[a]),It=e(t=>p?.(t),[p]),Lt=e(t=>E?.(t),[E]),Ut=e(t=>f?.(t),[f]),Wt=e(t=>T?.(t),[T]),Ot=e(t=>m?.(t),[m]),gt=e(t=>h?.(t),[h]),Bt=e(t=>w?.(t),[w]),{select:Mt,setSelectHandler:Rt}=Zt(),G=s?.logoUrl,y=s?.logoReversed,I=s?.logoInkIsDark,L=s!==null,Nt=bt(()=>({logo:L?{logoUrl:G,logoReversed:y,logoInkIsDark:I}:null,placeholder:l||r,wordmark:l?n:o}),[L,G,y,I,l,r,n,o]);return U(Vt.Provider,{value:Nt,children:U(z.Provider,{value:{settings:s,setSettings:F,primeSettings:Et,websiteName:o,templateChrome:l,templateName:n,chromePlaceholder:r,themeMode:V,setThemeMode:mt,themeSwitchShown:Z,setThemeSwitchShown:Ht,theme:q,setTheme:Dt,fonts:J,setFonts:_t,sizes:K,setSizes:ht,cornerRadiusPx:Q,setCornerRadiusPx:yt,cardShadow:X,setCardShadow:It,shadowColor:$,setShadowColor:Lt,cardGap:C,setCardGap:Ut,hoverEffect:tt,setHoverEffect:Wt,headingCompression:et,setHeadingCompression:Ot,siteWidth:st,setSiteWidth:wt,siteGutter:lt,blockGap:ot,setSiteGutter:Pt,setBlockGap:xt,headingTypography:nt,setHeadingTypography:gt,textStyles:rt,setTextStyles:Bt,wordStyles:ct,heroBackgroundFollowsWidth:ut,setHeroBackgroundFollowsWidth:At,sectionBackgroundWidth:it,setSectionBackgroundWidth:kt,sectionContentWidth:dt,setSectionContentWidth:vt,photographyGrayscale:St,setPhotographyGrayscale:Ft,shareButtonOnPosts:at,setShareButtonOnPosts:Gt,themeFromDocument:pt,selected:ft,setSelected:Tt,select:Mt,setSelectHandler:Rt},children:b})})}const te=()=>zt(z);export{z as PreviewHeaderContext,Ct as PreviewHeaderProvider,te as usePreviewHeader};
1
+ "use client";import{jsx as U}from"react/jsx-runtime";import{createContext as Bt,useCallback as e,useContext as Mt,useMemo as Rt,useState as Nt}from"react";import{EditorSiteLogoContext as Yt}from"./SiteLogoContext.js";import{IDENTITY_CARD_GAP as O,DEFAULT_HEADING_COMPRESSION as g,DEFAULT_HEADING_TYPOGRAPHY as B,DEFAULT_SIZES as M,DEFAULT_SWITCH_SHOWN as R,DEFAULT_THEME_MODE as N,DEFAULT_THEME_VALUE as Y}from"../../format/lib/theme.js";import{DEFAULT_FONTS as j}from"../../format/lib/fonts.js";const z=Bt({settings:null,setSettings:()=>{},primeSettings:()=>{},websiteName:null,templateChrome:!1,templateName:null,chromePlaceholder:!1,themeMode:N,setThemeMode:()=>{},themeSwitchShown:R,setThemeSwitchShown:()=>{},theme:Y,setTheme:()=>{},fonts:j,setFonts:()=>{},sizes:M,setSizes:()=>{},cornerRadiusPx:null,setCornerRadiusPx:()=>{},cardShadow:null,setCardShadow:()=>{},shadowColor:null,setShadowColor:()=>{},cardGap:O,setCardGap:()=>{},hoverEffect:null,setHoverEffect:()=>{},headingCompression:g,setHeadingCompression:()=>{},siteWidth:null,setSiteWidth:()=>{},siteGutter:null,blockGap:null,setSiteGutter:()=>{},setBlockGap:()=>{},headingTypography:B,setHeadingTypography:()=>{},textStyles:null,setTextStyles:()=>{},wordStyles:null,heroBackgroundFollowsWidth:null,setHeroBackgroundFollowsWidth:()=>{},sectionBackgroundWidth:null,setSectionBackgroundWidth:()=>{},sectionContentWidth:null,setSectionContentWidth:()=>{},photographyGrayscale:null,setPhotographyGrayscale:()=>{},shareButtonOnPosts:null,setShareButtonOnPosts:()=>{},themeFromDocument:!1});function Jt({children:n,websiteName:s=null,templateChrome:l=!1,templateName:r=null,chromePlaceholder:u=!1,themeMode:b=N,onThemeModeChange:c,themeSwitchShown:V=R,onThemeSwitchShownChange:i,theme:Z=Y,onThemeChange:d,fonts:q=j,onFontsChange:S,sizes:J=M,onSizesChange:a,cornerRadiusPx:K=null,onCornerRadiusPxChange:p,cardShadow:Q=null,onCardShadowChange:E,shadowColor:X=null,onShadowColorChange:m,cardGap:$=O,onCardGapChange:T,hoverEffect:C=null,onHoverEffectChange:f,headingCompression:tt=g,onHeadingCompressionChange:h,siteWidth:et=null,onSiteWidthChange:D,siteGutter:st=null,blockGap:ot=null,onSiteGutterChange:_,onBlockGapChange:w,headingTypography:lt=B,onHeadingTypographyChange:x,textStyles:nt=null,onTextStylesChange:H,wordStyles:rt=null,heroBackgroundFollowsWidth:ut=null,onHeroBackgroundFollowsWidthChange:P,sectionBackgroundWidth:ct=null,onSectionBackgroundWidthChange:A,sectionContentWidth:it=null,onSectionContentWidthChange:F,photographyGrayscale:dt=null,onPhotographyGrayscaleChange:k,shareButtonOnPosts:St=null,onShareButtonOnPostsChange:v,themeFromDocument:at=!1}){const[o,G]=Nt(null),pt=e(t=>G(gt=>gt??t),[]),Et=e(t=>c?.(t),[c]),mt=e(t=>i?.(t),[i]),Tt=e(t=>d?.(t),[d]),ft=e(t=>S?.(t),[S]),ht=e(t=>a?.(t),[a]),Dt=e(t=>D?.(t),[D]),_t=e(t=>_?.(t),[_]),wt=e(t=>w?.(t),[w]),xt=e(t=>P?.(t),[P]),Ht=e(t=>A?.(t),[A]),Pt=e(t=>F?.(t),[F]),At=e(t=>k?.(t),[k]),Ft=e(t=>v?.(t),[v]),kt=e(t=>p?.(t),[p]),vt=e(t=>E?.(t),[E]),Gt=e(t=>m?.(t),[m]),Wt=e(t=>T?.(t),[T]),yt=e(t=>f?.(t),[f]),It=e(t=>h?.(t),[h]),Lt=e(t=>x?.(t),[x]),Ut=e(t=>H?.(t),[H]),W=o?.logoUrl,y=o?.logoReversed,I=o?.logoInkIsDark,L=o!==null,Ot=Rt(()=>({logo:L?{logoUrl:W,logoReversed:y,logoInkIsDark:I}:null,placeholder:l||u,wordmark:l?r:s}),[L,W,y,I,l,u,r,s]);return U(Yt.Provider,{value:Ot,children:U(z.Provider,{value:{settings:o,setSettings:G,primeSettings:pt,websiteName:s,templateChrome:l,templateName:r,chromePlaceholder:u,themeMode:b,setThemeMode:Et,themeSwitchShown:V,setThemeSwitchShown:mt,theme:Z,setTheme:Tt,fonts:q,setFonts:ft,sizes:J,setSizes:ht,cornerRadiusPx:K,setCornerRadiusPx:kt,cardShadow:Q,setCardShadow:vt,shadowColor:X,setShadowColor:Gt,cardGap:$,setCardGap:Wt,hoverEffect:C,setHoverEffect:yt,headingCompression:tt,setHeadingCompression:It,siteWidth:et,setSiteWidth:Dt,siteGutter:st,blockGap:ot,setSiteGutter:_t,setBlockGap:wt,headingTypography:lt,setHeadingTypography:Lt,textStyles:nt,setTextStyles:Ut,wordStyles:rt,heroBackgroundFollowsWidth:ut,setHeroBackgroundFollowsWidth:xt,sectionBackgroundWidth:ct,setSectionBackgroundWidth:Ht,sectionContentWidth:it,setSectionContentWidth:Pt,photographyGrayscale:dt,setPhotographyGrayscale:At,shareButtonOnPosts:St,setShareButtonOnPosts:Ft,themeFromDocument:at},children:n})})}const jt=()=>Mt(z);function Kt(){const{sectionContentWidth:n,themeFromDocument:s}=jt();return s?null:n}export{z as PreviewHeaderContext,Jt as PreviewHeaderProvider,jt as usePreviewHeader,Kt as useSiteContentWidth};
@@ -1,7 +1,7 @@
1
1
  export declare const PreviewLocationPartProvider: ({ children }: {
2
2
  children: import("react").ReactNode;
3
3
  }) => import("react").JSX.Element, usePreviewLocationPart: () => import("efficient-easel/draw/client").PreviewIdSelection<"selectedLocationPartId">;
4
- export type LocationPart = "image" | "map";
4
+ export type LocationPart = "image" | "map" | "city";
5
5
  export declare function encodeLocationPartId(nodeId: string, index: number, part: LocationPart): string;
6
6
  export declare function decodeLocationPartId(id: string | null | undefined): {
7
7
  nodeId: string;
@@ -1 +1 @@
1
- "use client";import{createPreviewSelectionContext as i}from"efficient-easel/draw/client";const{Provider:l,useSelection:u}=i("selectedLocationPartId");function a(n,e,t){return`${n}::${e}::${t}`}function s(n){if(!n)return null;const e=n.split("::");if(e.length<3)return null;const t=e[e.length-1];if(t!=="image"&&t!=="map")return null;const r=Number(e[e.length-2]);if(!Number.isInteger(r)||r<0)return null;const o=e.slice(0,-2).join("::");return o?{nodeId:o,index:r,part:t}:null}export{l as PreviewLocationPartProvider,s as decodeLocationPartId,a as encodeLocationPartId,u as usePreviewLocationPart};
1
+ "use client";import{createPreviewSelectionContext as i}from"efficient-easel/draw/client";const{Provider:l,useSelection:u}=i("selectedLocationPartId");function a(n,e,t){return`${n}::${e}::${t}`}function s(n){if(!n)return null;const e=n.split("::");if(e.length<3)return null;const t=e[e.length-1];if(t!=="image"&&t!=="map"&&t!=="city")return null;const r=Number(e[e.length-2]);if(!Number.isInteger(r)||r<0)return null;const o=e.slice(0,-2).join("::");return o?{nodeId:o,index:r,part:t}:null}export{l as PreviewLocationPartProvider,s as decodeLocationPartId,a as encodeLocationPartId,u as usePreviewLocationPart};
@@ -1 +1 @@
1
- import{jsx as a,Fragment as C,jsxs as r}from"react/jsx-runtime";import{EDITORIAL_COLUMN as E}from"../../format/lib/content/page-width.js";import{cardImageShapeTokens as U}from"../../format/lib/content/card-image-shape.js";import{SiteLink as A}from"../lib/site-runtime.js";import G from"./EditorialSectionHead.js";import O from"./Placeholder.js";import{withRMark as i}from"./RMark.js";import{renderGold as m}from"./goldPhrases.js";import{say as R}from"../../format/lib/editor-words.js";const l={headingSmallUpTo700Small:"max-[700px]:text-[length:var(--size-headingSmall,26px)]",headingSmallUpTo700Large:"max-[700px]:text-[length:var(--size-headingSmall,28px)]",bodySmall:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,28px)]",headingSmall2:"text-[length:var(--size-headingSmall,34px)]",labelSmall:"text-[length:var(--size-label,11px)]",label:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"},S={2:"grid-cols-2 max-[900px]:grid-cols-1",3:"grid-cols-3 max-[1100px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1"},g="sf-itc-boxes",N="sf-itc-steps";function D({num:$,title:x,description:f,boxes:d,steps:z,columns:k=3,cta:c,padTop:b,padBottom:h,editing:L=!1,omitHead:T=!1,cardImage:_,cardText:w}){const I=typeof b=="number"?b:120,j=typeof h=="number"?h:120,u=(z??[]).filter(e=>(e?.tag??"").trim()||(e?.meta??"").trim()||(e?.title??"").trim()||(e?.copy??"").trim()||(e?.image??"").trim()||(e?.specs??[]).some(o=>(o?.label??"").trim()||(o?.value??"").trim())),v=u.length>0?u:L&&!d?[1,2,3].map(e=>({tag:R("Column {n}",{n:e})})):[],y=S[k]??S[3],n=w==="on-image";return a("section",{className:"relative z-[2] border-b border-line bg-bg",style:{paddingTop:I,paddingBottom:j,...U(_)},children:r("div",{className:E,children:[T?null:a(G,{num:$,title:x?.trim()?m(x,!0):void 0,desc:f?.trim()?m(f,!1):void 0}),d?r(C,{children:[a("style",{children:`.${g}:empty{display:none}.${g}:not(:empty)~.${N}{display:none}`}),a(d,{className:`${g} sf-card grid ${y} gap-[2px] border border-line bg-line [&>*]:min-h-[560px] [&>*]:bg-bg`,minEmptyHeight:260})]}):null,v.length>0&&a("div",{className:`${N} sf-card grid ${y} gap-[2px] border border-line bg-line`,children:v.map((e,o)=>{const s=(e.specs??[]).filter(t=>(t?.label??"").trim()||(t?.value??"").trim());return r("article",{className:n?"flex flex-col bg-bg":"flex min-h-[560px] flex-col bg-bg",children:[r("div",{className:n?"sf-card-image relative aspect-[5/3] overflow-hidden bg-surface max-[700px]:aspect-[4/3]":"sf-card-image relative aspect-[5/3] overflow-hidden border-b border-line bg-surface",children:[a(O,{label:e.tag?.trim()||e.title?.trim()||`column-${o+1}`,src:e.image||void 0,sizes:"(max-width: 1100px) 100vw, 33vw",...d?{deferFetch:!0}:{}}),a("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 z-[1]",style:{background:"linear-gradient(180deg, rgba(10,10,10,0.55) 0%, transparent 30%, transparent 70%, rgba(10,10,10,0.65) 100%)"}}),n&&a("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 bottom-0 z-[1] h-[78%]",style:{background:"linear-gradient(180deg, transparent 0%, rgba(10,10,10,0.73) 55%, rgba(10,10,10,0.92) 100%)"}}),e.tag?.trim()&&a("span",{className:`absolute left-5 top-[18px] z-[2] font-mono ${l.label} uppercase tracking-[0.3em] text-accent`,children:i(e.tag)}),e.meta?.trim()&&a("span",{className:n?`absolute right-5 top-[18px] z-[2] font-mono ${l.label} uppercase tracking-[0.24em] text-overlay-fg/80`:`absolute right-5 bottom-[18px] z-[2] font-mono ${l.label} uppercase tracking-[0.24em] text-overlay-fg/80`,children:i(e.meta)}),n&&(e.title?.trim()||e.copy?.trim())&&r("div",{className:"absolute inset-x-0 bottom-0 z-[2] flex flex-col gap-2.5 px-8 pb-7 pt-14 max-[700px]:px-6 max-[700px]:pb-6",children:[e.title?.trim()&&a("h3",{className:`flex min-h-[2em] flex-col justify-end font-heading3 ${l.headingSmall1} font-medium uppercase leading-none tracking-[-0.02em] text-overlay-fg ${l.headingSmallUpTo700Small}`,children:m(e.title,!0)}),e.copy?.trim()&&a("p",{className:`min-h-[3em] font-display ${l.bodySmall} leading-[1.5] text-overlay-fg/85`,children:m(e.copy,!1)})]})]}),n?s.length>0&&a("div",{className:"grid grid-cols-2 gap-2 border-t border-line px-8 py-7 max-[700px]:px-6 max-[700px]:py-6",children:s.map((t,p)=>r("div",{className:"flex flex-col gap-1",children:[t.label?.trim()&&a("span",{className:`font-mono ${l.labelSmall} uppercase tracking-[0.24em] text-fg-dim`,children:i(t.label)}),t.value?.trim()&&a("span",{className:`font-display ${l.bodyLarge} font-medium tracking-[-0.01em] text-fg`,children:i(t.value)})]},p))}):r("div",{className:"flex flex-1 flex-col gap-4 px-8 py-9 max-[700px]:px-6 max-[700px]:py-7",children:[e.title?.trim()&&a("h3",{className:`font-heading3 ${l.headingSmall2} font-medium uppercase leading-none tracking-[-0.02em] ${l.headingSmallUpTo700Large}`,children:m(e.title,!0)}),e.copy?.trim()&&a("p",{className:`font-display ${l.bodySmall} leading-[1.55] text-fg-dim`,children:m(e.copy,!1)}),s.length>0&&a("div",{className:"mt-auto grid grid-cols-2 gap-2 border-t border-line pt-4",children:s.map((t,p)=>r("div",{className:"flex flex-col gap-1",children:[t.label?.trim()&&a("span",{className:`font-mono ${l.labelSmall} uppercase tracking-[0.24em] text-fg-dim`,children:i(t.label)}),t.value?.trim()&&a("span",{className:`font-display ${l.bodyLarge} font-medium tracking-[-0.01em] text-fg`,children:i(t.value)})]},p))})]})]},o)})}),c?.text&&a("div",{className:"mt-12 flex justify-end border-t border-line pt-8",children:r(A,{href:c.href,className:`group inline-flex items-center gap-3.5 border border-line px-6 py-4 font-mono ${l.labelLarge} uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent`,children:[i(c.text),a("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]})})]})})}export{D as default};
1
+ import{jsx as a,Fragment as E,jsxs as r}from"react/jsx-runtime";import{EDITORIAL_COLUMN as U}from"../../format/lib/content/page-width.js";import{cardImageShapeTokens as A}from"../../format/lib/content/card-image-shape.js";import{SiteLink as G}from"../lib/site-runtime.js";import O from"./EditorialSectionHead.js";import R from"./Placeholder.js";import{withRMark as i}from"./RMark.js";import{renderGold as m}from"./goldPhrases.js";import{say as D}from"../../format/lib/editor-words.js";import{scrim as c}from"../../format/lib/content/scrim.js";const l={headingSmallUpTo700Small:"max-[700px]:text-[length:var(--size-headingSmall,26px)]",headingSmallUpTo700Large:"max-[700px]:text-[length:var(--size-headingSmall,28px)]",bodySmall:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,28px)]",headingSmall2:"text-[length:var(--size-headingSmall,34px)]",labelSmall:"text-[length:var(--size-label,11px)]",label:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"},N={2:"grid-cols-2 max-[900px]:grid-cols-1",3:"grid-cols-3 max-[1100px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1"},x="sf-itc-boxes",$="sf-itc-steps";function F({num:z,title:f,description:h,boxes:s,steps:k,columns:L=3,cta:p,padTop:b,padBottom:u,editing:T=!1,omitHead:_=!1,cardImage:w,cardText:I}){const j=typeof b=="number"?b:120,C=typeof u=="number"?u:120,v=(k??[]).filter(e=>(e?.tag??"").trim()||(e?.meta??"").trim()||(e?.title??"").trim()||(e?.copy??"").trim()||(e?.image??"").trim()||(e?.specs??[]).some(o=>(o?.label??"").trim()||(o?.value??"").trim())),y=v.length>0?v:T&&!s?[1,2,3].map(e=>({tag:D("Column {n}",{n:e})})):[],S=N[L]??N[3],n=I==="on-image";return a("section",{className:"relative z-[2] border-b border-line bg-bg",style:{paddingTop:j,paddingBottom:C,...A(w)},children:r("div",{className:U,children:[_?null:a(O,{num:z,title:f?.trim()?m(f,!0):void 0,desc:h?.trim()?m(h,!1):void 0}),s?r(E,{children:[a("style",{children:`.${x}:empty{display:none}.${x}:not(:empty)~.${$}{display:none}`}),a(s,{className:`${x} sf-card grid ${S} gap-[2px] border border-line bg-line [&>*]:min-h-[560px] [&>*]:bg-bg`,minEmptyHeight:260})]}):null,y.length>0&&a("div",{className:`${$} sf-card grid ${S} gap-[2px] border border-line bg-line`,children:y.map((e,o)=>{const d=(e.specs??[]).filter(t=>(t?.label??"").trim()||(t?.value??"").trim());return r("article",{className:n?"flex flex-col bg-bg":"flex min-h-[560px] flex-col bg-bg",children:[r("div",{className:n?"sf-card-image relative aspect-[5/3] overflow-hidden bg-surface max-[700px]:aspect-[4/3]":"sf-card-image relative aspect-[5/3] overflow-hidden border-b border-line bg-surface",children:[a(R,{label:e.tag?.trim()||e.title?.trim()||`column-${o+1}`,src:e.image||void 0,sizes:"(max-width: 1100px) 100vw, 33vw",...s?{deferFetch:!0}:{}}),a("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 z-[1]",style:{background:`linear-gradient(180deg, ${c(.55)} 0%, transparent 30%, transparent 70%, ${c(.65)} 100%)`}}),n&&a("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 bottom-0 z-[1] h-[78%]",style:{background:`linear-gradient(180deg, transparent 0%, ${c(.73)} 55%, ${c(.92)} 100%)`}}),e.tag?.trim()&&a("span",{className:`absolute left-5 top-[18px] z-[2] font-mono ${l.label} uppercase tracking-[0.3em] text-accent`,children:i(e.tag)}),e.meta?.trim()&&a("span",{className:n?`absolute right-5 top-[18px] z-[2] font-mono ${l.label} uppercase tracking-[0.24em] text-overlay-fg/80`:`absolute right-5 bottom-[18px] z-[2] font-mono ${l.label} uppercase tracking-[0.24em] text-overlay-fg/80`,children:i(e.meta)}),n&&(e.title?.trim()||e.copy?.trim())&&r("div",{className:"absolute inset-x-0 bottom-0 z-[2] flex flex-col gap-2.5 px-8 pb-7 pt-14 max-[700px]:px-6 max-[700px]:pb-6",children:[e.title?.trim()&&a("h3",{className:`flex min-h-[2em] flex-col justify-end font-heading3 ${l.headingSmall1} font-medium uppercase leading-none tracking-[-0.02em] text-overlay-fg ${l.headingSmallUpTo700Small}`,children:m(e.title,!0)}),e.copy?.trim()&&a("p",{className:`min-h-[3em] font-display ${l.bodySmall} leading-[1.5] text-overlay-fg/85`,children:m(e.copy,!1)})]})]}),n?d.length>0&&a("div",{className:"grid grid-cols-2 gap-2 border-t border-line px-8 py-7 max-[700px]:px-6 max-[700px]:py-6",children:d.map((t,g)=>r("div",{className:"flex flex-col gap-1",children:[t.label?.trim()&&a("span",{className:`font-mono ${l.labelSmall} uppercase tracking-[0.24em] text-fg-dim`,children:i(t.label)}),t.value?.trim()&&a("span",{className:`font-display ${l.bodyLarge} font-medium tracking-[-0.01em] text-fg`,children:i(t.value)})]},g))}):r("div",{className:"flex flex-1 flex-col gap-4 px-8 py-9 max-[700px]:px-6 max-[700px]:py-7",children:[e.title?.trim()&&a("h3",{className:`font-heading3 ${l.headingSmall2} font-medium uppercase leading-none tracking-[-0.02em] ${l.headingSmallUpTo700Large}`,children:m(e.title,!0)}),e.copy?.trim()&&a("p",{className:`font-display ${l.bodySmall} leading-[1.55] text-fg-dim`,children:m(e.copy,!1)}),d.length>0&&a("div",{className:"mt-auto grid grid-cols-2 gap-2 border-t border-line pt-4",children:d.map((t,g)=>r("div",{className:"flex flex-col gap-1",children:[t.label?.trim()&&a("span",{className:`font-mono ${l.labelSmall} uppercase tracking-[0.24em] text-fg-dim`,children:i(t.label)}),t.value?.trim()&&a("span",{className:`font-display ${l.bodyLarge} font-medium tracking-[-0.01em] text-fg`,children:i(t.value)})]},g))})]})]},o)})}),p?.text&&a("div",{className:"mt-12 flex justify-end border-t border-line pt-8",children:r(G,{href:p.href,className:`group inline-flex items-center gap-3.5 border border-line px-6 py-4 font-mono ${l.labelLarge} uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent`,children:[i(p.text),a("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]})})]})})}export{F as default};
@@ -1,7 +1,20 @@
1
1
  import { type ReactNode } from "react";
2
- import { type SectionMotion } from "../../format/lib/content/section-animation.js";
3
- export declare function SectionAnimation({ motion, editing, children, }: {
4
- motion: SectionMotion;
2
+ import { type EntranceValue } from "efficient-shell/format";
3
+ export declare const ENTRANCE_WRAPPER_CLASS = "sf-entrance";
4
+ export declare function SectionAnimation({ desktop, phone, editing, children, }: {
5
+ desktop: EntranceValue;
6
+ phone: EntranceValue;
5
7
  editing: boolean;
6
8
  children: ReactNode;
7
9
  }): import("react").JSX.Element;
10
+ export type SeenEntrance = {
11
+ readonly desktop: string;
12
+ readonly phone: string;
13
+ };
14
+ export declare const entranceReplay: {
15
+ seed(desktop: EntranceValue, phone: EntranceValue): SeenEntrance;
16
+ next(seen: SeenEntrance, desktop: EntranceValue, phone: EntranceValue, onPhone: boolean): {
17
+ play: boolean;
18
+ seen: SeenEntrance;
19
+ };
20
+ };
@@ -1 +1 @@
1
- "use client";import{jsx as s}from"react/jsx-runtime";import{useEffect as i,useRef as u}from"react";import{armSectionEntrance as a,playSectionEntrance as l,SECTION_ANIM_ATTR as o}from"../../format/lib/content/section-animation.js";function S({motion:r,editing:n,children:f}){const t=u(null),c=u(r);return i(()=>{const e=t.current;if(e){if(n){if(c.current===r)return;c.current=r,l(e);return}return a(e)}},[r,n]),s("div",{ref:t,[o]:r,children:f})}export{S as SectionAnimation};
1
+ "use client";import{jsx as E}from"react/jsx-runtime";import{useEffect as l,useRef as p,useState as N}from"react";import{armEntrance as S,entranceAttrs as x,playEntrance as g}from"efficient-shell/format";import{PHONE_MEDIA as A}from"../lib/content/view-values.js";const O="sf-entrance";function _({desktop:e,phone:n,editing:s,children:o}){const t=p(null),r=P(t),m=r?n:e,{attrs:y,style:i}=x(m),u=p(a.seed(e,n)),h=JSON.stringify(e),d=JSON.stringify(n);return l(()=>{const c=t.current;if(c){if(s){const f=a.next(u.current,e,n,r);u.current=f.seen,f.play&&g(c);return}return S(c)}},[h,d,r,s]),E("div",{ref:t,className:O,...y,...Object.keys(i).length?{style:i}:{},children:o})}const a={seed(e,n){return{desktop:JSON.stringify(e),phone:JSON.stringify(n)}},next(e,n,s,o){const t=a.seed(n,s);return{play:o?t.phone!==e.phone:t.desktop!==e.desktop,seen:t}}};function P(e){const[n,s]=N(!1);return l(()=>{const o=e.current?.ownerDocument?.defaultView;if(!o?.matchMedia)return;const t=o.matchMedia(A),r=()=>s(t.matches);return r(),t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e]),n}export{O as ENTRANCE_WRAPPER_CLASS,_ as SectionAnimation,a as entranceReplay};
@@ -3,7 +3,11 @@ import { type PadValues } from "../lib/content/section-padding.js";
3
3
  export declare function SplitBandAndColumn({ children }: {
4
4
  children?: ReactNode;
5
5
  }): import("react").JSX.Element;
6
- export default function SiteGutterFrame({ contained, framedClass, fillClass, columnClass, style, tabLabel, pad, border, outerAttrs, children, }: {
6
+ export declare function NestedBoxChoice({ atTop, nested }: {
7
+ atTop: ReactNode;
8
+ nested: ReactNode;
9
+ }): import("react").JSX.Element;
10
+ export default function SiteGutterFrame({ contained, framedClass, fillClass, columnClass, style, tabLabel, pad, border, outerAttrs, box, outerStyle, children, }: {
7
11
  contained: boolean;
8
12
  framedClass: string;
9
13
  fillClass: string;
@@ -16,5 +20,7 @@ export default function SiteGutterFrame({ contained, framedClass, fillClass, col
16
20
  };
17
21
  border?: CSSProperties;
18
22
  outerAttrs?: Record<string, string>;
23
+ box?: boolean;
24
+ outerStyle?: CSSProperties;
19
25
  children?: ReactNode;
20
26
  }): import("react").JSX.Element;
@@ -1 +1 @@
1
- "use client";import{jsx as t}from"react/jsx-runtime";import{createContext as h,useContext as N}from"react";import{rootPadAttrs as j,wrapperPadAttrs as I}from"../lib/content/section-padding.js";import{SECTION_BORDER_CLASS as w,SECTION_BORDER_SELF_CLASS as A}from"../../format/lib/content/borders.js";import{drawsSiteGutter as G}from"../../format/lib/content/site-gutter.js";const y=h(!1),d=h(!1);function b({children:o}){return t(d.Provider,{value:!0,children:o})}function L({contained:o,framedClass:O,fillClass:x,columnClass:R,style:m,tabLabel:_,pad:e,border:s,outerAttrs:r,children:f}){const B=N(y),v=N(d),a=G(o,B),n=a&&!v,i=e&&!n?j(e.values,e.frame):null,c=s&&!n?s:null,E=[n?O:x,i?.className,c?A:null].filter(Boolean).join(" "),P=i||c?{...m,...i?.style,...c}:m,u=a?t(y.Provider,{value:!0,children:f}):f,l=e&&n?I(e.values):null,S=r&&Object.keys(r).length>0?r:null,p=t("div",{...l?null:S,className:E,style:P,"data-tab-label":_,children:v?t(d.Provider,{value:!1,children:a?t("div",{className:R,children:u}):u}):u}),C=l?t("div",{...S,className:l.className,style:l.style,children:p}):p;return s&&n?t("div",{className:w,style:{display:"contents",...s},children:C}):C}export{b as SplitBandAndColumn,L as default};
1
+ "use client";import{jsx as e,Fragment as w}from"react/jsx-runtime";import{createContext as f,useContext as v}from"react";import{rootPadAttrs as A,wrapperPadAttrs as G}from"../lib/content/section-padding.js";import{SECTION_BORDER_CLASS as L,SECTION_BORDER_SELF_CLASS as D}from"../../format/lib/content/borders.js";import{drawsSiteGutter as T}from"../../format/lib/content/site-gutter.js";const P=f(!1),h=f(!1);function K({children:n}){return e(h.Provider,{value:!0,children:n})}const R=f(!1);function M({atTop:n,nested:a}){return e(w,{children:v(R)?a:n})}function k({contained:n,framedClass:a,fillClass:y,columnClass:E,style:p,tabLabel:I,pad:s,border:o,outerAttrs:i,box:g=!1,outerStyle:r,children:x}){const j=v(P),C=v(h),c=T(n,j),l=c&&!C,d=s&&!l?A(s.values,s.frame):null,u=o&&!l?o:null,F=[l?a:y,d?.className,u?D:null].filter(Boolean).join(" "),N=d||u?{...p,...d?.style,...u}:p,S=g?e(R.Provider,{value:!0,children:x}):x,m=c?e(P.Provider,{value:!0,children:S}):S,t=s&&l?G(s.values):null,B=i&&Object.keys(i).length>0?i:null,O=e("div",{...t?null:B,className:F,style:t||!r?N:{...N,...r},"data-tab-label":I,children:C?e(h.Provider,{value:!1,children:c?e("div",{className:E,children:m}):m}):m}),_=t?e("div",{...B,className:t.className,style:r?{...t.style,...r}:t.style,children:O}):O;return o&&l?e("div",{className:L,style:{display:"contents",...o},children:_}):_}export{M as NestedBoxChoice,K as SplitBandAndColumn,k as default};
@@ -1 +1 @@
1
- "use client";import{jsx as v,jsxs as x}from"react/jsx-runtime";import{useEffect as u,useRef as b,useState as p}from"react";import{EntityMap as M}from"efficient-shell/map";import{mapModeIsLight as i,watchMapTheme as I}from"../../format/lib/map-styles.js";const S={"--rosh-map-pin":"var(--accent)","--rosh-map-pin-text":"var(--bg)","--rosh-map-pin-edge":"var(--bg)","--rosh-map-ring":"var(--fg)","--rosh-map-radius":"0px","--rosh-map-font":"var(--font-role-label)"};function j(e){const[t,r]=p(()=>i(e));return u(()=>(r(i(e)),I(()=>r(i(e)))),[e]),t?"light":"dark"}function y(e){const[t,r]=p(!1);return u(()=>{const s=e.current;if(!s||t)return;if(typeof IntersectionObserver>"u"){r(!0);return}const n=new IntersectionObserver(o=>{o.some(a=>a.isIntersecting)&&(n.disconnect(),r(!0))},{rootMargin:"200px"});return n.observe(s),()=>n.disconnect()},[e,t]),t}function L({pins:e,mapTheme:t,ariaLabel:r,className:s="",selectedKey:n=null,focus:o=null,onSelect:a,fitTo:f,card:l,groupCrowded:m=!1,children:h}){const c=b(null),d=y(c),g=j(t);return x("div",{ref:c,"data-site-map":"",className:s,style:S,children:[d&&v(M,{pins:e,selectedKey:n,focus:o,onSelect:a??(()=>{}),ariaLabel:r,fitTo:f,card:l,groupCrowded:m,look:"site",theme:g,cooperativeGestures:"coarse"}),h]})}export{L as default};
1
+ "use client";import{jsx as v,jsxs as x}from"react/jsx-runtime";import{useEffect as u,useRef as b,useState as p}from"react";import{EntityMap as M}from"efficient-shell/map";import{mapModeIsLight as i}from"../../format/lib/map-styles.js";import{watchRootTheme as I}from"efficient-shell/format";const S={"--rosh-map-pin":"var(--accent)","--rosh-map-pin-text":"var(--bg)","--rosh-map-pin-edge":"var(--bg)","--rosh-map-ring":"var(--fg)","--rosh-map-radius":"0px","--rosh-map-font":"var(--font-role-label)"};function j(e){const[t,r]=p(()=>i(e));return u(()=>(r(i(e)),I(()=>r(i(e)))),[e]),t?"light":"dark"}function y(e){const[t,r]=p(!1);return u(()=>{const s=e.current;if(!s||t)return;if(typeof IntersectionObserver>"u"){r(!0);return}const n=new IntersectionObserver(o=>{o.some(a=>a.isIntersecting)&&(n.disconnect(),r(!0))},{rootMargin:"200px"});return n.observe(s),()=>n.disconnect()},[e,t]),t}function L({pins:e,mapTheme:t,ariaLabel:r,className:s="",selectedKey:n=null,focus:o=null,onSelect:a,fitTo:f,card:l,groupCrowded:m=!1,children:h}){const c=b(null),d=y(c),g=j(t);return x("div",{ref:c,"data-site-map":"",className:s,style:S,children:[d&&v(M,{pins:e,selectedKey:n,focus:o,onSelect:a??(()=>{}),ariaLabel:r,fitTo:f,card:l,groupCrowded:m,look:"site",theme:g,cooperativeGestures:"coarse"}),h]})}export{L as default};
@@ -1,7 +1,5 @@
1
- export interface StripCell {
2
- text?: string;
3
- tone?: "normal" | "muted";
4
- }
1
+ import { type StripCell } from "../../format/lib/document/blocks/general/SpecStrip/meta.js";
2
+ export type { StripCell };
5
3
  export interface SpecStripProps {
6
4
  cells?: StripCell[];
7
5
  fill?: "dark" | "none";
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{say as a}from"../../format/lib/editor-words.js";const o=()=>[{text:a("Spec label"),tone:"normal"},{text:a("Spec value"),tone:"muted"},{text:a("Spec label"),tone:"normal"},{text:a("Spec value"),tone:"muted"}];function d({cells:p,fill:x="dark",editing:i=!1}){const n=(p??[]).filter(e=>(e?.text??"").trim()),r=n.length>0?n:i?o():[];if(r.length===0)return null;const l=x!=="none",s=t("div",{className:"mx-auto flex max-w-[var(--sf-site-width,1600px)] flex-wrap items-baseline justify-between gap-x-8 gap-y-1 px-[var(--sf-site-gutter,40px)] py-4 text-[length:var(--size-label,12px)] uppercase tracking-[0.1em] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-3",children:r.map((e,m)=>t("span",{className:l?e.tone==="muted"?"text-plate-band-fg-dim":"text-plate-band-fg":e.tone==="muted"?"text-fg-dim":"text-fg",children:e.text},m))});return t("section",{className:"w-full",children:l?t("div",{className:"bg-plate-band",children:s}):t("div",{className:"border-t border-line",children:s})})}export{d as default};
1
+ import{jsx as t}from"react/jsx-runtime";import{specStripScaffold as m}from"../../format/lib/document/blocks/general/SpecStrip/meta.js";function d({cells:i,fill:p="dark",editing:x=!1}){const a=(i??[]).filter(e=>(e?.text??"").trim()),r=a.length>0?a:x?m():[];if(r.length===0)return null;const s=p!=="none",n=t("div",{className:"mx-auto flex max-w-[var(--sf-site-width,1600px)] flex-wrap items-baseline justify-between gap-x-8 gap-y-1 px-[var(--sf-site-gutter,40px)] py-4 text-[length:var(--size-label,12px)] uppercase tracking-[0.1em] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-3",children:r.map((e,l)=>t("span",{className:s?e.tone==="muted"?"text-plate-band-fg-dim":"text-plate-band-fg":e.tone==="muted"?"text-fg-dim":"text-fg",children:e.text},l))});return t("section",{className:"w-full",children:s?t("div",{className:"bg-plate-band",children:n}):t("div",{className:"border-t border-line",children:n})})}export{d as default};
@@ -28,6 +28,7 @@ interface Props {
28
28
  href: string;
29
29
  };
30
30
  grayscale?: boolean;
31
+ fillHeight?: boolean;
31
32
  }
32
- export default function Split({ imageLabel, imageSrc, imageTint, imageObjectPosition, eyebrow, title, body, cta, reverse, uppercase, textAlign, textBgSrc, textBgLabel, textBgTint, textBgObjectPosition, featureBar, imageButton, grayscale, }: Props): import("react").JSX.Element;
33
+ export default function Split({ imageLabel, imageSrc, imageTint, imageObjectPosition, eyebrow, title, body, cta, reverse, uppercase, textAlign, textBgSrc, textBgLabel, textBgTint, textBgObjectPosition, featureBar, imageButton, grayscale, fillHeight, }: Props): import("react").JSX.Element;
33
34
  export {};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{SiteLink as v}from"../lib/site-runtime.js";import _ from"./Btn.js";import{resolveImageTreatment as E}from"../../format/lib/content/image-treatment.js";import y from"./Placeholder.js";import{useSitePhotography as I}from"./SitePhotographyContext.js";import L from"./SectionEyebrow.js";import{renderGold as i,renderHeadline as P,splitParagraphs as U}from"./goldPhrases.js";import{ON_MEDIA_INK_STYLE as S}from"../../format/lib/content/ink.js";const t={headingMediumUpTo800:"max-[800px]:text-[length:var(--size-headingMedium,36px)]",labelUpTo800:"max-[800px]:text-[length:var(--size-label,12px)]",headingMedium:"text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,16px)]",label:"text-[length:var(--size-label,13px)]"};function A({imageLabel:d,imageSrc:p,imageTint:c=.4,imageObjectPosition:N,eyebrow:x,title:m,body:h,cta:l,reverse:f=!1,uppercase:j=!1,textAlign:k="left",textBgSrc:s,textBgLabel:$,textBgTint:b=.6,textBgObjectPosition:z,featureBar:a,imageButton:n,grayscale:w}){const g=E(w,I()),u={left:{items:"",text:"",cta:"self-start"},center:{items:"items-center",text:"text-center",cta:"self-center"},right:{items:"items-end",text:"text-right",cta:"self-end"}},o=u[k]??u.left;return e("section",{className:"relative z-[2] bg-bg p-0",children:r("div",{className:["grid min-h-[72vh] grid-cols-2 border-t border-b border-line","mx-auto w-full max-w-[var(--sf-content-cap,none)]","max-[960px]:grid-cols-1","max-[960px]:min-h-0",f?"min-[961px]:[direction:rtl]":""].join(" "),children:[r("div",{className:"sf-card relative flex items-center justify-center overflow-hidden bg-surface [direction:ltr] max-[960px]:aspect-[4/3] max-[960px]:order-2",style:f?{borderLeft:"1px solid var(--site-line)"}:{borderRight:"1px solid var(--site-line)"},children:[e(y,{label:d,src:p,objectPosition:N,treatment:g}),p&&c>0&&e("div",{className:"absolute inset-0",style:{background:`rgba(0,0,0,${c})`}}),(a||n)&&r("div",{className:"pointer-events-none absolute inset-0 z-[3] flex flex-col items-center justify-center gap-4 px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",children:[a&&r(v,{href:a.href,className:`pointer-events-auto inline-flex items-center justify-center gap-3 border px-7 py-4 font-mono ${t.label} uppercase tracking-[0.18em] backdrop-blur-sm transition-colors max-[800px]:gap-2 max-[800px]:px-5 max-[800px]:py-3 ${t.labelUpTo800}`,style:{borderColor:"rgba(245,241,232,0.3)",color:"rgba(245,241,232,0.85)",background:"rgba(0,0,0,0.45)"},children:[e("span",{children:i(a.wheel)}),e("span",{"aria-hidden":!0,style:{opacity:.55},children:"·"}),e("span",{children:i(a.category)}),e("span",{"aria-hidden":!0,children:"→"}),e("span",{children:i(a.cta??"Shop now")})]}),n&&r(v,{href:n.href,className:`pointer-events-auto inline-flex items-center justify-center gap-2 border px-7 py-4 font-mono ${t.label} uppercase tracking-[0.18em] backdrop-blur-sm transition-colors hover:bg-[rgba(245,241,232,0.1)] max-[800px]:gap-2 max-[800px]:px-5 max-[800px]:py-3 ${t.labelUpTo800}`,style:{borderColor:"rgba(245,241,232,0.5)",color:"rgba(245,241,232,0.95)",background:"transparent"},children:[e("span",{children:i(n.text??"Learn more")}),e("span",{"aria-hidden":!0,children:"→"})]})]})]}),r("div",{className:"relative overflow-hidden [direction:ltr] max-[960px]:order-1",children:[s&&r("div",{className:"absolute inset-0","aria-hidden":!0,children:[e(y,{label:$??d,src:s,objectPosition:z,treatment:g}),b>0&&e("div",{className:"absolute inset-0",style:{background:`rgba(0,0,0,${b})`}})]}),e("div",{className:"relative z-[2] flex h-full min-h-full flex-col px-[60px] py-[100px] max-[960px]:px-6 max-[960px]:py-[60px]",style:s?S:void 0,children:r("div",{className:["flex flex-1 flex-col justify-center gap-6",o.items,o.text].join(" "),children:[x&&e(L,{text:x,size:14}),m&&e("h2",{className:[`font-heading2 ${t.headingMedium} font-normal leading-[1.05] tracking-[-0.03em]`,`${t.headingMediumUpTo800} max-[800px]:leading-[1]`,j?"uppercase":""].join(" "),children:P(m,!1)}),h&&U(h).map((M,T)=>e("p",{className:[`max-w-[520px] ${t.body} leading-[1.7]`,"text-fg-dim"].join(" "),children:i(M)},T)),l.text&&e("div",{className:`mt-2 ${o.cta}`,children:e(_,{href:l.href,variant:"primary",children:i(l.text)})})]})})]})]})})}export{A as default};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{SiteLink as u}from"../lib/site-runtime.js";import M from"./Btn.js";import{resolveImageTreatment as P}from"../../format/lib/content/image-treatment.js";import y from"./Placeholder.js";import{useSitePhotography as C}from"./SitePhotographyContext.js";import U from"./SectionEyebrow.js";import{renderGold as i,renderHeadline as A,splitParagraphs as O}from"./goldPhrases.js";import{ON_MEDIA_INK_STYLE as G}from"../../format/lib/content/ink.js";import{scrim as D}from"../../format/lib/content/scrim.js";import{SECTION_FILL_CLASS as F}from"../../format/lib/content/section-min-height.js";const t={headingMediumUpTo800:"max-[800px]:text-[length:var(--size-headingMedium,36px)]",labelUpTo800:"max-[800px]:text-[length:var(--size-label,12px)]",headingMedium:"text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,16px)]",label:"text-[length:var(--size-label,13px)]"},_={words:{left:"min-[961px]:pl-[max(60px,calc(100%_-_var(--sf-content-cap,200%)/2_+_60px))]",right:"min-[961px]:pr-[max(60px,calc(100%_-_var(--sf-content-cap,200%)/2_+_60px))]"},buttons:{left:"min-[961px]:pl-[max(var(--sf-site-gutter,40px),calc(100%_-_var(--sf-content-cap,200%)/2_+_var(--sf-site-gutter,40px)))]",right:"min-[961px]:pr-[max(var(--sf-site-gutter,40px),calc(100%_-_var(--sf-content-cap,200%)/2_+_var(--sf-site-gutter,40px)))]"}};function H({imageLabel:c,imageSrc:x,imageTint:m=.4,imageObjectPosition:N,eyebrow:d,title:f,body:h,cta:l,reverse:n=!1,uppercase:j=!1,textAlign:$="left",textBgSrc:o,textBgLabel:k,textBgTint:g=.6,textBgObjectPosition:z,featureBar:a,imageButton:s,grayscale:T,fillHeight:w=!1}){const b=P(T,C()),v={left:{items:"",text:"",cta:"self-start"},center:{items:"items-center",text:"text-center",cta:"self-center"},right:{items:"items-end",text:"text-right",cta:"self-end"}},p=v[$]??v.left,I=n?"right":"left",L=n?"left":"right";return e("section",{className:"relative z-[2] bg-bg p-0",children:r("div",{className:["grid min-h-[72vh] grid-cols-2 border-t border-b border-line","max-[960px]:grid-cols-1","max-[960px]:min-h-0",n?"min-[961px]:[direction:rtl]":"",...w?[F]:[]].join(" "),children:[r("div",{className:"sf-card relative flex items-center justify-center overflow-hidden bg-surface [direction:ltr] max-[960px]:aspect-[4/3] max-[960px]:order-2",style:n?{borderLeft:"1px solid var(--site-line)"}:{borderRight:"1px solid var(--site-line)"},children:[e(y,{label:c,src:x,objectPosition:N,treatment:b}),x&&m>0&&e("div",{className:"absolute inset-0",style:{background:`rgba(0,0,0,${m})`}}),(a||s)&&r("div",{className:`pointer-events-none absolute inset-0 z-[3] flex flex-col items-center justify-center gap-4 px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] ${_.buttons[I]}`,children:[a&&r(u,{href:a.href,className:`pointer-events-auto inline-flex items-center justify-center gap-3 border px-7 py-4 font-mono ${t.label} uppercase tracking-[0.18em] backdrop-blur-sm transition-colors max-[800px]:gap-2 max-[800px]:px-5 max-[800px]:py-3 ${t.labelUpTo800}`,style:{borderColor:"color-mix(in srgb, var(--overlay-fg) 30%, transparent)",color:"color-mix(in srgb, var(--overlay-fg) 85%, transparent)",background:D(.45)},children:[e("span",{children:i(a.wheel)}),e("span",{"aria-hidden":!0,style:{opacity:.55},children:"·"}),e("span",{children:i(a.category)}),e("span",{"aria-hidden":!0,children:"→"}),e("span",{children:i(a.cta??"Shop now")})]}),s&&r(u,{href:s.href,className:`pointer-events-auto inline-flex items-center justify-center gap-2 border px-7 py-4 font-mono ${t.label} uppercase tracking-[0.18em] backdrop-blur-sm transition-colors hover:bg-[color-mix(in_srgb,var(--overlay-fg)_10%,transparent)] max-[800px]:gap-2 max-[800px]:px-5 max-[800px]:py-3 ${t.labelUpTo800}`,style:{borderColor:"color-mix(in srgb, var(--overlay-fg) 50%, transparent)",color:"color-mix(in srgb, var(--overlay-fg) 95%, transparent)",background:"transparent"},children:[e("span",{children:i(s.text??"Learn more")}),e("span",{"aria-hidden":!0,children:"→"})]})]})]}),r("div",{className:"relative overflow-hidden [direction:ltr] max-[960px]:order-1",children:[o&&r("div",{className:"absolute inset-0","aria-hidden":!0,children:[e(y,{label:k??c,src:o,objectPosition:z,treatment:b}),g>0&&e("div",{className:"absolute inset-0",style:{background:`rgba(0,0,0,${g})`}})]}),e("div",{className:`relative z-[2] flex h-full min-h-full flex-col px-[60px] py-[100px] max-[960px]:px-6 max-[960px]:py-[60px] ${_.words[L]}`,style:o?G:void 0,children:r("div",{className:["flex flex-1 flex-col justify-center gap-6",p.items,p.text].join(" "),children:[d&&e(U,{text:d,size:14}),f&&e("h2",{className:[`font-heading2 ${t.headingMedium} font-normal leading-[1.05] tracking-[-0.03em]`,`${t.headingMediumUpTo800} max-[800px]:leading-[1]`,j?"uppercase":""].join(" "),children:A(f,!1)}),h&&O(h).map((S,E)=>e("p",{className:[`max-w-[520px] ${t.body} leading-[1.7]`,"text-fg-dim"].join(" "),children:i(S)},E)),l.text&&e("div",{className:`mt-2 ${p.cta}`,children:e(M,{href:l.href,variant:"primary",children:i(l.text)})})]})})]})]})})}export{H as default};
@@ -1,4 +1,5 @@
1
1
  import type { PadValues } from "../lib/content/section-padding.js";
2
+ import { type HeadingLevel } from "./Heading.js";
2
3
  import type { BlockAlign as Align } from "../../format/lib/content/block-align.js";
3
4
  type Tone = "default" | "dim";
4
5
  interface TextProps {
@@ -11,5 +12,6 @@ interface TextProps {
11
12
  contained: boolean;
12
13
  hero?: boolean;
13
14
  }
15
+ export declare function headingLevelOfStyle(id: string): HeadingLevel;
14
16
  export default function Text({ text, align, tone, contained, hero, pad, tag, textStyle }: TextProps): import("react").JSX.Element;
15
17
  export {};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import p from"./BlockFrame.js";import{renderGold as n,renderHeadline as b,splitParagraphs as u}from"./goldPhrases.js";import{headingLook as N}from"./Heading.js";import{textTagOf as T}from"../../format/lib/content/text-tag.js";import{isTextStyleId as v}from"../lib/document/part-styles.js";import{faceClassOf as x}from"../../format/lib/text-style-face.js";const s={bodyUpTo800:"max-[800px]:text-[length:var(--size-body,14px)]",bodySmall:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,17px)]",label:"text-[length:var(--size-label,13px)]"},$={left:"text-left",center:"text-center mx-auto",right:"text-right ml-auto"},S=`max-w-[380px] ${s.bodySmall} leading-[1.5] opacity-80 ${s.bodyUpTo800}`,L={default:"text-fg",dim:"text-fg-dim"};function z({text:a,align:d,tone:h,contained:m,hero:g=!1,pad:l,tag:y,textStyle:c}){if(g)return t("p",{className:S,children:n(a)});const e=v(c)?c:void 0,f=`${e?`${x({id:e})} `:""}max-w-[680px] whitespace-pre-line ${e==="body-5"?s.label:s.bodyLarge} leading-[1.7] ${$[d]} ${L[h]}`,o=T(y);if(e?.startsWith("heading-")){const i=String(Math.min(Number(e.slice(8)),6)),r=N(i,d,x({id:e}));return t(p,{contained:m,className:"py-6",pad:l?{values:l,frame:24}:void 0,children:t(o,{className:r.className,style:r.style,children:b(a.trim(),!1)})})}return t(p,{contained:m,className:"py-4",pad:l?{values:l,frame:16}:void 0,children:o==="p"?u(a).map((i,r)=>t("p",{className:f,children:n(i)},r)):t(o,{className:f,children:n(a.trim())})})}export{z as default};
1
+ import{jsx as a}from"react/jsx-runtime";import p from"./BlockFrame.js";import{renderGold as i,renderHeadline as u,splitParagraphs as b}from"./goldPhrases.js";import{headingLook as N}from"./Heading.js";import{textTagOf as T}from"../../format/lib/content/text-tag.js";import{isTextStyleId as v}from"../lib/document/part-styles.js";import{faceClassOf as x}from"../../format/lib/text-style-face.js";const n={bodyUpTo800:"max-[800px]:text-[length:var(--size-body,14px)]",bodySmall:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,17px)]",label:"text-[length:var(--size-label,13px)]"},S={left:"text-left",center:"text-center mx-auto",right:"text-right ml-auto"},$=`max-w-[380px] ${n.bodySmall} leading-[1.5] opacity-80 ${n.bodyUpTo800}`,L={default:"text-fg",dim:"text-fg-dim"};function O(e){return String(Math.min(Number(e.slice(8)),6))}function z({text:e,align:d,tone:h,contained:m,hero:g=!1,pad:r,tag:y,textStyle:c}){if(g)return a("p",{className:$,children:i(e)});const t=v(c)?c:void 0,f=`${t?`${x({id:t})} `:""}max-w-[680px] whitespace-pre-line ${t==="body-5"?n.label:n.bodyLarge} leading-[1.7] ${S[d]} ${L[h]}`,o=T(y);if(t?.startsWith("heading-")){const s=O(t),l=N(s,d,x({id:t}));return a(p,{contained:m,className:"py-6",pad:r?{values:r,frame:24}:void 0,children:a(o,{className:l.className,style:l.style,children:u(e.trim(),!1)})})}return a(p,{contained:m,className:"py-4",pad:r?{values:r,frame:16}:void 0,children:o==="p"?b(e).map((s,l)=>a("p",{className:f,children:i(s)},l)):a(o,{className:f,children:i(e.trim())})})}export{z as default,O as headingLevelOfStyle};
@@ -1,5 +1,5 @@
1
1
  import { type TickerSeparator, type TickerSize } from "../../format/lib/sections/ticker-style.js";
2
- import { type TickerScroll } from "../../format/lib/sections/ticker-scroll.js";
2
+ import { type LoopDirection } from "../../format/lib/animation/index.js";
3
3
  export type TickerItem = string | {
4
4
  text: string;
5
5
  gold?: boolean;
@@ -9,10 +9,11 @@ interface Props {
9
9
  items: TickerItem[];
10
10
  separator?: TickerSeparator;
11
11
  size?: TickerSize;
12
- durationSec?: number;
13
- scroll?: TickerScroll;
12
+ seconds?: number;
13
+ delay?: number;
14
+ scroll?: LoopDirection;
14
15
  backdrop?: TickerBackdrop;
15
16
  className?: string;
16
17
  }
17
- export default function Ticker({ items, separator, size, durationSec, scroll, backdrop, className, }: Props): import("react").JSX.Element;
18
+ export default function Ticker({ items, separator, size, seconds, delay, scroll, backdrop, className, }: Props): import("react").JSX.Element;
18
19
  export {};
@@ -1 +1 @@
1
- import{jsx as a,jsxs as l}from"react/jsx-runtime";import{DEFAULT_TICKER_SEPARATOR as k,DEFAULT_TICKER_SIZE as w,SEPARATOR_GLYPH as L,parseTickerSeparator as N,parseTickerSize as b,separatorScaleClass as y,tickerTypeClass as j}from"../../format/lib/sections/ticker-style.js";import{DEFAULT_TICKER_SCROLL as u,isVerticalScroll as v,parseTickerScroll as I,tickerAnimation as $}from"../../format/lib/sections/ticker-scroll.js";import{renderGold as K}from"./goldPhrases.js";const D={"themed-band":"text-fg/70","themed-section":"text-fg-dim","dark-media":"text-overlay-fg/70"};function F({items:o,separator:i=k,size:x=w,durationSec:m=50,scroll:d=u,backdrop:f="themed-band",className:g}){const t=b(x),n=I(d),r=N(i),h=`text-accent ${y(t,r)}`.trim(),c=L[r],T=c===""?a("span",{}):a("span",{className:h,children:c}),s=v(n),S=s?"inline-flex flex-col items-center gap-[60px] pb-[60px] max-[800px]:gap-8 max-[800px]:pb-8":"inline-flex items-center gap-[60px] pr-[60px] max-[800px]:gap-8 max-[800px]:pr-8",C=s?"inline-flex flex-col items-center gap-[60px] max-[800px]:gap-8":"inline-flex items-center gap-[60px] max-[800px]:gap-8",p=_=>a("span",{className:S,children:o.map((e,A)=>{const E=typeof e=="string"?e:e.text,R=typeof e=="object"&&e.gold;return l("span",{className:C,children:[a("span",{className:R?"text-accent":void 0,children:K(E)}),T]},A)})},_);return a("div",{className:`overflow-hidden ${g??""}`,children:l("div",{className:`flex ${s?"flex-col ":""}whitespace-nowrap ${j(t)} ${D[f]}`,style:{animation:$(n,m)},children:[p("a"),p("b")]})})}export{F as default};
1
+ import{jsx as a,jsxs as c}from"react/jsx-runtime";import{DEFAULT_TICKER_SEPARATOR as D,DEFAULT_TICKER_SIZE as N,SEPARATOR_GLYPH as R,parseTickerSeparator as w,parseTickerSize as b,separatorScaleClass as y,tickerTypeClass as I}from"../../format/lib/sections/ticker-style.js";import{DEFAULT_LOOP_DELAY as P,DEFAULT_LOOP_DIRECTION as j,DEFAULT_LOOP_SECONDS as k,isVerticalLoop as u,loopAnimation as v,parseLoopDirection as F}from"../../format/lib/animation/index.js";import{renderGold as U}from"./goldPhrases.js";const $={"themed-band":"text-fg/70","themed-section":"text-fg-dim","dark-media":"text-overlay-fg/70"};function K({items:i,separator:l=D,size:x=N,seconds:m=k,delay:d=P,scroll:f=j,backdrop:g="themed-band",className:h}){const t=b(x),n=F(f),o=w(l),T=`text-accent ${y(t,o)}`.trim(),p=R[o],_=p===""?a("span",{}):a("span",{className:T,children:p}),s=u(n),E=s?"inline-flex flex-col items-center gap-[60px] pb-[60px] max-[800px]:gap-8 max-[800px]:pb-8":"inline-flex items-center gap-[60px] pr-[60px] max-[800px]:gap-8 max-[800px]:pr-8",L=s?"inline-flex flex-col items-center gap-[60px] max-[800px]:gap-8":"inline-flex items-center gap-[60px] max-[800px]:gap-8",r=A=>a("span",{className:E,children:i.map((e,C)=>{const O=typeof e=="string"?e:e.text,S=typeof e=="object"&&e.gold;return c("span",{className:L,children:[a("span",{className:S?"text-accent":void 0,children:U(O)}),_]},C)})},A);return a("div",{className:`overflow-hidden ${h??""}`,children:c("div",{className:`flex ${s?"flex-col ":""}whitespace-nowrap ${I(t)} ${$[g]}`,style:{animation:v(n,m,d)},children:[r("a"),r("b")]})})}export{K as default};
@@ -1,18 +1,19 @@
1
1
  import type { TickerSeparator, TickerSize } from "../../format/lib/sections/ticker-style.js";
2
- import type { TickerScroll } from "../../format/lib/sections/ticker-scroll.js";
2
+ import type { LoopDirection } from "../../format/lib/animation/index.js";
3
3
  export type TickerSectionItem = {
4
4
  text?: string;
5
5
  };
6
6
  interface Props {
7
7
  items?: TickerSectionItem[];
8
- durationSec?: number;
8
+ seconds?: number;
9
+ delay?: number;
9
10
  tone?: "scrim" | "plain";
10
11
  borders?: boolean;
11
12
  size?: TickerSize;
12
13
  separator?: TickerSeparator;
13
- scroll?: TickerScroll;
14
+ scroll?: LoopDirection;
14
15
  join?: string;
15
16
  editing?: boolean;
16
17
  }
17
- export default function TickerSection({ items, durationSec, tone, borders, size, separator, scroll, join, editing, }: Props): import("react").JSX.Element | null;
18
+ export default function TickerSection({ items, seconds, delay, tone, borders, size, separator, scroll, join, editing, }: Props): import("react").JSX.Element | null;
18
19
  export {};
@@ -1 +1 @@
1
- "use client";import{jsx as r}from"react/jsx-runtime";import b from"./Ticker.js";import{TICKER_JOIN_BOX_CLASS as x,tickerJoinSide as h,tickerJoinStripClass as S}from"../../format/lib/sections/ticker-join.js";import{say as k}from"../../format/lib/editor-words.js";const v=()=>k("item");function y({items:s,durationSec:l=50,tone:a="scrim",borders:c=!0,size:d,separator:m,scroll:p,join:f,editing:u}){const t=(s??[]).map(n=>n?.text?.trim()?n.text:u?v():"").filter(Boolean);if(t.length===0)return null;const i=a!=="plain",e=h(f),o=r("div",{className:[e?`absolute inset-x-0 ${S(e)}`:"relative z-[2]","py-3.5 max-[800px]:py-3",i?"bg-bg":"",c?"border-y border-line":""].filter(Boolean).join(" "),children:r(b,{items:t,durationSec:l,size:d,separator:m,scroll:p,backdrop:i?"themed-band":"themed-section"})});return e?r("div",{className:x,children:o}):o}export{y as default};
1
+ "use client";import{jsx as r}from"react/jsx-runtime";import x from"./Ticker.js";import{TICKER_JOIN_BOX_CLASS as h,tickerJoinSide as k,tickerJoinStripClass as y}from"../../format/lib/sections/ticker-join.js";import{say as S}from"../../format/lib/editor-words.js";const v=()=>S("item");function _({items:s,seconds:l,delay:a,tone:c="scrim",borders:d=!0,size:m,separator:p,scroll:f,join:u,editing:b}){const t=(s??[]).map(n=>n?.text?.trim()?n.text:b?v():"").filter(Boolean);if(t.length===0)return null;const i=c!=="plain",e=k(u),o=r("div",{className:[e?`absolute inset-x-0 ${y(e)}`:"relative z-[2]","py-3.5 max-[800px]:py-3",i?"bg-bg":"",d?"border-y border-line":""].filter(Boolean).join(" "),children:r(x,{items:t,seconds:l,delay:a,size:m,separator:p,scroll:f,backdrop:i?"themed-band":"themed-section"})});return e?r("div",{className:h,children:o}):o}export{_ as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as N,jsxs as n}from"react/jsx-runtime";import{SiteLink as j}from"../lib/site-runtime.js";import{stripMarkup as _}from"../../format/lib/markup.js";import E from"./Placeholder.js";import U from"./SectionEyebrow.js";import{renderGold as m,renderHeadline as w,splitParagraphs as C}from"./goldPhrases.js";const i={bodyUpTo800:"max-[800px]:text-[length:var(--size-body,16px)]",headingSmallUpTo800:"max-[800px]:text-[length:var(--size-headingSmall,20px)]",bodySmall:"text-[length:var(--size-body,14px)]",bodyLarge:"text-[length:var(--size-body,17px)]",headingSmall:"text-[length:var(--size-headingSmall,24px)]",labelSmall:"text-[length:var(--size-label,11px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function y({eyebrow:a,title:t,intro:r,center:s=!1}){return n(N,{children:[a&&e(U,{text:a,size:12}),t&&e("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,76px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.94] tracking-[-0.03em] text-fg",children:w(t)}),r&&e("p",{className:[`font-display ${i.bodySmall} leading-[1.6] text-fg-dim`,s?"max-w-[520px]":"max-w-[360px]"].join(" "),children:m(r,!0)})]})}function z({cta:a,className:t=""}){return a?.text?n(j,{href:a.href,className:["group inline-flex items-center gap-3.5 border border-line px-5 py-4",`font-mono ${i.labelLarge} uppercase tracking-[0.3em] text-fg`,"transition-colors hover:border-accent hover:text-accent",t].join(" "),children:[m(a.text),e("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]}):null}function k({src:a,caption:t,meta:r,aspectClass:s,editing:x,sizes:c="100vw",className:o=""}){return!a&&!x?null:n("figure",{className:["relative overflow-hidden border border-line bg-surface",s,o].join(" "),children:[e(E,{label:t||"Image",src:a,alt:_(t??""),sizes:c}),e("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:{background:"linear-gradient(180deg, transparent 55%, rgba(10,10,10,0.75) 100%)"}}),(t||r)&&n("figcaption",{className:`absolute inset-x-0 bottom-0 z-[1] flex items-center justify-between gap-3 px-4 py-3 font-mono ${i.labelSmall} uppercase tracking-[0.24em] text-overlay-fg/85`,children:[e("span",{children:t?m(t):""}),r&&e("span",{className:"text-accent",children:m(r)})]})]})}function g({entry:a}){const t=C(a.body??"");return n(N,{children:[a.title&&e("h3",{className:`mb-3.5 font-heading3 ${i.headingSmall} font-medium uppercase tracking-[-0.02em] text-fg ${i.headingSmallUpTo800}`,children:w(a.title)}),t.length>0&&e("div",{className:`space-y-3.5 font-display ${i.bodyLarge} leading-[1.6] ${i.bodyUpTo800}`,children:t.map((r,s)=>e("p",{className:s===0?"text-fg":"text-fg-dim",children:m(r,!0)},s))})]})}const S={boxShadow:"0 0 0 4px var(--bg)"};function F({layout:a="split",eyebrow:t,title:r,intro:s,imageSrc:x,imageCaption:c,imageMeta:o,cta:h,entries:L,padTop:f,padBottom:b,editing:u}={}){const T=typeof f=="number"?f:120,$=typeof b=="number"?b:120,d=(L??[]).filter(l=>(l.date??"").trim()||(l.title??"").trim()||(l.body??"").trim());return e("section",{className:"relative z-[2] bg-bg",children:e("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:{paddingTop:T,paddingBottom:$},children:a==="split"?n("div",{className:"grid grid-cols-[1fr_1.4fr] gap-20 max-[1100px]:grid-cols-1 max-[1100px]:gap-12",children:[n("aside",{className:"sticky top-[120px] flex flex-col gap-6 self-start max-[1100px]:static",children:[e(y,{eyebrow:t,title:r,intro:s}),e(k,{src:x,caption:c,meta:o,aspectClass:"mt-1 aspect-[4/5]",sizes:"(max-width: 1100px) 100vw, 420px",editing:u}),e(z,{cta:h,className:"mt-2 self-start"})]}),e("ol",{className:"flex flex-col gap-12",children:d.map((l,p)=>n("li",{className:"grid grid-cols-[80px_1fr] items-start gap-6 max-[700px]:grid-cols-1 max-[700px]:gap-2",children:[e("span",{className:`pt-1.5 font-mono ${i.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:"max-w-[640px]",children:e(g,{entry:l})})]},p))})]}):n("div",{children:[n("header",{className:"mx-auto flex max-w-[760px] flex-col items-center gap-6 text-center",children:[e(y,{eyebrow:t,title:r,intro:s,center:!0}),e(z,{cta:h})]}),e(k,{src:x,caption:c,meta:o,aspectClass:"mx-auto mt-12 aspect-[16/9] w-full max-w-[900px]",sizes:"(max-width: 900px) 100vw, 900px",editing:u}),a==="spine"?e("ol",{className:"relative mx-auto mt-16 max-w-[760px]",children:d.map((l,p)=>n("li",{className:"relative border-l border-line pb-12 pl-10 last:pb-0 max-[700px]:pl-8",children:[e("span",{className:"absolute left-[-5px] top-1.5 h-2.5 w-2.5 rounded-full bg-accent",style:S}),e("div",{className:`mb-2 font-mono ${i.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:"max-w-[640px]",children:e(g,{entry:l})})]},p))}):n("ol",{className:"relative mx-auto mt-16 max-w-[1000px]",children:[e("span",{"aria-hidden":!0,className:"pointer-events-none absolute top-0 h-full w-px bg-line left-[7px] min-[801px]:left-1/2 min-[801px]:-translate-x-1/2"}),d.map((l,p)=>{const v=p%2===0;return n("li",{className:"relative mb-14 pl-8 last:mb-0 min-[801px]:grid min-[801px]:grid-cols-2 min-[801px]:gap-16 min-[801px]:pl-0",children:[e("span",{className:"absolute top-1.5 h-2.5 w-2.5 rounded-full bg-accent left-[2px] min-[801px]:left-1/2 min-[801px]:-translate-x-1/2",style:S}),n("div",{className:v?"min-[801px]:col-start-1 min-[801px]:pr-8 min-[801px]:text-right":"min-[801px]:col-start-2 min-[801px]:pl-8",children:[e("div",{className:`mb-2 font-mono ${i.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:["max-w-[520px] max-[800px]:max-w-none",v?"min-[801px]:ml-auto":""].join(" "),children:e(g,{entry:l})})]})]},p)})]})]})})})}export{F as default};
1
+ import{jsx as e,Fragment as N,jsxs as i}from"react/jsx-runtime";import{SiteLink as j}from"../lib/site-runtime.js";import{stripMarkup as T}from"../../format/lib/markup.js";import _ from"./Placeholder.js";import C from"./SectionEyebrow.js";import{renderGold as m,renderHeadline as w,splitParagraphs as E}from"./goldPhrases.js";import{CentreRailDot as I,CentreRailLine as U,railSideIsLeft as F,SPINE_LINE_CLASS as P,SpineDot as D}from"./TimelineRail.js";import{scrim as H}from"../../format/lib/content/scrim.js";const n={bodyUpTo800:"max-[800px]:text-[length:var(--size-body,16px)]",headingSmallUpTo800:"max-[800px]:text-[length:var(--size-headingSmall,20px)]",bodySmall:"text-[length:var(--size-body,14px)]",bodyLarge:"text-[length:var(--size-body,17px)]",headingSmall:"text-[length:var(--size-headingSmall,24px)]",labelSmall:"text-[length:var(--size-label,11px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function y({eyebrow:a,title:t,intro:r,center:s=!1}){return i(N,{children:[a&&e(C,{text:a,size:12}),t&&e("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,76px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.94] tracking-[-0.03em] text-fg",children:w(t)}),r&&e("p",{className:[`font-display ${n.bodySmall} leading-[1.6] text-fg-dim`,s?"max-w-[520px]":"max-w-[360px]"].join(" "),children:m(r,!0)})]})}function S({cta:a,className:t=""}){return a?.text?i(j,{href:a.href,className:["group inline-flex items-center gap-3.5 border border-line px-5 py-4",`font-mono ${n.labelLarge} uppercase tracking-[0.3em] text-fg`,"transition-colors hover:border-accent hover:text-accent",t].join(" "),children:[m(a.text),e("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]}):null}function z({src:a,caption:t,meta:r,aspectClass:s,editing:x,sizes:c="100vw",className:o=""}){return!a&&!x?null:i("figure",{className:["relative overflow-hidden border border-line bg-surface",s,o].join(" "),children:[e(_,{label:t||"Image",src:a,alt:T(t??""),sizes:c}),e("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:{background:`linear-gradient(180deg, transparent 55%, ${H(.75)} 100%)`}}),(t||r)&&i("figcaption",{className:`absolute inset-x-0 bottom-0 z-[1] flex items-center justify-between gap-3 px-4 py-3 font-mono ${n.labelSmall} uppercase tracking-[0.24em] text-overlay-fg/85`,children:[e("span",{children:t?m(t):""}),r&&e("span",{className:"text-accent",children:m(r)})]})]})}function g({entry:a}){const t=E(a.body??"");return i(N,{children:[a.title&&e("h3",{className:`mb-3.5 font-heading3 ${n.headingSmall} font-medium uppercase tracking-[-0.02em] text-fg ${n.headingSmallUpTo800}`,children:w(a.title)}),t.length>0&&e("div",{className:`space-y-3.5 font-display ${n.bodyLarge} leading-[1.6] ${n.bodyUpTo800}`,children:t.map((r,s)=>e("p",{className:s===0?"text-fg":"text-fg-dim",children:m(r,!0)},s))})]})}function R({layout:a="split",eyebrow:t,title:r,intro:s,imageSrc:x,imageCaption:c,imageMeta:o,cta:h,entries:k,padTop:f,padBottom:u,editing:b}={}){const L=typeof f=="number"?f:120,$=typeof u=="number"?u:120,d=(k??[]).filter(l=>(l.date??"").trim()||(l.title??"").trim()||(l.body??"").trim());return e("section",{className:"relative z-[2] bg-bg",children:e("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:{paddingTop:L,paddingBottom:$},children:a==="split"?i("div",{className:"grid grid-cols-[1fr_1.4fr] gap-20 max-[1100px]:grid-cols-1 max-[1100px]:gap-12",children:[i("aside",{className:"sticky top-[120px] flex flex-col gap-6 self-start max-[1100px]:static",children:[e(y,{eyebrow:t,title:r,intro:s}),e(z,{src:x,caption:c,meta:o,aspectClass:"mt-1 aspect-[4/5]",sizes:"(max-width: 1100px) 100vw, 420px",editing:b}),e(S,{cta:h,className:"mt-2 self-start"})]}),e("ol",{className:"flex flex-col gap-12",children:d.map((l,p)=>i("li",{className:"grid grid-cols-[80px_1fr] items-start gap-6 max-[700px]:grid-cols-1 max-[700px]:gap-2",children:[e("span",{className:`pt-1.5 font-mono ${n.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:"max-w-[640px]",children:e(g,{entry:l})})]},p))})]}):i("div",{children:[i("header",{className:"mx-auto flex max-w-[760px] flex-col items-center gap-6 text-center",children:[e(y,{eyebrow:t,title:r,intro:s,center:!0}),e(S,{cta:h})]}),e(z,{src:x,caption:c,meta:o,aspectClass:"mx-auto mt-12 aspect-[16/9] w-full max-w-[900px]",sizes:"(max-width: 900px) 100vw, 900px",editing:b}),a==="spine"?e("ol",{className:"relative mx-auto mt-16 max-w-[760px]",children:d.map((l,p)=>i("li",{className:`relative ${P} pb-12 pl-10 last:pb-0 max-[700px]:pl-8`,children:[e(D,{}),e("div",{className:`mb-2 font-mono ${n.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:"max-w-[640px]",children:e(g,{entry:l})})]},p))}):i("ol",{className:"relative mx-auto mt-16 max-w-[1000px]",children:[e(U,{}),d.map((l,p)=>{const v=F(p);return i("li",{className:"relative mb-14 pl-8 last:mb-0 min-[801px]:grid min-[801px]:grid-cols-2 min-[801px]:gap-16 min-[801px]:pl-0",children:[e(I,{}),i("div",{className:v?"min-[801px]:col-start-1 min-[801px]:pr-8 min-[801px]:text-right":"min-[801px]:col-start-2 min-[801px]:pl-8",children:[e("div",{className:`mb-2 font-mono ${n.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:["max-w-[520px] max-[800px]:max-w-none",v?"min-[801px]:ml-auto":""].join(" "),children:e(g,{entry:l})})]})]},p)})]})]})})})}export{R as default};
@@ -0,0 +1,55 @@
1
+ import { type ReactNode } from "react";
2
+ declare const TIERS: {
3
+ readonly section: {
4
+ readonly hideStacked: "max-[1100px]:hidden";
5
+ readonly stackedPast: "max-[1100px]:border-accent border-line";
6
+ readonly firstOnDesktop: "min-[1101px]:border-l-0";
7
+ readonly dotAt: (first: boolean) => string;
8
+ };
9
+ readonly row: {
10
+ readonly hideStacked: "max-[800px]:hidden";
11
+ readonly stackedPast: "max-[800px]:border-accent border-line";
12
+ readonly firstOnDesktop: "";
13
+ readonly dotAt: () => string;
14
+ };
15
+ readonly stack: {
16
+ readonly hideStacked: "hidden";
17
+ readonly stackedPast: "border-accent";
18
+ readonly firstOnDesktop: "";
19
+ readonly dotAt: () => string;
20
+ };
21
+ };
22
+ type RailTier = keyof typeof TIERS;
23
+ export interface RailStop {
24
+ future?: boolean;
25
+ }
26
+ export declare function railPastShare(stops: readonly RailStop[]): number;
27
+ export declare function TrackRailLine({ pct, tier }: {
28
+ pct?: number;
29
+ tier?: RailTier;
30
+ }): import("react").JSX.Element;
31
+ export declare function trackStopRailClass(future: boolean, first: boolean, tier?: RailTier): string;
32
+ export declare function TrackRailDot({ future, first, tier }: {
33
+ future: boolean;
34
+ first: boolean;
35
+ tier?: RailTier;
36
+ }): import("react").JSX.Element;
37
+ export declare function railYearInkClass(future: boolean): string;
38
+ export declare const SPINE_LINE_CLASS = "border-l border-line";
39
+ export declare function SpineDot(): import("react").JSX.Element;
40
+ export declare function CentreRailLine(): import("react").JSX.Element;
41
+ export declare function CentreRailDot(): import("react").JSX.Element;
42
+ export declare function railSideIsLeft(index: number): boolean;
43
+ export declare function useTimelineRail(): "row" | "stack" | null;
44
+ export declare const RAIL_STOPS_CLASS = "tl-stops";
45
+ export declare function BoxRail({ row, stops, children }: {
46
+ row: boolean;
47
+ stops: number;
48
+ children: ReactNode;
49
+ }): import("react").JSX.Element;
50
+ export declare function BoxRailStop({ on, future, children }: {
51
+ on: "row" | "stack";
52
+ future: boolean;
53
+ children: ReactNode;
54
+ }): import("react").JSX.Element;
55
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as o,Fragment as b,jsxs as a}from"react/jsx-runtime";import{createContext as S,useContext as $}from"react";const i={section:{hideStacked:"max-[1100px]:hidden",stackedPast:"max-[1100px]:border-accent border-line",firstOnDesktop:"min-[1101px]:border-l-0",dotAt:t=>`${t?"-top-[66px] left-[-1px]":"-top-[66px] left-[-5px]"} max-[1100px]:left-[-5px] max-[1100px]:top-7`},row:{hideStacked:"max-[800px]:hidden",stackedPast:"max-[800px]:border-accent border-line",firstOnDesktop:"",dotAt:()=>"-top-[66px] left-[-5px] max-[800px]:left-[-5px] max-[800px]:top-7"},stack:{hideStacked:"hidden",stackedPast:"border-accent",firstOnDesktop:"",dotAt:()=>"left-[-5px] top-7"}};function w(t){const e=t.filter(n=>!n.future).length;return t.length?e/t.length*100:0}function v({pct:t,tier:e="section"}){return o("div",{className:`pointer-events-none absolute inset-x-0 top-0 h-px bg-line ${i[e].hideStacked}`,children:t===void 0?null:o("div",{className:p,style:{width:`${t}%`}})})}const p="absolute -top-px left-0 h-[3px] bg-gradient-to-r from-accent to-transparent";function T(t,e,n="section"){const r=i[n];return["border-l",t?"border-line":r.stackedPast,e?r.firstOnDesktop:""].join(" ")}function g({future:t,first:e,tier:n="section"}){return o("span",{...n==="section"?{}:{[h]:""},className:[n==="section"?"pointer-events-none absolute h-2.5 w-2.5 rounded-full border-2 border-bg":"pointer-events-none absolute z-[1] h-2.5 w-2.5 rounded-full border-2 border-[color:var(--theme-bg,var(--bg))]",t?"border-line bg-surface-2":"bg-accent",i[n].dotAt(e)].join(" ")})}function L(t){return t?"text-fg-dim":"text-accent"}const x={boxShadow:"0 0 0 4px var(--bg)"},N="border-l border-line";function O(){return o("span",{className:"absolute left-[-5px] top-1.5 h-2.5 w-2.5 rounded-full bg-accent",style:x})}function P(){return o("span",{"aria-hidden":!0,className:"pointer-events-none absolute top-0 h-full w-px bg-line left-[7px] min-[801px]:left-1/2 min-[801px]:-translate-x-1/2"})}function C(){return o("span",{className:"absolute top-1.5 h-2.5 w-2.5 rounded-full bg-accent left-[2px] min-[801px]:left-1/2 min-[801px]:-translate-x-1/2",style:x})}function D(t){return t%2===0}const s="data-tl-rail",u="data-tl-stop",f="data-tl-future",h="data-tl-dot",m="data-tl-gold",k=24,c=S(null);function y(){return $(c)}function R(){const t=`[${u}]`,e=`${t}:not([${f}])`,n=`:nth-last-child(1 of ${e}, :has(${e}))`,r=[];for(let l=1;l<=k;l++)r.push(`[${s}] .tl-stops>:nth-child(${l})${n} [${m}]{display:block;width:calc(${l} * 100% / var(--cols))}`);const d=`[${s}] .tl-stops>:first-child:is(${t}),[${s}] .tl-stops>:first-child ${t}`;return`@media (min-width:801px){${r.join("")}${d}{border-left-width:0}:is(${d}) [${h}]{left:-1px}}`}const I="tl-stops";function j({row:t,stops:e,children:n}){return a("div",{[s]:"",className:t?"relative border-t border-line max-[800px]:border-t-0":"relative",style:{"--cols":e},children:[t?a(b,{children:[o("style",{children:R()}),o(v,{tier:"row"})]}):null,o("div",{className:t?"pt-[60px] max-[800px]:pt-0":void 0,children:o(c.Provider,{value:t?"row":"stack",children:n})})]})}function E({on:t,future:e,children:n}){const r=t;return a("div",{[u]:"",...e?{[f]:""}:{},className:`h-full ${T(e,!1,r)} ${t==="row"?"max-[800px]:ml-1.5":"ml-1.5"}`,children:[t==="row"&&!e?o("span",{[m]:"",className:`pointer-events-none hidden ${p}`}):null,a("div",{className:t==="row"?"relative h-full max-[800px]:py-6 max-[800px]:pl-7":"relative h-full py-6 pl-7",children:[o(g,{future:e,first:!1,tier:r}),o(c.Provider,{value:null,children:n})]})]})}export{j as BoxRail,E as BoxRailStop,C as CentreRailDot,P as CentreRailLine,I as RAIL_STOPS_CLASS,N as SPINE_LINE_CLASS,O as SpineDot,g as TrackRailDot,v as TrackRailLine,w as railPastShare,D as railSideIsLeft,L as railYearInkClass,T as trackStopRailClass,y as useTimelineRail};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as a}from"react/jsx-runtime";import{SiteLink as S}from"../lib/site-runtime.js";import T from"./EditorialSectionHead.js";import f from"./PartStyledText.js";import{withRMark as o}from"./RMark.js";import{renderGold as b,renderHeadline as $}from"./goldPhrases.js";const n={body:"text-[length:var(--size-body,13px)]",headingSmall:"text-[length:var(--size-headingSmall,20px)]",label:"text-[length:var(--size-label,13px)]"};function z({eyebrow:g,title:p,intro:s,entries:u,cta:l,padTop:x,padBottom:d,background:h,editing:v,omitHead:m=!1}={}){const N=typeof x=="number"?x:120,y=typeof d=="number"?d:120,c=h??"var(--section-bg)",j=c!=="transparent",r=(u??[]).filter(e=>(e.date??"").trim()||(e.title??"").trim()||(e.blurb??"").trim());if(r.length===0&&!v)return null;const k=r.filter(e=>!e.future).length,w=r.length?k/r.length*100:0;return t("section",{className:"relative z-[2]",children:t("div",{className:"border-b border-line",style:{paddingTop:N,paddingBottom:y,...j?{backgroundColor:c}:{}},children:a("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",children:[m?null:t(T,{num:g,title:p?$(p):void 0,desc:s?b(s,!0):void 0,spaceBelow:"",className:"text-fg"}),a("div",{className:m?"relative mt-0 grid grid-cols-[repeat(var(--cols),minmax(0,1fr))] gap-0 border-t border-line pt-[60px] max-[1100px]:mt-0 max-[1100px]:grid-cols-1 max-[1100px]:gap-0 max-[1100px]:border-t-0 max-[1100px]:pt-0":"relative mt-[60px] grid grid-cols-[repeat(var(--cols),minmax(0,1fr))] gap-0 border-t border-line pt-[60px] max-[1100px]:mt-9 max-[1100px]:grid-cols-1 max-[1100px]:gap-0 max-[1100px]:border-t-0 max-[1100px]:pt-0",style:{"--cols":r.length},children:[t("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-px bg-line max-[1100px]:hidden",children:t("div",{className:"absolute -top-px left-0 h-[3px] bg-gradient-to-r from-accent to-transparent",style:{width:`${w}%`}})}),r.map((e,i)=>a("div",{className:["relative flex min-h-[280px] flex-col gap-3.5 px-3.5","border-l",e.future?"border-line":"max-[1100px]:border-accent border-line",i===0?"min-[1101px]:border-l-0":"","max-[1100px]:min-h-0 max-[1100px]:border-t-0 max-[1100px]:py-6 max-[1100px]:pl-7 max-[1100px]:ml-1.5"].join(" "),children:[t("span",{className:["pointer-events-none absolute h-2.5 w-2.5 rounded-full border-2 border-bg",e.future?"border-line bg-surface-2":"bg-accent",i===0?"-top-[66px] left-[-1px]":"-top-[66px] left-[-5px]","max-[1100px]:left-[-5px] max-[1100px]:top-7"].join(" ")}),t("span",{className:[`font-mono ${n.label} tracking-[0.22em]`,e.future?"text-fg-dim":"text-accent"].join(" "),children:e.date?t(f,{value:e.date,children:o(e.date)}):""}),e.title&&t("h3",{className:`whitespace-pre-line font-heading3 ${n.headingSmall} font-medium uppercase leading-[1.1] tracking-[-0.02em] text-fg`,children:t(f,{value:e.title,children:o(e.title)})}),e.blurb&&t("p",{className:`mt-auto font-display ${n.body} leading-[1.55] text-fg-dim`,children:b(e.blurb,!0)})]},i))]}),l?.text&&t("div",{className:"mt-12 flex justify-end border-t border-line pt-8",children:a(S,{href:l.href,className:`group inline-flex items-center gap-3.5 border border-line px-6 py-4 font-mono ${n.label} uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent`,children:[o(l.text),t("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]})})]})})})}export{z as default};
1
+ import{jsx as r,jsxs as t}from"react/jsx-runtime";import{SiteLink as j}from"../lib/site-runtime.js";import T from"./EditorialSectionHead.js";import f from"./PartStyledText.js";import{withRMark as o}from"./RMark.js";import{renderGold as g,renderHeadline as w}from"./goldPhrases.js";import{railPastShare as B,railYearInkClass as z,TrackRailDot as R,TrackRailLine as $,trackStopRailClass as C}from"./TimelineRail.js";const i={body:"text-[length:var(--size-body,13px)]",headingSmall:"text-[length:var(--size-headingSmall,20px)]",label:"text-[length:var(--size-label,13px)]"};function E({eyebrow:u,title:s,intro:p,entries:h,cta:l,padTop:m,padBottom:x,background:b,editing:v,omitHead:d=!1}={}){const k=typeof m=="number"?m:120,y=typeof x=="number"?x:120,c=b??"var(--section-bg)",N=c!=="transparent",a=(h??[]).filter(e=>(e.date??"").trim()||(e.title??"").trim()||(e.blurb??"").trim());if(a.length===0&&!v)return null;const S=B(a);return r("section",{className:"relative z-[2]",children:r("div",{className:"border-b border-line",style:{paddingTop:k,paddingBottom:y,...N?{backgroundColor:c}:{}},children:t("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",children:[d?null:r(T,{num:u,title:s?w(s):void 0,desc:p?g(p,!0):void 0,spaceBelow:"",className:"text-fg"}),t("div",{className:d?"relative mt-0 grid grid-cols-[repeat(var(--cols),minmax(0,1fr))] gap-0 border-t border-line pt-[60px] max-[1100px]:mt-0 max-[1100px]:grid-cols-1 max-[1100px]:gap-0 max-[1100px]:border-t-0 max-[1100px]:pt-0":"relative mt-[60px] grid grid-cols-[repeat(var(--cols),minmax(0,1fr))] gap-0 border-t border-line pt-[60px] max-[1100px]:mt-9 max-[1100px]:grid-cols-1 max-[1100px]:gap-0 max-[1100px]:border-t-0 max-[1100px]:pt-0",style:{"--cols":a.length},children:[r($,{pct:S}),a.map((e,n)=>t("div",{className:["relative flex min-h-[280px] flex-col gap-3.5 px-3.5",C(!!e.future,n===0),"max-[1100px]:min-h-0 max-[1100px]:border-t-0 max-[1100px]:py-6 max-[1100px]:pl-7 max-[1100px]:ml-1.5"].join(" "),children:[r(R,{future:!!e.future,first:n===0}),r("span",{className:[`font-mono ${i.label} tracking-[0.22em]`,z(!!e.future)].join(" "),children:e.date?r(f,{value:e.date,children:o(e.date)}):""}),e.title&&r("h3",{className:`whitespace-pre-line font-heading3 ${i.headingSmall} font-medium uppercase leading-[1.1] tracking-[-0.02em] text-fg`,children:r(f,{value:e.title,children:o(e.title)})}),e.blurb&&r("p",{className:`mt-auto font-display ${i.body} leading-[1.55] text-fg-dim`,children:g(e.blurb,!0)})]},n))]}),l?.text&&r("div",{className:"mt-12 flex justify-end border-t border-line pt-8",children:t(j,{href:l.href,className:`group inline-flex items-center gap-3.5 border border-line px-6 py-4 font-mono ${i.label} uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent`,children:[o(l.text),r("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]})})]})})})}export{E as default};