@tokenoftrust/storefront-runner 2.4.87 → 2.4.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/storefront/astro.config.mjs +1 -1
- package/apps/storefront/dev-plugins/tenant-hot-reload.mjs +1 -1
- package/apps/storefront/env.d.ts +1 -1
- package/apps/storefront/perf/README.md +7 -7
- package/apps/storefront/perf/assert-budgets.ts +2 -2
- package/apps/storefront/public/shared/commerce-chrome.css +1 -1
- package/apps/storefront/public/shared/commerce-marketing.css +1 -1
- package/apps/storefront/src/components/catalog/storefront/CollectionCard.astro +1 -1
- package/apps/storefront/src/components/catalog/storefront/ProductCard.astro +4 -4
- package/apps/storefront/src/components/catalog/storefront/commerce/BrandGrid.astro +1 -1
- package/apps/storefront/src/components/catalog/storefront/commerce/PriceDisplay.astro +2 -2
- package/apps/storefront/src/components/catalog/storefront/commerce/ProductCarousel.astro +2 -2
- package/apps/storefront/src/components/catalog/storefront/commerce/ProductGrid.astro +3 -3
- package/apps/storefront/src/components/catalog/storefront/commerce/ReviewList.astro +1 -1
- package/apps/storefront/src/components/catalog/storefront/islands/ImageGallery.tsx +1 -1
- package/apps/storefront/src/components/catalog/storefront/islands/QuickView.tsx +2 -2
- package/apps/storefront/src/components/catalog/storefront/islands/RecentlyViewed.tsx +2 -2
- package/apps/storefront/src/components/catalog/storefront/islands/SearchTypeahead.tsx +2 -2
- package/apps/storefront/src/components/catalog/storefront/islands/VariantSelector.tsx +1 -1
- package/apps/storefront/src/components/compliance/storefront/islands/AgeGate.tsx +2 -2
- package/apps/storefront/src/components/compliance/storefront/islands/IsolatedAgeGate.tsx +1 -1
- package/apps/storefront/src/components/{AsyncStylesheet.astro → content/storefront/AsyncStylesheet.astro} +2 -2
- package/apps/storefront/src/components/{Breadcrumbs.astro → content/storefront/Breadcrumbs.astro} +3 -3
- package/apps/storefront/src/components/{Seo.astro → content/storefront/Seo.astro} +5 -5
- package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogIndexView.astro +6 -6
- package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogPaywall.astro +2 -2
- package/apps/storefront/src/components/{blog → content/storefront/blog}/BlogPostArticle.astro +7 -7
- package/apps/storefront/src/components/{blog → content/storefront/blog}/PostAccessBadge.astro +1 -1
- package/apps/storefront/src/components/{blog → content/storefront/blog}/PostGrid.astro +3 -3
- package/apps/storefront/src/components/{blog → content/storefront/blog}/ReactionBar.astro +1 -1
- package/apps/storefront/src/components/{blog → content/storefront/blog}/ShareRow.astro +1 -1
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/MegaMenu.astro +3 -3
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/NavDropdown.astro +2 -2
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/SiteFooter.astro +5 -5
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/SiteHeader.astro +8 -8
- package/apps/storefront/src/components/{chrome → content/storefront/chrome}/UtilityNav.astro +2 -2
- package/apps/storefront/src/components/content/{Callout.astro → storefront/content/Callout.astro} +1 -1
- package/apps/storefront/src/components/content/{PromoTiles.astro → storefront/content/PromoTiles.astro} +3 -3
- package/apps/storefront/src/components/content/{ProseSections.astro → storefront/content/ProseSections.astro} +3 -3
- package/apps/storefront/src/components/{home → content/storefront/home}/Hero.astro +4 -4
- package/apps/storefront/src/components/{islands → content/storefront/islands}/MobileNav.tsx +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CardGrid.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CodeSample.astro +1 -1
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/CtaBand.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Faq.astro +5 -5
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Integrations.astro +3 -3
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingBlocks.astro +11 -11
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingCtas.astro +1 -1
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/MarketingHero.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/ProofStrip.astro +1 -1
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/SplitCompare.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Steps.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/Testimonials.astro +2 -2
- package/apps/storefront/src/components/{marketing → content/storefront/marketing}/TrustBar.astro +1 -1
- package/apps/storefront/src/components/{style-guide → content/storefront/style-guide}/StyleGuideNav.astro +1 -1
- package/apps/storefront/src/components/{the-build → content/storefront/the-build}/TheBuildIndexView.astro +5 -5
- package/apps/storefront/src/components/customers/storefront/islands/SavedList.tsx +2 -2
- package/apps/storefront/src/config/adminTargetTenant.ts +1 -1
- package/apps/storefront/src/config/devTenants.ts +1 -1
- package/apps/storefront/src/config/resolver.ts +1 -1
- package/apps/storefront/src/layouts/Layout.astro +28 -28
- package/apps/storefront/src/lib/{admin → access/admin}/README.md +3 -3
- package/apps/storefront/src/lib/{admin → access/admin}/adminShell.ts +1 -1
- package/apps/storefront/src/lib/{admin → access/admin}/envelope.ts +2 -2
- package/apps/storefront/src/lib/{admin → access/admin}/viewmodels/settings.ts +2 -2
- package/apps/storefront/src/lib/{auth → access/auth}/adminApiGuard.ts +2 -2
- package/apps/storefront/src/lib/{auth → access/auth}/adminEntry.ts +2 -2
- package/apps/storefront/src/lib/{auth → access/auth}/adminLanding.ts +1 -1
- package/apps/storefront/src/lib/{auth → access/auth}/identityToken.ts +1 -1
- package/apps/storefront/src/lib/{auth → access/auth}/loginGate.ts +2 -2
- package/apps/storefront/src/lib/{auth → access/auth}/totAccessClient.ts +4 -4
- package/apps/storefront/src/lib/{dashboard → access/dashboard}/delegateGate.ts +2 -2
- package/apps/storefront/src/lib/{dashboard → access/dashboard}/staffAdmission.ts +1 -1
- package/apps/storefront/src/lib/{dashboard → access/dashboard}/tenantSelection.ts +1 -1
- package/apps/storefront/src/lib/{admin/services/mock → access/fixtures}/settings.ts +4 -4
- package/apps/storefront/src/lib/{email → access/notifications}/magicLinkInviteEmail.ts +1 -1
- package/apps/storefront/src/lib/{shared → access/shared}/accessExplain.ts +1 -1
- package/apps/storefront/src/lib/{adminTenantEnvelope.ts → access/shared/adminTenantEnvelope.ts} +3 -3
- package/apps/storefront/src/lib/{shared → access/shared}/developerInvites.ts +4 -4
- package/apps/storefront/src/lib/{shared → access/shared}/invitePreflight.ts +1 -1
- package/apps/storefront/src/lib/{shared → access/shared}/principalGrants.ts +2 -2
- package/apps/storefront/src/lib/{shared → access/shared}/viewerGrant.ts +1 -1
- package/apps/storefront/src/lib/activity/fixtures/evidence.ts +2 -2
- package/apps/storefront/src/lib/activity/uiActor.ts +4 -4
- package/apps/storefront/src/lib/activity/workerCommit.ts +1 -1
- package/apps/storefront/src/lib/admin/services/mock/index.ts +4 -4
- package/apps/storefront/src/lib/assets/shared/imageAttrs.ts +1 -1
- package/apps/storefront/src/lib/{admin → automation/admin}/viewmodels/aiWorkflows.ts +3 -3
- package/apps/storefront/src/lib/{admin → automation}/ai/askEnvelope.ts +1 -1
- package/apps/storefront/src/lib/{admin → automation}/ai/operationalRuns.ts +4 -4
- package/apps/storefront/src/lib/{admin/services/mock → automation/fixtures}/aiWorkflows.ts +4 -4
- package/apps/storefront/src/lib/basePath.ts +2 -2
- package/apps/storefront/src/lib/catalog/fixtures/products.ts +4 -4
- package/apps/storefront/src/lib/catalog/shared/featuredProductsPresentation.ts +1 -1
- package/apps/storefront/src/lib/catalog/tot/tenantCatalog.ts +1 -1
- package/apps/storefront/src/lib/checkout/admin/checkoutStyleTarget.ts +2 -2
- package/apps/storefront/src/lib/checkout/fixtures/checkoutSettings.ts +1 -1
- package/apps/storefront/src/lib/compliance/browser/checkoutVerificationFlow.ts +1 -1
- package/apps/storefront/src/lib/compliance/verification/totVerificationClient.ts +1 -1
- package/apps/storefront/src/lib/{blog → content/blog}/access.ts +1 -1
- package/apps/storefront/src/lib/{blog → content/blog}/collection.ts +9 -9
- package/apps/storefront/src/lib/{blog → content/blog}/postView.ts +5 -5
- package/apps/storefront/src/lib/{blog → content/blog}/provider.ts +7 -7
- package/apps/storefront/src/lib/{chrome → content/chrome}/footerLegal.ts +2 -2
- package/apps/storefront/src/lib/{chrome → content/chrome}/trackingPlacements.ts +1 -1
- package/apps/storefront/src/lib/{seo → content/seo}/faqItems.ts +1 -1
- package/apps/storefront/src/lib/{seo → content/seo}/structuredData.ts +1 -1
- package/apps/storefront/src/lib/{breadcrumbs.ts → content/shared/breadcrumbs.ts} +1 -1
- package/apps/storefront/src/lib/{heroSlideshow.ts → content/shared/heroSlideshow.ts} +1 -1
- package/apps/storefront/src/lib/{homeVisualParity.ts → content/shared/homeVisualParity.ts} +1 -1
- package/apps/storefront/src/lib/{jsonld.ts → content/shared/jsonld.ts} +1 -1
- package/apps/storefront/src/lib/{rawChrome.ts → content/shared/rawChrome.ts} +12 -12
- package/apps/storefront/src/lib/{rawMarketingHtml.ts → content/shared/rawMarketingHtml.ts} +3 -3
- package/apps/storefront/src/lib/{styleGuideThemes.ts → content/shared/styleGuideThemes.ts} +3 -3
- package/apps/storefront/src/lib/{storyblok → content/storyblok}/content-model.ts +1 -1
- package/apps/storefront/src/lib/{storyblok → content/storyblok}/provider.ts +27 -27
- package/apps/storefront/src/lib/{the-build → content/the-build}/provider.ts +1 -1
- package/apps/storefront/src/lib/{the-build → content/the-build}/toc.ts +1 -1
- package/apps/storefront/src/lib/customers/fixtures/customers.ts +3 -3
- package/apps/storefront/src/lib/d1/schema-apps.ts +2 -2
- package/apps/storefront/src/lib/{admin → developer-experience/admin}/memoizeByEnvelope.ts +1 -1
- package/apps/storefront/src/lib/{dev → developer-experience/dev}/activityIngestToken.ts +2 -2
- package/apps/storefront/src/lib/{dev → developer-experience/dev}/cliSignInCode.ts +3 -3
- package/apps/storefront/src/lib/{dev → developer-experience/dev}/livePreview.ts +1 -1
- package/apps/storefront/src/lib/{dev → developer-experience/dev}/previewStatus.ts +2 -2
- package/apps/storefront/src/lib/{dev → developer-experience/dev}/rendezvousBroker.ts +2 -2
- package/apps/storefront/src/lib/{dev → developer-experience/dev}/subjectReissue.ts +2 -2
- package/apps/storefront/src/lib/email/candidateConflictEmail.ts +1 -1
- package/apps/storefront/src/lib/{messaging → engagement/messaging}/messagesClient.ts +1 -1
- package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/digest.ts +2 -2
- package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/resendClient.ts +1 -1
- package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/send.ts +2 -2
- package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/subscribers.ts +1 -1
- package/apps/storefront/src/lib/{social → engagement/social}/golive.ts +2 -2
- package/apps/storefront/src/lib/{social → engagement/social}/notify.ts +1 -1
- package/apps/storefront/src/lib/{social → engagement/social}/tokenStore.ts +3 -3
- package/apps/storefront/src/lib/fulfillment/fulfillmentService.ts +3 -3
- package/apps/storefront/src/lib/integrations/integration/browserEnvironment.ts +1 -1
- package/apps/storefront/src/lib/{apps → measurement/consent}/consentConfigRead.ts +1 -1
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/d1Control.ts +2 -2
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionCollector.ts +2 -2
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionStore.ts +0 -0
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/pruneRollup.ts +2 -2
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/publishSafetyNet.ts +1 -1
- package/apps/storefront/src/lib/{tracking → measurement/tracking}/tenantD1Registry.ts +2 -2
- package/apps/storefront/src/lib/{monitoring → observability/monitoring}/manifest.ts +2 -2
- package/apps/storefront/src/lib/{analytics → observability/performance}/budgets.json +1 -1
- package/apps/storefront/src/lib/orders/fixtures/orders.ts +4 -4
- package/apps/storefront/src/lib/previewReload.ts +1 -1
- package/apps/storefront/src/lib/publication/contentProvider.ts +7 -7
- package/apps/storefront/src/lib/publication/mountedDiscovery.ts +1 -1
- package/apps/storefront/src/lib/publication/rootDiscovery.ts +4 -4
- package/apps/storefront/src/lib/reporting/fixtures/reporting.ts +3 -3
- package/apps/storefront/src/lib/runtimeEnv.ts +1 -1
- package/apps/storefront/src/lib/subscriptions/fixtures/subscriptions.ts +3 -3
- package/apps/storefront/src/middleware/controlPlane.ts +7 -7
- package/apps/storefront/src/middleware/index.ts +11 -11
- package/apps/storefront/src/middleware/renderChain.ts +6 -6
- package/apps/storefront/src/pages/[...slug].astro +13 -13
- package/apps/storefront/src/pages/api/admin/activity-alerts.ts +1 -1
- package/apps/storefront/src/pages/api/admin/commerce-readiness.ts +1 -1
- package/apps/storefront/src/pages/api/admin/fulfillment/batches.ts +1 -1
- package/apps/storefront/src/pages/api/admin/fulfillment/orders/[id]/address.ts +1 -1
- package/apps/storefront/src/pages/api/admin/fulfillment/orders/[id].ts +1 -1
- package/apps/storefront/src/pages/api/admin/interaction-insights.ts +4 -4
- package/apps/storefront/src/pages/api/admin/orders/[id].ts +1 -1
- package/apps/storefront/src/pages/api/admin/orders.ts +1 -1
- package/apps/storefront/src/pages/api/auth/logout.ts +2 -2
- package/apps/storefront/src/pages/api/auth/magic-exchange.ts +6 -6
- package/apps/storefront/src/pages/api/auth/send.ts +2 -2
- package/apps/storefront/src/pages/api/auth/step-up-send.ts +1 -1
- package/apps/storefront/src/pages/api/auth/step-up-verify.ts +3 -3
- package/apps/storefront/src/pages/api/auth/verify.ts +4 -4
- package/apps/storefront/src/pages/api/blog/[collection]/[slug]/react.ts +2 -2
- package/apps/storefront/src/pages/api/newsletter/[collection]/subscribe.ts +4 -4
- package/apps/storefront/src/pages/api/newsletter/confirm.ts +1 -1
- package/apps/storefront/src/pages/api/newsletter/unsubscribe.ts +1 -1
- package/apps/storefront/src/pages/api/rum/vitals.ts +2 -2
- package/apps/storefront/src/pages/api/tracking/interaction.ts +5 -5
- package/apps/storefront/src/pages/auth/login.astro +2 -2
- package/apps/storefront/src/pages/auth/magic.astro +1 -1
- package/apps/storefront/src/pages/blog/[slug].astro +2 -2
- package/apps/storefront/src/pages/blog/author/[author].astro +8 -8
- package/apps/storefront/src/pages/blog/category/[category].astro +8 -8
- package/apps/storefront/src/pages/blog/index.astro +4 -4
- package/apps/storefront/src/pages/blog/page/[n].astro +4 -4
- package/apps/storefront/src/pages/blog/tag/[tag].astro +8 -8
- package/apps/storefront/src/pages/cart.ts +1 -1
- package/apps/storefront/src/pages/collections/[handle].astro +7 -7
- package/apps/storefront/src/pages/collections/index.astro +4 -4
- package/apps/storefront/src/pages/index.astro +10 -10
- package/apps/storefront/src/pages/llms.txt.ts +2 -2
- package/apps/storefront/src/pages/products/[handle].astro +11 -11
- package/apps/storefront/src/pages/saved.astro +2 -2
- package/apps/storefront/src/pages/search.astro +5 -5
- package/apps/storefront/src/pages/sitemap.xml.ts +8 -8
- package/apps/storefront/src/pages/style-guide/[tenant]/[theme].astro +24 -24
- package/apps/storefront/src/pages/style-guide/[tenant]/chrome/[theme].astro +2 -2
- package/apps/storefront/src/pages/style-guide/[tenant]/guide/[theme].astro +3 -3
- package/apps/storefront/src/pages/style-guide/[tenant]/index.astro +3 -3
- package/apps/storefront/src/pages/style-guide/index.astro +1 -1
- package/apps/storefront/src/pages/the-build/[slug].astro +10 -10
- package/apps/storefront/src/pages/the-build/index.astro +5 -5
- package/apps/storefront/src/pages/the-build/page/[n].astro +5 -5
- package/apps/storefront/src/pages/the-build/rss.xml.ts +4 -4
- package/docs/widget-library-guide.md +36 -36
- package/package.json +1 -1
- package/packages/public-runtime/src/chrome.ts +4 -4
- package/packages/public-runtime/src/tracking-id-derivation.ts +1 -1
- package/scripts/dev/locate.mjs +1 -1
- package/apps/storefront/src/lib/admin/ai/index.ts +0 -6
- /package/apps/storefront/src/components/{auth → access/storefront/auth}/AuthBadge.astro +0 -0
- /package/apps/storefront/src/components/{Badge.astro → content/storefront/Badge.astro} +0 -0
- /package/apps/storefront/src/components/{EmptyState.astro → content/storefront/EmptyState.astro} +0 -0
- /package/apps/storefront/src/components/{Section.astro → content/storefront/Section.astro} +0 -0
- /package/apps/storefront/src/components/{chrome → content/storefront/chrome}/AnnouncementBar.astro +0 -0
- /package/apps/storefront/src/components/{commerce → content/storefront/commerce}/ArticleCard.astro +0 -0
- /package/apps/storefront/src/components/content/{NeedsReviewCallout.astro → storefront/content/NeedsReviewCallout.astro} +0 -0
- /package/apps/storefront/src/components/content/{ProseToc.astro → storefront/content/ProseToc.astro} +0 -0
- /package/apps/storefront/src/components/content/{RichText.astro → storefront/content/RichText.astro} +0 -0
- /package/apps/storefront/src/components/content/{TrustStrip.astro → storefront/content/TrustStrip.astro} +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/brokerAssertion.ts +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/devAuth.ts +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/gatePage.ts +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/internalContentAuthority.ts +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/mcpClientAssertion.ts +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/operatorSession.ts +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/route.ts +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/session.ts +0 -0
- /package/apps/storefront/src/lib/{auth → access/auth}/stepUpChallenge.ts +0 -0
- /package/apps/storefront/src/lib/{dashboard → access/dashboard}/staffVendorAccess.ts +0 -0
- /package/apps/storefront/src/lib/{dashboard → access/dashboard}/vendorQuery.ts +0 -0
- /package/apps/storefront/src/lib/{admin/services/mock → access/fixtures}/tenants.ts +0 -0
- /package/apps/storefront/src/lib/{privacy → access/privacy}/emailHint.ts +0 -0
- /package/apps/storefront/src/lib/{rate → access/rate}/kvWindow.ts +0 -0
- /package/apps/storefront/src/lib/{shared → access/shared}/capability.ts +0 -0
- /package/apps/storefront/src/lib/{cspStaticHashes.ts → access/shared/cspStaticHashes.ts} +0 -0
- /package/apps/storefront/src/lib/{demoGate.ts → access/shared/demoGate.ts} +0 -0
- /package/apps/storefront/src/lib/{maintenance.ts → access/shared/maintenance.ts} +0 -0
- /package/apps/storefront/src/lib/{securityHeaders.ts → access/shared/securityHeaders.ts} +0 -0
- /package/apps/storefront/src/lib/{tenantOrigins.ts → access/shared/tenantOrigins.ts} +0 -0
- /package/apps/storefront/src/lib/{tenantRouting.ts → access/shared/tenantRouting.ts} +0 -0
- /package/apps/storefront/src/lib/{admin → automation}/ai/approvalMode.ts +0 -0
- /package/apps/storefront/src/lib/{admin → automation}/ai/audit.ts +0 -0
- /package/apps/storefront/src/lib/{admin → automation}/ai/recommendation.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/collectionPaths.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/markdown.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/pagination.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/presentation.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/reactions.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/rss.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/teaser.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/types.ts +0 -0
- /package/apps/storefront/src/lib/{blog → content/blog}/viewCounts.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/ctaIdentity.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/examples/tokenoftrust.chrome-assignments.example.json +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/examples/tokenoftrust.chrome.example.json +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/managedCart.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/model.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/navCurrent.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/newsletterAgeAttestation.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/parseConfig.ts +0 -0
- /package/apps/storefront/src/lib/{chrome → content/chrome}/variant.ts +0 -0
- /package/apps/storefront/src/lib/{commerce → content/policies}/shippingPolicy.ts +0 -0
- /package/apps/storefront/src/lib/{seo → content/seo}/alternates.ts +0 -0
- /package/apps/storefront/src/lib/{seo → content/seo}/documentTitle.ts +0 -0
- /package/apps/storefront/src/lib/{seo → content/seo}/meta.ts +0 -0
- /package/apps/storefront/src/lib/{seo → content/seo}/urlForm.ts +0 -0
- /package/apps/storefront/src/lib/{asyncCss.ts → content/shared/asyncCss.ts} +0 -0
- /package/apps/storefront/src/lib/{colors.ts → content/shared/colors.ts} +0 -0
- /package/apps/storefront/src/lib/{format.ts → content/shared/format.ts} +0 -0
- /package/apps/storefront/src/lib/{i18n.ts → content/shared/i18n.ts} +0 -0
- /package/apps/storefront/src/lib/{jsonScript.ts → content/shared/jsonScript.ts} +0 -0
- /package/apps/storefront/src/lib/{placeholder.ts → content/shared/placeholder.ts} +0 -0
- /package/apps/storefront/src/lib/{sections.ts → content/shared/sections.ts} +0 -0
- /package/apps/storefront/src/lib/{styleGuidePaths.ts → content/shared/styleGuidePaths.ts} +0 -0
- /package/apps/storefront/src/lib/{the-build → content/the-build}/pagination.ts +0 -0
- /package/apps/storefront/src/lib/{the-build → content/the-build}/readingTime.ts +0 -0
- /package/apps/storefront/src/lib/{admin → developer-experience/admin}/seed.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/activityStore.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/ai-widget-client.js +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/apiBase.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/ask.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/clickToSource.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/copyCommand.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/files.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/hostedActivity.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/infoPopover.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/mcpCopy.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/monitor.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/stepper.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/cockpit/themeToggle.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/devDraft.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/obstacleStore.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/runtimeStore.ts +0 -0
- /package/apps/storefront/src/lib/{dev → developer-experience/dev}/storeStatus.ts +0 -0
- /package/apps/storefront/src/lib/{fixtures → developer-experience/fixtures}/regulated-commerce-truth/index.ts +0 -0
- /package/apps/storefront/src/lib/{fixtures → developer-experience/fixtures}/ws3-readonly-clone-preflight/index.ts +0 -0
- /package/apps/storefront/src/lib/{http → developer-experience/http}/fetchTransport.ts +0 -0
- /package/apps/storefront/src/lib/{http → developer-experience/http}/mcpServiceCall.ts +0 -0
- /package/apps/storefront/src/lib/{memoryKv.ts → developer-experience/shared/memoryKv.ts} +0 -0
- /package/apps/storefront/src/lib/{cloudflare-workers.d.ts → developer-experience/types/cloudflare-workers.d.ts} +0 -0
- /package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/confirmationEmail.ts +0 -0
- /package/apps/storefront/src/lib/{newsletter → engagement/newsletter}/consent.ts +0 -0
- /package/apps/storefront/src/lib/{admin → measurement/admin}/consentSettingsClient.ts +0 -0
- /package/apps/storefront/src/lib/{analytics → measurement/analytics}/index.ts +0 -0
- /package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/attributionService.ts +0 -0
- /package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/orderConversionD1.ts +0 -0
- /package/apps/storefront/src/lib/{apps/orders → measurement/attribution}/verifiedProviderMeasurement.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/collectorAllowlist.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/collectorIngest.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionHealth.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/interactionSchema.ts +0 -0
- /package/apps/storefront/src/lib/{tracking → measurement/tracking}/tenantReadAccess.ts +0 -0
- /package/apps/storefront/src/lib/{tracking-writeback → measurement/tracking-writeback}/rewriteTrackingIds.ts +0 -0
- /package/apps/storefront/src/lib/{tracking-writeback → measurement/tracking-writeback}/writebackCandidate.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/capture.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/consoleLine.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/debugConsole.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/debugMode.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/debugWindow.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/redact.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/reference.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/referenceStore.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/report.ts +0 -0
- /package/apps/storefront/src/lib/{diag → observability/diag}/session.ts +0 -0
- /package/apps/storefront/src/lib/{analytics → observability/performance}/lighthouseReport.ts +0 -0
- /package/apps/storefront/src/lib/{analytics → observability/performance}/perfBudgets.ts +0 -0
- /package/apps/storefront/src/lib/{analytics → observability/performance}/rumAlert.ts +0 -0
- /package/apps/storefront/src/lib/{analytics → observability/performance}/webVitals.ts +0 -0
- /package/apps/storefront/src/lib/{health.ts → observability/shared/health.ts} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
import Layout from "@/layouts/Layout.astro";
|
|
3
|
-
import Breadcrumbs from "@/components/Breadcrumbs.astro";
|
|
4
|
-
import PostGrid from "@/components/blog/PostGrid.astro";
|
|
5
|
-
import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
|
|
6
|
-
import { collectPostsByTerm } from "@/lib/blog/collection.js";
|
|
7
|
-
import { resolveBlogPresentation } from "@/lib/blog/presentation.js";
|
|
8
|
-
import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs.js";
|
|
9
|
-
import { breadcrumbLd } from "@/lib/jsonld.js";
|
|
10
|
-
import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
|
|
3
|
+
import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
|
|
4
|
+
import PostGrid from "@/components/content/storefront/blog/PostGrid.astro";
|
|
5
|
+
import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
|
|
6
|
+
import { collectPostsByTerm } from "@/lib/content/blog/collection.js";
|
|
7
|
+
import { resolveBlogPresentation } from "@/lib/content/blog/presentation.js";
|
|
8
|
+
import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs.js";
|
|
9
|
+
import { breadcrumbLd } from "@/lib/content/shared/jsonld.js";
|
|
10
|
+
import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
|
|
11
11
|
|
|
12
12
|
const { tenant, basePath, canonicalBase, content, publicationTimestamp } = Astro.locals;
|
|
13
13
|
const param = Astro.params.tag ?? "";
|
|
@@ -6,20 +6,20 @@
|
|
|
6
6
|
* override later — documented seam).
|
|
7
7
|
*/
|
|
8
8
|
import Layout from "@/layouts/Layout.astro";
|
|
9
|
-
import Breadcrumbs from "@/components/Breadcrumbs.astro";
|
|
10
|
-
import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
|
|
9
|
+
import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
|
|
10
|
+
import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
|
|
11
11
|
import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
|
|
12
|
-
import EmptyState from "@/components/EmptyState.astro";
|
|
12
|
+
import EmptyState from "@/components/content/storefront/EmptyState.astro";
|
|
13
13
|
import FacetSidebar from "@/components/catalog/storefront/plp/FacetSidebar.astro";
|
|
14
14
|
import ActiveFilters from "@/components/catalog/storefront/plp/ActiveFilters.astro";
|
|
15
15
|
import SortSelect from "@/components/catalog/storefront/plp/SortSelect.astro";
|
|
16
16
|
import Pagination from "@/components/catalog/storefront/plp/Pagination.astro";
|
|
17
17
|
import Img from "@/components/assets/storefront/Img.astro";
|
|
18
18
|
import { parseQuery, buildQueryString } from "@/lib/url";
|
|
19
|
-
import { breadcrumbLd, itemListLd } from "@/lib/jsonld";
|
|
20
|
-
import { truncate } from "@/lib/format";
|
|
21
|
-
import { pageUrlForm } from "@/lib/seo/urlForm";
|
|
22
|
-
import { sourceSeoTitle } from "@/lib/seo/documentTitle";
|
|
19
|
+
import { breadcrumbLd, itemListLd } from "@/lib/content/shared/jsonld";
|
|
20
|
+
import { truncate } from "@/lib/content/shared/format";
|
|
21
|
+
import { pageUrlForm } from "@/lib/content/seo/urlForm";
|
|
22
|
+
import { sourceSeoTitle } from "@/lib/content/seo/documentTitle";
|
|
23
23
|
import { withBase } from "@/lib/basePath";
|
|
24
24
|
import { isBlankDescriptionHtml, sanitizeDescriptionHtml } from "@/lib/content/sanitizeDescriptionHtml";
|
|
25
25
|
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* one per collection (product counts from the collection record's handles).
|
|
5
5
|
*/
|
|
6
6
|
import Layout from "@/layouts/Layout.astro";
|
|
7
|
-
import Breadcrumbs from "@/components/Breadcrumbs.astro";
|
|
8
|
-
import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
|
|
7
|
+
import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
|
|
8
|
+
import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
|
|
9
9
|
import CollectionCard from "@/components/catalog/storefront/CollectionCard.astro";
|
|
10
|
-
import EmptyState from "@/components/EmptyState.astro";
|
|
11
|
-
import { breadcrumbLd } from "@/lib/jsonld";
|
|
10
|
+
import EmptyState from "@/components/content/storefront/EmptyState.astro";
|
|
11
|
+
import { breadcrumbLd } from "@/lib/content/shared/jsonld";
|
|
12
12
|
import { activeMemberCount, nonEmptyCollections } from "@/lib/catalog/tot/query";
|
|
13
13
|
|
|
14
14
|
const { tenant, tot, canonicalBase } = Astro.locals;
|
|
@@ -7,19 +7,19 @@
|
|
|
7
7
|
* the template renders simple typed view-models.
|
|
8
8
|
*/
|
|
9
9
|
import Layout from "@/layouts/Layout.astro";
|
|
10
|
-
import Section from "@/components/Section.astro";
|
|
11
|
-
import Hero from "@/components/home/Hero.astro";
|
|
10
|
+
import Section from "@/components/content/storefront/Section.astro";
|
|
11
|
+
import Hero from "@/components/content/storefront/home/Hero.astro";
|
|
12
12
|
import ProductCarousel from "@/components/catalog/storefront/commerce/ProductCarousel.astro";
|
|
13
13
|
import ProductGrid from "@/components/catalog/storefront/commerce/ProductGrid.astro";
|
|
14
14
|
import CollectionCard from "@/components/catalog/storefront/CollectionCard.astro";
|
|
15
15
|
import Img from "@/components/assets/storefront/Img.astro";
|
|
16
|
-
import PromoTiles from "@/components/content/PromoTiles.astro";
|
|
17
|
-
import TrustStrip from "@/components/content/TrustStrip.astro";
|
|
18
|
-
import Faq from "@/components/marketing/Faq.astro";
|
|
19
|
-
import MarketingBlocks from "@/components/marketing/MarketingBlocks.astro";
|
|
16
|
+
import PromoTiles from "@/components/content/storefront/content/PromoTiles.astro";
|
|
17
|
+
import TrustStrip from "@/components/content/storefront/content/TrustStrip.astro";
|
|
18
|
+
import Faq from "@/components/content/storefront/marketing/Faq.astro";
|
|
19
|
+
import MarketingBlocks from "@/components/content/storefront/marketing/MarketingBlocks.astro";
|
|
20
20
|
import TierCards from "@/components/membership/storefront/membership/TierCards.astro";
|
|
21
21
|
import { withBase } from "@/lib/basePath";
|
|
22
|
-
import { rawHtmlPolicy, rawHtmlResponse } from "@/lib/rawMarketingHtml";
|
|
22
|
+
import { rawHtmlPolicy, rawHtmlResponse } from "@/lib/content/shared/rawMarketingHtml";
|
|
23
23
|
import { renderRawComplianceTop, renderRawComplianceBottom } from "@/lib/compliance/rawComplianceNotices";
|
|
24
24
|
import AppWidgetFrame from "@/components/integrations/storefront/apps/AppWidgetFrame.astro";
|
|
25
25
|
import { getRegistryService } from "@/lib/integrations/apps/registryAccess.js";
|
|
@@ -30,18 +30,18 @@ import {
|
|
|
30
30
|
type HeroBlock,
|
|
31
31
|
type MarketingBlock,
|
|
32
32
|
type FeaturedProductsBlock,
|
|
33
|
-
} from "@/lib/storyblok/content-model";
|
|
33
|
+
} from "@/lib/content/storyblok/content-model";
|
|
34
34
|
import type { Tier } from "@/lib/membership/model";
|
|
35
35
|
import {
|
|
36
36
|
normalizeProductSectionSource,
|
|
37
37
|
} from "@tot/public-runtime";
|
|
38
|
-
import { resolveSectionSource } from "@/lib/sections";
|
|
38
|
+
import { resolveSectionSource } from "@/lib/content/shared/sections";
|
|
39
39
|
import { featuredProductsPresentationView } from "@/lib/catalog/shared/featuredProductsPresentation";
|
|
40
40
|
import {
|
|
41
41
|
editorialMediaView,
|
|
42
42
|
resolveCommerceStaticBlock,
|
|
43
43
|
type CommerceStaticResolved,
|
|
44
|
-
} from "@/lib/homeVisualParity";
|
|
44
|
+
} from "@/lib/content/shared/homeVisualParity";
|
|
45
45
|
|
|
46
46
|
const { tenant, tot, content, basePath, apiBasePath, canonicalBase, features, capabilities } = Astro.locals;
|
|
47
47
|
const marketing = !features.catalog;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { APIContext } from "astro";
|
|
13
13
|
import { nonEmptyCollections } from "@/lib/catalog/tot/query.js";
|
|
14
|
-
import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
|
|
14
|
+
import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
|
|
15
15
|
import { compileRouteTierIndexV1 } from "@tot/public-runtime";
|
|
16
16
|
import { readKv } from "@/lib/runtimeEnv.js";
|
|
17
17
|
import {
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
readMountedPublicationDiscoveryV1,
|
|
21
21
|
rootOwnsDiscoveryPathV1,
|
|
22
22
|
} from "@/lib/publication/mountedDiscovery.js";
|
|
23
|
-
import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
|
|
23
|
+
import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
|
|
24
24
|
|
|
25
25
|
/** Collapse HTML/whitespace to a single trimmed line for a link description. */
|
|
26
26
|
function oneLine(s: string | undefined, max = 140): string | undefined {
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
* Product + BreadcrumbList JSON-LD.
|
|
7
7
|
*/
|
|
8
8
|
import Layout from "@/layouts/Layout.astro";
|
|
9
|
-
import Breadcrumbs from "@/components/Breadcrumbs.astro";
|
|
10
|
-
import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
|
|
11
|
-
import Badge from "@/components/Badge.astro";
|
|
9
|
+
import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
|
|
10
|
+
import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
|
|
11
|
+
import Badge from "@/components/content/storefront/Badge.astro";
|
|
12
12
|
import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
|
|
13
|
-
import Section from "@/components/Section.astro";
|
|
13
|
+
import Section from "@/components/content/storefront/Section.astro";
|
|
14
14
|
import ImageGallery from "@/components/catalog/storefront/islands/ImageGallery.tsx";
|
|
15
15
|
import VariantSelector, { publicSelectorVariants } from "@/components/catalog/storefront/islands/VariantSelector.tsx";
|
|
16
16
|
import CheckoutComplianceGate from "@/components/compliance/storefront/islands/CheckoutComplianceGate.tsx";
|
|
@@ -41,14 +41,14 @@ import type {
|
|
|
41
41
|
import { resolveCartSigning, shopperCheckoutUnavailableHtml } from "@/lib/checkout/shared/checkoutCommerce";
|
|
42
42
|
import { isRegulatedTenant } from "@/lib/compliance/enforcement";
|
|
43
43
|
import { resolveMemberContext } from "@/lib/membership/eligibility";
|
|
44
|
-
import { truncate } from "@/lib/format";
|
|
45
|
-
import { productLd, breadcrumbLd, reviewLd } from "@/lib/jsonld";
|
|
46
|
-
import { isUsableImageUrl } from "@/lib/placeholder";
|
|
44
|
+
import { truncate } from "@/lib/content/shared/format";
|
|
45
|
+
import { productLd, breadcrumbLd, reviewLd } from "@/lib/content/shared/jsonld";
|
|
46
|
+
import { isUsableImageUrl } from "@/lib/content/shared/placeholder";
|
|
47
47
|
import { withBase } from "@/lib/basePath";
|
|
48
|
-
import { productPageType, structuredDataProfile } from "@/lib/seo/structuredData";
|
|
49
|
-
import { pageUrlForm } from "@/lib/seo/urlForm";
|
|
50
|
-
import { sourceSeoTitle } from "@/lib/seo/documentTitle";
|
|
51
|
-
import { shippingPolicyPath } from "@/lib/
|
|
48
|
+
import { productPageType, structuredDataProfile } from "@/lib/content/seo/structuredData";
|
|
49
|
+
import { pageUrlForm } from "@/lib/content/seo/urlForm";
|
|
50
|
+
import { sourceSeoTitle } from "@/lib/content/seo/documentTitle";
|
|
51
|
+
import { shippingPolicyPath } from "@/lib/content/policies/shippingPolicy";
|
|
52
52
|
import AppWidgetFrame from "@/components/integrations/storefront/apps/AppWidgetFrame.astro";
|
|
53
53
|
import { getRegistryService } from "@/lib/integrations/apps/registryAccess.js";
|
|
54
54
|
import { renderWidgetSlot } from "@/lib/integrations/apps/widgets/renderSlot.js";
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* (SavedList island); noindex since it's per-device and has no stable content.
|
|
5
5
|
*/
|
|
6
6
|
import Layout from "@/layouts/Layout.astro";
|
|
7
|
-
import Breadcrumbs from "@/components/Breadcrumbs.astro";
|
|
8
|
-
import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
|
|
7
|
+
import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
|
|
8
|
+
import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
|
|
9
9
|
import SavedList from "@/components/customers/storefront/islands/SavedList.tsx";
|
|
10
10
|
|
|
11
11
|
const { tenant } = Astro.locals;
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
* practice — thin, parameterized, duplicative).
|
|
11
11
|
*/
|
|
12
12
|
import Layout from "@/layouts/Layout.astro";
|
|
13
|
-
import Breadcrumbs from "@/components/Breadcrumbs.astro";
|
|
14
|
-
import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs";
|
|
13
|
+
import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
|
|
14
|
+
import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs";
|
|
15
15
|
import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
|
|
16
|
-
import EmptyState from "@/components/EmptyState.astro";
|
|
17
|
-
import Section from "@/components/Section.astro";
|
|
16
|
+
import EmptyState from "@/components/content/storefront/EmptyState.astro";
|
|
17
|
+
import Section from "@/components/content/storefront/Section.astro";
|
|
18
18
|
import { toTypeaheadDoc } from "@/lib/catalog/search/index";
|
|
19
|
-
import { breadcrumbLd } from "@/lib/jsonld";
|
|
19
|
+
import { breadcrumbLd } from "@/lib/content/shared/jsonld";
|
|
20
20
|
import { withBase } from "@/lib/basePath";
|
|
21
21
|
|
|
22
22
|
const { tenant, tot, canonicalBase, basePath } = Astro.locals;
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { APIContext } from "astro";
|
|
12
12
|
import { nonEmptyCollections } from "@/lib/catalog/tot/query.js";
|
|
13
|
-
import { getBlogSettings, listBlogPosts } from "@/lib/blog/provider.js";
|
|
14
|
-
import { authorSlug, categorySlug } from "@/lib/blog/collection.js";
|
|
15
|
-
import { resolveBlogIndexCopy } from "@/lib/blog/pagination.js";
|
|
16
|
-
import { getTheBuildSettings, listBuildPosts } from "@/lib/the-build/provider.js";
|
|
17
|
-
import { resolveTheBuildIndexCopy } from "@/lib/the-build/pagination.js";
|
|
18
|
-
import { isIndexableHtml, rawPageCanonicalUrl } from "@/lib/rawMarketingHtml.js";
|
|
13
|
+
import { getBlogSettings, listBlogPosts } from "@/lib/content/blog/provider.js";
|
|
14
|
+
import { authorSlug, categorySlug } from "@/lib/content/blog/collection.js";
|
|
15
|
+
import { resolveBlogIndexCopy } from "@/lib/content/blog/pagination.js";
|
|
16
|
+
import { getTheBuildSettings, listBuildPosts } from "@/lib/content/the-build/provider.js";
|
|
17
|
+
import { resolveTheBuildIndexCopy } from "@/lib/content/the-build/pagination.js";
|
|
18
|
+
import { isIndexableHtml, rawPageCanonicalUrl } from "@/lib/content/shared/rawMarketingHtml.js";
|
|
19
19
|
import { compileRouteTierIndexV1 } from "@tot/public-runtime";
|
|
20
20
|
import { readKv } from "@/lib/runtimeEnv.js";
|
|
21
21
|
import {
|
|
@@ -24,8 +24,8 @@ import {
|
|
|
24
24
|
readMountedPublicationDiscoveryV1,
|
|
25
25
|
rootOwnsDiscoveryPathV1,
|
|
26
26
|
} from "@/lib/publication/mountedDiscovery.js";
|
|
27
|
-
import { collectionPathsV1, blogPathOptsV1 } from "@/lib/blog/collectionPaths.js";
|
|
28
|
-
import { pageUrlForm } from "@/lib/seo/urlForm.js";
|
|
27
|
+
import { collectionPathsV1, blogPathOptsV1 } from "@/lib/content/blog/collectionPaths.js";
|
|
28
|
+
import { pageUrlForm } from "@/lib/content/seo/urlForm.js";
|
|
29
29
|
|
|
30
30
|
interface SitemapUrl {
|
|
31
31
|
loc: string;
|
|
@@ -20,8 +20,8 @@ export const prerender = false;
|
|
|
20
20
|
// utilities + reference theme-token fallbacks so the (token-styled) components
|
|
21
21
|
// render here without the app Layout. The `.sg-commerce` wrapper pins the
|
|
22
22
|
// reference palette so they look coherent regardless of the marketing theme CSS.
|
|
23
|
-
import { loadStyleGuideThemes, styleGuideCompositionSheets } from "@/lib/styleGuideThemes";
|
|
24
|
-
import { styleGuideHref } from "@/lib/styleGuidePaths";
|
|
23
|
+
import { loadStyleGuideThemes, styleGuideCompositionSheets } from "@/lib/content/shared/styleGuideThemes";
|
|
24
|
+
import { styleGuideHref } from "@/lib/content/shared/styleGuidePaths";
|
|
25
25
|
import { derivedTokenDeclarations } from "@/themes/derivedTokens";
|
|
26
26
|
import "@/styles/global.css";
|
|
27
27
|
import PriceDisplay from "@/components/catalog/storefront/commerce/PriceDisplay.astro";
|
|
@@ -29,23 +29,23 @@ import RatingStars from "@/components/catalog/storefront/commerce/RatingStars.as
|
|
|
29
29
|
import ReviewSummary from "@/components/catalog/storefront/commerce/ReviewSummary.astro";
|
|
30
30
|
import ReviewList from "@/components/catalog/storefront/commerce/ReviewList.astro";
|
|
31
31
|
import type { Review } from "@tot/public-runtime";
|
|
32
|
-
import Badge from "@/components/Badge.astro";
|
|
32
|
+
import Badge from "@/components/content/storefront/Badge.astro";
|
|
33
33
|
import ProductCard from "@/components/catalog/storefront/ProductCard.astro";
|
|
34
34
|
import ProductCarousel from "@/components/catalog/storefront/commerce/ProductCarousel.astro";
|
|
35
35
|
import ProductGrid from "@/components/catalog/storefront/commerce/ProductGrid.astro";
|
|
36
36
|
import BrandGrid from "@/components/catalog/storefront/commerce/BrandGrid.astro";
|
|
37
37
|
import type { Brand } from "@/components/catalog/storefront/commerce/BrandGrid.astro";
|
|
38
|
-
import ArticleCard from "@/components/commerce/ArticleCard.astro";
|
|
39
|
-
import type { Article } from "@/components/commerce/ArticleCard.astro";
|
|
38
|
+
import ArticleCard from "@/components/content/storefront/commerce/ArticleCard.astro";
|
|
39
|
+
import type { Article } from "@/components/content/storefront/commerce/ArticleCard.astro";
|
|
40
40
|
import TagFilterCloud from "@/components/catalog/storefront/commerce/TagFilterCloud.astro";
|
|
41
41
|
import type { TagItem } from "@/components/catalog/storefront/commerce/TagFilterCloud.astro";
|
|
42
|
-
import AnnouncementBar from "@/components/chrome/AnnouncementBar.astro";
|
|
43
|
-
import UtilityNav from "@/components/chrome/UtilityNav.astro";
|
|
44
|
-
import SiteHeader from "@/components/chrome/SiteHeader.astro";
|
|
45
|
-
import MegaMenu from "@/components/chrome/MegaMenu.astro";
|
|
46
|
-
import NavDropdown from "@/components/chrome/NavDropdown.astro";
|
|
47
|
-
import SiteFooter from "@/components/chrome/SiteFooter.astro";
|
|
48
|
-
import { CHROME_PLACEMENT } from "@/lib/chrome/trackingPlacements";
|
|
42
|
+
import AnnouncementBar from "@/components/content/storefront/chrome/AnnouncementBar.astro";
|
|
43
|
+
import UtilityNav from "@/components/content/storefront/chrome/UtilityNav.astro";
|
|
44
|
+
import SiteHeader from "@/components/content/storefront/chrome/SiteHeader.astro";
|
|
45
|
+
import MegaMenu from "@/components/content/storefront/chrome/MegaMenu.astro";
|
|
46
|
+
import NavDropdown from "@/components/content/storefront/chrome/NavDropdown.astro";
|
|
47
|
+
import SiteFooter from "@/components/content/storefront/chrome/SiteFooter.astro";
|
|
48
|
+
import { CHROME_PLACEMENT } from "@/lib/content/chrome/trackingPlacements";
|
|
49
49
|
import NicotineWarning from "@/components/compliance/storefront/compliance/NicotineWarning.astro";
|
|
50
50
|
import { NICOTINE_WARNING_PRESETS } from "../../../../../../packages/cli/src/declared-config.mjs";
|
|
51
51
|
import PactActNotice from "@/components/compliance/storefront/compliance/PactActNotice.astro";
|
|
@@ -57,11 +57,11 @@ import ShippingRestrictionNotice from "@/components/compliance/storefront/compli
|
|
|
57
57
|
import ExciseTaxNotice from "@/components/compliance/storefront/compliance/ExciseTaxNotice.astro";
|
|
58
58
|
import TierCards from "@/components/membership/storefront/membership/TierCards.astro";
|
|
59
59
|
import TierComparisonTable from "@/components/membership/storefront/membership/TierComparisonTable.astro";
|
|
60
|
-
import ProseSections from "@/components/content/ProseSections.astro";
|
|
61
|
-
import ProseToc from "@/components/content/ProseToc.astro";
|
|
62
|
-
import Callout from "@/components/content/Callout.astro";
|
|
63
|
-
import NeedsReviewCallout from "@/components/content/NeedsReviewCallout.astro";
|
|
64
|
-
import TrustStrip from "@/components/content/TrustStrip.astro";
|
|
60
|
+
import ProseSections from "@/components/content/storefront/content/ProseSections.astro";
|
|
61
|
+
import ProseToc from "@/components/content/storefront/content/ProseToc.astro";
|
|
62
|
+
import Callout from "@/components/content/storefront/content/Callout.astro";
|
|
63
|
+
import NeedsReviewCallout from "@/components/content/storefront/content/NeedsReviewCallout.astro";
|
|
64
|
+
import TrustStrip from "@/components/content/storefront/content/TrustStrip.astro";
|
|
65
65
|
import type { ProseSection } from "@/lib/content/prose";
|
|
66
66
|
import type { TrustStripItem } from "@/lib/content/trustStrip";
|
|
67
67
|
import HowItWorksSteps from "@/components/subscriptions/storefront/subscription/HowItWorksSteps.astro";
|
|
@@ -71,7 +71,7 @@ import AgeGate from "@/components/compliance/storefront/islands/AgeGate.tsx";
|
|
|
71
71
|
import VariantSelector, { publicSelectorVariants } from "@/components/catalog/storefront/islands/VariantSelector.tsx";
|
|
72
72
|
import QuickView from "@/components/catalog/storefront/islands/QuickView.tsx";
|
|
73
73
|
import SearchTypeahead from "@/components/catalog/storefront/islands/SearchTypeahead.tsx";
|
|
74
|
-
import MobileNav from "@/components/islands/MobileNav.tsx";
|
|
74
|
+
import MobileNav from "@/components/content/storefront/islands/MobileNav.tsx";
|
|
75
75
|
import RecentlyViewed from "@/components/catalog/storefront/islands/RecentlyViewed.tsx";
|
|
76
76
|
import type { RVItem } from "@/components/catalog/storefront/islands/RecentlyViewed.tsx";
|
|
77
77
|
import SavedList from "@/components/customers/storefront/islands/SavedList.tsx";
|
|
@@ -79,14 +79,14 @@ import FacetSidebar from "@/components/catalog/storefront/plp/FacetSidebar.astro
|
|
|
79
79
|
import ActiveFilters from "@/components/catalog/storefront/plp/ActiveFilters.astro";
|
|
80
80
|
import SortSelect from "@/components/catalog/storefront/plp/SortSelect.astro";
|
|
81
81
|
import Pagination from "@/components/catalog/storefront/plp/Pagination.astro";
|
|
82
|
-
import Hero from "@/components/home/Hero.astro";
|
|
83
|
-
import MarketingBlocks from "@/components/marketing/MarketingBlocks.astro";
|
|
82
|
+
import Hero from "@/components/content/storefront/home/Hero.astro";
|
|
83
|
+
import MarketingBlocks from "@/components/content/storefront/marketing/MarketingBlocks.astro";
|
|
84
84
|
import { sampleProducts, sampleRatings } from "@/lib/catalog/fixtures/sampleProducts";
|
|
85
|
-
import type { ChromeNavItem } from "@/lib/chrome/model";
|
|
85
|
+
import type { ChromeNavItem } from "@/lib/content/chrome/model";
|
|
86
86
|
import type { Tier, ComparisonRow } from "@/lib/membership/model";
|
|
87
87
|
import type { SubscriptionStep, SubscriptionManageEntry } from "@/lib/subscriptions/subscription/model";
|
|
88
88
|
import type { Facet, ListProductsQuery } from "@tot/public-runtime";
|
|
89
|
-
import type { HeroBlock, MarketingBlock } from "@/lib/storyblok/content-model";
|
|
89
|
+
import type { HeroBlock, MarketingBlock } from "@/lib/content/storyblok/content-model";
|
|
90
90
|
|
|
91
91
|
const { tenant, theme } = Astro.params;
|
|
92
92
|
const cspNonce = Astro.locals.cspNonce;
|
|
@@ -1473,12 +1473,12 @@ const componentVarsInline = [
|
|
|
1473
1473
|
</div>
|
|
1474
1474
|
</section>
|
|
1475
1475
|
|
|
1476
|
-
{/* ── Home hero (components/home/Hero.astro) ─────────────────────────
|
|
1476
|
+
{/* ── Home hero (components/content/storefront/home/Hero.astro) ─────────────────────────
|
|
1477
1477
|
The signature homepage moment — bold (default) vs. light, set by
|
|
1478
1478
|
the tenant's brand.heroVariant (not a prop; the guide fakes locals
|
|
1479
1479
|
to preview both). */}
|
|
1480
1480
|
<section class="sg-block">
|
|
1481
|
-
<p class="sg-h">Home hero — <code>components/home/Hero.astro</code></p>
|
|
1481
|
+
<p class="sg-h">Home hero — <code>components/content/storefront/home/Hero.astro</code></p>
|
|
1482
1482
|
<p class="lede" style="font-size:.95rem;color:var(--color-muted)">The homepage "thesis" moment. Bold is the default; light matches merchants whose own site favors a light page with brand-color accents.</p>
|
|
1483
1483
|
|
|
1484
1484
|
<p class="sg-cap" style="margin:18px 0 8px">Bold (default)</p>
|
|
@@ -29,8 +29,8 @@ const { tenant, theme } = Astro.params;
|
|
|
29
29
|
const cspNonce = Astro.locals.cspNonce;
|
|
30
30
|
const favicon = Astro.locals.tenant.theme_tokens.brand?.favicon ?? "/favicon.svg";
|
|
31
31
|
|
|
32
|
-
import { loadStyleGuideThemes } from "@/lib/styleGuideThemes";
|
|
33
|
-
import { styleGuideHref } from "@/lib/styleGuidePaths";
|
|
32
|
+
import { loadStyleGuideThemes } from "@/lib/content/shared/styleGuideThemes";
|
|
33
|
+
import { styleGuideHref } from "@/lib/content/shared/styleGuidePaths";
|
|
34
34
|
import { derivedTokenDeclarations } from "@/themes/derivedTokens";
|
|
35
35
|
|
|
36
36
|
const href = (path: string) => styleGuideHref(Astro.locals.basePath ?? "", path);
|
|
@@ -19,9 +19,9 @@ export const prerender = false;
|
|
|
19
19
|
|
|
20
20
|
import "@/styles/global.css";
|
|
21
21
|
import type { MarkdownInstance } from "astro";
|
|
22
|
-
import StyleGuideNav from "@/components/style-guide/StyleGuideNav.astro";
|
|
23
|
-
import { loadStyleGuideThemes } from "@/lib/styleGuideThemes";
|
|
24
|
-
import { styleGuideHref } from "@/lib/styleGuidePaths";
|
|
22
|
+
import StyleGuideNav from "@/components/content/storefront/style-guide/StyleGuideNav.astro";
|
|
23
|
+
import { loadStyleGuideThemes } from "@/lib/content/shared/styleGuideThemes";
|
|
24
|
+
import { styleGuideHref } from "@/lib/content/shared/styleGuidePaths";
|
|
25
25
|
import { derivedTokenDeclarations } from "@/themes/derivedTokens";
|
|
26
26
|
|
|
27
27
|
const { tenant, theme } = Astro.params;
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export const prerender = false;
|
|
18
18
|
|
|
19
|
-
import StyleGuideNav from "@/components/style-guide/StyleGuideNav.astro";
|
|
20
|
-
import { loadStyleGuideThemes } from "@/lib/styleGuideThemes";
|
|
21
|
-
import { styleGuideHref } from "@/lib/styleGuidePaths";
|
|
19
|
+
import StyleGuideNav from "@/components/content/storefront/style-guide/StyleGuideNav.astro";
|
|
20
|
+
import { loadStyleGuideThemes } from "@/lib/content/shared/styleGuideThemes";
|
|
21
|
+
import { styleGuideHref } from "@/lib/content/shared/styleGuidePaths";
|
|
22
22
|
|
|
23
23
|
const { tenant } = Astro.params;
|
|
24
24
|
const cspNonce = Astro.locals.cspNonce;
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
export const prerender = false;
|
|
22
22
|
|
|
23
23
|
import { listedTenantIds } from "@tot/public-runtime";
|
|
24
|
-
import { styleGuideHref } from "@/lib/styleGuidePaths";
|
|
24
|
+
import { styleGuideHref } from "@/lib/content/shared/styleGuidePaths";
|
|
25
25
|
|
|
26
26
|
const cspNonce = Astro.locals.cspNonce;
|
|
27
27
|
const href = (path: string) => styleGuideHref(Astro.locals.basePath ?? "", path);
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
// visibility chokepoint); unlisted posts resolve here but carry noindex and
|
|
6
6
|
// stay out of the index/sitemap/RSS (see collection.ts isVisibleOnLive).
|
|
7
7
|
import Layout from "@/layouts/Layout.astro";
|
|
8
|
-
import Breadcrumbs from "@/components/Breadcrumbs.astro";
|
|
9
|
-
import ReactionBar from "@/components/blog/ReactionBar.astro";
|
|
10
|
-
import ShareRow from "@/components/blog/ShareRow.astro";
|
|
11
|
-
import { getBuildPost, getTheBuildSettings, resolveBuildRedirect, THE_BUILD } from "@/lib/the-build/provider.js";
|
|
12
|
-
import { bylineAuthor, resolveBlogPresentation, shareLinks } from "@/lib/blog/presentation.js";
|
|
13
|
-
import { homeCrumbLabel, siteTrail } from "@/lib/breadcrumbs.js";
|
|
14
|
-
import { getTranslations } from "@/lib/blog/collection.js";
|
|
15
|
-
import { buildAlternates } from "@/lib/seo/alternates.js";
|
|
16
|
-
import { breadcrumbLd } from "@/lib/jsonld.js";
|
|
17
|
-
import { collectionPathsV1 } from "@/lib/blog/collectionPaths.js";
|
|
8
|
+
import Breadcrumbs from "@/components/content/storefront/Breadcrumbs.astro";
|
|
9
|
+
import ReactionBar from "@/components/content/storefront/blog/ReactionBar.astro";
|
|
10
|
+
import ShareRow from "@/components/content/storefront/blog/ShareRow.astro";
|
|
11
|
+
import { getBuildPost, getTheBuildSettings, resolveBuildRedirect, THE_BUILD } from "@/lib/content/the-build/provider.js";
|
|
12
|
+
import { bylineAuthor, resolveBlogPresentation, shareLinks } from "@/lib/content/blog/presentation.js";
|
|
13
|
+
import { homeCrumbLabel, siteTrail } from "@/lib/content/shared/breadcrumbs.js";
|
|
14
|
+
import { getTranslations } from "@/lib/content/blog/collection.js";
|
|
15
|
+
import { buildAlternates } from "@/lib/content/seo/alternates.js";
|
|
16
|
+
import { breadcrumbLd } from "@/lib/content/shared/jsonld.js";
|
|
17
|
+
import { collectionPathsV1 } from "@/lib/content/blog/collectionPaths.js";
|
|
18
18
|
|
|
19
19
|
// Same contract as blog/[slug].astro: the publication composition lifts this file into the space's
|
|
20
20
|
// `routes.aliases`, so these redirects reach the CDN plane through the live pointer. The redirect
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
// collection.ts) via the the-build/provider.ts thin wrapper, so any tenant
|
|
5
5
|
// with the-build content renders the same way (per-tenant/multi-collection
|
|
6
6
|
// invariant — see docs/plans/2026-08-21-blog-platform-workstream.md §1).
|
|
7
|
-
import TheBuildIndexView from "@/components/the-build/TheBuildIndexView.astro";
|
|
8
|
-
import { resolveBlogPresentation } from "@/lib/blog/presentation.js";
|
|
9
|
-
import { getTheBuildSettings, listBuildPosts } from "@/lib/the-build/provider.js";
|
|
10
|
-
import { paginateBlogPosts } from "@/lib/blog/pagination.js";
|
|
11
|
-
import { resolveTheBuildIndexCopy } from "@/lib/the-build/pagination.js";
|
|
7
|
+
import TheBuildIndexView from "@/components/content/storefront/the-build/TheBuildIndexView.astro";
|
|
8
|
+
import { resolveBlogPresentation } from "@/lib/content/blog/presentation.js";
|
|
9
|
+
import { getTheBuildSettings, listBuildPosts } from "@/lib/content/the-build/provider.js";
|
|
10
|
+
import { paginateBlogPosts } from "@/lib/content/blog/pagination.js";
|
|
11
|
+
import { resolveTheBuildIndexCopy } from "@/lib/content/the-build/pagination.js";
|
|
12
12
|
|
|
13
13
|
const { tenant, basePath, apiBasePath, canonicalBase, content, publicationTimestamp } =
|
|
14
14
|
Astro.locals;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
// /the-build/ (src/pages/the-build/index.astro); both render through the same
|
|
4
4
|
// TheBuildIndexView so the tenant-copy + pagination contract can't drift
|
|
5
5
|
// between the two routes (mirrors src/pages/blog/page/[n].astro).
|
|
6
|
-
import TheBuildIndexView from "@/components/the-build/TheBuildIndexView.astro";
|
|
7
|
-
import { resolveBlogPresentation } from "@/lib/blog/presentation.js";
|
|
8
|
-
import { getTheBuildSettings, listBuildPosts } from "@/lib/the-build/provider.js";
|
|
9
|
-
import { paginateBlogPosts } from "@/lib/blog/pagination.js";
|
|
10
|
-
import { parseTheBuildPageParam, resolveTheBuildIndexCopy } from "@/lib/the-build/pagination.js";
|
|
6
|
+
import TheBuildIndexView from "@/components/content/storefront/the-build/TheBuildIndexView.astro";
|
|
7
|
+
import { resolveBlogPresentation } from "@/lib/content/blog/presentation.js";
|
|
8
|
+
import { getTheBuildSettings, listBuildPosts } from "@/lib/content/the-build/provider.js";
|
|
9
|
+
import { paginateBlogPosts } from "@/lib/content/blog/pagination.js";
|
|
10
|
+
import { parseTheBuildPageParam, resolveTheBuildIndexCopy } from "@/lib/content/the-build/pagination.js";
|
|
11
11
|
|
|
12
12
|
const page = parseTheBuildPageParam(Astro.params.n);
|
|
13
13
|
if (page === null) return new Response(null, { status: 404 });
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* syndication mirror of `sitemap.xml.ts` and the newsletter on-ramp (B1.1).
|
|
4
4
|
* Reads the engine's live-visible list (`listBuildPosts` default), so drafts and
|
|
5
5
|
* unlisted posts never syndicate — the same visibility chokepoint the sitemap
|
|
6
|
-
* rides. The XML itself is hand-rolled in `lib/blog/rss.ts` (no `@astrojs/rss`),
|
|
6
|
+
* rides. The XML itself is hand-rolled in `lib/content/blog/rss.ts` (no `@astrojs/rss`),
|
|
7
7
|
* which is tenant/collection-generic so `/blog/rss.xml` can reuse it later.
|
|
8
8
|
*/
|
|
9
9
|
import type { APIContext } from "astro";
|
|
10
|
-
import { getTheBuildSettings, listBuildPosts, THE_BUILD } from "@/lib/the-build/provider.js";
|
|
11
|
-
import { resolveTheBuildIndexCopy } from "@/lib/the-build/pagination.js";
|
|
12
|
-
import { renderRssFeed } from "@/lib/blog/rss.js";
|
|
10
|
+
import { getTheBuildSettings, listBuildPosts, THE_BUILD } from "@/lib/content/the-build/provider.js";
|
|
11
|
+
import { resolveTheBuildIndexCopy } from "@/lib/content/the-build/pagination.js";
|
|
12
|
+
import { renderRssFeed } from "@/lib/content/blog/rss.js";
|
|
13
13
|
|
|
14
14
|
export async function GET(context: APIContext): Promise<Response> {
|
|
15
15
|
const { tenant, canonicalBase, content, publicationTimestamp } = context.locals;
|