@payloadcms/plugin-seo 3.57.0-internal.f26caed → 3.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"MetaImageComponent.d.ts","sourceRoot":"","sources":["../../../src/fields/MetaImage/MetaImageComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAerD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAO1C,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;CACrC,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgMvD,CAAA"}
1
+ {"version":3,"file":"MetaImageComponent.d.ts","sourceRoot":"","sources":["../../../src/fields/MetaImage/MetaImageComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAerD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAO1C,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;CACrC,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwMvD,CAAA"}
@@ -39,7 +39,14 @@ export const MetaImageComponent = (props)=>{
39
39
  method: 'POST'
40
40
  });
41
41
  const { result: generatedImage } = await genImageResponse.json();
42
- setValue(generatedImage || '');
42
+ // string ids, number ids or nullish values
43
+ let newValue = generatedImage;
44
+ // non-nullish resolved relations
45
+ if (typeof generatedImage === 'object' && generatedImage && 'id' in generatedImage) {
46
+ newValue = generatedImage.id;
47
+ }
48
+ // coerce to an empty string for falsy (=empty) values
49
+ setValue(newValue || '');
43
50
  }, [
44
51
  hasGenerateImageFn,
45
52
  serverURL,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/MetaImage/MetaImageComponent.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldType } from '@payloadcms/ui'\nimport type { UploadFieldClientProps } from 'payload'\n\nimport {\n FieldLabel,\n RenderCustomComponent,\n UploadInput,\n useConfig,\n useDocumentInfo,\n useDocumentTitle,\n useField,\n useForm,\n useLocale,\n useTranslation,\n} from '@payloadcms/ui'\nimport { reduceToSerializableFields } from '@payloadcms/ui/shared'\nimport React, { useCallback } from 'react'\n\nimport type { PluginSEOTranslationKeys, PluginSEOTranslations } from '../../translations/index.js'\nimport type { GenerateImage } from '../../types.js'\n\nimport { Pill } from '../../ui/Pill.js'\n\ntype MetaImageProps = {\n readonly hasGenerateImageFn: boolean\n} & UploadFieldClientProps\n\nexport const MetaImageComponent: React.FC<MetaImageProps> = (props) => {\n const {\n field: { admin: { allowCreate } = {}, label, localized, relationTo, required },\n hasGenerateImageFn,\n readOnly,\n } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const {\n customComponents: { Error, Label } = {},\n filterOptions,\n path,\n setValue,\n showError,\n value,\n }: FieldType<string> = useField()\n\n const { t } = useTranslation<PluginSEOTranslations, PluginSEOTranslationKeys>()\n\n const locale = useLocale()\n const { getData } = useForm()\n const docInfo = useDocumentInfo()\n\n const { title } = useDocumentTitle()\n\n const regenerateImage = useCallback(async () => {\n if (!hasGenerateImageFn) {\n return\n }\n\n const endpoint = `${serverURL}${api}/plugin-seo/generate-image`\n\n const genImageResponse = await fetch(endpoint, {\n body: JSON.stringify({\n id: docInfo.id,\n collectionSlug: docInfo.collectionSlug,\n doc: getData(),\n docPermissions: docInfo.docPermissions,\n globalSlug: docInfo.globalSlug,\n hasPublishPermission: docInfo.hasPublishPermission,\n hasSavePermission: docInfo.hasSavePermission,\n initialData: docInfo.initialData,\n initialState: reduceToSerializableFields(docInfo.initialState ?? {}),\n locale: typeof locale === 'object' ? locale?.code : locale,\n title,\n } satisfies Omit<\n Parameters<GenerateImage>[0],\n 'collectionConfig' | 'globalConfig' | 'hasPublishedDoc' | 'req' | 'versionCount'\n >),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n const { result: generatedImage } = await genImageResponse.json()\n\n setValue(generatedImage || '')\n }, [\n hasGenerateImageFn,\n serverURL,\n api,\n docInfo.id,\n docInfo.collectionSlug,\n docInfo.docPermissions,\n docInfo.globalSlug,\n docInfo.hasPublishPermission,\n docInfo.hasSavePermission,\n docInfo.initialData,\n docInfo.initialState,\n getData,\n locale,\n setValue,\n title,\n ])\n\n const hasImage = Boolean(value)\n\n const collection = getEntityConfig({ collectionSlug: relationTo })\n\n return (\n <div\n style={{\n marginBottom: '20px',\n }}\n >\n <div\n style={{\n marginBottom: '5px',\n position: 'relative',\n }}\n >\n <div className=\"plugin-seo__field\">\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n {hasGenerateImageFn && (\n <React.Fragment>\n &nbsp; &mdash; &nbsp;\n <button\n disabled={readOnly}\n onClick={() => {\n void regenerateImage()\n }}\n style={{\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n color: 'currentcolor',\n cursor: 'pointer',\n padding: 0,\n textDecoration: 'underline',\n }}\n type=\"button\"\n >\n {t('plugin-seo:autoGenerate')}\n </button>\n </React.Fragment>\n )}\n </div>\n {hasGenerateImageFn && (\n <div\n style={{\n color: '#9A9A9A',\n }}\n >\n {t('plugin-seo:imageAutoGenerationTip')}\n </div>\n )}\n </div>\n <div\n style={{\n marginBottom: '10px',\n position: 'relative',\n }}\n >\n <UploadInput\n allowCreate={allowCreate !== false}\n api={api}\n collection={collection}\n Error={Error}\n filterOptions={filterOptions}\n onChange={(incomingImage) => {\n if (incomingImage !== null) {\n if (typeof incomingImage === 'object') {\n const { id: incomingID } = incomingImage\n setValue(incomingID)\n } else {\n setValue(incomingImage)\n }\n } else {\n setValue(null)\n }\n }}\n path={path}\n readOnly={readOnly}\n relationTo={relationTo}\n required={required}\n serverURL={serverURL}\n showError={showError}\n style={{\n marginBottom: 0,\n }}\n value={value}\n />\n </div>\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n }}\n >\n <Pill\n backgroundColor={hasImage ? 'green' : 'red'}\n color=\"white\"\n label={hasImage ? t('plugin-seo:good') : t('plugin-seo:noImage')}\n />\n </div>\n </div>\n )\n}\n"],"names":["FieldLabel","RenderCustomComponent","UploadInput","useConfig","useDocumentInfo","useDocumentTitle","useField","useForm","useLocale","useTranslation","reduceToSerializableFields","React","useCallback","Pill","MetaImageComponent","props","field","admin","allowCreate","label","localized","relationTo","required","hasGenerateImageFn","readOnly","config","routes","api","serverURL","getEntityConfig","customComponents","Error","Label","filterOptions","path","setValue","showError","value","t","locale","getData","docInfo","title","regenerateImage","endpoint","genImageResponse","fetch","body","JSON","stringify","id","collectionSlug","doc","docPermissions","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","code","credentials","headers","method","result","generatedImage","json","hasImage","Boolean","collection","div","style","marginBottom","position","className","CustomComponent","Fallback","Fragment","button","disabled","onClick","background","backgroundColor","border","color","cursor","padding","textDecoration","type","onChange","incomingImage","incomingID","alignItems","display","width"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/MetaImage/MetaImageComponent.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldType } from '@payloadcms/ui'\nimport type { UploadFieldClientProps } from 'payload'\n\nimport {\n FieldLabel,\n RenderCustomComponent,\n UploadInput,\n useConfig,\n useDocumentInfo,\n useDocumentTitle,\n useField,\n useForm,\n useLocale,\n useTranslation,\n} from '@payloadcms/ui'\nimport { reduceToSerializableFields } from '@payloadcms/ui/shared'\nimport React, { useCallback } from 'react'\n\nimport type { PluginSEOTranslationKeys, PluginSEOTranslations } from '../../translations/index.js'\nimport type { GenerateImage } from '../../types.js'\n\nimport { Pill } from '../../ui/Pill.js'\n\ntype MetaImageProps = {\n readonly hasGenerateImageFn: boolean\n} & UploadFieldClientProps\n\nexport const MetaImageComponent: React.FC<MetaImageProps> = (props) => {\n const {\n field: { admin: { allowCreate } = {}, label, localized, relationTo, required },\n hasGenerateImageFn,\n readOnly,\n } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const {\n customComponents: { Error, Label } = {},\n filterOptions,\n path,\n setValue,\n showError,\n value,\n }: FieldType<number | string> = useField()\n\n const { t } = useTranslation<PluginSEOTranslations, PluginSEOTranslationKeys>()\n\n const locale = useLocale()\n const { getData } = useForm()\n const docInfo = useDocumentInfo()\n\n const { title } = useDocumentTitle()\n\n const regenerateImage = useCallback(async () => {\n if (!hasGenerateImageFn) {\n return\n }\n\n const endpoint = `${serverURL}${api}/plugin-seo/generate-image`\n\n const genImageResponse = await fetch(endpoint, {\n body: JSON.stringify({\n id: docInfo.id,\n collectionSlug: docInfo.collectionSlug,\n doc: getData(),\n docPermissions: docInfo.docPermissions,\n globalSlug: docInfo.globalSlug,\n hasPublishPermission: docInfo.hasPublishPermission,\n hasSavePermission: docInfo.hasSavePermission,\n initialData: docInfo.initialData,\n initialState: reduceToSerializableFields(docInfo.initialState ?? {}),\n locale: typeof locale === 'object' ? locale?.code : locale,\n title,\n } satisfies Omit<\n Parameters<GenerateImage>[0],\n 'collectionConfig' | 'globalConfig' | 'hasPublishedDoc' | 'req' | 'versionCount'\n >),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n const { result: generatedImage } = await genImageResponse.json()\n\n // string ids, number ids or nullish values\n let newValue: null | number | string | undefined = generatedImage\n // non-nullish resolved relations\n if (typeof generatedImage === 'object' && generatedImage && 'id' in generatedImage) {\n newValue = generatedImage.id\n }\n\n // coerce to an empty string for falsy (=empty) values\n setValue(newValue || '')\n }, [\n hasGenerateImageFn,\n serverURL,\n api,\n docInfo.id,\n docInfo.collectionSlug,\n docInfo.docPermissions,\n docInfo.globalSlug,\n docInfo.hasPublishPermission,\n docInfo.hasSavePermission,\n docInfo.initialData,\n docInfo.initialState,\n getData,\n locale,\n setValue,\n title,\n ])\n\n const hasImage = Boolean(value)\n\n const collection = getEntityConfig({ collectionSlug: relationTo })\n\n return (\n <div\n style={{\n marginBottom: '20px',\n }}\n >\n <div\n style={{\n marginBottom: '5px',\n position: 'relative',\n }}\n >\n <div className=\"plugin-seo__field\">\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n {hasGenerateImageFn && (\n <React.Fragment>\n &nbsp; &mdash; &nbsp;\n <button\n disabled={readOnly}\n onClick={() => {\n void regenerateImage()\n }}\n style={{\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n color: 'currentcolor',\n cursor: 'pointer',\n padding: 0,\n textDecoration: 'underline',\n }}\n type=\"button\"\n >\n {t('plugin-seo:autoGenerate')}\n </button>\n </React.Fragment>\n )}\n </div>\n {hasGenerateImageFn && (\n <div\n style={{\n color: '#9A9A9A',\n }}\n >\n {t('plugin-seo:imageAutoGenerationTip')}\n </div>\n )}\n </div>\n <div\n style={{\n marginBottom: '10px',\n position: 'relative',\n }}\n >\n <UploadInput\n allowCreate={allowCreate !== false}\n api={api}\n collection={collection}\n Error={Error}\n filterOptions={filterOptions}\n onChange={(incomingImage) => {\n if (incomingImage !== null) {\n if (typeof incomingImage === 'object') {\n const { id: incomingID } = incomingImage\n setValue(incomingID)\n } else {\n setValue(incomingImage)\n }\n } else {\n setValue(null)\n }\n }}\n path={path}\n readOnly={readOnly}\n relationTo={relationTo}\n required={required}\n serverURL={serverURL}\n showError={showError}\n style={{\n marginBottom: 0,\n }}\n value={value}\n />\n </div>\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n }}\n >\n <Pill\n backgroundColor={hasImage ? 'green' : 'red'}\n color=\"white\"\n label={hasImage ? t('plugin-seo:good') : t('plugin-seo:noImage')}\n />\n </div>\n </div>\n )\n}\n"],"names":["FieldLabel","RenderCustomComponent","UploadInput","useConfig","useDocumentInfo","useDocumentTitle","useField","useForm","useLocale","useTranslation","reduceToSerializableFields","React","useCallback","Pill","MetaImageComponent","props","field","admin","allowCreate","label","localized","relationTo","required","hasGenerateImageFn","readOnly","config","routes","api","serverURL","getEntityConfig","customComponents","Error","Label","filterOptions","path","setValue","showError","value","t","locale","getData","docInfo","title","regenerateImage","endpoint","genImageResponse","fetch","body","JSON","stringify","id","collectionSlug","doc","docPermissions","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","code","credentials","headers","method","result","generatedImage","json","newValue","hasImage","Boolean","collection","div","style","marginBottom","position","className","CustomComponent","Fallback","Fragment","button","disabled","onClick","background","backgroundColor","border","color","cursor","padding","textDecoration","type","onChange","incomingImage","incomingID","alignItems","display","width"],"mappings":"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"}
@@ -31,6 +31,7 @@ export declare const translations: {
31
31
  sk: GenericTranslationsObject;
32
32
  sl: GenericTranslationsObject;
33
33
  sv: GenericTranslationsObject;
34
+ ta: GenericTranslationsObject;
34
35
  th: GenericTranslationsObject;
35
36
  tr: GenericTranslationsObject;
36
37
  uk: GenericTranslationsObject;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAwC7F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCxB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAA;AAE7D,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAyC7F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCxB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAA;AAE7D,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAA"}
@@ -29,6 +29,7 @@ import { ru } from './ru.js';
29
29
  import { sk } from './sk.js';
30
30
  import { sl } from './sl.js';
31
31
  import { sv } from './sv.js';
32
+ import { ta } from './ta.js';
32
33
  import { th } from './th.js';
33
34
  import { tr } from './tr.js';
34
35
  import { uk } from './uk.js';
@@ -67,6 +68,7 @@ export const translations = {
67
68
  sk,
68
69
  sl,
69
70
  sv,
71
+ ta,
70
72
  th,
71
73
  tr,
72
74
  uk,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import type { GenericTranslationsObject, NestedKeysStripped } from '@payloadcms/translations'\n\nimport { ar } from './ar.js'\nimport { az } from './az.js'\nimport { bg } from './bg.js'\nimport { ca } from './ca.js'\nimport { cs } from './cs.js'\nimport { da } from './da.js'\nimport { de } from './de.js'\nimport { en } from './en.js'\nimport { es } from './es.js'\nimport { et } from './et.js'\nimport { fa } from './fa.js'\nimport { fr } from './fr.js'\nimport { he } from './he.js'\nimport { hr } from './hr.js'\nimport { hu } from './hu.js'\nimport { it } from './it.js'\nimport { ja } from './ja.js'\nimport { ko } from './ko.js'\nimport { lt } from './lt.js'\nimport { my } from './my.js'\nimport { nb } from './nb.js'\nimport { nl } from './nl.js'\nimport { pl } from './pl.js'\nimport { pt } from './pt.js'\nimport { ro } from './ro.js'\nimport { rs } from './rs.js'\nimport { rsLatin } from './rsLatin.js'\nimport { ru } from './ru.js'\nimport { sk } from './sk.js'\nimport { sl } from './sl.js'\nimport { sv } from './sv.js'\nimport { th } from './th.js'\nimport { tr } from './tr.js'\nimport { uk } from './uk.js'\nimport { vi } from './vi.js'\nimport { zh } from './zh.js'\nimport { zhTw } from './zhTw.js'\n\nexport const translations = {\n ar,\n az,\n bg,\n ca,\n cs,\n da,\n de,\n en,\n es,\n et,\n fa,\n fr,\n he,\n hr,\n hu,\n it,\n ja,\n ko,\n lt,\n my,\n nb,\n nl,\n pl,\n pt,\n ro,\n rs,\n 'rs-latin': rsLatin,\n ru,\n sk,\n sl,\n sv,\n th,\n tr,\n uk,\n vi,\n zh,\n 'zh-TW': zhTw,\n}\n\nexport type PluginSEOTranslations = GenericTranslationsObject\n\nexport type PluginSEOTranslationKeys = NestedKeysStripped<PluginSEOTranslations>\n"],"names":["ar","az","bg","ca","cs","da","de","en","es","et","fa","fr","he","hr","hu","it","ja","ko","lt","my","nb","nl","pl","pt","ro","rs","rsLatin","ru","sk","sl","sv","th","tr","uk","vi","zh","zhTw","translations"],"mappings":"AAEA,SAASA,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,IAAI,QAAQ,YAAW;AAEhC,OAAO,MAAMC,eAAe;IAC1BrC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,YAAYC;IACZC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,SAASC;AACX,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import type { GenericTranslationsObject, NestedKeysStripped } from '@payloadcms/translations'\n\nimport { ar } from './ar.js'\nimport { az } from './az.js'\nimport { bg } from './bg.js'\nimport { ca } from './ca.js'\nimport { cs } from './cs.js'\nimport { da } from './da.js'\nimport { de } from './de.js'\nimport { en } from './en.js'\nimport { es } from './es.js'\nimport { et } from './et.js'\nimport { fa } from './fa.js'\nimport { fr } from './fr.js'\nimport { he } from './he.js'\nimport { hr } from './hr.js'\nimport { hu } from './hu.js'\nimport { it } from './it.js'\nimport { ja } from './ja.js'\nimport { ko } from './ko.js'\nimport { lt } from './lt.js'\nimport { my } from './my.js'\nimport { nb } from './nb.js'\nimport { nl } from './nl.js'\nimport { pl } from './pl.js'\nimport { pt } from './pt.js'\nimport { ro } from './ro.js'\nimport { rs } from './rs.js'\nimport { rsLatin } from './rsLatin.js'\nimport { ru } from './ru.js'\nimport { sk } from './sk.js'\nimport { sl } from './sl.js'\nimport { sv } from './sv.js'\nimport { ta } from './ta.js'\nimport { th } from './th.js'\nimport { tr } from './tr.js'\nimport { uk } from './uk.js'\nimport { vi } from './vi.js'\nimport { zh } from './zh.js'\nimport { zhTw } from './zhTw.js'\n\nexport const translations = {\n ar,\n az,\n bg,\n ca,\n cs,\n da,\n de,\n en,\n es,\n et,\n fa,\n fr,\n he,\n hr,\n hu,\n it,\n ja,\n ko,\n lt,\n my,\n nb,\n nl,\n pl,\n pt,\n ro,\n rs,\n 'rs-latin': rsLatin,\n ru,\n sk,\n sl,\n sv,\n ta,\n th,\n tr,\n uk,\n vi,\n zh,\n 'zh-TW': zhTw,\n}\n\nexport type PluginSEOTranslations = GenericTranslationsObject\n\nexport type PluginSEOTranslationKeys = NestedKeysStripped<PluginSEOTranslations>\n"],"names":["ar","az","bg","ca","cs","da","de","en","es","et","fa","fr","he","hr","hu","it","ja","ko","lt","my","nb","nl","pl","pt","ro","rs","rsLatin","ru","sk","sl","sv","ta","th","tr","uk","vi","zh","zhTw","translations"],"mappings":"AAEA,SAASA,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,EAAE,QAAQ,UAAS;AAC5B,SAASC,IAAI,QAAQ,YAAW;AAEhC,OAAO,MAAMC,eAAe;IAC1BtC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,YAAYC;IACZC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,SAASC;AACX,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GenericTranslationsObject } from '@payloadcms/translations';
2
+ export declare const ta: GenericTranslationsObject;
3
+ //# sourceMappingURL=ta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ta.d.ts","sourceRoot":"","sources":["../../src/translations/ta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAEzE,eAAO,MAAM,EAAE,EAAE,yBAyBhB,CAAA"}
@@ -0,0 +1,25 @@
1
+ export const ta = {
2
+ $schema: './translation-schema.json',
3
+ 'plugin-seo': {
4
+ almostThere: 'கிட்டத்தட்ட முடிந்துவிட்டது',
5
+ autoGenerate: 'தானாக உருவாக்கு',
6
+ bestPractices: 'சிறந்த நடைமுறைகள்',
7
+ characterCount: '{{current}}/{{minLength}}-{{maxLength}} எழுத்துகள், ',
8
+ charactersLeftOver: '{{characters}} மீதம் உள்ளது',
9
+ charactersToGo: '{{characters}} எழுத வேண்டும்',
10
+ charactersTooMany: '{{characters}} அதிகமாக உள்ளது',
11
+ checksPassing: '{{current}}/{{max}} சோதனைகள் வெற்றி',
12
+ good: 'நன்று',
13
+ imageAutoGenerationTip: 'தானியங்கு உருவாக்கம் தேர்ந்தெடுக்கப்பட்ட முக்கியப் படத்தை எடுக்கும்.',
14
+ lengthTipDescription: 'இது {{minLength}} மற்றும் {{maxLength}} எழுத்துகளுக்கு இடையில் இருக்க வேண்டும். தரமான மெட்டா விளக்கங்களை எழுத உதவிக்கு பார்க்கவும் ',
15
+ lengthTipTitle: 'இது {{minLength}} மற்றும் {{maxLength}} எழுத்துகளுக்கு இடையில் இருக்க வேண்டும். தரமான மெட்டா தலைப்புகளை எழுத உதவிக்கு பார்க்கவும் ',
16
+ missing: 'இல்லை',
17
+ noImage: 'படம் இல்லை',
18
+ preview: 'முன்னோட்டம்',
19
+ previewDescription: 'சரியான முடிவு பட்டியல்கள் உள்ளடக்கம் மற்றும் தேடல் தொடர்புக்கு ஏற்ப மாறலாம்.',
20
+ tooLong: 'மிக நீளம்',
21
+ tooShort: 'மிகக் குறைவு'
22
+ }
23
+ };
24
+
25
+ //# sourceMappingURL=ta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/translations/ta.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const ta: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'கிட்டத்தட்ட முடிந்துவிட்டது',\n autoGenerate: 'தானாக உருவாக்கு',\n bestPractices: 'சிறந்த நடைமுறைகள்',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} எழுத்துகள், ',\n charactersLeftOver: '{{characters}} மீதம் உள்ளது',\n charactersToGo: '{{characters}} எழுத வேண்டும்',\n charactersTooMany: '{{characters}} அதிகமாக உள்ளது',\n checksPassing: '{{current}}/{{max}} சோதனைகள் வெற்றி',\n good: 'நன்று',\n imageAutoGenerationTip: 'தானியங்கு உருவாக்கம் தேர்ந்தெடுக்கப்பட்ட முக்கியப் படத்தை எடுக்கும்.',\n lengthTipDescription:\n 'இது {{minLength}} மற்றும் {{maxLength}} எழுத்துகளுக்கு இடையில் இருக்க வேண்டும். தரமான மெட்டா விளக்கங்களை எழுத உதவிக்கு பார்க்கவும் ',\n lengthTipTitle:\n 'இது {{minLength}} மற்றும் {{maxLength}} எழுத்துகளுக்கு இடையில் இருக்க வேண்டும். தரமான மெட்டா தலைப்புகளை எழுத உதவிக்கு பார்க்கவும் ',\n missing: 'இல்லை',\n noImage: 'படம் இல்லை',\n preview: 'முன்னோட்டம்',\n previewDescription:\n 'சரியான முடிவு பட்டியல்கள் உள்ளடக்கம் மற்றும் தேடல் தொடர்புக்கு ஏற்ப மாறலாம்.',\n tooLong: 'மிக நீளம்',\n tooShort: 'மிகக் குறைவு',\n },\n}\n"],"names":["ta","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
package/dist/types.d.ts CHANGED
@@ -24,7 +24,11 @@ export type GenerateImage<T = any> = (args: {
24
24
  globalConfig?: GlobalConfig;
25
25
  locale?: string;
26
26
  req: PayloadRequest;
27
- } & PartialDocumentInfoContext) => Promise<string> | string;
27
+ } & PartialDocumentInfoContext) => {
28
+ id: number | string;
29
+ } | number | Promise<{
30
+ id: number | string;
31
+ } | number | string> | string;
28
32
  export type GenerateURL<T = any> = (args: {
29
33
  collectionConfig?: CollectionConfig;
30
34
  doc: T;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { DocumentInfoContext } from '@payloadcms/ui'\nimport type {\n CollectionConfig,\n CollectionSlug,\n Field,\n GlobalConfig,\n GlobalSlug,\n PayloadRequest,\n UploadCollectionSlug,\n} from 'payload'\n\nexport type FieldsOverride = (args: { defaultFields: Field[] }) => Field[]\n\nexport type PartialDocumentInfoContext = Pick<\n DocumentInfoContext,\n | 'collectionSlug'\n | 'docPermissions'\n | 'globalSlug'\n | 'hasPublishedDoc'\n | 'hasPublishPermission'\n | 'hasSavePermission'\n | 'id'\n | 'initialData'\n | 'initialState'\n | 'preferencesKey'\n | 'title'\n | 'versionCount'\n>\n\nexport type GenerateTitle<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type GenerateDescription<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type GenerateImage<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type GenerateURL<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type SEOPluginConfig = {\n /**\n * Collections to include the SEO fields in\n */\n collections?: ({} | CollectionSlug)[]\n /**\n * Override the default fields inserted by the SEO plugin via a function that receives the default fields and returns the new fields\n *\n * If you need more flexibility you can insert the fields manually as needed. @link https://payloadcms.com/docs/plugins/seo#direct-use-of-fields\n */\n fields?: FieldsOverride\n generateDescription?: GenerateDescription\n generateImage?: GenerateImage\n generateTitle?: GenerateTitle\n /**\n *\n */\n generateURL?: GenerateURL\n /**\n * Globals to include the SEO fields in\n */\n globals?: ({} | GlobalSlug)[]\n interfaceName?: string\n /**\n * Group fields into tabs, your content will be automatically put into a general tab and the SEO fields into an SEO tab\n *\n * If you need more flexibility you can insert the fields manually as needed. @link https://payloadcms.com/docs/plugins/seo#direct-use-of-fields\n */\n tabbedUI?: boolean\n /**\n * The slug of the collection used to handle image uploads\n */\n uploadsCollection?: {} | UploadCollectionSlug\n}\n\nexport type Meta = {\n description?: string\n image?: any // TODO: type this\n keywords?: string\n title?: string\n}\n"],"names":[],"mappings":"AAwGA,WAKC"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { DocumentInfoContext } from '@payloadcms/ui'\nimport type {\n CollectionConfig,\n CollectionSlug,\n Field,\n GlobalConfig,\n GlobalSlug,\n PayloadRequest,\n UploadCollectionSlug,\n} from 'payload'\n\nexport type FieldsOverride = (args: { defaultFields: Field[] }) => Field[]\n\nexport type PartialDocumentInfoContext = Pick<\n DocumentInfoContext,\n | 'collectionSlug'\n | 'docPermissions'\n | 'globalSlug'\n | 'hasPublishedDoc'\n | 'hasPublishPermission'\n | 'hasSavePermission'\n | 'id'\n | 'initialData'\n | 'initialState'\n | 'preferencesKey'\n | 'title'\n | 'versionCount'\n>\n\nexport type GenerateTitle<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type GenerateDescription<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type GenerateImage<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => { id: number | string } | number | Promise<{ id: number | string } | number | string> | string\n\nexport type GenerateURL<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type SEOPluginConfig = {\n /**\n * Collections to include the SEO fields in\n */\n collections?: ({} | CollectionSlug)[]\n /**\n * Override the default fields inserted by the SEO plugin via a function that receives the default fields and returns the new fields\n *\n * If you need more flexibility you can insert the fields manually as needed. @link https://payloadcms.com/docs/plugins/seo#direct-use-of-fields\n */\n fields?: FieldsOverride\n generateDescription?: GenerateDescription\n generateImage?: GenerateImage\n generateTitle?: GenerateTitle\n /**\n *\n */\n generateURL?: GenerateURL\n /**\n * Globals to include the SEO fields in\n */\n globals?: ({} | GlobalSlug)[]\n interfaceName?: string\n /**\n * Group fields into tabs, your content will be automatically put into a general tab and the SEO fields into an SEO tab\n *\n * If you need more flexibility you can insert the fields manually as needed. @link https://payloadcms.com/docs/plugins/seo#direct-use-of-fields\n */\n tabbedUI?: boolean\n /**\n * The slug of the collection used to handle image uploads\n */\n uploadsCollection?: {} | UploadCollectionSlug\n}\n\nexport type Meta = {\n description?: string\n image?: any // TODO: type this\n keywords?: string\n title?: string\n}\n"],"names":[],"mappings":"AAwGA,WAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-seo",
3
- "version": "3.57.0-internal.f26caed",
3
+ "version": "3.57.0",
4
4
  "description": "SEO plugin for Payload",
5
5
  "keywords": [
6
6
  "payload",
@@ -58,20 +58,20 @@
58
58
  "dist"
59
59
  ],
60
60
  "dependencies": {
61
- "@payloadcms/translations": "3.57.0-internal.f26caed",
62
- "@payloadcms/ui": "3.57.0-internal.f26caed"
61
+ "@payloadcms/translations": "3.57.0",
62
+ "@payloadcms/ui": "3.57.0"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@types/react": "19.1.12",
66
66
  "@types/react-dom": "19.1.9",
67
67
  "@payloadcms/eslint-config": "3.28.0",
68
- "payload": "3.57.0-internal.f26caed",
69
- "@payloadcms/next": "3.57.0-internal.f26caed"
68
+ "@payloadcms/next": "3.57.0",
69
+ "payload": "3.57.0"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
73
73
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
74
- "payload": "3.57.0-internal.f26caed"
74
+ "payload": "3.57.0"
75
75
  },
76
76
  "publishConfig": {
77
77
  "registry": "https://registry.npmjs.org/"