diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d11bc42..241562c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,20 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [7.16.0-alpha.1](https://github.com/prismicio/prismic-client/compare/v7.16.0-alpha.0...v7.16.0-alpha.1) (2025-01-24) + +## [7.16.0-alpha.0](https://github.com/prismicio/prismic-client/compare/v7.15.1...v7.16.0-alpha.0) (2025-01-21) + + +### Features + +* add table field model ([d656a82](https://github.com/prismicio/prismic-client/commit/d656a82145e4786294b804da9d722d6dd49067f9)) + + +### Chore + +* update types-internal dep ([3e20131](https://github.com/prismicio/prismic-client/commit/3e20131ce4859e36569d3ea7e0536ee68a5bb003)) + ### [7.15.1](https://github.com/prismicio/prismic-client/compare/v7.15.0...v7.15.1) (2025-01-16) diff --git a/package-lock.json b/package-lock.json index 3951f7e6..5c71911d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,19 @@ { "name": "@prismicio/client", - "version": "7.15.1", + "version": "7.16.0-alpha.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@prismicio/client", - "version": "7.15.1", + "version": "7.16.0-alpha.1", "license": "Apache-2.0", "dependencies": { "imgix-url-builder": "^0.0.5" }, "devDependencies": { - "@prismicio/mock": "^0.3.9", - "@prismicio/types-internal": "3.1.0", + "@prismicio/mock": "0.7.0-alpha.7", + "@prismicio/types-internal": "3.4.0-alpha.2", "@size-limit/preset-small-lib": "^11.1.6", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@typescript-eslint/eslint-plugin": "^6.21.0", @@ -1425,14 +1425,11 @@ } }, "node_modules/@prismicio/mock": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@prismicio/mock/-/mock-0.3.9.tgz", - "integrity": "sha512-gZPuacdWJsNZmI+EQx2NB5c7cqUUK+3vht/Uu9OjbRILOmzoZZ5crArhudoLO1POf+x1DNx3PA5BGO2UtyizoA==", + "version": "0.7.0-alpha.7", + "resolved": "https://registry.npmjs.org/@prismicio/mock/-/mock-0.7.0-alpha.7.tgz", + "integrity": "sha512-9UZ+umZN99nIu36Z37nUsVZanufzJla9H2Ta9FnjlgNka8BmXD32pQ7ffe+S0N1LURY++wP+g4LYf7HDe/1YiA==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "change-case": "^5.4.4" - }, "engines": { "node": ">=18" }, @@ -1441,9 +1438,9 @@ } }, "node_modules/@prismicio/types-internal": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@prismicio/types-internal/-/types-internal-3.1.0.tgz", - "integrity": "sha512-b7IQOUaOKLmLV1tSzwbyG2vqm9PZhPs9izSf61X7z6eK8KtSzUgJ8KpjnVdFwomONu6CPn+q0nJMtMFXg3P7QA==", + "version": "3.4.0-alpha.2", + "resolved": "https://registry.npmjs.org/@prismicio/types-internal/-/types-internal-3.4.0-alpha.2.tgz", + "integrity": "sha512-g+fjSGsub5/3GqqXE2Ai4JXsNJhS9QSJhBdkJ6/5LmIo/CaTku+tO2oEkvChFxGsjiAgYNqILzynL6AmlQznJA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3088,13 +3085,6 @@ "node": ">=4" } }, - "node_modules/change-case": { - "version": "5.4.4", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz", - "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==", - "dev": true, - "license": "MIT" - }, "node_modules/character-entities": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", diff --git a/package.json b/package.json index 016983d5..3957b64d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@prismicio/client", - "version": "7.15.1", + "version": "7.16.0-alpha.1", "description": "The official JavaScript + TypeScript client library for Prismic", "keywords": [ "typescript", @@ -82,8 +82,8 @@ "imgix-url-builder": "^0.0.5" }, "devDependencies": { - "@prismicio/mock": "^0.3.9", - "@prismicio/types-internal": "3.1.0", + "@prismicio/mock": "0.7.0-alpha.7", + "@prismicio/types-internal": "3.4.0-alpha.2", "@size-limit/preset-small-lib": "^11.1.6", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@typescript-eslint/eslint-plugin": "^6.21.0", diff --git a/src/helpers/isFilled.ts b/src/helpers/isFilled.ts index 38723756..1137b06b 100644 --- a/src/helpers/isFilled.ts +++ b/src/helpers/isFilled.ts @@ -15,6 +15,7 @@ import type { SelectField } from "../types/value/select" import type { SharedSlice } from "../types/value/sharedSlice" import type { Slice } from "../types/value/slice" import type { SliceZone } from "../types/value/sliceZone" +import type { TableField } from "../types/value/table" import type { TimestampField } from "../types/value/timestamp" import type { TitleField } from "../types/value/title" import type { AnyRegularField, Repeatable } from "../types/value/types" @@ -248,6 +249,17 @@ export const geoPoint = ( return isNonNullish(field) && "longitude" in field } +/** + * Determines if a table field is filled. + * + * @param field - Table field to check. + * + * @returns `true` if `field` is filled, `false` otherwise. + */ +export const table = isNonNullish as ( + field: TableField | null | undefined, +) => field is TableField<"filled"> + /** * Determines if an integration field is filled. * diff --git a/src/index.ts b/src/index.ts index 02e613ea..1bb9f250 100644 --- a/src/index.ts +++ b/src/index.ts @@ -227,6 +227,7 @@ export type { NumberField } from "./types/value/number" export type { SelectField } from "./types/value/select" export type { TimestampField } from "./types/value/timestamp" export type { GeoPointField } from "./types/value/geoPoint" +export type { TableField } from "./types/value/table" /** * @deprecated Renamed to `IntegrationField` @@ -288,6 +289,7 @@ export type { CustomTypeModelNumberField } from "./types/model/number" export type { CustomTypeModelSelectField } from "./types/model/select" export type { CustomTypeModelTimestampField } from "./types/model/timestamp" export type { CustomTypeModelGeoPointField } from "./types/model/geoPoint" +export type { CustomTypeModelTableField } from "./types/model/table" /** * @deprecated Renamed to `CustomTypeModelIntegrationField`. diff --git a/src/types/model/table.ts b/src/types/model/table.ts new file mode 100644 index 00000000..fec2baa7 --- /dev/null +++ b/src/types/model/table.ts @@ -0,0 +1,13 @@ +import type { CustomTypeModelFieldType } from "./types" + +/** + * A table custom type field. + * + * More details: {@link https://prismic.io/docs/table} + */ +export interface CustomTypeModelTableField { + type: typeof CustomTypeModelFieldType.Table + config?: { + label?: string | null + } +} diff --git a/src/types/model/types.ts b/src/types/model/types.ts index 86e83081..9cf8e46f 100644 --- a/src/types/model/types.ts +++ b/src/types/model/types.ts @@ -19,6 +19,7 @@ import type { CustomTypeModelRichTextField } from "./richText" import type { CustomTypeModelSelectField } from "./select" import type { CustomTypeModelSeparatorField } from "./separator" import type { CustomTypeModelSliceZoneField } from "./sliceZone" +import type { CustomTypeModelTableField } from "./table" import type { CustomTypeModelTimestampField } from "./timestamp" import type { CustomTypeModelTitleField } from "./title" import type { CustomTypeModelUIDField } from "./uid" @@ -40,6 +41,7 @@ export const CustomTypeModelFieldType = { Select: "Select", Slices: "Slices", StructuredText: "StructuredText", + Table: "Table", Text: "Text", Timestamp: "Timestamp", UID: "UID", @@ -102,6 +104,7 @@ export type CustomTypeModelFieldForNestedGroup = | CustomTypeModelRangeField | CustomTypeModelSelectField | CustomTypeModelRichTextField + | CustomTypeModelTableField | CustomTypeModelTitleField | CustomTypeModelKeyTextField | CustomTypeModelTimestampField diff --git a/src/types/value/table.ts b/src/types/value/table.ts new file mode 100644 index 00000000..2355d384 --- /dev/null +++ b/src/types/value/table.ts @@ -0,0 +1,64 @@ +import type { FieldState } from "./types" + +import type { RichTextField } from "./richText" + +/** + * A table field. + * + * @typeParam State - State of the field which determines its shape. + * + * @see More details: {@link https://prismic.io/docs/table} + */ +export type TableField = + State extends "empty" + ? null + : { + /** + * The header of the table. + */ + head?: { + rows: TableHeaderRow[] + } + /** + * The body of the table. + */ + body: { + rows: TableDataRow[] + } + } + +/** + * Represents a row in a table header. + */ +export type TableHeaderRow = { + /** + * Cells in the row. + */ + cells: TableHeaderCell[] +} + +/** + * Represents a cell in a table header. + */ +export type TableHeaderCell = { + type: "header" + content: RichTextField +} + +/** + * Represents a row in a table body. + */ +export type TableDataRow = { + /** + * Cells in the row. + */ + cells: (TableHeaderCell | TableDataCell)[] +} + +/** + * Represents a cell in a table body. + */ +export type TableDataCell = { + type: "data" + content: RichTextField +} diff --git a/test/__snapshots__/writeClient-migrate-patch-contentRelationship.test.ts.snap b/test/__snapshots__/writeClient-migrate-patch-contentRelationship.test.ts.snap index a0e6852e..b00b2a2a 100644 --- a/test/__snapshots__/writeClient-migrate-patch-contentRelationship.test.ts.snap +++ b/test/__snapshots__/writeClient-migrate-patch-contentRelationship.test.ts.snap @@ -45,8 +45,8 @@ exports[`patches content relationship fields (from Prismic) > broken > shared sl ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -74,7 +74,7 @@ exports[`patches content relationship fields (from Prismic) > broken > slice 1`] "link_type": "Document", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -132,8 +132,8 @@ exports[`patches content relationship fields (from Prismic) > simple > shared sl ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -159,7 +159,7 @@ exports[`patches content relationship fields (from Prismic) > simple > slice 1`] "link_type": "Document", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -220,8 +220,8 @@ exports[`patches content relationship fields (from Prismic) > withText > shared ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -249,7 +249,7 @@ exports[`patches content relationship fields (from Prismic) > withText > slice 1 "text": "foo", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -311,8 +311,8 @@ exports[`patches content relationship fields (from Prismic) > withVariant > shar ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -340,7 +340,7 @@ exports[`patches content relationship fields (from Prismic) > withVariant > slic "variant": "Secondary", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -398,8 +398,8 @@ exports[`patches content relationship fields > existing > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -425,7 +425,7 @@ exports[`patches content relationship fields > existing > slice 1`] = ` "link_type": "Document", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -482,8 +482,8 @@ exports[`patches content relationship fields > existingLongForm > shared slice 1 ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -509,7 +509,7 @@ exports[`patches content relationship fields > existingLongForm > slice 1`] = ` "link_type": "Document", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -570,8 +570,8 @@ exports[`patches content relationship fields > existingLongFormWithText > shared ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -599,7 +599,7 @@ exports[`patches content relationship fields > existingLongFormWithText > slice "text": "foo", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -661,8 +661,8 @@ exports[`patches content relationship fields > existingLongFormWithVariant > sha ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -690,7 +690,7 @@ exports[`patches content relationship fields > existingLongFormWithVariant > sli "variant": "Secondary", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -748,8 +748,8 @@ exports[`patches content relationship fields > lazyExisting > shared slice 1`] = ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -775,7 +775,7 @@ exports[`patches content relationship fields > lazyExisting > slice 1`] = ` "link_type": "Document", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -832,8 +832,8 @@ exports[`patches content relationship fields > lazyOtherCreate > shared slice 1` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -859,7 +859,7 @@ exports[`patches content relationship fields > lazyOtherCreate > slice 1`] = ` "link_type": "Document", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -912,8 +912,8 @@ exports[`patches content relationship fields > lazyOtherCreateMissingID > shared ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -937,7 +937,7 @@ exports[`patches content relationship fields > lazyOtherCreateMissingID > slice "link_type": "Any", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -993,8 +993,8 @@ exports[`patches content relationship fields > otherCreate > shared slice 1`] = ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1020,7 +1020,7 @@ exports[`patches content relationship fields > otherCreate > slice 1`] = ` "link_type": "Document", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -1149,8 +1149,8 @@ exports[`patches content relationship fields > richTextLinkNode > shared slice 1 ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1212,7 +1212,7 @@ exports[`patches content relationship fields > richTextLinkNode > slice 1`] = ` }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], diff --git a/test/__snapshots__/writeClient-migrate-patch-image.test.ts.snap b/test/__snapshots__/writeClient-migrate-patch-image.test.ts.snap index 3662a201..f520c84b 100644 --- a/test/__snapshots__/writeClient-migrate-patch-image.test.ts.snap +++ b/test/__snapshots__/writeClient-migrate-patch-image.test.ts.snap @@ -53,8 +53,8 @@ exports[`patches image fields (from Prismic) > empty > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -86,7 +86,7 @@ exports[`patches image fields (from Prismic) > empty > slice 1`] = ` "url": null, }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -110,7 +110,7 @@ exports[`patches image fields (from Prismic) > simple > group 1`] = ` "group": [ { "field": { - "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan in nisl nisi scelerisque eu", + "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan nisl nisi scelerisque eu ultrices", "copyright": null, "dimensions": { "height": 1, @@ -138,7 +138,7 @@ exports[`patches image fields (from Prismic) > simple > shared slice 1`] = ` "items": [ { "field": { - "alt": "Nam libero justo laoreet sit amet cursus sit amet dictum sit", + "alt": "Ut consequat semper viverra nam libero justo laoreet sit amet cursus", "copyright": null, "dimensions": { "height": 1, @@ -157,7 +157,7 @@ exports[`patches image fields (from Prismic) > simple > shared slice 1`] = ` ], "primary": { "field": { - "alt": "Massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum dolor sit", + "alt": "Pharetra pharetra massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum", "copyright": null, "dimensions": { "height": 1, @@ -194,8 +194,8 @@ exports[`patches image fields (from Prismic) > simple > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -229,7 +229,7 @@ exports[`patches image fields (from Prismic) > simple > slice 1`] = ` ], "primary": { "field": { - "alt": "Tincidunt vitae semper quis lectus", + "alt": "Ac tincidunt vitae semper quis", "copyright": null, "dimensions": { "height": 1, @@ -245,7 +245,7 @@ exports[`patches image fields (from Prismic) > simple > slice 1`] = ` "url": "https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -255,7 +255,7 @@ exports[`patches image fields (from Prismic) > simple > slice 1`] = ` exports[`patches image fields (from Prismic) > simple > static zone 1`] = ` { "field": { - "alt": "Velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut etiam sit", + "alt": "Id interdum velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut", "copyright": null, "dimensions": { "height": 1, @@ -278,7 +278,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > group "group": [ { "field": { - "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan in nisl nisi scelerisque eu", + "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan nisl nisi scelerisque eu ultrices", "copyright": null, "dimensions": { "height": 1, @@ -292,7 +292,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > group }, "id": "d0985c09900", "type": { - "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan in nisl nisi scelerisque eu", + "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan nisl nisi scelerisque eu ultrices", "copyright": null, "dimensions": { "height": 1, @@ -322,7 +322,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > shared "items": [ { "field": { - "alt": "Nam libero justo laoreet sit amet cursus sit amet dictum sit", + "alt": "Ut consequat semper viverra nam libero justo laoreet sit amet cursus", "copyright": null, "dimensions": { "height": 1, @@ -336,7 +336,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > shared }, "id": "b35eaa8ebee", "type": { - "alt": "Nam libero justo laoreet sit amet cursus sit amet dictum sit", + "alt": "Ut consequat semper viverra nam libero justo laoreet sit amet cursus", "copyright": null, "dimensions": { "height": 1, @@ -357,7 +357,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > shared ], "primary": { "field": { - "alt": "Massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum dolor sit", + "alt": "Pharetra pharetra massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum", "copyright": null, "dimensions": { "height": 1, @@ -371,7 +371,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > shared }, "id": "b35eaa8ebee", "type": { - "alt": "Massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum dolor sit", + "alt": "Pharetra pharetra massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum", "copyright": null, "dimensions": { "height": 1, @@ -426,8 +426,8 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > shared ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -477,7 +477,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > slice ], "primary": { "field": { - "alt": "Tincidunt vitae semper quis lectus", + "alt": "Ac tincidunt vitae semper quis", "copyright": null, "dimensions": { "height": 1, @@ -491,7 +491,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > slice }, "id": "07a35bc5aa2", "type": { - "alt": "Tincidunt vitae semper quis lectus", + "alt": "Ac tincidunt vitae semper quis", "copyright": null, "dimensions": { "height": 1, @@ -509,7 +509,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > slice "url": "https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg?some=query", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -519,7 +519,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > slice exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > static zone 1`] = ` { "field": { - "alt": "Velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut etiam sit", + "alt": "Id interdum velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut", "copyright": null, "dimensions": { "height": 1, @@ -533,7 +533,7 @@ exports[`patches image fields (from Prismic) > withSpecialTypeThumbnail > static }, "id": "a95cc61c373", "type": { - "alt": "Velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut etiam sit", + "alt": "Id interdum velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut", "copyright": null, "dimensions": { "height": 1, @@ -558,7 +558,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > group 1`] = ` "group": [ { "field": { - "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan in nisl nisi scelerisque eu", + "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan nisl nisi scelerisque eu ultrices", "copyright": null, "dimensions": { "height": 1, @@ -572,7 +572,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > group 1`] = ` }, "id": "d0985c09900", "square": { - "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan in nisl nisi scelerisque eu", + "alt": "Morbi tincidunt ornare massa eget egestas purus viverra accumsan nisl nisi scelerisque eu ultrices", "copyright": null, "dimensions": { "height": 1, @@ -602,7 +602,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > shared slice 1`] "items": [ { "field": { - "alt": "Nam libero justo laoreet sit amet cursus sit amet dictum sit", + "alt": "Ut consequat semper viverra nam libero justo laoreet sit amet cursus", "copyright": null, "dimensions": { "height": 1, @@ -616,7 +616,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > shared slice 1`] }, "id": "b35eaa8ebee", "square": { - "alt": "Nam libero justo laoreet sit amet cursus sit amet dictum sit", + "alt": "Ut consequat semper viverra nam libero justo laoreet sit amet cursus", "copyright": null, "dimensions": { "height": 1, @@ -637,7 +637,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > shared slice 1`] ], "primary": { "field": { - "alt": "Massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum dolor sit", + "alt": "Pharetra pharetra massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum", "copyright": null, "dimensions": { "height": 1, @@ -651,7 +651,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > shared slice 1`] }, "id": "b35eaa8ebee", "square": { - "alt": "Massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum dolor sit", + "alt": "Pharetra pharetra massa massa ultricies mi quis hendrerit dolor magna eget est lorem ipsum", "copyright": null, "dimensions": { "height": 1, @@ -706,8 +706,8 @@ exports[`patches image fields (from Prismic) > withThumbnails > shared slice 1`] ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -757,7 +757,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > slice 1`] = ` ], "primary": { "field": { - "alt": "Tincidunt vitae semper quis lectus", + "alt": "Ac tincidunt vitae semper quis", "copyright": null, "dimensions": { "height": 1, @@ -771,7 +771,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > slice 1`] = ` }, "id": "07a35bc5aa2", "square": { - "alt": "Tincidunt vitae semper quis lectus", + "alt": "Ac tincidunt vitae semper quis", "copyright": null, "dimensions": { "height": 1, @@ -789,7 +789,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > slice 1`] = ` "url": "https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg?some=query", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -799,7 +799,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > slice 1`] = ` exports[`patches image fields (from Prismic) > withThumbnails > static zone 1`] = ` { "field": { - "alt": "Velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut etiam sit", + "alt": "Id interdum velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut", "copyright": null, "dimensions": { "height": 1, @@ -813,7 +813,7 @@ exports[`patches image fields (from Prismic) > withThumbnails > static zone 1`] }, "id": "a95cc61c373", "square": { - "alt": "Velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut etiam sit", + "alt": "Id interdum velit laoreet id donec ultrices tincidunt arcu non sodales neque sodales ut", "copyright": null, "dimensions": { "height": 1, @@ -986,8 +986,8 @@ exports[`patches image fields (from Prismic) > withThumbnailsNoAlt > shared slic ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1069,7 +1069,7 @@ exports[`patches image fields (from Prismic) > withThumbnailsNoAlt > slice 1`] = "url": "https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg?some=query", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -1202,8 +1202,8 @@ exports[`patches image fields > existing > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1253,7 +1253,7 @@ exports[`patches image fields > existing > slice 1`] = ` "url": "https://images.unsplash.com/photo-1587502537745-84b86da1204f?w=6550&h=4367&fit=crop", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -1370,8 +1370,8 @@ exports[`patches image fields > new > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1421,7 +1421,7 @@ exports[`patches image fields > new > slice 1`] = ` "url": "https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?w=7372&h=4392&fit=crop", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -1538,8 +1538,8 @@ exports[`patches image fields > newLongForm > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1589,7 +1589,7 @@ exports[`patches image fields > newLongForm > slice 1`] = ` "url": "https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?w=7372&h=4392&fit=crop", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -1770,8 +1770,8 @@ exports[`patches image fields > newThumbnails > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1853,7 +1853,7 @@ exports[`patches image fields > newThumbnails > slice 1`] = ` "url": "https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?w=7372&h=4392&fit=crop", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], diff --git a/test/__snapshots__/writeClient-migrate-patch-linkToMedia.test.ts.snap b/test/__snapshots__/writeClient-migrate-patch-linkToMedia.test.ts.snap index c394567e..e74ca591 100644 --- a/test/__snapshots__/writeClient-migrate-patch-linkToMedia.test.ts.snap +++ b/test/__snapshots__/writeClient-migrate-patch-linkToMedia.test.ts.snap @@ -14,7 +14,7 @@ exports[`patches link to media fields (from Prismic) > inRichText > group 1`] = }, { "data": { - "id": "fc26fe8d098", + "id": "6fe8d0985c0", "link_type": "Media", }, "end": 5, @@ -48,8 +48,9 @@ exports[`patches link to media fields (from Prismic) > inRichText > shared slice }, { "data": { - "id": "961adcf1f5d", + "id": "bdd8a5cdeb2", "link_type": "Media", + "text": "Eleifend mi", }, "end": 5, "start": 0, @@ -73,7 +74,7 @@ exports[`patches link to media fields (from Prismic) > inRichText > shared slice }, { "data": { - "id": "961adcf1f5d", + "id": "bdd8a5cdeb2", "link_type": "Media", }, "end": 5, @@ -97,7 +98,7 @@ exports[`patches link to media fields (from Prismic) > inRichText > shared slice }, { "data": { - "id": "961adcf1f5d", + "id": "bdd8a5cdeb2", "link_type": "Media", }, "end": 5, @@ -113,8 +114,8 @@ exports[`patches link to media fields (from Prismic) > inRichText > shared slice ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -138,7 +139,7 @@ exports[`patches link to media fields (from Prismic) > inRichText > slice 1`] = }, { "data": { - "id": "54f4a69ff72", + "id": "dfac8dd04d4", "link_type": "Media", }, "end": 5, @@ -163,8 +164,9 @@ exports[`patches link to media fields (from Prismic) > inRichText > slice 1`] = }, { "data": { - "id": "54f4a69ff72", + "id": "dfac8dd04d4", "link_type": "Media", + "text": "Donec et", }, "end": 5, "start": 0, @@ -176,7 +178,7 @@ exports[`patches link to media fields (from Prismic) > inRichText > slice 1`] = }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -195,7 +197,7 @@ exports[`patches link to media fields (from Prismic) > inRichText > static zone }, { "data": { - "id": "1d17b04a95c", + "id": "1e2254cd63b", "link_type": "Media", }, "end": 5, @@ -215,7 +217,7 @@ exports[`patches link to media fields (from Prismic) > simple > group 1`] = ` "group": [ { "field": { - "id": "fc26fe8d098", + "id": "6fe8d0985c0", "link_type": "Media", }, }, @@ -231,28 +233,29 @@ exports[`patches link to media fields (from Prismic) > simple > shared slice 1`] "items": [ { "field": { - "id": "961adcf1f5d", + "id": "bdd8a5cdeb2", "link_type": "Media", + "text": "Eleifend mi", }, }, ], "primary": { "field": { - "id": "961adcf1f5d", + "id": "bdd8a5cdeb2", "link_type": "Media", }, "group": [ { "field": { - "id": "961adcf1f5d", + "id": "bdd8a5cdeb2", "link_type": "Media", }, }, ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -267,18 +270,19 @@ exports[`patches link to media fields (from Prismic) > simple > slice 1`] = ` "items": [ { "field": { - "id": "54f4a69ff72", + "id": "dfac8dd04d4", "link_type": "Media", }, }, ], "primary": { "field": { - "id": "54f4a69ff72", + "id": "dfac8dd04d4", "link_type": "Media", + "text": "Donec et", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -288,7 +292,7 @@ exports[`patches link to media fields (from Prismic) > simple > slice 1`] = ` exports[`patches link to media fields (from Prismic) > simple > static zone 1`] = ` { "field": { - "id": "1d17b04a95c", + "id": "1e2254cd63b", "link_type": "Media", }, } @@ -331,8 +335,8 @@ exports[`patches link to media fields > empty > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -356,7 +360,7 @@ exports[`patches link to media fields > empty > slice 1`] = ` "link_type": "Any", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -436,8 +440,8 @@ exports[`patches link to media fields > existing > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -475,7 +479,7 @@ exports[`patches link to media fields > existing > slice 1`] = ` "width": "1", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -538,8 +542,8 @@ exports[`patches link to media fields > new > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -565,7 +569,7 @@ exports[`patches link to media fields > new > slice 1`] = ` "link_type": "Media", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -622,8 +626,8 @@ exports[`patches link to media fields > newNonImage > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -649,7 +653,7 @@ exports[`patches link to media fields > newNonImage > slice 1`] = ` "link_type": "Media", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -710,8 +714,8 @@ exports[`patches link to media fields > newWithText > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -739,7 +743,7 @@ exports[`patches link to media fields > newWithText > slice 1`] = ` "text": "foo", }, }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -893,8 +897,8 @@ exports[`patches link to media fields > richTextExisting > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -968,7 +972,7 @@ exports[`patches link to media fields > richTextExisting > slice 1`] = ` }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -1121,8 +1125,8 @@ exports[`patches link to media fields > richTextNew > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1184,7 +1188,7 @@ exports[`patches link to media fields > richTextNew > slice 1`] = ` }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], diff --git a/test/__snapshots__/writeClient-migrate-patch-rtImageNode.test.ts.snap b/test/__snapshots__/writeClient-migrate-patch-rtImageNode.test.ts.snap index 0aa39cff..79189aef 100644 --- a/test/__snapshots__/writeClient-migrate-patch-rtImageNode.test.ts.snap +++ b/test/__snapshots__/writeClient-migrate-patch-rtImageNode.test.ts.snap @@ -7,7 +7,7 @@ exports[`patches rich text image nodes (from Prismic) > simple > group 1`] = ` "field": [ { "spans": [], - "text": "Pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper quis. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Mauris sit amet massa vitae tortor condimentum lacinia. Blandit volutpat maecenas volutpat blandit aliquam. Massa eget egestas purus viverra accumsan in nisl nisi scelerisque. Imperdiet dui accumsan sit amet nulla facilisi morbi tempus iaculis.", + "text": "Faucibus pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Facilisis mauris sit amet massa vitae tortor condimentum. Odio ut enim blandit volutpat maecenas. Massa eget egestas purus viverra accumsan nisl nisi scelerisque eu. Dui accumsan sit amet nulla facilisi morbi tempus iaculis urna.", "type": "paragraph", }, { @@ -43,11 +43,11 @@ exports[`patches rich text image nodes (from Prismic) > simple > shared slice 1` "field": [ { "spans": [], - "text": "Ultrices In Iaculis Nunc Sed Augue Lacus Viverra Vitae Congue Eu", + "text": "Ultrices Iaculis Nunc Sed Augue Lacus Viverra Vitae Congue Eu Consequat", "type": "heading4", }, { - "alt": "Dolor morbi non arcu risus quis varius quam quisque id diam vel", + "alt": "Morbi non arcu risus quis varius quam quisque id diam vel quam", "copyright": null, "dimensions": { "height": 1, @@ -70,11 +70,11 @@ exports[`patches rich text image nodes (from Prismic) > simple > shared slice 1` "field": [ { "spans": [], - "text": "Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet nulla malesuada. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", + "text": "Justo eget magna fermentum iaculis eu non diam phasellus vestibulum. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Massa id neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", "type": "paragraph", }, { - "alt": "A scelerisque purus semper eget duis at tellus at urna condimentum mattis", + "alt": "Orci a scelerisque purus semper eget duis at tellus at urna condimentum", "copyright": null, "dimensions": { "height": 1, @@ -96,11 +96,11 @@ exports[`patches rich text image nodes (from Prismic) > simple > shared slice 1` "field": [ { "spans": [], - "text": "Consectetur adipiscing elit duis tristique sollicitudin nibh sit amet commodo", + "text": "Adipiscing elit duis tristique sollicitudin nibh sit amet commodo nulla", "type": "o-list-item", }, { - "alt": "Lorem mollis aliquam ut porttitor leo a", + "alt": "Porta lorem mollis aliquam ut porttitor leo", "copyright": null, "dimensions": { "height": 1, @@ -121,8 +121,8 @@ exports[`patches rich text image nodes (from Prismic) > simple > shared slice 1` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -139,11 +139,11 @@ exports[`patches rich text image nodes (from Prismic) > simple > slice 1`] = ` "field": [ { "spans": [], - "text": "Auctor neque vitae tempus quam. At ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget gravida cum.", + "text": "Semper auctor neque vitae tempus. Cursus risus at ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget.", "type": "paragraph", }, { - "alt": "Sed id semper risus in hendrerit gravida rutrum", + "alt": "Mollis nunc sed id semper risus hendrerit gravida", "copyright": null, "dimensions": { "height": 1, @@ -166,11 +166,11 @@ exports[`patches rich text image nodes (from Prismic) > simple > slice 1`] = ` "field": [ { "spans": [], - "text": "Pharetra et ultrices neque ornare aenean euismod. Mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac.", + "text": "Maecenas ultricies mi eget mauris pharetra et. Facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec.", "type": "preformatted", }, { - "alt": "Vitae et leo duis ut diam quam nulla porttitor", + "alt": "Elementum sagittis vitae et leo duis ut diam quam", "copyright": null, "dimensions": { "height": 1, @@ -188,7 +188,7 @@ exports[`patches rich text image nodes (from Prismic) > simple > slice 1`] = ` }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -200,11 +200,11 @@ exports[`patches rich text image nodes (from Prismic) > simple > static zone 1`] "field": [ { "spans": [], - "text": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", + "text": "Adipiscing elit pellentesque habitant morbi tristique senectus et netus et malesuada fames. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", "type": "paragraph", }, { - "alt": "Adipiscing bibendum est ultricies integer quis auctor elit", + "alt": "Sit amet nisl suscipit adipiscing bibendum est ultricies", "copyright": null, "dimensions": { "height": 1, @@ -231,7 +231,7 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > group 1`] = "field": [ { "spans": [], - "text": "Pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper quis. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Mauris sit amet massa vitae tortor condimentum lacinia. Blandit volutpat maecenas volutpat blandit aliquam. Massa eget egestas purus viverra accumsan in nisl nisi scelerisque. Imperdiet dui accumsan sit amet nulla facilisi morbi tempus iaculis.", + "text": "Faucibus pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Facilisis mauris sit amet massa vitae tortor condimentum. Odio ut enim blandit volutpat maecenas. Massa eget egestas purus viverra accumsan nisl nisi scelerisque eu. Dui accumsan sit amet nulla facilisi morbi tempus iaculis urna.", "type": "paragraph", }, { @@ -271,11 +271,11 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > shared slic "field": [ { "spans": [], - "text": "Ultrices In Iaculis Nunc Sed Augue Lacus Viverra Vitae Congue Eu", + "text": "Ultrices Iaculis Nunc Sed Augue Lacus Viverra Vitae Congue Eu Consequat", "type": "heading4", }, { - "alt": "Dolor morbi non arcu risus quis varius quam quisque id diam vel", + "alt": "Morbi non arcu risus quis varius quam quisque id diam vel quam", "copyright": null, "dimensions": { "height": 1, @@ -302,11 +302,11 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > shared slic "field": [ { "spans": [], - "text": "Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet nulla malesuada. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", + "text": "Justo eget magna fermentum iaculis eu non diam phasellus vestibulum. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Massa id neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", "type": "paragraph", }, { - "alt": "A scelerisque purus semper eget duis at tellus at urna condimentum mattis", + "alt": "Orci a scelerisque purus semper eget duis at tellus at urna condimentum", "copyright": null, "dimensions": { "height": 1, @@ -332,11 +332,11 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > shared slic "field": [ { "spans": [], - "text": "Consectetur adipiscing elit duis tristique sollicitudin nibh sit amet commodo", + "text": "Adipiscing elit duis tristique sollicitudin nibh sit amet commodo nulla", "type": "o-list-item", }, { - "alt": "Lorem mollis aliquam ut porttitor leo a", + "alt": "Porta lorem mollis aliquam ut porttitor leo", "copyright": null, "dimensions": { "height": 1, @@ -361,8 +361,8 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > shared slic ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -379,11 +379,11 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > slice 1`] = "field": [ { "spans": [], - "text": "Auctor neque vitae tempus quam. At ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget gravida cum.", + "text": "Semper auctor neque vitae tempus. Cursus risus at ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget.", "type": "paragraph", }, { - "alt": "Sed id semper risus in hendrerit gravida rutrum", + "alt": "Mollis nunc sed id semper risus hendrerit gravida", "copyright": null, "dimensions": { "height": 1, @@ -410,11 +410,11 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > slice 1`] = "field": [ { "spans": [], - "text": "Pharetra et ultrices neque ornare aenean euismod. Mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac.", + "text": "Maecenas ultricies mi eget mauris pharetra et. Facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec.", "type": "preformatted", }, { - "alt": "Vitae et leo duis ut diam quam nulla porttitor", + "alt": "Elementum sagittis vitae et leo duis ut diam quam", "copyright": null, "dimensions": { "height": 1, @@ -436,7 +436,7 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > slice 1`] = }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -448,11 +448,11 @@ exports[`patches rich text image nodes (from Prismic) > withLinkTo > static zone "field": [ { "spans": [], - "text": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", + "text": "Adipiscing elit pellentesque habitant morbi tristique senectus et netus et malesuada fames. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", "type": "paragraph", }, { - "alt": "Adipiscing bibendum est ultricies integer quis auctor elit", + "alt": "Sit amet nisl suscipit adipiscing bibendum est ultricies", "copyright": null, "dimensions": { "height": 1, @@ -483,7 +483,7 @@ exports[`patches rich text image nodes > existing > group 1`] = ` "field": [ { "spans": [], - "text": "Pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper quis. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Mauris sit amet massa vitae tortor condimentum lacinia. Blandit volutpat maecenas volutpat blandit aliquam. Massa eget egestas purus viverra accumsan in nisl nisi scelerisque. Imperdiet dui accumsan sit amet nulla facilisi morbi tempus iaculis.", + "text": "Faucibus pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Facilisis mauris sit amet massa vitae tortor condimentum. Odio ut enim blandit volutpat maecenas. Massa eget egestas purus viverra accumsan nisl nisi scelerisque eu. Dui accumsan sit amet nulla facilisi morbi tempus iaculis urna.", "type": "paragraph", }, { @@ -519,7 +519,7 @@ exports[`patches rich text image nodes > existing > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Diam", + "text": "Pharetra", "type": "heading4", }, { @@ -546,7 +546,7 @@ exports[`patches rich text image nodes > existing > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet nulla malesuada. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", + "text": "Justo eget magna fermentum iaculis eu non diam phasellus vestibulum. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Massa id neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", "type": "paragraph", }, { @@ -572,7 +572,7 @@ exports[`patches rich text image nodes > existing > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Quis Enim Lobortis", + "text": "Diam Quis Enim", "type": "heading2", }, { @@ -597,8 +597,8 @@ exports[`patches rich text image nodes > existing > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -615,7 +615,7 @@ exports[`patches rich text image nodes > existing > slice 1`] = ` "field": [ { "spans": [], - "text": "Ultrices dui sapien eget mi proin sed libero enim sed. Diam ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Sed nisi lacus sed viverra tellus in hac habitasse. Eget mi proin sed libero enim sed faucibus turpis. Pellentesque id nibh tortor id aliquet. Aliquam sem et tortor consequat id porta nibh venenatis cras sed felis.", + "text": "Urna neque viverra justo nec ultrices dui sapien eget mi. At volutpat diam ut venenatis tellus metus vulputate eu scelerisque felis. Suspendisse sed nisi lacus sed viverra tellus hac habitasse. Justo nec ultrices dui sapien eget mi proin sed. Pellentesque id nibh tortor id aliquet. Nam aliquam sem et tortor consequat id porta nibh venenatis cras sed.", "type": "paragraph", }, { @@ -642,7 +642,7 @@ exports[`patches rich text image nodes > existing > slice 1`] = ` "field": [ { "spans": [], - "text": "Pharetra et ultrices neque ornare aenean euismod. Mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac.", + "text": "Maecenas ultricies mi eget mauris pharetra et. Facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec.", "type": "preformatted", }, { @@ -664,7 +664,7 @@ exports[`patches rich text image nodes > existing > slice 1`] = ` }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -676,7 +676,7 @@ exports[`patches rich text image nodes > existing > static zone 1`] = ` "field": [ { "spans": [], - "text": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", + "text": "Adipiscing elit pellentesque habitant morbi tristique senectus et netus et malesuada fames. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", "type": "paragraph", }, { @@ -707,7 +707,7 @@ exports[`patches rich text image nodes > new > group 1`] = ` "field": [ { "spans": [], - "text": "Pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper quis. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Mauris sit amet massa vitae tortor condimentum lacinia. Blandit volutpat maecenas volutpat blandit aliquam. Massa eget egestas purus viverra accumsan in nisl nisi scelerisque. Imperdiet dui accumsan sit amet nulla facilisi morbi tempus iaculis.", + "text": "Faucibus pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Facilisis mauris sit amet massa vitae tortor condimentum. Odio ut enim blandit volutpat maecenas. Massa eget egestas purus viverra accumsan nisl nisi scelerisque eu. Dui accumsan sit amet nulla facilisi morbi tempus iaculis urna.", "type": "paragraph", }, { @@ -743,7 +743,7 @@ exports[`patches rich text image nodes > new > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Diam", + "text": "Pharetra", "type": "heading4", }, { @@ -770,7 +770,7 @@ exports[`patches rich text image nodes > new > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet nulla malesuada. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", + "text": "Justo eget magna fermentum iaculis eu non diam phasellus vestibulum. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Massa id neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", "type": "paragraph", }, { @@ -796,7 +796,7 @@ exports[`patches rich text image nodes > new > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Quis Enim Lobortis", + "text": "Diam Quis Enim", "type": "heading2", }, { @@ -821,8 +821,8 @@ exports[`patches rich text image nodes > new > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -839,7 +839,7 @@ exports[`patches rich text image nodes > new > slice 1`] = ` "field": [ { "spans": [], - "text": "Ultrices dui sapien eget mi proin sed libero enim sed. Diam ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Sed nisi lacus sed viverra tellus in hac habitasse. Eget mi proin sed libero enim sed faucibus turpis. Pellentesque id nibh tortor id aliquet. Aliquam sem et tortor consequat id porta nibh venenatis cras sed felis.", + "text": "Urna neque viverra justo nec ultrices dui sapien eget mi. At volutpat diam ut venenatis tellus metus vulputate eu scelerisque felis. Suspendisse sed nisi lacus sed viverra tellus hac habitasse. Justo nec ultrices dui sapien eget mi proin sed. Pellentesque id nibh tortor id aliquet. Nam aliquam sem et tortor consequat id porta nibh venenatis cras sed.", "type": "paragraph", }, { @@ -866,7 +866,7 @@ exports[`patches rich text image nodes > new > slice 1`] = ` "field": [ { "spans": [], - "text": "Pharetra et ultrices neque ornare aenean euismod. Mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac.", + "text": "Maecenas ultricies mi eget mauris pharetra et. Facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec.", "type": "preformatted", }, { @@ -888,7 +888,7 @@ exports[`patches rich text image nodes > new > slice 1`] = ` }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -900,7 +900,7 @@ exports[`patches rich text image nodes > new > static zone 1`] = ` "field": [ { "spans": [], - "text": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", + "text": "Adipiscing elit pellentesque habitant morbi tristique senectus et netus et malesuada fames. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", "type": "paragraph", }, { @@ -931,7 +931,7 @@ exports[`patches rich text image nodes > newLinkTo > group 1`] = ` "field": [ { "spans": [], - "text": "Pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper quis. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Mauris sit amet massa vitae tortor condimentum lacinia. Blandit volutpat maecenas volutpat blandit aliquam. Massa eget egestas purus viverra accumsan in nisl nisi scelerisque. Imperdiet dui accumsan sit amet nulla facilisi morbi tempus iaculis.", + "text": "Faucibus pulvinar elementum integer enim neque volutpat ac tincidunt vitae semper. Gravida hendrerit lectus a molestie lorem ipsum dolor sit amet. Facilisis mauris sit amet massa vitae tortor condimentum. Odio ut enim blandit volutpat maecenas. Massa eget egestas purus viverra accumsan nisl nisi scelerisque eu. Dui accumsan sit amet nulla facilisi morbi tempus iaculis urna.", "type": "paragraph", }, { @@ -971,7 +971,7 @@ exports[`patches rich text image nodes > newLinkTo > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Diam", + "text": "Pharetra", "type": "heading4", }, { @@ -1002,7 +1002,7 @@ exports[`patches rich text image nodes > newLinkTo > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet nulla malesuada. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", + "text": "Justo eget magna fermentum iaculis eu non diam phasellus vestibulum. Egestas maecenas pharetra convallis posuere morbi leo urna molestie at. Cras fermentum odio eu feugiat pretium. Massa id neque aliquam vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh. Eleifend donec pretium vulputate sapien.", "type": "paragraph", }, { @@ -1032,7 +1032,7 @@ exports[`patches rich text image nodes > newLinkTo > shared slice 1`] = ` "field": [ { "spans": [], - "text": "Quis Enim Lobortis", + "text": "Diam Quis Enim", "type": "heading2", }, { @@ -1061,8 +1061,8 @@ exports[`patches rich text image nodes > newLinkTo > shared slice 1`] = ` ], }, "slice_label": null, - "slice_type": "nunc", - "variation": "ullamcorper", + "slice_type": "purus", + "variation": "pulvinar", "version": "8bfc905", }, ], @@ -1079,7 +1079,7 @@ exports[`patches rich text image nodes > newLinkTo > slice 1`] = ` "field": [ { "spans": [], - "text": "Ultrices dui sapien eget mi proin sed libero enim sed. Diam ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet. Sed nisi lacus sed viverra tellus in hac habitasse. Eget mi proin sed libero enim sed faucibus turpis. Pellentesque id nibh tortor id aliquet. Aliquam sem et tortor consequat id porta nibh venenatis cras sed felis.", + "text": "Urna neque viverra justo nec ultrices dui sapien eget mi. At volutpat diam ut venenatis tellus metus vulputate eu scelerisque felis. Suspendisse sed nisi lacus sed viverra tellus hac habitasse. Justo nec ultrices dui sapien eget mi proin sed. Pellentesque id nibh tortor id aliquet. Nam aliquam sem et tortor consequat id porta nibh venenatis cras sed.", "type": "paragraph", }, { @@ -1110,7 +1110,7 @@ exports[`patches rich text image nodes > newLinkTo > slice 1`] = ` "field": [ { "spans": [], - "text": "Pharetra et ultrices neque ornare aenean euismod. Mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac.", + "text": "Maecenas ultricies mi eget mauris pharetra et. Facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec.", "type": "preformatted", }, { @@ -1136,7 +1136,7 @@ exports[`patches rich text image nodes > newLinkTo > slice 1`] = ` }, ], }, - "slice_label": "Vel", + "slice_label": "Leo", "slice_type": "hac_habitasse", }, ], @@ -1148,7 +1148,7 @@ exports[`patches rich text image nodes > newLinkTo > static zone 1`] = ` "field": [ { "spans": [], - "text": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", + "text": "Adipiscing elit pellentesque habitant morbi tristique senectus et netus et malesuada fames. Tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a.", "type": "paragraph", }, { diff --git a/test/helpers-isFilled.test.ts b/test/helpers-isFilled.test.ts index 79958475..06bf14d1 100644 --- a/test/helpers-isFilled.test.ts +++ b/test/helpers-isFilled.test.ts @@ -46,6 +46,12 @@ it("geopoint", (ctx) => { expect(isFilled.geoPoint(ctx.mock.value.geoPoint())).toBe(true) }) +it("table", (ctx) => { + expect(isFilled.table(null)).toBe(false) + expect(isFilled.table(undefined)).toBe(false) + expect(isFilled.table(ctx.mock.value.table())).toBe(true) +}) + it("group", (ctx) => { expect(isFilled.group(null)).toBe(false) expect(isFilled.group(undefined)).toBe(false) diff --git a/test/index.test.ts b/test/index.test.ts index 38e3fc63..455dd9fb 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -59,6 +59,7 @@ it("custom type field type mapping", () => { Select: "Select", Slices: "Slices", StructuredText: "StructuredText", + Table: "Table", Text: "Text", Timestamp: "Timestamp", UID: "UID", diff --git a/test/types/customType-table.types.ts b/test/types/customType-table.types.ts new file mode 100644 index 00000000..948b3b8b --- /dev/null +++ b/test/types/customType-table.types.ts @@ -0,0 +1,38 @@ +import { expectNever, expectType } from "ts-expect" + +import type * as prismicTICustomTypes from "@prismicio/types-internal/lib/customtypes" + +import * as prismic from "../../src" + +;(value: prismic.CustomTypeModelTableField): true => { + switch (typeof value) { + case "object": { + if (value === null) { + expectNever(value) + } + + return true + } + + default: { + return expectNever(value) + } + } +} + +expectType({ + type: prismic.CustomTypeModelFieldType.Table, + config: { + label: "string", + }, +}) + +/** + * `@prismicio/types` extends `@prismicio/types-internal` + */ +expectType({} as prismicTICustomTypes.Table) + +/** + * `@prismicio/types-internal` extends `@prismicio/types` + */ +expectType({} as prismic.CustomTypeModelTableField) diff --git a/test/types/fields-table.types.ts b/test/types/fields-table.types.ts new file mode 100644 index 00000000..0aa7afbc --- /dev/null +++ b/test/types/fields-table.types.ts @@ -0,0 +1,83 @@ +import { expectNever, expectType } from "ts-expect" + +import type * as prismic from "../../src" + +;(value: prismic.TableField): true => { + switch (typeof value) { + case "object": { + if (value === null) { + return true + } + + return true + } + + default: { + return expectNever(value) + } + } +} + +/** + * Filled state. + */ +expectType({ + head: { + rows: [ + { + cells: [ + { + type: "header", + content: [ + { + type: "paragraph", + text: "string", + spans: [ + { + type: "strong", + start: 0, + end: 1, + }, + ], + }, + ], + }, + ], + }, + ], + }, + body: { + rows: [ + { + cells: [ + { + type: "data", + content: [ + { + type: "paragraph", + text: "string", + spans: [ + { + type: "strong", + start: 0, + end: 1, + }, + ], + }, + ], + }, + ], + }, + ], + }, +}) + +/** + * Empty state. + */ +expectType(null) +expectType>(null) +expectType>( + // @ts-expect-error - Filled fields cannot contain an empty value. + null, +) diff --git a/test/types/helpers-isFilled.types.ts b/test/types/helpers-isFilled.types.ts index 4eb995cc..b362b641 100644 --- a/test/types/helpers-isFilled.types.ts +++ b/test/types/helpers-isFilled.types.ts @@ -436,6 +436,19 @@ type EmbedData = prismic.VideoOEmbed & { foo: string } } } +/** + * Table + */ +;(value: prismic.TableField) => { + if (prismic.isFilled.table(value)) { + expectType, typeof value>>(true) + expectType, typeof value>>(false) + } else { + expectType, typeof value>>(false) + expectType, typeof value>>(true) + } +} + /** * Integration fields */