Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"sortImports": {},
"jsdoc": {}
}
46 changes: 0 additions & 46 deletions .prettierignore

This file was deleted.

21 changes: 0 additions & 21 deletions .prettierrc

This file was deleted.

495 changes: 191 additions & 304 deletions CHANGELOG.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions e2e-projects/nextjs/app/PrismicImage/client/ClientTest.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"use client";

import type { ReactNode } from "react";
import { useState } from "react";
import type { ImageField } from "@prismicio/client";
import { PrismicImage } from "@prismicio/react";
import type { ReactNode } from "react";
import { useState } from "react";

export function ClientTest(props: { field: ImageField }): ReactNode {
const { field } = props;
Expand Down
6 changes: 4 additions & 2 deletions e2e-projects/nextjs/app/PrismicImage/client/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import type { ReactNode } from "react";
import { isFilled } from "@prismicio/client";
import assert from "assert";

import { isFilled } from "@prismicio/client";
import type { ReactNode } from "react";

import { createClient } from "@/prismicio";

import { ClientTest } from "./ClientTest";

export default async function Page(): Promise<ReactNode> {
Expand Down
44 changes: 10 additions & 34 deletions e2e-projects/nextjs/app/PrismicImage/page.tsx
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
import type { ReactNode } from "react";
import assert from "assert";

import { isFilled } from "@prismicio/client";
import { PrismicImage } from "@prismicio/react";
import assert from "assert";
import type { ReactNode } from "react";

import { createClient } from "@/prismicio";

export default async function Page(): Promise<ReactNode> {
const client = await createClient();
const { data: tests } = await client.getSingle("image_test");

assert(
isFilled.image(tests.with_alt_text) && tests.with_alt_text.alt !== null,
);
assert(
isFilled.image(tests.without_alt_text) &&
tests.without_alt_text.alt === null,
);
assert(isFilled.image(tests.with_alt_text) && tests.with_alt_text.alt !== null);
assert(isFilled.image(tests.without_alt_text) && tests.without_alt_text.alt === null);
assert(isFilled.image(tests.filled));
assert(!isFilled.image(tests.empty));
assert(
Expand All @@ -37,27 +33,15 @@ export default async function Page(): Promise<ReactNode> {
<PrismicImage field={tests.empty} fallback="foo" />
</div>

<PrismicImage
data-testid="widths"
field={tests.filled}
widths={[100, 200, 300]}
/>
<PrismicImage
data-testid="default-widths"
field={tests.filled}
widths="defaults"
/>
<PrismicImage data-testid="widths" field={tests.filled} widths={[100, 200, 300]} />
<PrismicImage data-testid="default-widths" field={tests.filled} widths="defaults" />
<PrismicImage
data-testid="thumbnail-widths"
field={tests.with_thumbnails}
widths="thumbnails"
/>

<PrismicImage
data-testid="pixel-densities"
field={tests.filled}
pixelDensities={[9, 10]}
/>
<PrismicImage data-testid="pixel-densities" field={tests.filled} pixelDensities={[9, 10]} />
<PrismicImage
data-testid="default-pixel-densities"
field={tests.filled}
Expand All @@ -79,17 +63,9 @@ export default async function Page(): Promise<ReactNode> {
field={tests.without_alt_text}
fallbackAlt=""
/>
<PrismicImage
data-testid="with-decorative-alt"
field={tests.without_alt_text}
alt=""
/>
<PrismicImage data-testid="with-decorative-alt" field={tests.without_alt_text} alt="" />

<PrismicImage
data-testid="imgix"
field={tests.filled}
imgixParams={{ sat: -100 }}
/>
<PrismicImage data-testid="imgix" field={tests.filled} imgixParams={{ sat: -100 }} />
<PrismicImage
data-testid="imgix-override"
field={tests.with_crop}
Expand Down
2 changes: 1 addition & 1 deletion e2e-projects/nextjs/app/PrismicLink/client/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"use client";

import { PrismicLink } from "@prismicio/react";
import type { ReactNode } from "react";
import { useState } from "react";
import { PrismicLink } from "@prismicio/react";

export default function Page(): ReactNode {
const [ref, setRef] = useState<Element | null>(null);
Expand Down
37 changes: 10 additions & 27 deletions e2e-projects/nextjs/app/PrismicLink/page.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
import type { ReactNode } from "react";
import Link from "next/link";
import assert from "assert";

import { isFilled } from "@prismicio/client";
import { PrismicLink } from "@prismicio/react";
import assert from "assert";
import Link from "next/link";
import type { ReactNode } from "react";

import { createClient } from "@/prismicio";

export default async function Page(): Promise<ReactNode> {
const client = await createClient();
const { data: tests } = await client.getSingle("link_test");
assert(
isFilled.link(tests.document) &&
tests.document.link_type === "Document" &&
tests.document.url,
isFilled.link(tests.document) && tests.document.link_type === "Document" && tests.document.url,
);
const doc = await client.getByID(tests.document.id);

Expand All @@ -37,10 +36,7 @@ export default async function Page(): Promise<ReactNode> {

return (
<>
<PrismicLink
data-testid="document-link-with-route-resolver"
field={tests.document}
/>
<PrismicLink data-testid="document-link-with-route-resolver" field={tests.document} />
<PrismicLink
data-testid="document-link-with-link-resolver"
field={tests.document}
Expand All @@ -49,10 +45,7 @@ export default async function Page(): Promise<ReactNode> {

<PrismicLink data-testid="media-link" field={tests.media} />

<PrismicLink
data-testid="document-prop-with-route-resolver"
document={doc}
/>
<PrismicLink data-testid="document-prop-with-route-resolver" document={doc} />
<PrismicLink
data-testid="document-prop-with-link-resolver"
document={doc}
Expand All @@ -61,20 +54,13 @@ export default async function Page(): Promise<ReactNode> {

<PrismicLink data-testid="internal-web" field={tests.internal_web} />
<PrismicLink data-testid="external-web" field={tests.external_web} />
<PrismicLink
data-testid="external-web-with-target"
field={tests.external_web_with_target}
/>
<PrismicLink data-testid="external-web-with-target" field={tests.external_web_with_target} />
<PrismicLink
data-testid="external-web-with-target-override"
field={tests.external_web_with_target}
target="foo"
/>
<PrismicLink
data-testid="external-web-with-rel-prop"
field={tests.external_web}
rel="foo"
/>
<PrismicLink data-testid="external-web-with-rel-prop" field={tests.external_web} rel="foo" />
<PrismicLink
data-testid="external-web-with-removed-rel"
field={tests.external_web}
Expand All @@ -86,10 +72,7 @@ export default async function Page(): Promise<ReactNode> {
rel={(payload) => JSON.stringify(payload)}
/>

<PrismicLink
data-testid="external-href-prop"
href="https://example.com"
/>
<PrismicLink data-testid="external-href-prop" href="https://example.com" />
<PrismicLink data-testid="internal-href-prop" href="/example" />
{/* @ts-expect-error - We are purposely providing an invalid `href` value. */}
<PrismicLink data-testid="falsy-href-prop" href={undefined} />
Expand Down
9 changes: 4 additions & 5 deletions e2e-projects/nextjs/app/PrismicRichText/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import type { ReactNode } from "react";
import assert from "assert";

import { isFilled } from "@prismicio/client";
import { PrismicRichText } from "@prismicio/react";
import assert from "assert";
import type { ReactNode } from "react";

import { createClient } from "@/prismicio";

Expand Down Expand Up @@ -218,9 +219,7 @@ export default async function Page(): Promise<ReactNode> {
<PrismicRichText
field={tests.embed}
components={{
embed: ({ node }) => (
<div data-bar data-html={node.oembed.html} />
),
embed: ({ node }) => <div data-bar data-html={node.oembed.html} />,
}}
/>
</div>
Expand Down
17 changes: 6 additions & 11 deletions e2e-projects/nextjs/app/PrismicTable/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import type { ReactNode } from "react";
import assert from "assert";

import { isFilled } from "@prismicio/client";
import { PrismicTable } from "@prismicio/react";
import assert from "assert";
import type { ReactNode } from "react";

import { createClient } from "@/prismicio";

Expand Down Expand Up @@ -44,15 +45,9 @@ export default async function Page(): Promise<ReactNode> {
<PrismicTable
field={tests.filled}
components={{
table: ({ children }) => (
<table className="table">{children}</table>
),
paragraph: ({ children }) => (
<p className="paragraph">{children}</p>
),
strong: ({ children }) => (
<span className="strong">{children}</span>
),
table: ({ children }) => <table className="table">{children}</table>,
paragraph: ({ children }) => <p className="paragraph">{children}</p>,
strong: ({ children }) => <span className="strong">{children}</span>,
em: ({ children }) => <span className="em">{children}</span>,
}}
/>
Expand Down
5 changes: 3 additions & 2 deletions e2e-projects/nextjs/app/PrismicText/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import type { ReactNode } from "react";
import assert from "assert";

import { isFilled } from "@prismicio/client";
import { PrismicText } from "@prismicio/react";
import assert from "assert";
import type { ReactNode } from "react";

import { createClient } from "@/prismicio";

Expand Down
2 changes: 1 addition & 1 deletion e2e-projects/nextjs/app/PrismicToolbar/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { ReactNode } from "react";
import { PrismicToolbar } from "@prismicio/react";
import type { ReactNode } from "react";

import { createClient } from "@/prismicio";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
"use client";

import { type ReactNode, useState } from "react";
import { PrismicToolbar } from "@prismicio/react";
import { type ReactNode, useState } from "react";

export function PrismicToolbarPreviewEvents(props: {
repositoryName: string;
}): ReactNode {
export function PrismicToolbarPreviewEvents(props: { repositoryName: string }): ReactNode {
const [updateCount, setUpdateCount] = useState(0);
const [endCount, setEndCount] = useState(0);
const [updateRef, setUpdateRef] = useState<string>("");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import type { ReactNode } from "react";

import { createClient } from "@/prismicio";

import { PrismicToolbarPreviewEvents } from "./PrismicToolbarPreviewEvents";

export default async function Page(): Promise<ReactNode> {
const client = await createClient();

return (
<PrismicToolbarPreviewEvents repositoryName={client.repositoryName} />
);
return <PrismicToolbarPreviewEvents repositoryName={client.repositoryName} />;
}
Loading
Loading