@gradial/aci 0.1.52-rc.21 → 0.1.52-rc.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -5
- package/dist/astro/index.js +4 -0
- package/dist/audience-data-models.d.ts +12 -0
- package/dist/audience-data-models.js +3 -0
- package/dist/cli/mintlify-render.d.mts +1 -0
- package/dist/cli/mintlify-render.mjs +8 -0
- package/dist/collect/aci.js +1 -1
- package/dist/collect/aci.js.sha256 +1 -1
- package/dist/collect/api.d.ts +3 -0
- package/dist/collect/api.js +19 -0
- package/dist/collect/assignments.d.ts +7 -9
- package/dist/collect/assignments.js +23 -32
- package/dist/collect/batcher.d.ts +3 -2
- package/dist/collect/consent/envelope.d.ts +7 -1
- package/dist/collect/consent/envelope.js +3 -1
- package/dist/collect/consent/mapping.d.ts +2 -0
- package/dist/collect/consent/mapping.js +1 -0
- package/dist/collect/consenthold.d.ts +38 -0
- package/dist/collect/consenthold.js +82 -0
- package/dist/collect/declarative.js +7 -5
- package/dist/collect/gapbuffer.d.ts +13 -4
- package/dist/collect/gapbuffer.js +10 -4
- package/dist/collect/index.js +66 -19
- package/dist/collect/pageviews.d.ts +11 -11
- package/dist/collect/pageviews.js +27 -22
- package/dist/consent-banner/index.d.ts +17 -0
- package/dist/consent-banner/index.js +23 -0
- package/dist/content/provider.d.ts +8 -0
- package/dist/index.d.ts +1 -1
- package/dist/internal/domain/edge/identity.d.ts +5 -0
- package/dist/internal/domain/edge/identity.js +49 -13
- package/dist/internal/domain/edge/mimic_token.d.ts +1 -0
- package/dist/internal/domain/edge/mimic_token.js +74 -7
- package/dist/internal/domain/edge/personalization-core.d.ts +8 -33
- package/dist/internal/domain/edge/personalization-core.js +151 -195
- package/dist/internal/domain/edge/personalization_index.d.ts +17 -0
- package/dist/internal/domain/edge/personalization_index.js +56 -0
- package/dist/internal/domain/edge/record/codec.d.ts +1 -30
- package/dist/internal/domain/edge/record/codec.js +1 -156
- package/dist/internal/domain/edge/resolve.js +55 -38
- package/dist/internal/domain/edge/types.d.ts +41 -32
- package/dist/internal/domain/edge/variant_key.d.ts +3 -0
- package/dist/internal/domain/edge/variant_key.js +44 -0
- package/dist/internal/platform/collectionstore/errors.d.ts +13 -0
- package/dist/internal/platform/collectionstore/errors.js +28 -0
- package/dist/mintlify/blocks.d.ts +6 -0
- package/dist/mintlify/blocks.js +198 -0
- package/dist/mintlify/config.d.ts +3 -0
- package/dist/mintlify/config.js +77 -0
- package/dist/mintlify/index.d.ts +3 -0
- package/dist/mintlify/index.js +2 -0
- package/dist/mintlify/json.d.ts +8 -0
- package/dist/mintlify/json.js +37 -0
- package/dist/mintlify/materialize.d.ts +12 -0
- package/dist/mintlify/materialize.js +159 -0
- package/dist/mintlify/types.d.ts +69 -0
- package/dist/mintlify/types.js +1 -0
- package/dist/mintlify/validate.d.ts +7 -0
- package/dist/mintlify/validate.js +252 -0
- package/dist/next/assignments-navigation.d.ts +4 -0
- package/dist/next/assignments-navigation.js +18 -0
- package/dist/next/assignments-script.d.ts +3 -2
- package/dist/next/assignments-script.js +5 -5
- package/dist/next/error-seat.js +3 -0
- package/dist/next/index.d.ts +1 -0
- package/dist/next/index.js +3 -0
- package/dist/next/render.js +8 -1
- package/dist/react/VideoPlayer.d.ts +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/registry.d.ts +4 -2
- package/dist/testing/conformance/checks.d.ts +2 -2
- package/dist/testing/conformance/checks.js +2 -0
- package/dist/testing/conformance/index.d.ts +1 -0
- package/dist/testing/conformance/index.js +1 -0
- package/dist/testing/conformance/next-stubs.d.ts +6 -0
- package/dist/testing/conformance/next-stubs.js +9 -0
- package/dist/testing/conformance/preset.d.ts +3 -2
- package/dist/testing/conformance/preset.js +12 -8
- package/dist/testing/conformance/root-identity.d.ts +31 -0
- package/dist/testing/conformance/root-identity.js +380 -0
- package/dist/testing/conformance/stubs/next-image.d.ts +7 -0
- package/dist/testing/conformance/stubs/next-image.js +5 -0
- package/dist/testing/conformance/stubs/next-link.d.ts +7 -0
- package/dist/testing/conformance/stubs/next-link.js +4 -0
- package/dist/testing/conformance/types.d.ts +2 -2
- package/dist/testing/index.js +2 -2
- package/dist/types/component.d.ts +9 -0
- package/package.json +11 -7
- package/src/cli/mintlify-render.mjs +9 -0
- package/src/types/component.ts +10 -0
- package/templates/astro/starter-content/src/components/chrome/Footer.astro +5 -3
- package/templates/astro/starter-content/src/components/chrome/Header.astro +5 -3
- package/templates/astro/starter-content/src/components/elements/Button.astro +5 -2
- package/templates/astro/starter-content/src/components/elements/ButtonBlock.astro +5 -3
- package/templates/astro/starter-content/src/components/sections/ContainerSection.astro +4 -3
- package/templates/astro/starter-content/src/components/sections/FeatureCard.astro +4 -3
- package/templates/astro/starter-content/src/components/sections/FeatureGrid.astro +4 -3
- package/templates/astro/starter-content/src/components/sections/HomeHero.astro +5 -3
- package/templates/astro/starter-content/src/components/sections/PersonalizationChoice.astro +4 -3
- package/templates/astro/starter-content/src/components/sections/StatsBar.astro +4 -3
- package/templates/astro/starter-content/src/fixtures/sections.ts +1 -1
- package/templates/astro/starter-content/src/stories/CompositionStoryFrame.astro +7 -2
- package/templates/astro/template/package.json.tmpl +4 -4
- package/templates/common/.agents/skills/aci/SKILL.md +50 -0
- package/templates/common/.agents/skills/authoring/SKILL.md +4 -3
- package/templates/common/.agents/skills/authoring/references/block-registry.md +15 -0
- package/templates/common/.agents/skills/migration/references/selector-map.md +1 -1
- package/templates/common/.content/schemas/site.schema.json +11 -1
- package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_home_hero → 000000000000000000000000101}/asset.json +1 -1
- package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_about_hero → 000000000000000000000000102}/asset.json +1 -1
- package/templates/common/starter-content/.content/pages/404/_index.json +1 -1
- package/templates/common/starter-content/.content/pages/{home/_index.json → _index.json} +2 -2
- package/templates/common/starter-content/.content/pages/about/_index.json +1 -1
- package/templates/common/starter-content/.content/pages/error/_index.json +1 -1
- package/templates/common/starter-content/.content/patterns/components/button.json +2 -2
- package/templates/common/starter-content/.content/patterns/components/container.json +2 -2
- package/templates/common/starter-content/.content/patterns/components/feature_card.json +2 -2
- package/templates/common/starter-content/.content/patterns/components/feature_grid.json +2 -2
- package/templates/common/starter-content/.content/patterns/components/home_hero.json +2 -2
- package/templates/common/starter-content/.content/patterns/components/site-footer.json +2 -2
- package/templates/common/starter-content/.content/patterns/components/site-navigation.json +2 -2
- package/templates/common/starter-content/.content/patterns/components/stats_bar.json +2 -2
- package/templates/common/starter-content/.content/patterns/layouts/default.json +2 -2
- package/templates/common/starter-content/.content/schemas/site.schema.json +11 -1
- package/templates/nextjs/starter-content/src/components/chrome/Footer.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/chrome/Header.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/elements/Button.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/elements/ButtonBlock.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/sections/ContainerSection.tsx +4 -2
- package/templates/nextjs/starter-content/src/components/sections/FeatureCard.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/sections/FeatureGrid.tsx +4 -2
- package/templates/nextjs/starter-content/src/components/sections/HomeHero.tsx +4 -3
- package/templates/nextjs/starter-content/src/components/sections/PersonalizationChoice.tsx +4 -2
- package/templates/nextjs/starter-content/src/components/sections/StatsBar.tsx +4 -3
- package/templates/astro/starter-content/src/render/RenderPage.astro +0 -67
- package/templates/common/starter-content/.content/patterns/components/personalization_choice.json +0 -42
- package/templates/nextjs/starter-content/src/components/elements/AtomicBlock.tsx +0 -13
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_home_hero → 000000000000000000000000101}/editorial.json +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_about_hero → 000000000000000000000000101}/governance.json +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_home_hero → 000000000000000000000000101}/versions/v0001.json +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_about_hero → 000000000000000000000000102}/editorial.json +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_home_hero → 000000000000000000000000102}/governance.json +0 -0
- /package/templates/common/starter-content/.content/dam/folders/seed/{ast_site_about_hero → 000000000000000000000000102}/versions/v0001.json +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Container } from '@/components/elements/Container';
|
|
2
2
|
import { type ContentProps } from '@/cms/contracts/components/container.contract';
|
|
3
|
+
import type { RootIdentityProps } from '@gradial/aci';
|
|
3
4
|
import type { RenderChildren } from '@gradial/aci/react';
|
|
4
5
|
|
|
5
6
|
export async function ContainerSection({
|
|
@@ -7,14 +8,15 @@ export async function ContainerSection({
|
|
|
7
8
|
className = '',
|
|
8
9
|
content,
|
|
9
10
|
renderChildren,
|
|
10
|
-
|
|
11
|
+
...root
|
|
12
|
+
}: ContentProps & RootIdentityProps & { renderChildren: RenderChildren<NonNullable<ContentProps['content']>> }) {
|
|
11
13
|
const buttonCount = content?.filter((b) => b.component === 'button').length ?? 0;
|
|
12
14
|
const layout = buttonCount === 1
|
|
13
15
|
? 'flex-col items-center'
|
|
14
16
|
: 'flex-col items-center sm:flex-row sm:justify-center sm:gap-4';
|
|
15
17
|
|
|
16
18
|
return (
|
|
17
|
-
<section className={`theme-${theme} relative overflow-hidden py-[var(--spacing-section-y)] ${className}`}>
|
|
19
|
+
<section className={`theme-${theme} relative overflow-hidden py-[var(--spacing-section-y)] ${className}`} {...root}>
|
|
18
20
|
{theme === 'dark' ? (
|
|
19
21
|
<div className="pointer-events-none absolute inset-0 bg-[image:var(--gradient-hero-base)] opacity-30" />
|
|
20
22
|
) : null}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Icon } from '@/components/elements/Icon';
|
|
2
|
+
import type { RootIdentityProps } from '@gradial/aci';
|
|
2
3
|
import type { ContentProps } from '@/cms/contracts/components/featureCard.contract';
|
|
3
4
|
|
|
4
|
-
export type FeatureCardProps = ContentProps;
|
|
5
|
+
export type FeatureCardProps = ContentProps & RootIdentityProps;
|
|
5
6
|
|
|
6
|
-
export function FeatureCard({ icon = '', title = '', description = '' }: FeatureCardProps) {
|
|
7
|
+
export function FeatureCard({ icon = '', title = '', description = '', ...root }: FeatureCardProps) {
|
|
7
8
|
return (
|
|
8
|
-
<div className="group relative overflow-hidden rounded-card border border-[var(--color-border-default)] bg-[var(--color-white)] p-[var(--spacing-card)] shadow-[var(--shadow-card-default)] transition-all duration-[var(--transition-duration-fast)] hover:-translate-y-1 hover:border-[var(--color-border-strong)] hover:shadow-[var(--shadow-elevated)]">
|
|
9
|
+
<div {...root} className="group relative overflow-hidden rounded-card border border-[var(--color-border-default)] bg-[var(--color-white)] p-[var(--spacing-card)] shadow-[var(--shadow-card-default)] transition-all duration-[var(--transition-duration-fast)] hover:-translate-y-1 hover:border-[var(--color-border-strong)] hover:shadow-[var(--shadow-elevated)]">
|
|
9
10
|
<div className="absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-[var(--color-brand-500)] to-transparent opacity-0 transition-opacity duration-[var(--transition-duration-fast)] group-hover:opacity-100" />
|
|
10
11
|
{icon ? (
|
|
11
12
|
<div className="mb-6 flex h-12 w-12 items-center justify-center rounded-button border border-[var(--color-border-default)] bg-[var(--color-surface-100)] text-[var(--color-brand-600)] shadow-[var(--shadow-glow-sm)] transition-colors group-hover:border-[var(--color-brand-500)] group-hover:text-[var(--color-brand-500)]">
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Container } from '@/components/elements/Container';
|
|
2
2
|
import { type ContentProps } from '@/cms/contracts/components/featureGrid.contract';
|
|
3
|
+
import type { RootIdentityProps } from '@gradial/aci';
|
|
3
4
|
import type { RenderChildren } from '@gradial/aci/react';
|
|
4
5
|
|
|
5
6
|
export async function FeatureGrid({
|
|
@@ -7,12 +8,13 @@ export async function FeatureGrid({
|
|
|
7
8
|
subtitle = '',
|
|
8
9
|
features,
|
|
9
10
|
renderChildren,
|
|
10
|
-
|
|
11
|
+
...root
|
|
12
|
+
}: ContentProps & RootIdentityProps & { renderChildren: RenderChildren<NonNullable<ContentProps['features']>> }) {
|
|
11
13
|
const count = features?.length ?? 0;
|
|
12
14
|
const cols = count <= 2 ? 'sm:grid-cols-2' : 'sm:grid-cols-2 lg:grid-cols-3';
|
|
13
15
|
|
|
14
16
|
return (
|
|
15
|
-
<section className="theme-light relative overflow-hidden py-[var(--spacing-section-y)] bg-[var(--color-white)]">
|
|
17
|
+
<section className="theme-light relative overflow-hidden py-[var(--spacing-section-y)] bg-[var(--color-white)]" {...root}>
|
|
16
18
|
<div className="pointer-events-none absolute inset-0 bg-[image:var(--gradient-hero-base)] opacity-50" />
|
|
17
19
|
<Container className="relative">
|
|
18
20
|
<div className="mb-14 max-w-[var(--max-width-container-narrow)]">
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { Button } from '@/components/elements/Button';
|
|
2
2
|
import { Container } from '@/components/elements/Container';
|
|
3
|
-
import { primaryImageSource } from '@gradial/aci';
|
|
3
|
+
import { primaryImageSource, type RootIdentityProps } from '@gradial/aci';
|
|
4
4
|
import type { ContentProps } from '@/cms/contracts/components/homeHero.contract';
|
|
5
5
|
|
|
6
6
|
type HeroImage = NonNullable<ContentProps['image']>;
|
|
7
7
|
|
|
8
|
-
export type HomeHeroProps = Omit<ContentProps, 'image'> & { image?: HeroImage };
|
|
8
|
+
export type HomeHeroProps = Omit<ContentProps, 'image'> & { image?: HeroImage } & RootIdentityProps;
|
|
9
9
|
|
|
10
|
-
export function HomeHero({ eyebrow = '', headline = '', description = '', ctaLabel = '', ctaHref = '#', image }: HomeHeroProps) {
|
|
10
|
+
export function HomeHero({ eyebrow = '', headline = '', description = '', ctaLabel = '', ctaHref = '#', image, ...root }: HomeHeroProps) {
|
|
11
11
|
const imageSrc = heroImageSrc(image);
|
|
12
12
|
const imageAlt = image?.alt || headline;
|
|
13
13
|
|
|
14
14
|
return (
|
|
15
15
|
<section
|
|
16
|
+
{...root}
|
|
16
17
|
className="theme-light relative flex min-h-[var(--height-hero-min)] items-center bg-cover bg-center"
|
|
17
18
|
aria-label={imageAlt}
|
|
18
19
|
style={{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
|
+
import type { RootIdentityProps } from '@gradial/aci';
|
|
4
5
|
import type { ContentProps } from '@/cms/contracts/components/personalizationChoice.contract';
|
|
5
6
|
|
|
6
7
|
type AciWindow = Window & { aci?: (command: string, value: unknown) => void };
|
|
@@ -15,7 +16,8 @@ export function PersonalizationChoice({
|
|
|
15
16
|
redLabel,
|
|
16
17
|
blueLabel,
|
|
17
18
|
refreshLabel,
|
|
18
|
-
|
|
19
|
+
...root
|
|
20
|
+
}: ContentProps & RootIdentityProps) {
|
|
19
21
|
const [consent, setConsent] = useState(false);
|
|
20
22
|
const [marker, setMarker] = useState(false);
|
|
21
23
|
|
|
@@ -30,7 +32,7 @@ export function PersonalizationChoice({
|
|
|
30
32
|
}, []);
|
|
31
33
|
|
|
32
34
|
return (
|
|
33
|
-
<section className="border-y border-[var(--color-border)] bg-[var(--color-surface)] py-[var(--spacing-section-y)]">
|
|
35
|
+
<section className="border-y border-[var(--color-border)] bg-[var(--color-surface)] py-[var(--spacing-section-y)]" {...root}>
|
|
34
36
|
<div className="mx-auto max-w-[var(--layout-content-max)] px-[var(--layout-gutter)] text-center">
|
|
35
37
|
<h2 className="text-[length:var(--text-h2)] font-[var(--font-weight-semibold)] text-[var(--color-fg)]">{title}</h2>
|
|
36
38
|
{description ? <p className="mx-auto mt-3 max-w-2xl text-[var(--color-fg-muted)]">{description}</p> : null}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Container } from '@/components/elements/Container';
|
|
2
|
+
import type { RootIdentityProps } from '@gradial/aci';
|
|
2
3
|
import type { ContentProps } from '@/cms/contracts/components/statsBar.contract';
|
|
3
4
|
|
|
4
|
-
export type StatsBarProps = ContentProps;
|
|
5
|
+
export type StatsBarProps = ContentProps & RootIdentityProps;
|
|
5
6
|
|
|
6
|
-
export function StatsBar({ stats = [] }: StatsBarProps) {
|
|
7
|
+
export function StatsBar({ stats = [], ...root }: StatsBarProps) {
|
|
7
8
|
return (
|
|
8
|
-
<section className="theme-light relative border-y border-[var(--color-border-default)] bg-[var(--color-surface-100)] py-[var(--spacing-section-y)]">
|
|
9
|
+
<section {...root} className="theme-light relative border-y border-[var(--color-border-default)] bg-[var(--color-surface-100)] py-[var(--spacing-section-y)]">
|
|
9
10
|
<div className="pointer-events-none absolute inset-0 bg-[image:var(--gradient-hero-base)] opacity-40" />
|
|
10
11
|
<Container className="relative">
|
|
11
12
|
<div className="grid gap-10 sm:grid-cols-2 lg:grid-cols-4">
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import SiteLayout from '../layouts/SiteLayout.astro';
|
|
3
|
-
import type { KernelPage, KernelSiteConfig } from '@gradial/aci/content';
|
|
4
|
-
import { registryLookup, collectScriptTagHTML } from '@gradial/aci/astro';
|
|
5
|
-
import { registry } from '../cms/registry';
|
|
6
|
-
import Header from '../components/chrome/Header.astro';
|
|
7
|
-
import Footer from '../components/chrome/Footer.astro';
|
|
8
|
-
|
|
9
|
-
interface RenderInput {
|
|
10
|
-
route: string;
|
|
11
|
-
domain: string;
|
|
12
|
-
locale: string;
|
|
13
|
-
siteConfig: KernelSiteConfig;
|
|
14
|
-
page: KernelPage;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
interface Props {
|
|
18
|
-
input: RenderInput;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const { input } = Astro.props;
|
|
22
|
-
const { siteConfig, page } = input;
|
|
23
|
-
const title = page.metadata?.title || siteConfig.seo?.title || siteConfig.title;
|
|
24
|
-
const description = page.metadata?.description || siteConfig.seo?.description || '';
|
|
25
|
-
const canonical = page.metadata?.canonical;
|
|
26
|
-
const siteName = siteConfig.seo?.siteName || siteConfig.title;
|
|
27
|
-
const collectTag = collectScriptTagHTML(siteConfig);
|
|
28
|
-
|
|
29
|
-
const footer = siteConfig.footer || {};
|
|
30
|
-
const blocks = page?.regions?.main || [];
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
<SiteLayout {title} {description} {canonical} {siteName} {collectTag}>
|
|
34
|
-
<Header
|
|
35
|
-
brandHref={siteConfig.brandHref || '/'}
|
|
36
|
-
brandLabel={siteConfig.title || 'Gradial'}
|
|
37
|
-
brandLogo={siteConfig.brandLogo || null}
|
|
38
|
-
navigation={(siteConfig.navigation || []) as any}
|
|
39
|
-
utilities={(siteConfig.utilities || []) as any}
|
|
40
|
-
/>
|
|
41
|
-
|
|
42
|
-
<main id="content-main">
|
|
43
|
-
{page && page.status === 'published' ? (
|
|
44
|
-
blocks.map((block) => {
|
|
45
|
-
// Astro's type checker can't validate dynamically resolved components,
|
|
46
|
-
// so we cast to any. The registry is type-safe at registration time.
|
|
47
|
-
const Component = registryLookup(registry, block.component) as any;
|
|
48
|
-
return Component ? <Component {...block.props} /> : null;
|
|
49
|
-
})
|
|
50
|
-
) : (
|
|
51
|
-
<section class="mx-auto max-w-container-narrow px-[var(--spacing-container)] py-[var(--spacing-section-y)] text-center">
|
|
52
|
-
<h1 class="[font-family:var(--font-family-heading)] text-[length:var(--text-size-h2-mobile)] font-[var(--font-weight-semibold)] leading-heading md:text-[length:var(--text-size-h2)]">Page not found</h1>
|
|
53
|
-
<p class="mt-5 text-[length:var(--text-size-body)] text-[color:var(--color-fg-secondary)]">The requested content route is not available in the local content kernel.</p>
|
|
54
|
-
</section>
|
|
55
|
-
)}
|
|
56
|
-
</main>
|
|
57
|
-
|
|
58
|
-
<Footer
|
|
59
|
-
brandHref={siteConfig.brandHref || '/'}
|
|
60
|
-
brandLabel={siteConfig.title || 'Gradial'}
|
|
61
|
-
brandLogo={siteConfig.brandLogo || null}
|
|
62
|
-
social={(footer.social || []) as any}
|
|
63
|
-
columns={(footer.columns || []) as any}
|
|
64
|
-
legalLinks={(footer.legalLinks || []) as any}
|
|
65
|
-
copyright={String(footer.copyright || '')}
|
|
66
|
-
/>
|
|
67
|
-
</SiteLayout>
|
package/templates/common/starter-content/.content/patterns/components/personalization_choice.json
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$type": "componentPattern",
|
|
3
|
-
"buildId": "codebuild_01a017ed-c52f-703a-a6b4-a0943c057d31",
|
|
4
|
-
"codeDigest": "sha256:119dd8414ca342ca67f4dd4703dcb504630220bbdca9130b1501ee7b25693134",
|
|
5
|
-
"name": "personalization_choice",
|
|
6
|
-
"schema": {
|
|
7
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
8
|
-
"title": "personalization_choice",
|
|
9
|
-
"type": "object",
|
|
10
|
-
"properties": {
|
|
11
|
-
"title": {
|
|
12
|
-
"type": "string",
|
|
13
|
-
"minLength": 1
|
|
14
|
-
},
|
|
15
|
-
"description": {
|
|
16
|
-
"type": "string"
|
|
17
|
-
},
|
|
18
|
-
"redLabel": {
|
|
19
|
-
"type": "string",
|
|
20
|
-
"minLength": 1
|
|
21
|
-
},
|
|
22
|
-
"blueLabel": {
|
|
23
|
-
"type": "string",
|
|
24
|
-
"minLength": 1
|
|
25
|
-
},
|
|
26
|
-
"refreshLabel": {
|
|
27
|
-
"type": "string",
|
|
28
|
-
"minLength": 1
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"required": [
|
|
32
|
-
"title",
|
|
33
|
-
"redLabel",
|
|
34
|
-
"blueLabel",
|
|
35
|
-
"refreshLabel"
|
|
36
|
-
],
|
|
37
|
-
"additionalProperties": false
|
|
38
|
-
},
|
|
39
|
-
"imageSlots": {},
|
|
40
|
-
"notes": "",
|
|
41
|
-
"skills": []
|
|
42
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { KernelAtomicBlock } from '@gradial/aci/content';
|
|
2
|
-
import { ButtonBlock } from './ButtonBlock';
|
|
3
|
-
|
|
4
|
-
interface AtomicBlockProps {
|
|
5
|
-
block: KernelAtomicBlock;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function AtomicBlock({ block }: AtomicBlockProps) {
|
|
9
|
-
if (block.component === 'button') {
|
|
10
|
-
return <ButtonBlock {...block.props as Parameters<typeof ButtonBlock>[0]} />;
|
|
11
|
-
}
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|