@payloadcms/plugin-seo 3.0.0-alpha.40 → 3.0.0-alpha.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/defaults.js CHANGED
@@ -9,4 +9,4 @@ export const defaults = {
9
9
  }
10
10
  };
11
11
 
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZGVmYXVsdHMgPSB7XG4gIGRlc2NyaXB0aW9uOiB7XG4gICAgbWF4TGVuZ3RoOiAxNTAsXG4gICAgbWluTGVuZ3RoOiAxMDAsXG4gIH0sXG4gIHRpdGxlOiB7XG4gICAgbWF4TGVuZ3RoOiA2MCxcbiAgICBtaW5MZW5ndGg6IDUwLFxuICB9LFxufVxuIl0sIm5hbWVzIjpbImRlZmF1bHRzIiwiZGVzY3JpcHRpb24iLCJtYXhMZW5ndGgiLCJtaW5MZW5ndGgiLCJ0aXRsZSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNQSxXQUFXO0lBQ3RCQyxhQUFhO1FBQ1hDLFdBQVc7UUFDWEMsV0FBVztJQUNiO0lBQ0FDLE9BQU87UUFDTEYsV0FBVztRQUNYQyxXQUFXO0lBQ2I7QUFDRixFQUFDIn0=
12
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/defaults.ts"],"sourcesContent":["export const defaults = {\n description: {\n maxLength: 150,\n minLength: 100,\n },\n title: {\n maxLength: 60,\n minLength: 50,\n },\n}\n"],"names":["defaults","description","maxLength","minLength","title"],"mappings":"AAAA,OAAO,MAAMA,WAAW;IACtBC,aAAa;QACXC,WAAW;QACXC,WAAW;IACb;IACAC,OAAO;QACLF,WAAW;QACXC,WAAW;IACb;AACF,EAAC"}
@@ -110,4 +110,4 @@ export const MetaDescription = (props)=>{
110
110
  })));
111
111
  };
112
112
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvTWV0YURlc2NyaXB0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGUsIEZvcm1GaWVsZEJhc2UsIE9wdGlvbnMgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcblxuaW1wb3J0IHsgdXNlRmllbGRQYXRoIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ0BwYXlsb2FkY21zL3VpJ1xuaW1wb3J0IHsgVGV4dGFyZWFJbnB1dCB9IGZyb20gJ0BwYXlsb2FkY21zL3VpJ1xuaW1wb3J0IHsgdXNlQWxsRm9ybUZpZWxkcywgdXNlRG9jdW1lbnRJbmZvLCB1c2VGaWVsZCwgdXNlTG9jYWxlIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZURlc2NyaXB0aW9uIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5cbmltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSAnLi4vZGVmYXVsdHMuanMnXG5pbXBvcnQgeyBMZW5ndGhJbmRpY2F0b3IgfSBmcm9tICcuLi91aS9MZW5ndGhJbmRpY2F0b3IuanMnXG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGggfSA9IGRlZmF1bHRzLmRlc2NyaXB0aW9uXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkdW5kYW50LXR5cGUtY29uc3RpdHVlbnRzXG50eXBlIE1ldGFEZXNjcmlwdGlvblByb3BzID0gRm9ybUZpZWxkQmFzZSAmIHtcbiAgaGFzR2VuZXJhdGVEZXNjcmlwdGlvbkZuOiBib29sZWFuXG4gIHBhdGg6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgTWV0YURlc2NyaXB0aW9uOiBSZWFjdC5GQzxNZXRhRGVzY3JpcHRpb25Qcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMYWJlbCwgaGFzR2VuZXJhdGVEZXNjcmlwdGlvbkZuLCBwYXRoLCByZXF1aXJlZCB9ID0gcHJvcHNcbiAgY29uc3QgeyBwYXRoOiBwYXRoRnJvbUNvbnRleHQsIHNjaGVtYVBhdGggfSA9IHVzZUZpZWxkUGF0aCgpXG5cbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG5cbiAgY29uc3QgbG9jYWxlID0gdXNlTG9jYWxlKClcbiAgY29uc3QgW2ZpZWxkc10gPSB1c2VBbGxGb3JtRmllbGRzKClcbiAgY29uc3QgZG9jSW5mbyA9IHVzZURvY3VtZW50SW5mbygpXG5cbiAgY29uc3QgZmllbGQ6IEZpZWxkVHlwZTxzdHJpbmc+ID0gdXNlRmllbGQoe1xuICAgIHBhdGgsXG4gIH0gYXMgT3B0aW9ucylcblxuICBjb25zdCB7IGVycm9yTWVzc2FnZSwgc2V0VmFsdWUsIHNob3dFcnJvciwgdmFsdWUgfSA9IGZpZWxkXG5cbiAgY29uc3QgcmVnZW5lcmF0ZURlc2NyaXB0aW9uID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGlmICghaGFzR2VuZXJhdGVEZXNjcmlwdGlvbkZuKSByZXR1cm5cblxuICAgIGNvbnN0IGdlbkRlc2NyaXB0aW9uUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgnL2FwaS9wbHVnaW4tc2VvL2dlbmVyYXRlLWRlc2NyaXB0aW9uJywge1xuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAuLi5kb2NJbmZvLFxuICAgICAgICBkb2M6IHsgLi4uZmllbGRzIH0sXG4gICAgICAgIGxvY2FsZTogdHlwZW9mIGxvY2FsZSA9PT0gJ29iamVjdCcgPyBsb2NhbGU/LmNvZGUgOiBsb2NhbGUsXG4gICAgICB9IHNhdGlzZmllcyBQYXJhbWV0ZXJzPEdlbmVyYXRlRGVzY3JpcHRpb24+WzBdKSxcbiAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9LFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgfSlcblxuICAgIGNvbnN0IHsgcmVzdWx0OiBnZW5lcmF0ZWREZXNjcmlwdGlvbiB9ID0gYXdhaXQgZ2VuRGVzY3JpcHRpb25SZXNwb25zZS5qc29uKClcblxuICAgIHNldFZhbHVlKGdlbmVyYXRlZERlc2NyaXB0aW9uIHx8ICcnKVxuICB9LCBbZmllbGRzLCBzZXRWYWx1ZSwgaGFzR2VuZXJhdGVEZXNjcmlwdGlvbkZuLCBsb2NhbGUsIGRvY0luZm9dKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWFyZ2luQm90dG9tOiAnMjBweCcsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICc1cHgnLFxuICAgICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBsdWdpbi1zZW9fX2ZpZWxkXCI+XG4gICAgICAgICAge0xhYmVsfVxuXG4gICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS10aGVtZS1lcnJvci01MDApJyxcbiAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAnNXB4JyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzR2VuZXJhdGVEZXNjcmlwdGlvbkZuICYmIChcbiAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgJm5ic3A7ICZtZGFzaDsgJm5ic3A7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtyZWdlbmVyYXRlRGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdjdXJyZW50Y29sb3InLFxuICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgncGx1Z2luLXNlbzphdXRvR2VuZXJhdGUnKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAnIzlBOUE5QScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0KCdwbHVnaW4tc2VvOmxlbmd0aFRpcERlc2NyaXB0aW9uJywgeyBtYXhMZW5ndGgsIG1pbkxlbmd0aCB9KX1cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3NlYXJjaC9kb2NzL2FkdmFuY2VkL2FwcGVhcmFuY2Uvc25pcHBldCNtZXRhLWRlc2NyaXB0aW9uc1wiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ3BsdWdpbi1zZW86YmVzdFByYWN0aWNlcycpfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFRleHRhcmVhSW5wdXRcbiAgICAgICAgICBFcnJvcj17ZXJyb3JNZXNzYWdlfSAvLyBUT0RPOiBGaXhcbiAgICAgICAgICBvbkNoYW5nZT17c2V0VmFsdWV9XG4gICAgICAgICAgcGF0aD17cGF0aEZyb21Db250ZXh0fVxuICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICBzaG93RXJyb3I9e3Nob3dFcnJvcn1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxMZW5ndGhJbmRpY2F0b3IgbWF4TGVuZ3RoPXttYXhMZW5ndGh9IG1pbkxlbmd0aD17bWluTGVuZ3RofSB0ZXh0PXt2YWx1ZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlRmllbGRQYXRoIiwidXNlVHJhbnNsYXRpb24iLCJUZXh0YXJlYUlucHV0IiwidXNlQWxsRm9ybUZpZWxkcyIsInVzZURvY3VtZW50SW5mbyIsInVzZUZpZWxkIiwidXNlTG9jYWxlIiwiUmVhY3QiLCJ1c2VDYWxsYmFjayIsImRlZmF1bHRzIiwiTGVuZ3RoSW5kaWNhdG9yIiwibWF4TGVuZ3RoIiwibWluTGVuZ3RoIiwiZGVzY3JpcHRpb24iLCJNZXRhRGVzY3JpcHRpb24iLCJwcm9wcyIsIkxhYmVsIiwiaGFzR2VuZXJhdGVEZXNjcmlwdGlvbkZuIiwicGF0aCIsInJlcXVpcmVkIiwicGF0aEZyb21Db250ZXh0Iiwic2NoZW1hUGF0aCIsInQiLCJsb2NhbGUiLCJmaWVsZHMiLCJkb2NJbmZvIiwiZmllbGQiLCJlcnJvck1lc3NhZ2UiLCJzZXRWYWx1ZSIsInNob3dFcnJvciIsInZhbHVlIiwicmVnZW5lcmF0ZURlc2NyaXB0aW9uIiwiZ2VuRGVzY3JpcHRpb25SZXNwb25zZSIsImZldGNoIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkb2MiLCJjb2RlIiwiY3JlZGVudGlhbHMiLCJoZWFkZXJzIiwibWV0aG9kIiwicmVzdWx0IiwiZ2VuZXJhdGVkRGVzY3JpcHRpb24iLCJqc29uIiwiZGl2Iiwic3R5bGUiLCJtYXJnaW5Cb3R0b20iLCJwb3NpdGlvbiIsImNsYXNzTmFtZSIsInNwYW4iLCJjb2xvciIsIm1hcmdpbkxlZnQiLCJGcmFnbWVudCIsImJ1dHRvbiIsIm9uQ2xpY2siLCJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyIiwiY3Vyc29yIiwicGFkZGluZyIsInRleHREZWNvcmF0aW9uIiwidHlwZSIsImEiLCJocmVmIiwicmVsIiwidGFyZ2V0IiwiRXJyb3IiLCJvbkNoYW5nZSIsImFsaWduSXRlbXMiLCJkaXNwbGF5Iiwid2lkdGgiLCJ0ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLFNBQVNBLFlBQVksUUFBUSxpQkFBZ0I7QUFDN0MsU0FBU0MsY0FBYyxRQUFRLGlCQUFnQjtBQUMvQyxTQUFTQyxhQUFhLFFBQVEsaUJBQWdC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
113
+ //# sourceMappingURL=MetaDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fields/MetaDescription.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldType, FormFieldBase, Options } from '@payloadcms/ui'\n\nimport { useFieldPath } from '@payloadcms/ui'\nimport { useTranslation } from '@payloadcms/ui'\nimport { TextareaInput } from '@payloadcms/ui'\nimport { useAllFormFields, useDocumentInfo, useField, useLocale } from '@payloadcms/ui'\nimport React, { useCallback } from 'react'\n\nimport type { GenerateDescription } from '../types.js'\n\nimport { defaults } from '../defaults.js'\nimport { LengthIndicator } from '../ui/LengthIndicator.js'\n\nconst { maxLength, minLength } = defaults.description\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\ntype MetaDescriptionProps = FormFieldBase & {\n hasGenerateDescriptionFn: boolean\n path: string\n}\n\nexport const MetaDescription: React.FC<MetaDescriptionProps> = (props) => {\n const { Label, hasGenerateDescriptionFn, path, required } = props\n const { path: pathFromContext, schemaPath } = useFieldPath()\n\n const { t } = useTranslation()\n\n const locale = useLocale()\n const [fields] = useAllFormFields()\n const docInfo = useDocumentInfo()\n\n const field: FieldType<string> = useField({\n path,\n } as Options)\n\n const { errorMessage, setValue, showError, value } = field\n\n const regenerateDescription = useCallback(async () => {\n if (!hasGenerateDescriptionFn) return\n\n const genDescriptionResponse = await fetch('/api/plugin-seo/generate-description', {\n body: JSON.stringify({\n ...docInfo,\n doc: { ...fields },\n locale: typeof locale === 'object' ? locale?.code : locale,\n } satisfies Parameters<GenerateDescription>[0]),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n const { result: generatedDescription } = await genDescriptionResponse.json()\n\n setValue(generatedDescription || '')\n }, [fields, setValue, hasGenerateDescriptionFn, locale, docInfo])\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 {Label}\n\n {required && (\n <span\n style={{\n color: 'var(--theme-error-500)',\n marginLeft: '5px',\n }}\n >\n *\n </span>\n )}\n\n {hasGenerateDescriptionFn && (\n <React.Fragment>\n &nbsp; &mdash; &nbsp;\n <button\n onClick={regenerateDescription}\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 <div\n style={{\n color: '#9A9A9A',\n }}\n >\n {t('plugin-seo:lengthTipDescription', { maxLength, minLength })}\n <a\n href=\"https://developers.google.com/search/docs/advanced/appearance/snippet#meta-descriptions\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {t('plugin-seo:bestPractices')}\n </a>\n </div>\n </div>\n <div\n style={{\n marginBottom: '10px',\n position: 'relative',\n }}\n >\n <TextareaInput\n Error={errorMessage} // TODO: Fix\n onChange={setValue}\n path={pathFromContext}\n required={required}\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 <LengthIndicator maxLength={maxLength} minLength={minLength} text={value} />\n </div>\n </div>\n )\n}\n"],"names":["useFieldPath","useTranslation","TextareaInput","useAllFormFields","useDocumentInfo","useField","useLocale","React","useCallback","defaults","LengthIndicator","maxLength","minLength","description","MetaDescription","props","Label","hasGenerateDescriptionFn","path","required","pathFromContext","schemaPath","t","locale","fields","docInfo","field","errorMessage","setValue","showError","value","regenerateDescription","genDescriptionResponse","fetch","body","JSON","stringify","doc","code","credentials","headers","method","result","generatedDescription","json","div","style","marginBottom","position","className","span","color","marginLeft","Fragment","button","onClick","background","backgroundColor","border","cursor","padding","textDecoration","type","a","href","rel","target","Error","onChange","alignItems","display","width","text"],"mappings":"AAAA;AAIA,SAASA,YAAY,QAAQ,iBAAgB;AAC7C,SAASC,cAAc,QAAQ,iBAAgB;AAC/C,SAASC,aAAa,QAAQ,iBAAgB;AAC9C,SAASC,gBAAgB,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,iBAAgB;AACvF,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,iBAAgB;AACzC,SAASC,eAAe,QAAQ,2BAA0B;AAE1D,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGH,SAASI,WAAW;AAQrD,OAAO,MAAMC,kBAAkD,CAACC;IAC9D,MAAM,EAAEC,KAAK,EAAEC,wBAAwB,EAAEC,IAAI,EAAEC,QAAQ,EAAE,GAAGJ;IAC5D,MAAM,EAAEG,MAAME,eAAe,EAAEC,UAAU,EAAE,GAAGrB;IAE9C,MAAM,EAAEsB,CAAC,EAAE,GAAGrB;IAEd,MAAMsB,SAASjB;IACf,MAAM,CAACkB,OAAO,GAAGrB;IACjB,MAAMsB,UAAUrB;IAEhB,MAAMsB,QAA2BrB,SAAS;QACxCa;IACF;IAEA,MAAM,EAAES,YAAY,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGJ;IAErD,MAAMK,wBAAwBvB,YAAY;QACxC,IAAI,CAACS,0BAA0B;QAE/B,MAAMe,yBAAyB,MAAMC,MAAM,wCAAwC;YACjFC,MAAMC,KAAKC,SAAS,CAAC;gBACnB,GAAGX,OAAO;gBACVY,KAAK;oBAAE,GAAGb,MAAM;gBAAC;gBACjBD,QAAQ,OAAOA,WAAW,WAAWA,QAAQe,OAAOf;YACtD;YACAgB,aAAa;YACbC,SAAS;gBACP,gBAAgB;YAClB;YACAC,QAAQ;QACV;QAEA,MAAM,EAAEC,QAAQC,oBAAoB,EAAE,GAAG,MAAMX,uBAAuBY,IAAI;QAE1EhB,SAASe,wBAAwB;IACnC,GAAG;QAACnB;QAAQI;QAAUX;QAA0BM;QAAQE;KAAQ;IAEhE,qBACE,oBAACoB;QACCC,OAAO;YACLC,cAAc;QAChB;qBAEA,oBAACF;QACCC,OAAO;YACLC,cAAc;YACdC,UAAU;QACZ;qBAEA,oBAACH;QAAII,WAAU;OACZjC,OAEAG,0BACC,oBAAC+B;QACCJ,OAAO;YACLK,OAAO;YACPC,YAAY;QACd;OACD,MAKFnC,0CACC,oBAACV,MAAM8C,QAAQ,QAAC,uBAEd,oBAACC;QACCC,SAASxB;QACTe,OAAO;YACLU,YAAY;YACZC,iBAAiB;YACjBC,QAAQ;YACRP,OAAO;YACPQ,QAAQ;YACRC,SAAS;YACTC,gBAAgB;QAClB;QACAC,MAAK;OAEJxC,EAAE,6CAKX,oBAACuB;QACCC,OAAO;YACLK,OAAO;QACT;OAEC7B,EAAE,mCAAmC;QAAEX;QAAWC;IAAU,kBAC7D,oBAACmD;QACCC,MAAK;QACLC,KAAI;QACJC,QAAO;OAEN5C,EAAE,8CAIT,oBAACuB;QACCC,OAAO;YACLC,cAAc;YACdC,UAAU;QACZ;qBAEA,oBAAC9C;QACCiE,OAAOxC;QACPyC,UAAUxC;QACVV,MAAME;QACND,UAAUA;QACVU,WAAWA;QACXiB,OAAO;YACLC,cAAc;QAChB;QACAjB,OAAOA;uBAGX,oBAACe;QACCC,OAAO;YACLuB,YAAY;YACZC,SAAS;YACTC,OAAO;QACT;qBAEA,oBAAC7D;QAAgBC,WAAWA;QAAWC,WAAWA;QAAW4D,MAAM1C;;AAI3E,EAAC"}
@@ -111,4 +111,4 @@ export const MetaImage = (props)=>{
111
111
  })));
112
112
  };
113
113
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvTWV0YUltYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGUsIE9wdGlvbnMsIFVwbG9hZElucHV0UHJvcHMgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcblxuaW1wb3J0IHtcbiAgVXBsb2FkSW5wdXQsXG4gIHVzZUFsbEZvcm1GaWVsZHMsXG4gIHVzZUNvbmZpZyxcbiAgdXNlRG9jdW1lbnRJbmZvLFxuICB1c2VGaWVsZCxcbiAgdXNlTG9jYWxlLFxuICB1c2VUcmFuc2xhdGlvbixcbn0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZUltYWdlIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5cbmltcG9ydCB7IFBpbGwgfSBmcm9tICcuLi91aS9QaWxsLmpzJ1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlZHVuZGFudC10eXBlLWNvbnN0aXR1ZW50c1xudHlwZSBNZXRhSW1hZ2VQcm9wcyA9IFVwbG9hZElucHV0UHJvcHMgJiB7XG4gIGhhc0dlbmVyYXRlSW1hZ2VGbjogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgTWV0YUltYWdlOiBSZWFjdC5GQzxNZXRhSW1hZ2VQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMYWJlbCwgaGFzR2VuZXJhdGVJbWFnZUZuLCBwYXRoLCByZWxhdGlvblRvLCByZXF1aXJlZCB9ID0gcHJvcHMgfHwge31cblxuICBjb25zdCBmaWVsZDogRmllbGRUeXBlPHN0cmluZz4gPSB1c2VGaWVsZChwcm9wcyBhcyBPcHRpb25zKVxuXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IGxvY2FsZSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IFtmaWVsZHNdID0gdXNlQWxsRm9ybUZpZWxkcygpXG4gIGNvbnN0IGRvY0luZm8gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IHsgZXJyb3JNZXNzYWdlLCBzZXRWYWx1ZSwgc2hvd0Vycm9yLCB2YWx1ZSB9ID0gZmllbGRcblxuICBjb25zdCByZWdlbmVyYXRlSW1hZ2UgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFoYXNHZW5lcmF0ZUltYWdlRm4pIHJldHVyblxuXG4gICAgY29uc3QgZ2VuSW1hZ2VSZXNwb25zZSA9IGF3YWl0IGZldGNoKCcvYXBpL3BsdWdpbi1zZW8vZ2VuZXJhdGUtaW1hZ2UnLCB7XG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIC4uLmRvY0luZm8sXG4gICAgICAgIGRvYzogeyAuLi5maWVsZHMgfSxcbiAgICAgICAgbG9jYWxlOiB0eXBlb2YgbG9jYWxlID09PSAnb2JqZWN0JyA/IGxvY2FsZT8uY29kZSA6IGxvY2FsZSxcbiAgICAgIH0gc2F0aXNmaWVzIFBhcmFtZXRlcnM8R2VuZXJhdGVJbWFnZT5bMF0pLFxuICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICB9KVxuXG4gICAgY29uc3QgeyByZXN1bHQ6IGdlbmVyYXRlZEltYWdlIH0gPSBhd2FpdCBnZW5JbWFnZVJlc3BvbnNlLmpzb24oKVxuXG4gICAgc2V0VmFsdWUoZ2VuZXJhdGVkSW1hZ2UgfHwgJycpXG4gIH0sIFtmaWVsZHMsIHNldFZhbHVlLCBoYXNHZW5lcmF0ZUltYWdlRm4sIGxvY2FsZSwgZG9jSW5mb10pXG5cbiAgY29uc3QgaGFzSW1hZ2UgPSBCb29sZWFuKHZhbHVlKVxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgeyBjb2xsZWN0aW9ucywgcm91dGVzOiB7IGFwaSB9ID0ge30sIHNlcnZlclVSTCB9ID0gY29uZmlnXG5cbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zPy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IHJlbGF0aW9uVG8pIHx8IHVuZGVmaW5lZFxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWFyZ2luQm90dG9tOiAnMjBweCcsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICc1cHgnLFxuICAgICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBsdWdpbi1zZW9fX2ZpZWxkXCI+XG4gICAgICAgICAge0xhYmVsfVxuXG4gICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS10aGVtZS1lcnJvci01MDApJyxcbiAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAnNXB4JyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzR2VuZXJhdGVJbWFnZUZuICYmIChcbiAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgJm5ic3A7ICZtZGFzaDsgJm5ic3A7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtyZWdlbmVyYXRlSW1hZ2V9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdjdXJyZW50Y29sb3InLFxuICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgncGx1Z2luLXNlbzphdXRvR2VuZXJhdGUnKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7aGFzR2VuZXJhdGVJbWFnZUZuICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBjb2xvcjogJyM5QTlBOUEnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgncGx1Z2luLXNlbzppbWFnZUF1dG9HZW5lcmF0aW9uVGlwJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFVwbG9hZElucHV0XG4gICAgICAgICAgRXJyb3I9e2Vycm9yTWVzc2FnZX0gLy8gVE9ETzogRml4XG4gICAgICAgICAgYXBpPXthcGl9XG4gICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICBmaWx0ZXJPcHRpb25zPXt7fX1cbiAgICAgICAgICBsYWJlbD17dW5kZWZpbmVkfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoaW5jb21pbmdJbWFnZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGluY29taW5nSW1hZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBpZDogaW5jb21pbmdJRCB9ID0gaW5jb21pbmdJbWFnZVxuICAgICAgICAgICAgICBzZXRWYWx1ZShpbmNvbWluZ0lEKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0VmFsdWUobnVsbClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICAgIHJlbGF0aW9uVG89e3JlbGF0aW9uVG99XG4gICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgIHNlcnZlclVSTD17c2VydmVyVVJMfVxuICAgICAgICAgIHNob3dFcnJvcj17c2hvd0Vycm9yfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtYXJnaW5Cb3R0b206IDAsXG4gICAgICAgICAgfX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFBpbGxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I9e2hhc0ltYWdlID8gJ2dyZWVuJyA6ICdyZWQnfVxuICAgICAgICAgIGNvbG9yPVwid2hpdGVcIlxuICAgICAgICAgIGxhYmVsPXtoYXNJbWFnZSA/IHQoJ3BsdWdpbi1zZW86Z29vZCcpIDogdCgncGx1Z2luLXNlbzpub0ltYWdlJyl9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlVwbG9hZElucHV0IiwidXNlQWxsRm9ybUZpZWxkcyIsInVzZUNvbmZpZyIsInVzZURvY3VtZW50SW5mbyIsInVzZUZpZWxkIiwidXNlTG9jYWxlIiwidXNlVHJhbnNsYXRpb24iLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwiUGlsbCIsIk1ldGFJbWFnZSIsInByb3BzIiwiTGFiZWwiLCJoYXNHZW5lcmF0ZUltYWdlRm4iLCJwYXRoIiwicmVsYXRpb25UbyIsInJlcXVpcmVkIiwiZmllbGQiLCJ0IiwibG9jYWxlIiwiZmllbGRzIiwiZG9jSW5mbyIsImVycm9yTWVzc2FnZSIsInNldFZhbHVlIiwic2hvd0Vycm9yIiwidmFsdWUiLCJyZWdlbmVyYXRlSW1hZ2UiLCJnZW5JbWFnZVJlc3BvbnNlIiwiZmV0Y2giLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImRvYyIsImNvZGUiLCJjcmVkZW50aWFscyIsImhlYWRlcnMiLCJtZXRob2QiLCJyZXN1bHQiLCJnZW5lcmF0ZWRJbWFnZSIsImpzb24iLCJoYXNJbWFnZSIsIkJvb2xlYW4iLCJjb25maWciLCJjb2xsZWN0aW9ucyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsImNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbCIsInNsdWciLCJ1bmRlZmluZWQiLCJkaXYiLCJzdHlsZSIsIm1hcmdpbkJvdHRvbSIsInBvc2l0aW9uIiwiY2xhc3NOYW1lIiwic3BhbiIsImNvbG9yIiwibWFyZ2luTGVmdCIsIkZyYWdtZW50IiwiYnV0dG9uIiwib25DbGljayIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJjdXJzb3IiLCJwYWRkaW5nIiwidGV4dERlY29yYXRpb24iLCJ0eXBlIiwiRXJyb3IiLCJmaWx0ZXJPcHRpb25zIiwibGFiZWwiLCJvbkNoYW5nZSIsImluY29taW5nSW1hZ2UiLCJpZCIsImluY29taW5nSUQiLCJhbGlnbkl0ZW1zIiwiZGlzcGxheSIsIndpZHRoIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLFNBQ0VBLFdBQVcsRUFDWEMsZ0JBQWdCLEVBQ2hCQyxTQUFTLEVBQ1RDLGVBQWUsRUFDZkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLGNBQWMsUUFDVCxpQkFBZ0I7QUFDdkIsT0FBT0MsU0FBU0MsV0FBVyxRQUFRLFFBQU87QUFJMUMsU0FBU0MsSUFBSSxRQUFRLGdCQUFlO0FBT3BDLE9BQU8sTUFBTUMsWUFBc0MsQ0FBQ0M7SUFDbEQsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLGtCQUFrQixFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFLEdBQUdMLFNBQVMsQ0FBQztJQUU1RSxNQUFNTSxRQUEyQmIsU0FBU087SUFFMUMsTUFBTSxFQUFFTyxDQUFDLEVBQUUsR0FBR1o7SUFFZCxNQUFNYSxTQUFTZDtJQUNmLE1BQU0sQ0FBQ2UsT0FBTyxHQUFHbkI7SUFDakIsTUFBTW9CLFVBQVVsQjtJQUVoQixNQUFNLEVBQUVtQixZQUFZLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxLQUFLLEVBQUUsR0FBR1I7SUFFckQsTUFBTVMsa0JBQWtCbEIsWUFBWTtRQUNsQyxJQUFJLENBQUNLLG9CQUFvQjtRQUV6QixNQUFNYyxtQkFBbUIsTUFBTUMsTUFBTSxrQ0FBa0M7WUFDckVDLE1BQU1DLEtBQUtDLFNBQVMsQ0FBQztnQkFDbkIsR0FBR1YsT0FBTztnQkFDVlcsS0FBSztvQkFBRSxHQUFHWixNQUFNO2dCQUFDO2dCQUNqQkQsUUFBUSxPQUFPQSxXQUFXLFdBQVdBLFFBQVFjLE9BQU9kO1lBQ3REO1lBQ0FlLGFBQWE7WUFDYkMsU0FBUztnQkFDUCxnQkFBZ0I7WUFDbEI7WUFDQUMsUUFBUTtRQUNWO1FBRUEsTUFBTSxFQUFFQyxRQUFRQyxjQUFjLEVBQUUsR0FBRyxNQUFNWCxpQkFBaUJZLElBQUk7UUFFOURoQixTQUFTZSxrQkFBa0I7SUFDN0IsR0FBRztRQUFDbEI7UUFBUUc7UUFBVVY7UUFBb0JNO1FBQVFFO0tBQVE7SUFFMUQsTUFBTW1CLFdBQVdDLFFBQVFoQjtJQUV6QixNQUFNaUIsU0FBU3hDO0lBRWYsTUFBTSxFQUFFeUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUUsR0FBR0o7SUFFekQsTUFBTUssYUFBYUosYUFBYUssS0FBSyxDQUFDQyxPQUFTQSxLQUFLQyxJQUFJLEtBQUtuQyxlQUFlb0M7SUFFNUUscUJBQ0Usb0JBQUNDO1FBQ0NDLE9BQU87WUFDTEMsY0FBYztRQUNoQjtxQkFFQSxvQkFBQ0Y7UUFDQ0MsT0FBTztZQUNMQyxjQUFjO1lBQ2RDLFVBQVU7UUFDWjtxQkFFQSxvQkFBQ0g7UUFBSUksV0FBVTtPQUNaNUMsT0FFQUksMEJBQ0Msb0JBQUN5QztRQUNDSixPQUFPO1lBQ0xLLE9BQU87WUFDUEMsWUFBWTtRQUNkO09BQ0QsTUFLRjlDLG9DQUNDLG9CQUFDTixNQUFNcUQsUUFBUSxRQUFDLHVCQUVkLG9CQUFDQztRQUNDQyxTQUFTcEM7UUFDVDJCLE9BQU87WUFDTFUsWUFBWTtZQUNaQyxpQkFBaUI7WUFDakJDLFFBQVE7WUFDUlAsT0FBTztZQUNQUSxRQUFRO1lBQ1JDLFNBQVM7WUFDVEMsZ0JBQWdCO1FBQ2xCO1FBQ0FDLE1BQUs7T0FFSm5ELEVBQUUsK0JBS1ZMLG9DQUNDLG9CQUFDdUM7UUFDQ0MsT0FBTztZQUNMSyxPQUFPO1FBQ1Q7T0FFQ3hDLEVBQUUsc0RBSVQsb0JBQUNrQztRQUNDQyxPQUFPO1lBQ0xDLGNBQWM7WUFDZEMsVUFBVTtRQUNaO3FCQUVBLG9CQUFDdkQ7UUFDQ3NFLE9BQU9oRDtRQUNQdUIsS0FBS0E7UUFDTEUsWUFBWUE7UUFDWndCLGVBQWUsQ0FBQztRQUNoQkMsT0FBT3JCO1FBQ1BzQixVQUFVLENBQUNDO1lBQ1QsSUFBSUEsa0JBQWtCLE1BQU07Z0JBQzFCLE1BQU0sRUFBRUMsSUFBSUMsVUFBVSxFQUFFLEdBQUdGO2dCQUMzQm5ELFNBQVNxRDtZQUNYLE9BQU87Z0JBQ0xyRCxTQUFTO1lBQ1g7UUFDRjtRQUNBUixZQUFZQTtRQUNaQyxVQUFVQTtRQUNWOEIsV0FBV0E7UUFDWHRCLFdBQVdBO1FBQ1g2QixPQUFPO1lBQ0xDLGNBQWM7UUFDaEI7UUFDQTdCLE9BQU9BO3VCQUdYLG9CQUFDMkI7UUFDQ0MsT0FBTztZQUNMd0IsWUFBWTtZQUNaQyxTQUFTO1lBQ1RDLE9BQU87UUFDVDtxQkFFQSxvQkFBQ3RFO1FBQ0N1RCxpQkFBaUJ4QixXQUFXLFVBQVU7UUFDdENrQixPQUFNO1FBQ05jLE9BQU9oQyxXQUFXdEIsRUFBRSxxQkFBcUJBLEVBQUU7O0FBS3JELEVBQUMifQ==
114
+ //# sourceMappingURL=MetaImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fields/MetaImage.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldType, Options, UploadInputProps } from '@payloadcms/ui'\n\nimport {\n UploadInput,\n useAllFormFields,\n useConfig,\n useDocumentInfo,\n useField,\n useLocale,\n useTranslation,\n} from '@payloadcms/ui'\nimport React, { useCallback } from 'react'\n\nimport type { GenerateImage } from '../types.js'\n\nimport { Pill } from '../ui/Pill.js'\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\ntype MetaImageProps = UploadInputProps & {\n hasGenerateImageFn: boolean\n}\n\nexport const MetaImage: React.FC<MetaImageProps> = (props) => {\n const { Label, hasGenerateImageFn, path, relationTo, required } = props || {}\n\n const field: FieldType<string> = useField(props as Options)\n\n const { t } = useTranslation()\n\n const locale = useLocale()\n const [fields] = useAllFormFields()\n const docInfo = useDocumentInfo()\n\n const { errorMessage, setValue, showError, value } = field\n\n const regenerateImage = useCallback(async () => {\n if (!hasGenerateImageFn) return\n\n const genImageResponse = await fetch('/api/plugin-seo/generate-image', {\n body: JSON.stringify({\n ...docInfo,\n doc: { ...fields },\n locale: typeof locale === 'object' ? locale?.code : locale,\n } satisfies Parameters<GenerateImage>[0]),\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 }, [fields, setValue, hasGenerateImageFn, locale, docInfo])\n\n const hasImage = Boolean(value)\n\n const config = useConfig()\n\n const { collections, routes: { api } = {}, serverURL } = config\n\n const collection = collections?.find((coll) => coll.slug === relationTo) || undefined\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 {Label}\n\n {required && (\n <span\n style={{\n color: 'var(--theme-error-500)',\n marginLeft: '5px',\n }}\n >\n *\n </span>\n )}\n\n {hasGenerateImageFn && (\n <React.Fragment>\n &nbsp; &mdash; &nbsp;\n <button\n onClick={regenerateImage}\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 Error={errorMessage} // TODO: Fix\n api={api}\n collection={collection}\n filterOptions={{}}\n label={undefined}\n onChange={(incomingImage) => {\n if (incomingImage !== null) {\n const { id: incomingID } = incomingImage\n setValue(incomingID)\n } else {\n setValue(null)\n }\n }}\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":["UploadInput","useAllFormFields","useConfig","useDocumentInfo","useField","useLocale","useTranslation","React","useCallback","Pill","MetaImage","props","Label","hasGenerateImageFn","path","relationTo","required","field","t","locale","fields","docInfo","errorMessage","setValue","showError","value","regenerateImage","genImageResponse","fetch","body","JSON","stringify","doc","code","credentials","headers","method","result","generatedImage","json","hasImage","Boolean","config","collections","routes","api","serverURL","collection","find","coll","slug","undefined","div","style","marginBottom","position","className","span","color","marginLeft","Fragment","button","onClick","background","backgroundColor","border","cursor","padding","textDecoration","type","Error","filterOptions","label","onChange","incomingImage","id","incomingID","alignItems","display","width"],"mappings":"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"}
@@ -109,4 +109,4 @@ export const MetaTitle = (props)=>{
109
109
  })));
110
110
  };
111
111
 
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvTWV0YVRpdGxlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGUsIEZvcm1GaWVsZEJhc2UsIE9wdGlvbnMgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcblxuaW1wb3J0IHsgdXNlRmllbGRQYXRoIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQge1xuICBUZXh0SW5wdXQsXG4gIHVzZUFsbEZvcm1GaWVsZHMsXG4gIHVzZURvY3VtZW50SW5mbyxcbiAgdXNlRmllbGQsXG4gIHVzZUxvY2FsZSxcbiAgdXNlVHJhbnNsYXRpb24sXG59IGZyb20gJ0BwYXlsb2FkY21zL3VpJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVUaXRsZSB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBkZWZhdWx0cyB9IGZyb20gJy4uL2RlZmF1bHRzLmpzJ1xuaW1wb3J0IHsgTGVuZ3RoSW5kaWNhdG9yIH0gZnJvbSAnLi4vdWkvTGVuZ3RoSW5kaWNhdG9yLmpzJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGggfSA9IGRlZmF1bHRzLnRpdGxlXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkdW5kYW50LXR5cGUtY29uc3RpdHVlbnRzXG50eXBlIE1ldGFUaXRsZVByb3BzID0gRm9ybUZpZWxkQmFzZSAmIHtcbiAgaGFzR2VuZXJhdGVUaXRsZUZuOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBNZXRhVGl0bGU6IFJlYWN0LkZDPE1ldGFUaXRsZVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IExhYmVsLCBoYXNHZW5lcmF0ZVRpdGxlRm4sIHBhdGgsIHJlcXVpcmVkIH0gPSBwcm9wcyB8fCB7fVxuICBjb25zdCB7IHBhdGg6IHBhdGhGcm9tQ29udGV4dCwgc2NoZW1hUGF0aCB9ID0gdXNlRmllbGRQYXRoKClcblxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBmaWVsZDogRmllbGRUeXBlPHN0cmluZz4gPSB1c2VGaWVsZCh7XG4gICAgcGF0aCxcbiAgfSBhcyBPcHRpb25zKVxuXG4gIGNvbnN0IGxvY2FsZSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IFtmaWVsZHNdID0gdXNlQWxsRm9ybUZpZWxkcygpXG4gIGNvbnN0IGRvY0luZm8gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IHsgZXJyb3JNZXNzYWdlLCBzZXRWYWx1ZSwgc2hvd0Vycm9yLCB2YWx1ZSB9ID0gZmllbGRcblxuICBjb25zdCByZWdlbmVyYXRlVGl0bGUgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFoYXNHZW5lcmF0ZVRpdGxlRm4pIHJldHVyblxuXG4gICAgY29uc3QgZ2VuVGl0bGVSZXNwb25zZSA9IGF3YWl0IGZldGNoKCcvYXBpL3BsdWdpbi1zZW8vZ2VuZXJhdGUtdGl0bGUnLCB7XG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIC4uLmRvY0luZm8sXG4gICAgICAgIGRvYzogeyAuLi5maWVsZHMgfSxcbiAgICAgICAgbG9jYWxlOiB0eXBlb2YgbG9jYWxlID09PSAnb2JqZWN0JyA/IGxvY2FsZT8uY29kZSA6IGxvY2FsZSxcbiAgICAgIH0gc2F0aXNmaWVzIFBhcmFtZXRlcnM8R2VuZXJhdGVUaXRsZT5bMF0pLFxuICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICB9KVxuXG4gICAgY29uc3QgeyByZXN1bHQ6IGdlbmVyYXRlZFRpdGxlIH0gPSBhd2FpdCBnZW5UaXRsZVJlc3BvbnNlLmpzb24oKVxuXG4gICAgc2V0VmFsdWUoZ2VuZXJhdGVkVGl0bGUgfHwgJycpXG4gIH0sIFtmaWVsZHMsIHNldFZhbHVlLCBoYXNHZW5lcmF0ZVRpdGxlRm4sIGxvY2FsZSwgZG9jSW5mb10pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXJnaW5Cb3R0b206ICcyMHB4JyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzVweCcsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGx1Z2luLXNlb19fZmllbGRcIj5cbiAgICAgICAgICB7TGFiZWx9XG5cbiAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLXRoZW1lLWVycm9yLTUwMCknLFxuICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAqXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtoYXNHZW5lcmF0ZVRpdGxlRm4gJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAmbmJzcDsgJm1kYXNoOyAmbmJzcDtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3JlZ2VuZXJhdGVUaXRsZX1cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2N1cnJlbnRjb2xvcicsXG4gICAgICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdwbHVnaW4tc2VvOmF1dG9HZW5lcmF0ZScpfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY29sb3I6ICcjOUE5QTlBJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge3QoJ3BsdWdpbi1zZW86bGVuZ3RoVGlwVGl0bGUnLCB7IG1heExlbmd0aCwgbWluTGVuZ3RoIH0pfVxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vc2VhcmNoL2RvY3MvYWR2YW5jZWQvYXBwZWFyYW5jZS90aXRsZS1saW5rI3BhZ2UtdGl0bGVzXCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgncGx1Z2luLXNlbzpiZXN0UHJhY3RpY2VzJyl9XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIC5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFRleHRJbnB1dFxuICAgICAgICAgIEVycm9yPXtlcnJvck1lc3NhZ2V9IC8vIFRPRE86IGZpeCBlcnJvcm1lc3NhZ2VcbiAgICAgICAgICBvbkNoYW5nZT17c2V0VmFsdWV9XG4gICAgICAgICAgcGF0aD17cGF0aEZyb21Db250ZXh0fVxuICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICBzaG93RXJyb3I9e3Nob3dFcnJvcn1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxMZW5ndGhJbmRpY2F0b3IgbWF4TGVuZ3RoPXttYXhMZW5ndGh9IG1pbkxlbmd0aD17bWluTGVuZ3RofSB0ZXh0PXt2YWx1ZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlRmllbGRQYXRoIiwiVGV4dElucHV0IiwidXNlQWxsRm9ybUZpZWxkcyIsInVzZURvY3VtZW50SW5mbyIsInVzZUZpZWxkIiwidXNlTG9jYWxlIiwidXNlVHJhbnNsYXRpb24iLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwiZGVmYXVsdHMiLCJMZW5ndGhJbmRpY2F0b3IiLCJtYXhMZW5ndGgiLCJtaW5MZW5ndGgiLCJ0aXRsZSIsIk1ldGFUaXRsZSIsInByb3BzIiwiTGFiZWwiLCJoYXNHZW5lcmF0ZVRpdGxlRm4iLCJwYXRoIiwicmVxdWlyZWQiLCJwYXRoRnJvbUNvbnRleHQiLCJzY2hlbWFQYXRoIiwidCIsImZpZWxkIiwibG9jYWxlIiwiZmllbGRzIiwiZG9jSW5mbyIsImVycm9yTWVzc2FnZSIsInNldFZhbHVlIiwic2hvd0Vycm9yIiwidmFsdWUiLCJyZWdlbmVyYXRlVGl0bGUiLCJnZW5UaXRsZVJlc3BvbnNlIiwiZmV0Y2giLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImRvYyIsImNvZGUiLCJjcmVkZW50aWFscyIsImhlYWRlcnMiLCJtZXRob2QiLCJyZXN1bHQiLCJnZW5lcmF0ZWRUaXRsZSIsImpzb24iLCJkaXYiLCJzdHlsZSIsIm1hcmdpbkJvdHRvbSIsInBvc2l0aW9uIiwiY2xhc3NOYW1lIiwic3BhbiIsImNvbG9yIiwibWFyZ2luTGVmdCIsIkZyYWdtZW50IiwiYnV0dG9uIiwib25DbGljayIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJjdXJzb3IiLCJwYWRkaW5nIiwidGV4dERlY29yYXRpb24iLCJ0eXBlIiwiYSIsImhyZWYiLCJyZWwiLCJ0YXJnZXQiLCJFcnJvciIsIm9uQ2hhbmdlIiwiYWxpZ25JdGVtcyIsImRpc3BsYXkiLCJ3aWR0aCIsInRleHQiXSwibWFwcGluZ3MiOiJBQUFBO0FBSUEsU0FBU0EsWUFBWSxRQUFRLGlCQUFnQjtBQUM3QyxTQUNFQyxTQUFTLEVBQ1RDLGdCQUFnQixFQUNoQkMsZUFBZSxFQUNmQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVEMsY0FBYyxRQUNULGlCQUFnQjtBQUN2QixPQUFPQyxTQUFTQyxXQUFXLFFBQVEsUUFBTztBQUkxQyxTQUFTQyxRQUFRLFFBQVEsaUJBQWdCO0FBQ3pDLFNBQVNDLGVBQWUsUUFBUSwyQkFBMEI7QUFDMUQsT0FBTyxlQUFjO0FBRXJCLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxTQUFTLEVBQUUsR0FB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
112
+ //# sourceMappingURL=MetaTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fields/MetaTitle.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldType, FormFieldBase, Options } from '@payloadcms/ui'\n\nimport { useFieldPath } from '@payloadcms/ui'\nimport {\n TextInput,\n useAllFormFields,\n useDocumentInfo,\n useField,\n useLocale,\n useTranslation,\n} from '@payloadcms/ui'\nimport React, { useCallback } from 'react'\n\nimport type { GenerateTitle } from '../types.js'\n\nimport { defaults } from '../defaults.js'\nimport { LengthIndicator } from '../ui/LengthIndicator.js'\nimport './index.scss'\n\nconst { maxLength, minLength } = defaults.title\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\ntype MetaTitleProps = FormFieldBase & {\n hasGenerateTitleFn: boolean\n}\n\nexport const MetaTitle: React.FC<MetaTitleProps> = (props) => {\n const { Label, hasGenerateTitleFn, path, required } = props || {}\n const { path: pathFromContext, schemaPath } = useFieldPath()\n\n const { t } = useTranslation()\n\n const field: FieldType<string> = useField({\n path,\n } as Options)\n\n const locale = useLocale()\n const [fields] = useAllFormFields()\n const docInfo = useDocumentInfo()\n\n const { errorMessage, setValue, showError, value } = field\n\n const regenerateTitle = useCallback(async () => {\n if (!hasGenerateTitleFn) return\n\n const genTitleResponse = await fetch('/api/plugin-seo/generate-title', {\n body: JSON.stringify({\n ...docInfo,\n doc: { ...fields },\n locale: typeof locale === 'object' ? locale?.code : locale,\n } satisfies Parameters<GenerateTitle>[0]),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n const { result: generatedTitle } = await genTitleResponse.json()\n\n setValue(generatedTitle || '')\n }, [fields, setValue, hasGenerateTitleFn, locale, docInfo])\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 {Label}\n\n {required && (\n <span\n style={{\n color: 'var(--theme-error-500)',\n marginLeft: '5px',\n }}\n >\n *\n </span>\n )}\n\n {hasGenerateTitleFn && (\n <React.Fragment>\n &nbsp; &mdash; &nbsp;\n <button\n onClick={regenerateTitle}\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 <div\n style={{\n color: '#9A9A9A',\n }}\n >\n {t('plugin-seo:lengthTipTitle', { maxLength, minLength })}\n <a\n href=\"https://developers.google.com/search/docs/advanced/appearance/title-link#page-titles\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {t('plugin-seo:bestPractices')}\n </a>\n .\n </div>\n </div>\n <div\n style={{\n marginBottom: '10px',\n position: 'relative',\n }}\n >\n <TextInput\n Error={errorMessage} // TODO: fix errormessage\n onChange={setValue}\n path={pathFromContext}\n required={required}\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 <LengthIndicator maxLength={maxLength} minLength={minLength} text={value} />\n </div>\n </div>\n )\n}\n"],"names":["useFieldPath","TextInput","useAllFormFields","useDocumentInfo","useField","useLocale","useTranslation","React","useCallback","defaults","LengthIndicator","maxLength","minLength","title","MetaTitle","props","Label","hasGenerateTitleFn","path","required","pathFromContext","schemaPath","t","field","locale","fields","docInfo","errorMessage","setValue","showError","value","regenerateTitle","genTitleResponse","fetch","body","JSON","stringify","doc","code","credentials","headers","method","result","generatedTitle","json","div","style","marginBottom","position","className","span","color","marginLeft","Fragment","button","onClick","background","backgroundColor","border","cursor","padding","textDecoration","type","a","href","rel","target","Error","onChange","alignItems","display","width","text"],"mappings":"AAAA;AAIA,SAASA,YAAY,QAAQ,iBAAgB;AAC7C,SACEC,SAAS,EACTC,gBAAgB,EAChBC,eAAe,EACfC,QAAQ,EACRC,SAAS,EACTC,cAAc,QACT,iBAAgB;AACvB,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,iBAAgB;AACzC,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,OAAO,eAAc;AAErB,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGH,SAASI,KAAK;AAO/C,OAAO,MAAMC,YAAsC,CAACC;IAClD,MAAM,EAAEC,KAAK,EAAEC,kBAAkB,EAAEC,IAAI,EAAEC,QAAQ,EAAE,GAAGJ,SAAS,CAAC;IAChE,MAAM,EAAEG,MAAME,eAAe,EAAEC,UAAU,EAAE,GAAGrB;IAE9C,MAAM,EAAEsB,CAAC,EAAE,GAAGhB;IAEd,MAAMiB,QAA2BnB,SAAS;QACxCc;IACF;IAEA,MAAMM,SAASnB;IACf,MAAM,CAACoB,OAAO,GAAGvB;IACjB,MAAMwB,UAAUvB;IAEhB,MAAM,EAAEwB,YAAY,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGP;IAErD,MAAMQ,kBAAkBvB,YAAY;QAClC,IAAI,CAACS,oBAAoB;QAEzB,MAAMe,mBAAmB,MAAMC,MAAM,kCAAkC;YACrEC,MAAMC,KAAKC,SAAS,CAAC;gBACnB,GAAGV,OAAO;gBACVW,KAAK;oBAAE,GAAGZ,MAAM;gBAAC;gBACjBD,QAAQ,OAAOA,WAAW,WAAWA,QAAQc,OAAOd;YACtD;YACAe,aAAa;YACbC,SAAS;gBACP,gBAAgB;YAClB;YACAC,QAAQ;QACV;QAEA,MAAM,EAAEC,QAAQC,cAAc,EAAE,GAAG,MAAMX,iBAAiBY,IAAI;QAE9DhB,SAASe,kBAAkB;IAC7B,GAAG;QAAClB;QAAQG;QAAUX;QAAoBO;QAAQE;KAAQ;IAE1D,qBACE,oBAACmB;QACCC,OAAO;YACLC,cAAc;QAChB;qBAEA,oBAACF;QACCC,OAAO;YACLC,cAAc;YACdC,UAAU;QACZ;qBAEA,oBAACH;QAAII,WAAU;OACZjC,OAEAG,0BACC,oBAAC+B;QACCJ,OAAO;YACLK,OAAO;YACPC,YAAY;QACd;OACD,MAKFnC,oCACC,oBAACV,MAAM8C,QAAQ,QAAC,uBAEd,oBAACC;QACCC,SAASxB;QACTe,OAAO;YACLU,YAAY;YACZC,iBAAiB;YACjBC,QAAQ;YACRP,OAAO;YACPQ,QAAQ;YACRC,SAAS;YACTC,gBAAgB;QAClB;QACAC,MAAK;OAEJxC,EAAE,6CAKX,oBAACuB;QACCC,OAAO;YACLK,OAAO;QACT;OAEC7B,EAAE,6BAA6B;QAAEX;QAAWC;IAAU,kBACvD,oBAACmD;QACCC,MAAK;QACLC,KAAI;QACJC,QAAO;OAEN5C,EAAE,8BACD,qBAIR,oBAACuB;QACCC,OAAO;YACLC,cAAc;YACdC,UAAU;QACZ;qBAEA,oBAAC/C;QACCkE,OAAOxC;QACPyC,UAAUxC;QACVV,MAAME;QACND,UAAUA;QACVU,WAAWA;QACXiB,OAAO;YACLC,cAAc;QAChB;QACAjB,OAAOA;uBAGX,oBAACe;QACCC,OAAO;YACLuB,YAAY;YACZC,SAAS;YACTC,OAAO;QACT;qBAEA,oBAAC7D;QAAgBC,WAAWA;QAAWC,WAAWA;QAAW4D,MAAM1C;;AAI3E,EAAC"}
package/dist/index.js CHANGED
@@ -246,4 +246,4 @@ const seo = (pluginConfig)=>(config)=>{
246
246
  };
247
247
  export default seo;
248
248
 
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIEdyb3VwRmllbGQsIFRhYnNGaWVsZCwgVGV4dEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHtcbiAgR2VuZXJhdGVEZXNjcmlwdGlvbixcbiAgR2VuZXJhdGVJbWFnZSxcbiAgR2VuZXJhdGVUaXRsZSxcbiAgR2VuZXJhdGVVUkwsXG4gIFBsdWdpbkNvbmZpZyxcbn0gZnJvbSAnLi90eXBlcy5qcydcblxuaW1wb3J0IHsgTWV0YURlc2NyaXB0aW9uIH0gZnJvbSAnLi9maWVsZHMvTWV0YURlc2NyaXB0aW9uLmpzJ1xuaW1wb3J0IHsgTWV0YUltYWdlIH0gZnJvbSAnLi9maWVsZHMvTWV0YUltYWdlLmpzJ1xuaW1wb3J0IHsgTWV0YVRpdGxlIH0gZnJvbSAnLi9maWVsZHMvTWV0YVRpdGxlLmpzJ1xuaW1wb3J0IHRyYW5zbGF0aW9ucyBmcm9tICcuL3RyYW5zbGF0aW9ucy9pbmRleC5qcydcbmltcG9ydCB7IE92ZXJ2aWV3IH0gZnJvbSAnLi91aS9PdmVydmlldy5qcydcbmltcG9ydCB7IFByZXZpZXcgfSBmcm9tICcuL3VpL1ByZXZpZXcuanMnXG5cbmNvbnN0IHNlbyA9XG4gIChwbHVnaW5Db25maWc6IFBsdWdpbkNvbmZpZykgPT5cbiAgKGNvbmZpZzogQ29uZmlnKTogQ29uZmlnID0+IHtcbiAgICBjb25zdCBzZW9GaWVsZHM6IEdyb3VwRmllbGRbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21ldGEnLFxuICAgICAgICB0eXBlOiAnZ3JvdXAnLFxuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnb3ZlcnZpZXcnLFxuICAgICAgICAgICAgdHlwZTogJ3VpJyxcbiAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgICBGaWVsZDogT3ZlcnZpZXcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWw6ICdPdmVydmlldycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICAgIEZpZWxkOiAocHJvcHMpID0+IChcbiAgICAgICAgICAgICAgICAgIDxNZXRhVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgICAgICBoYXNHZW5lcmF0ZVRpdGxlRm49e3R5cGVvZiBwbHVnaW5Db25maWcuZ2VuZXJhdGVUaXRsZSA9PT0gJ2Z1bmN0aW9uJ31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgICAgICAuLi4oKHBsdWdpbkNvbmZpZz8uZmllbGRPdmVycmlkZXM/LnRpdGxlIGFzIHVua25vd24gYXMgVGV4dEZpZWxkKSA/PyB7fSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgdHlwZTogJ3RleHRhcmVhJyxcbiAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgICBGaWVsZDogKHByb3BzKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8TWV0YURlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgaGFzR2VuZXJhdGVEZXNjcmlwdGlvbkZuPXtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgcGx1Z2luQ29uZmlnLmdlbmVyYXRlRGVzY3JpcHRpb24gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxvY2FsaXplZDogdHJ1ZSxcbiAgICAgICAgICAgIC4uLihwbHVnaW5Db25maWc/LmZpZWxkT3ZlcnJpZGVzPy5kZXNjcmlwdGlvbiA/PyB7fSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi4ocGx1Z2luQ29uZmlnPy51cGxvYWRzQ29sbGVjdGlvblxuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdpbWFnZScsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAndXBsb2FkJyxcbiAgICAgICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBGaWVsZDogKHByb3BzKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8TWV0YUltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzR2VuZXJhdGVJbWFnZUZuPXt0eXBlb2YgcGx1Z2luQ29uZmlnLmdlbmVyYXRlSW1hZ2UgPT09ICdmdW5jdGlvbid9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICdNYXhpbXVtIHVwbG9hZCBmaWxlIHNpemU6IDEyTUIuIFJlY29tbWVuZGVkIGZpbGUgc2l6ZSBmb3IgaW1hZ2VzIGlzIDw1MDBLQi4nLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTWV0YSBJbWFnZScsXG4gICAgICAgICAgICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBwbHVnaW5Db25maWc/LnVwbG9hZHNDb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgLi4uKHBsdWdpbkNvbmZpZz8uZmllbGRPdmVycmlkZXM/LmltYWdlID8/IHt9KSxcbiAgICAgICAgICAgICAgICB9IGFzIEZpZWxkLFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAuLi4ocGx1Z2luQ29uZmlnPy5maWVsZHMgfHwgW10pLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdwcmV2aWV3JyxcbiAgICAgICAgICAgIHR5cGU6ICd1aScsXG4gICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgICAgRmllbGQ6IChwcm9wcykgPT4gKFxuICAgICAgICAgICAgICAgICAgPFByZXZpZXdcbiAgICAgICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgICAgICBoYXNHZW5lcmF0ZVVSTEZuPXt0eXBlb2YgcGx1Z2luQ29uZmlnLmdlbmVyYXRlVVJMID09PSAnZnVuY3Rpb24nfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxhYmVsOiAnUHJldmlldycsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgaW50ZXJmYWNlTmFtZTogcGx1Z2luQ29uZmlnLmludGVyZmFjZU5hbWUsXG4gICAgICAgIGxhYmVsOiAnU0VPJyxcbiAgICAgIH0sXG4gICAgXVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGNvbGxlY3Rpb25zOlxuICAgICAgICBjb25maWcuY29sbGVjdGlvbnM/Lm1hcCgoY29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc2x1ZyB9ID0gY29sbGVjdGlvblxuICAgICAgICAgIGNvbnN0IGlzRW5hYmxlZCA9IHBsdWdpbkNvbmZpZz8uY29sbGVjdGlvbnM/LmluY2x1ZGVzKHNsdWcpXG5cbiAgICAgICAgICBpZiAoaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBpZiAocGx1Z2luQ29uZmlnPy50YWJiZWRVSSkge1xuICAgICAgICAgICAgICAvLyBwcmV2ZW50IGlzc3VlcyB3aXRoIGF1dGggZW5hYmxlZCBjb2xsZWN0aW9ucyBoYXZpbmcgYW4gZW1haWwgZmllbGQgdGhhdCBzaG91bGRuJ3QgYmUgbW92ZWQgdG8gdGhlIFNFTyB0YWJcbiAgICAgICAgICAgICAgY29uc3QgZW1haWxGaWVsZCA9XG4gICAgICAgICAgICAgICAgKGNvbGxlY3Rpb24uYXV0aCB8fFxuICAgICAgICAgICAgICAgICAgISh0eXBlb2YgY29sbGVjdGlvbi5hdXRoID09PSAnb2JqZWN0JyAmJiBjb2xsZWN0aW9uLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kpKSAmJlxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24uZmllbGRzPy5maW5kKChmaWVsZCkgPT4gJ25hbWUnIGluIGZpZWxkICYmIGZpZWxkLm5hbWUgPT09ICdlbWFpbCcpXG5cbiAgICAgICAgICAgICAgY29uc3Qgc2VvVGFiczogVGFic0ZpZWxkW10gPSBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3RhYnMnLFxuICAgICAgICAgICAgICAgICAgdGFiczogW1xuICAgICAgICAgICAgICAgICAgICAvLyBhcHBlbmQgYSBuZXcgdGFiIG9udG8gdGhlIGVuZCBvZiB0aGUgdGFicyBhcnJheSwgaWYgdGhlcmUgaXMgb25lIGF0IHRoZSBmaXJzdCBpbmRleFxuICAgICAgICAgICAgICAgICAgICAvLyBpZiBuZWVkZWQsIGNyZWF0ZSBhIG5ldyBgQ29udGVudGAgdGFiIGluIHRoZSBmaXJzdCBpbmRleCBmb3IgdGhpcyBjb2xsZWN0aW9uJ3MgYmFzZSBmaWVsZHNcbiAgICAgICAgICAgICAgICAgICAgLi4uKGNvbGxlY3Rpb24/LmZpZWxkcz8uWzBdPy50eXBlID09PSAndGFicydcbiAgICAgICAgICAgICAgICAgICAgICA/IGNvbGxlY3Rpb24uZmllbGRzWzBdPy50YWJzXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLigoZW1haWxGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNvbGxlY3Rpb24uZmllbGRzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWVsZCkgPT4gJ25hbWUnIGluIGZpZWxkICYmIGZpZWxkLm5hbWUgIT09ICdlbWFpbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGNvbGxlY3Rpb24uZmllbGRzKSB8fCBbXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogY29sbGVjdGlvbj8ubGFiZWxzPy5zaW5ndWxhciB8fCAnQ29udGVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGZpZWxkczogc2VvRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU0VPJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgIC4uLihlbWFpbEZpZWxkID8gW2VtYWlsRmllbGRdIDogW10pLFxuICAgICAgICAgICAgICAgICAgLi4uc2VvVGFicyxcbiAgICAgICAgICAgICAgICAgIC4uLihjb2xsZWN0aW9uPy5maWVsZHM/LlswXT8udHlwZSA9PT0gJ3RhYnMnID8gY29sbGVjdGlvbi5maWVsZHMuc2xpY2UoMSkgOiBbXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jb2xsZWN0aW9uLFxuICAgICAgICAgICAgICBmaWVsZHM6IFsuLi4oY29sbGVjdGlvbj8uZmllbGRzIHx8IFtdKSwgLi4uc2VvRmllbGRzXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29sbGVjdGlvblxuICAgICAgICB9KSB8fCBbXSxcbiAgICAgIGVuZHBvaW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgaGFuZGxlcjogYXN5bmMgKHJlcSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJnczogUGFyYW1ldGVyczxHZW5lcmF0ZVRpdGxlPlswXSA9XG4gICAgICAgICAgICAgIHJlcS5kYXRhIGFzIHVua25vd24gYXMgUGFyYW1ldGVyczxHZW5lcmF0ZVRpdGxlPlswXVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGx1Z2luQ29uZmlnLmdlbmVyYXRlVGl0bGUoYXJncylcbiAgICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkoeyByZXN1bHQgfSksIHsgc3RhdHVzOiAyMDAgfSlcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICAgIHBhdGg6ICcvcGx1Z2luLXNlby9nZW5lcmF0ZS10aXRsZScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBoYW5kbGVyOiBhc3luYyAocmVxKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhcmdzOiBQYXJhbWV0ZXJzPEdlbmVyYXRlRGVzY3JpcHRpb24+WzBdID1cbiAgICAgICAgICAgICAgcmVxLmRhdGEgYXMgdW5rbm93biBhcyBQYXJhbWV0ZXJzPEdlbmVyYXRlRGVzY3JpcHRpb24+WzBdXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwbHVnaW5Db25maWcuZ2VuZXJhdGVEZXNjcmlwdGlvbihhcmdzKVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh7IHJlc3VsdCB9KSwgeyBzdGF0dXM6IDIwMCB9KVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgICAgcGF0aDogJy9wbHVnaW4tc2VvL2dlbmVyYXRlLWRlc2NyaXB0aW9uJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGhhbmRsZXI6IGFzeW5jIChyZXEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFyZ3M6IFBhcmFtZXRlcnM8R2VuZXJhdGVVUkw+WzBdID1cbiAgICAgICAgICAgICAgcmVxLmRhdGEgYXMgdW5rbm93biBhcyBQYXJhbWV0ZXJzPEdlbmVyYXRlVVJMPlswXVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGx1Z2luQ29uZmlnLmdlbmVyYXRlVVJMKGFyZ3MpXG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KHsgcmVzdWx0IH0pLCB7IHN0YXR1czogMjAwIH0pXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgICBwYXRoOiAnL3BsdWdpbi1zZW8vZ2VuZXJhdGUtdXJsJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGhhbmRsZXI6IGFzeW5jIChyZXEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFyZ3M6IFBhcmFtZXRlcnM8R2VuZXJhdGVJbWFnZT5bMF0gPVxuICAgICAgICAgICAgICByZXEuZGF0YSBhcyB1bmtub3duIGFzIFBhcmFtZXRlcnM8R2VuZXJhdGVJbWFnZT5bMF1cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBsdWdpbkNvbmZpZy5nZW5lcmF0ZUltYWdlKGFyZ3MpXG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKHJlc3VsdCwgeyBzdGF0dXM6IDIwMCB9KVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgICAgcGF0aDogJy9wbHVnaW4tc2VvL2dlbmVyYXRlLWltYWdlJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBnbG9iYWxzOlxuICAgICAgICBjb25maWcuZ2xvYmFscz8ubWFwKChnbG9iYWwpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHNsdWcgfSA9IGdsb2JhbFxuICAgICAgICAgIGNvbnN0IGlzRW5hYmxlZCA9IHBsdWdpbkNvbmZpZz8uZ2xvYmFscz8uaW5jbHVkZXMoc2x1ZylcblxuICAgICAgICAgIGlmIChpc0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGlmIChwbHVnaW5Db25maWc/LnRhYmJlZFVJKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHNlb1RhYnM6IFRhYnNGaWVsZFtdID0gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICd0YWJzJyxcbiAgICAgICAgICAgICAgICAgIHRhYnM6IFtcbiAgICAgICAgICAgICAgICAgICAgLy8gYXBwZW5kIGEgbmV3IHRhYiBvbnRvIHRoZSBlbmQgb2YgdGhlIHRhYnMgYXJyYXksIGlmIHRoZXJlIGlzIG9uZSBhdCB0aGUgZmlyc3QgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgbmVlZGVkLCBjcmVhdGUgYSBuZXcgYENvbnRlbnRgIHRhYiBpbiB0aGUgZmlyc3QgaW5kZXggZm9yIHRoaXMgZ2xvYmFsJ3MgYmFzZSBmaWVsZHNcbiAgICAgICAgICAgICAgICAgICAgLi4uKGdsb2JhbD8uZmllbGRzPy5bMF0udHlwZSA9PT0gJ3RhYnMnXG4gICAgICAgICAgICAgICAgICAgICAgPyBnbG9iYWwuZmllbGRzWzBdPy50YWJzXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IFsuLi4oZ2xvYmFsPy5maWVsZHMgfHwgW10pXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZ2xvYmFsPy5sYWJlbCB8fCAnQ29udGVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGZpZWxkczogc2VvRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU0VPJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZ2xvYmFsLFxuICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAgLi4uc2VvVGFicyxcbiAgICAgICAgICAgICAgICAgIC4uLihnbG9iYWw/LmZpZWxkcz8uWzBdLnR5cGUgPT09ICd0YWJzJyA/IGdsb2JhbD8uZmllbGRzPy5zbGljZSgxKSA6IFtdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmdsb2JhbCxcbiAgICAgICAgICAgICAgZmllbGRzOiBbLi4uKGdsb2JhbD8uZmllbGRzIHx8IFtdKSwgLi4uc2VvRmllbGRzXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZ2xvYmFsXG4gICAgICAgIH0pIHx8IFtdLFxuICAgICAgaTE4bjoge1xuICAgICAgICAuLi5jb25maWcuaTE4bixcbiAgICAgICAgdHJhbnNsYXRpb25zOiB7XG4gICAgICAgICAgLi4uZGVlcE1lcmdlKHRyYW5zbGF0aW9ucywgY29uZmlnLmkxOG4/LnRyYW5zbGF0aW9ucyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG5leHBvcnQgZGVmYXVsdCBzZW9cbiJdLCJuYW1lcyI6WyJkZWVwTWVyZ2UiLCJSZWFjdCIsIk1ldGFEZXNjcmlwdGlvbiIsIk1ldGFJbWFnZSIsIk1ldGFUaXRsZSIsInRyYW5zbGF0aW9ucyIsIk92ZXJ2aWV3IiwiUHJldmlldyIsInNlbyIsInBsdWdpbkNvbmZpZyIsImNvbmZpZyIsInNlb0ZpZWxkcyIsIm5hbWUiLCJ0eXBlIiwiZmllbGRzIiwiYWRtaW4iLCJjb21wb25lbnRzIiwiRmllbGQiLCJsYWJlbCIsInByb3BzIiwiaGFzR2VuZXJhdGVUaXRsZUZuIiwiZ2VuZXJhdGVUaXRsZSIsImxvY2FsaXplZCIsImZpZWxkT3ZlcnJpZGVzIiwidGl0bGUiLCJoYXNHZW5lcmF0ZURlc2NyaXB0aW9uRm4iLCJnZW5lcmF0ZURlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJ1cGxvYWRzQ29sbGVjdGlvbiIsImhhc0dlbmVyYXRlSW1hZ2VGbiIsImdlbmVyYXRlSW1hZ2UiLCJyZWxhdGlvblRvIiwiaW1hZ2UiLCJoYXNHZW5lcmF0ZVVSTEZuIiwiZ2VuZXJhdGVVUkwiLCJpbnRlcmZhY2VOYW1lIiwiY29sbGVjdGlvbnMiLCJtYXAiLCJjb2xsZWN0aW9uIiwic2x1ZyIsImlzRW5hYmxlZCIsImluY2x1ZGVzIiwidGFiYmVkVUkiLCJlbWFpbEZpZWxkIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiZmluZCIsImZpZWxkIiwic2VvVGFicyIsInRhYnMiLCJmaWx0ZXIiLCJsYWJlbHMiLCJzaW5ndWxhciIsInNsaWNlIiwiZW5kcG9pbnRzIiwiaGFuZGxlciIsInJlcSIsImFyZ3MiLCJkYXRhIiwicmVzdWx0IiwiUmVzcG9uc2UiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdHVzIiwibWV0aG9kIiwicGF0aCIsImdsb2JhbHMiLCJnbG9iYWwiLCJpMThuIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxTQUFTLFFBQVEsb0JBQW1CO0FBQzdDLE9BQU9DLFdBQVcsUUFBTztBQVV6QixTQUFTQyxlQUFlLFFBQVEsOEJBQTZCO0FBQzdELFNBQVNDLFNBQVMsUUFBUSx3QkFBdUI7QUFDakQsU0FBU0MsU0FBUyxRQUFRLHdCQUF1QjtBQUNqRCxPQUFPQyxrQkFBa0IsMEJBQXlCO0FBQ2xELFNBQVNDLFFBQVEsUUFBUSxtQkFBa0I7QUFDM0MsU0FBU0MsT0FBTyxRQUFRLGtCQUFpQjtBQUV6QyxNQUFNQyxNQUNKLENBQUNDLGVBQ0QsQ0FBQ0M7UUFDQyxNQUFNQyxZQUEwQjtZQUM5QjtnQkFDRUMsTUFBTTtnQkFDTkMsTUFBTTtn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
249
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { Config } from 'payload/config'\nimport type { Field, GroupField, TabsField, TextField } from 'payload/types'\n\nimport { deepMerge } from 'payload/utilities'\nimport React from 'react'\n\nimport type {\n GenerateDescription,\n GenerateImage,\n GenerateTitle,\n GenerateURL,\n PluginConfig,\n} from './types.js'\n\nimport { MetaDescription } from './fields/MetaDescription.js'\nimport { MetaImage } from './fields/MetaImage.js'\nimport { MetaTitle } from './fields/MetaTitle.js'\nimport translations from './translations/index.js'\nimport { Overview } from './ui/Overview.js'\nimport { Preview } from './ui/Preview.js'\n\nconst seo =\n (pluginConfig: PluginConfig) =>\n (config: Config): Config => {\n const seoFields: GroupField[] = [\n {\n name: 'meta',\n type: 'group',\n fields: [\n {\n name: 'overview',\n type: 'ui',\n admin: {\n components: {\n Field: Overview,\n },\n },\n label: 'Overview',\n },\n {\n name: 'title',\n type: 'text',\n admin: {\n components: {\n Field: (props) => (\n <MetaTitle\n {...props}\n hasGenerateTitleFn={typeof pluginConfig.generateTitle === 'function'}\n />\n ),\n },\n },\n localized: true,\n ...((pluginConfig?.fieldOverrides?.title as unknown as TextField) ?? {}),\n },\n {\n name: 'description',\n type: 'textarea',\n admin: {\n components: {\n Field: (props) => (\n <MetaDescription\n {...props}\n hasGenerateDescriptionFn={\n typeof pluginConfig.generateDescription === 'function'\n }\n />\n ),\n },\n },\n localized: true,\n ...(pluginConfig?.fieldOverrides?.description ?? {}),\n },\n ...(pluginConfig?.uploadsCollection\n ? [\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n name: 'image',\n type: 'upload',\n admin: {\n components: {\n Field: (props) => (\n <MetaImage\n {...props}\n hasGenerateImageFn={typeof pluginConfig.generateImage === 'function'}\n />\n ),\n },\n description:\n 'Maximum upload file size: 12MB. Recommended file size for images is <500KB.',\n },\n label: 'Meta Image',\n localized: true,\n relationTo: pluginConfig?.uploadsCollection,\n ...(pluginConfig?.fieldOverrides?.image ?? {}),\n } as Field,\n ]\n : []),\n ...(pluginConfig?.fields || []),\n {\n name: 'preview',\n type: 'ui',\n admin: {\n components: {\n Field: (props) => (\n <Preview\n {...props}\n hasGenerateURLFn={typeof pluginConfig.generateURL === 'function'}\n />\n ),\n },\n },\n label: 'Preview',\n },\n ],\n interfaceName: pluginConfig.interfaceName,\n label: 'SEO',\n },\n ]\n\n return {\n ...config,\n collections:\n config.collections?.map((collection) => {\n const { slug } = collection\n const isEnabled = pluginConfig?.collections?.includes(slug)\n\n if (isEnabled) {\n if (pluginConfig?.tabbedUI) {\n // prevent issues with auth enabled collections having an email field that shouldn't be moved to the SEO tab\n const emailField =\n (collection.auth ||\n !(typeof collection.auth === 'object' && collection.auth.disableLocalStrategy)) &&\n collection.fields?.find((field) => 'name' in field && field.name === 'email')\n\n const seoTabs: TabsField[] = [\n {\n type: 'tabs',\n tabs: [\n // append a new tab onto the end of the tabs array, if there is one at the first index\n // if needed, create a new `Content` tab in the first index for this collection's base fields\n ...(collection?.fields?.[0]?.type === 'tabs'\n ? collection.fields[0]?.tabs\n : [\n {\n fields: [\n ...((emailField\n ? collection.fields.filter(\n (field) => 'name' in field && field.name !== 'email',\n )\n : collection.fields) || []),\n ],\n label: collection?.labels?.singular || 'Content',\n },\n ]),\n {\n fields: seoFields,\n label: 'SEO',\n },\n ],\n },\n ]\n\n return {\n ...collection,\n fields: [\n ...(emailField ? [emailField] : []),\n ...seoTabs,\n ...(collection?.fields?.[0]?.type === 'tabs' ? collection.fields.slice(1) : []),\n ],\n }\n }\n\n return {\n ...collection,\n fields: [...(collection?.fields || []), ...seoFields],\n }\n }\n\n return collection\n }) || [],\n endpoints: [\n {\n handler: async (req) => {\n const args: Parameters<GenerateTitle>[0] =\n req.data as unknown as Parameters<GenerateTitle>[0]\n const result = await pluginConfig.generateTitle(args)\n return new Response(JSON.stringify({ result }), { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-title',\n },\n {\n handler: async (req) => {\n const args: Parameters<GenerateDescription>[0] =\n req.data as unknown as Parameters<GenerateDescription>[0]\n const result = await pluginConfig.generateDescription(args)\n return new Response(JSON.stringify({ result }), { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-description',\n },\n {\n handler: async (req) => {\n const args: Parameters<GenerateURL>[0] =\n req.data as unknown as Parameters<GenerateURL>[0]\n const result = await pluginConfig.generateURL(args)\n return new Response(JSON.stringify({ result }), { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-url',\n },\n {\n handler: async (req) => {\n const args: Parameters<GenerateImage>[0] =\n req.data as unknown as Parameters<GenerateImage>[0]\n const result = await pluginConfig.generateImage(args)\n return new Response(result, { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-image',\n },\n ],\n globals:\n config.globals?.map((global) => {\n const { slug } = global\n const isEnabled = pluginConfig?.globals?.includes(slug)\n\n if (isEnabled) {\n if (pluginConfig?.tabbedUI) {\n const seoTabs: TabsField[] = [\n {\n type: 'tabs',\n tabs: [\n // append a new tab onto the end of the tabs array, if there is one at the first index\n // if needed, create a new `Content` tab in the first index for this global's base fields\n ...(global?.fields?.[0].type === 'tabs'\n ? global.fields[0]?.tabs\n : [\n {\n fields: [...(global?.fields || [])],\n label: global?.label || 'Content',\n },\n ]),\n {\n fields: seoFields,\n label: 'SEO',\n },\n ],\n },\n ]\n\n return {\n ...global,\n fields: [\n ...seoTabs,\n ...(global?.fields?.[0].type === 'tabs' ? global?.fields?.slice(1) : []),\n ],\n }\n }\n\n return {\n ...global,\n fields: [...(global?.fields || []), ...seoFields],\n }\n }\n\n return global\n }) || [],\n i18n: {\n ...config.i18n,\n translations: {\n ...deepMerge(translations, config.i18n?.translations),\n },\n },\n }\n }\n\nexport default seo\n"],"names":["deepMerge","React","MetaDescription","MetaImage","MetaTitle","translations","Overview","Preview","seo","pluginConfig","config","seoFields","name","type","fields","admin","components","Field","label","props","hasGenerateTitleFn","generateTitle","localized","fieldOverrides","title","hasGenerateDescriptionFn","generateDescription","description","uploadsCollection","hasGenerateImageFn","generateImage","relationTo","image","hasGenerateURLFn","generateURL","interfaceName","collections","map","collection","slug","isEnabled","includes","tabbedUI","emailField","auth","disableLocalStrategy","find","field","seoTabs","tabs","filter","labels","singular","slice","endpoints","handler","req","args","data","result","Response","JSON","stringify","status","method","path","globals","global","i18n"],"mappings":"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"}
@@ -11,4 +11,4 @@ export default {
11
11
  pl
12
12
  };
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2xhdGlvbnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGVuIGZyb20gJy4vZW4uanNvbidcbmltcG9ydCBlcyBmcm9tICcuL2VzLmpzb24nXG5pbXBvcnQgZmEgZnJvbSAnLi9mYS5qc29uJ1xuaW1wb3J0IGZyIGZyb20gJy4vZnIuanNvbidcbmltcG9ydCBwbCBmcm9tICcuL3BsLmpzb24nXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZW4sXG4gIGVzLFxuICBmYSxcbiAgZnIsXG4gIHBsLFxufVxuIl0sIm5hbWVzIjpbImVuIiwiZXMiLCJmYSIsImZyIiwicGwiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFFBQVEsWUFBVztBQUMxQixPQUFPQyxRQUFRLFlBQVc7QUFDMUIsT0FBT0MsUUFBUSxZQUFXO0FBQzFCLE9BQU9DLFFBQVEsWUFBVztBQUMxQixPQUFPQyxRQUFRLFlBQVc7QUFFMUIsZUFBZTtJQUNiSjtJQUNBQztJQUNBQztJQUNBQztJQUNBQztBQUNGLEVBQUMifQ==
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import en from './en.json'\nimport es from './es.json'\nimport fa from './fa.json'\nimport fr from './fr.json'\nimport pl from './pl.json'\n\nexport default {\n en,\n es,\n fa,\n fr,\n pl,\n}\n"],"names":["en","es","fa","fr","pl"],"mappings":"AAAA,OAAOA,QAAQ,YAAW;AAC1B,OAAOC,QAAQ,YAAW;AAC1B,OAAOC,QAAQ,YAAW;AAC1B,OAAOC,QAAQ,YAAW;AAC1B,OAAOC,QAAQ,YAAW;AAE1B,eAAe;IACbJ;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
package/dist/types.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { };
2
2
 
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERvY3VtZW50SW5mb0NvbnRleHQgfSBmcm9tICdAcGF5bG9hZGNtcy91aS9wcm92aWRlcnMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBUZXh0RmllbGQsIFRleHRhcmVhRmllbGQsIFVwbG9hZEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVUaXRsZSA9IDxUID0gYW55PihcbiAgYXJnczogRG9jdW1lbnRJbmZvQ29udGV4dCAmIHsgZG9jOiBUOyBsb2NhbGU/OiBzdHJpbmcgfSxcbikgPT4gUHJvbWlzZTxzdHJpbmc+IHwgc3RyaW5nXG5cbmV4cG9ydCB0eXBlIEdlbmVyYXRlRGVzY3JpcHRpb24gPSA8VCA9IGFueT4oXG4gIGFyZ3M6IERvY3VtZW50SW5mb0NvbnRleHQgJiB7XG4gICAgZG9jOiBUXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gIH0sXG4pID0+IFByb21pc2U8c3RyaW5nPiB8IHN0cmluZ1xuXG5leHBvcnQgdHlwZSBHZW5lcmF0ZUltYWdlID0gPFQgPSBhbnk+KFxuICBhcmdzOiBEb2N1bWVudEluZm9Db250ZXh0ICYgeyBkb2M6IFQ7IGxvY2FsZT86IHN0cmluZyB9LFxuKSA9PiBQcm9taXNlPHN0cmluZz4gfCBzdHJpbmdcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVVUkwgPSA8VCA9IGFueT4oXG4gIGFyZ3M6IERvY3VtZW50SW5mb0NvbnRleHQgJiB7IGRvYzogVDsgbG9jYWxlPzogc3RyaW5nIH0sXG4pID0+IFByb21pc2U8c3RyaW5nPiB8IHN0cmluZ1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkNvbmZpZyB7XG4gIGNvbGxlY3Rpb25zPzogc3RyaW5nW11cbiAgZmllbGRPdmVycmlkZXM/OiB7XG4gICAgZGVzY3JpcHRpb24/OiBQYXJ0aWFsPFRleHRhcmVhRmllbGQ+XG4gICAgaW1hZ2U/OiBQYXJ0aWFsPFVwbG9hZEZpZWxkPlxuICAgIHRpdGxlPzogUGFydGlhbDxUZXh0RmllbGQ+XG4gIH1cbiAgZmllbGRzPzogRmllbGRbXVxuICBnZW5lcmF0ZURlc2NyaXB0aW9uPzogR2VuZXJhdGVEZXNjcmlwdGlvblxuICBnZW5lcmF0ZUltYWdlPzogR2VuZXJhdGVJbWFnZVxuICBnZW5lcmF0ZVRpdGxlPzogR2VuZXJhdGVUaXRsZVxuICBnZW5lcmF0ZVVSTD86IEdlbmVyYXRlVVJMXG4gIGdsb2JhbHM/OiBzdHJpbmdbXVxuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIHRhYmJlZFVJPzogYm9vbGVhblxuICB1cGxvYWRzQ29sbGVjdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGEge1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBpbWFnZT86IGFueSAvLyBUT0RPOiB0eXBlIHRoaXNcbiAga2V5d29yZHM/OiBzdHJpbmdcbiAgdGl0bGU/OiBzdHJpbmdcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3Q0EsV0FLQyJ9
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { DocumentInfoContext } from '@payloadcms/ui/providers'\nimport type { Field, TextField, TextareaField, UploadField } from 'payload/types'\n\nexport type GenerateTitle = <T = any>(\n args: DocumentInfoContext & { doc: T; locale?: string },\n) => Promise<string> | string\n\nexport type GenerateDescription = <T = any>(\n args: DocumentInfoContext & {\n doc: T\n locale?: string\n },\n) => Promise<string> | string\n\nexport type GenerateImage = <T = any>(\n args: DocumentInfoContext & { doc: T; locale?: string },\n) => Promise<string> | string\n\nexport type GenerateURL = <T = any>(\n args: DocumentInfoContext & { doc: T; locale?: string },\n) => Promise<string> | string\n\nexport interface PluginConfig {\n collections?: string[]\n fieldOverrides?: {\n description?: Partial<TextareaField>\n image?: Partial<UploadField>\n title?: Partial<TextField>\n }\n fields?: Field[]\n generateDescription?: GenerateDescription\n generateImage?: GenerateImage\n generateTitle?: GenerateTitle\n generateURL?: GenerateURL\n globals?: string[]\n interfaceName?: string\n tabbedUI?: boolean\n uploadsCollection?: string\n}\n\nexport interface Meta {\n description?: string\n image?: any // TODO: type this\n keywords?: string\n title?: string\n}\n"],"names":[],"mappings":"AAwCA,WAKC"}
@@ -110,4 +110,4 @@ export const LengthIndicator = (props)=>{
110
110
  })));
111
111
  };
112
112
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91aS9MZW5ndGhJbmRpY2F0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ0BwYXlsb2FkY21zL3VpJ1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IFBpbGwgfSBmcm9tICcuL1BpbGwuanMnXG5cbmV4cG9ydCBjb25zdCBMZW5ndGhJbmRpY2F0b3I6IFJlYWN0LkZDPHtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0ZXh0Pzogc3RyaW5nXG59PiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG1heExlbmd0aCA9IDAsIG1pbkxlbmd0aCA9IDAsIHRleHQgfSA9IHByb3BzXG5cbiAgY29uc3QgW2xhYmVsU3R5bGUsIHNldExhYmVsU3R5bGVdID0gdXNlU3RhdGUoe1xuICAgIGJhY2tncm91bmRDb2xvcjogJycsXG4gICAgY29sb3I6ICcnLFxuICB9KVxuXG4gIGNvbnN0IFtsYWJlbCwgc2V0TGFiZWxdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtiYXJXaWR0aCwgc2V0QmFyV2lkdGhdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRleHRMZW5ndGggPSB0ZXh0Py5sZW5ndGggfHwgMFxuXG4gICAgaWYgKHRleHRMZW5ndGggPT09IDApIHtcbiAgICAgIHNldExhYmVsKCdNaXNzaW5nJylcbiAgICAgIHNldExhYmVsU3R5bGUoe1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZWQnLFxuICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgIH0pXG4gICAgICBzZXRCYXJXaWR0aCgwKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9ncmVzcyA9ICh0ZXh0TGVuZ3RoIC0gbWluTGVuZ3RoKSAvIChtYXhMZW5ndGggLSBtaW5MZW5ndGgpXG5cbiAgICAgIGlmIChwcm9ncmVzcyA8IDApIHtcbiAgICAgICAgY29uc3QgcmF0aW9VbnRpbE1pbiA9IHRleHRMZW5ndGggLyBtaW5MZW5ndGhcblxuICAgICAgICBpZiAocmF0aW9VbnRpbE1pbiA+IDAuOSkge1xuICAgICAgICAgIHNldExhYmVsKHQoJ3BsdWdpbi1zZW86YWxtb3N0VGhlcmUnKSlcbiAgICAgICAgICBzZXRMYWJlbFN0eWxlKHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ29yYW5nZScsXG4gICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldExhYmVsKHQoJ3BsdWdpbi1zZW86dG9vU2hvcnQnKSlcbiAgICAgICAgICBzZXRMYWJlbFN0eWxlKHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ29yYW5nZXJlZCcsXG4gICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0QmFyV2lkdGgocmF0aW9VbnRpbE1pbilcbiAgICAgIH1cblxuICAgICAgaWYgKHByb2dyZXNzID49IDAgJiYgcHJvZ3Jlc3MgPD0gMSkge1xuICAgICAgICBzZXRMYWJlbCh0KCdwbHVnaW4tc2VvOmdvb2QnKSlcbiAgICAgICAgc2V0TGFiZWxTdHlsZSh7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnZ3JlZW4nLFxuICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICB9KVxuICAgICAgICBzZXRCYXJXaWR0aChwcm9ncmVzcylcbiAgICAgIH1cblxuICAgICAgaWYgKHByb2dyZXNzID4gMSkge1xuICAgICAgICBzZXRMYWJlbCh0KCdwbHVnaW4tc2VvOnRvb0xvbmcnKSlcbiAgICAgICAgc2V0TGFiZWxTdHlsZSh7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmVkJyxcbiAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgICAgfSlcbiAgICAgICAgc2V0QmFyV2lkdGgoMSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFttaW5MZW5ndGgsIG1heExlbmd0aCwgdGV4dF0pXG5cbiAgY29uc3QgdGV4dExlbmd0aCA9IHRleHQ/Lmxlbmd0aCB8fCAwXG5cbiAgY29uc3QgY2hhcnNVbnRpbE1heCA9IG1heExlbmd0aCAtIHRleHRMZW5ndGhcbiAgY29uc3QgY2hhcnNVbnRpbE1pbiA9IG1pbkxlbmd0aCAtIHRleHRMZW5ndGhcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxQaWxsIGJhY2tncm91bmRDb2xvcj17bGFiZWxTdHlsZS5iYWNrZ3JvdW5kQ29sb3J9IGNvbG9yPXtsYWJlbFN0eWxlLmNvbG9yfSBsYWJlbD17bGFiZWx9IC8+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxzbWFsbD5cbiAgICAgICAgICB7dCgncGx1Z2luLXNlbzpjaGFyYWN0ZXJDb3VudCcsIHsgY3VycmVudDogdGV4dD8ubGVuZ3RoIHx8IDAsIG1heExlbmd0aCwgbWluTGVuZ3RoIH0pfVxuICAgICAgICAgIHsodGV4dExlbmd0aCA9PT0gMCB8fCBjaGFyc1VudGlsTWluID4gMCkgJiYgKFxuICAgICAgICAgICAgPEZyYWdtZW50Pnt0KCdwbHVnaW4tc2VvOmNoYXJhY3RlcnNUb0dvJywgeyBjaGFyYWN0ZXJzOiBjaGFyc1VudGlsTWluIH0pfTwvRnJhZ21lbnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7Y2hhcnNVbnRpbE1pbiA8PSAwICYmIGNoYXJzVW50aWxNYXggPj0gMCAmJiAoXG4gICAgICAgICAgICA8RnJhZ21lbnQ+e3QoJ3BsdWdpbi1zZW86Y2hhcmFjdGVyc0xlZnRPdmVyJywgeyBjaGFyYWN0ZXJzOiBjaGFyc1VudGlsTWF4IH0pfTwvRnJhZ21lbnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7Y2hhcnNVbnRpbE1heCA8IDAgJiYgKFxuICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICB7dCgncGx1Z2luLXNlbzpjaGFyYWN0ZXJzVG9vTWFueScsIHsgY2hhcmFjdGVyczogY2hhcnNVbnRpbE1heCAqIC0xIH0pfVxuICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICApfVxuICAgICAgICA8L3NtYWxsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0YzRjNGMycsXG4gICAgICAgICAgaGVpZ2h0OiAnMnB4JyxcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogbGFiZWxTdHlsZS5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIHdpZHRoOiBgJHtiYXJXaWR0aCAqIDEwMH0lYCxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VUcmFuc2xhdGlvbiIsIlJlYWN0IiwiRnJhZ21lbnQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlBpbGwiLCJMZW5ndGhJbmRpY2F0b3IiLCJwcm9wcyIsIm1heExlbmd0aCIsIm1pbkxlbmd0aCIsInRleHQiLCJsYWJlbFN0eWxlIiwic2V0TGFiZWxTdHlsZSIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwibGFiZWwiLCJzZXRMYWJlbCIsImJhcldpZHRoIiwic2V0QmFyV2lkdGgiLCJ0IiwidGV4dExlbmd0aCIsImxlbmd0aCIsInByb2dyZXNzIiwicmF0aW9VbnRpbE1pbiIsImNoYXJzVW50aWxNYXgiLCJjaGFyc1VudGlsTWluIiwiZGl2Iiwic3R5bGUiLCJhbGlnbkl0ZW1zIiwiZGlzcGxheSIsIndpZHRoIiwiZmxleFNocmluayIsImxpbmVIZWlnaHQiLCJtYXJnaW5SaWdodCIsIndoaXRlU3BhY2UiLCJzbWFsbCIsImN1cnJlbnQiLCJjaGFyYWN0ZXJzIiwiaGVpZ2h0IiwicG9zaXRpb24iLCJsZWZ0IiwidG9wIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUVBLFNBQVNBLGNBQWMsUUFBUSxpQkFBZ0I7QUFDL0MsT0FBT0MsU0FBU0MsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBRTVELFNBQVNDLElBQUksUUFBUSxZQUFXO0FBRWhDLE9BQU8sTUFBTUMsa0JBSVIsQ0FBQ0M7SUFDSixNQUFNLEVBQUVDLFlBQVksQ0FBQyxFQUFFQyxZQUFZLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUdIO0lBRS9DLE1BQU0sQ0FBQ0ksWUFBWUMsY0FBYyxHQUFHUixTQUFTO1FBQzNDUyxpQkFBaUI7UUFDakJDLE9BQU87SUFDVDtJQUVBLE1BQU0sQ0FBQ0MsT0FBT0MsU0FBUyxHQUFHWixTQUFTO0lBQ25DLE1BQU0sQ0FBQ2EsVUFBVUMsWUFBWSxHQUFHZCxTQUFpQjtJQUNqRCxNQUFNLEVBQUVlLENBQUMsRUFBRSxHQUFHbkI7SUFFZEcsVUFBVTtRQUNSLE1BQU1pQixhQUFhVixNQUFNVyxVQUFVO1FBRW5DLElBQUlELGVBQWUsR0FBRztZQUNwQkosU0FBUztZQUNUSixjQUFjO2dCQUNaQyxpQkFBaUI7Z0JBQ2pCQyxPQUFPO1lBQ1Q7WUFDQUksWUFBWTtRQUNkLE9BQU87WUFDTCxNQUFNSSxXQUFXLEFBQUNGLENBQUFBLGFBQWFYLFNBQVEsSUFBTUQsQ0FBQUEsWUFBWUMsU0FBUTtZQUVqRSxJQUFJYSxXQUFXLEdBQUc7Z0JBQ2hCLE1BQU1DLGdCQUFnQkgsYUFBYVg7Z0JBRW5DLElBQUljLGdCQUFnQixLQUFLO29CQUN2QlAsU0FBU0csRUFBRTtvQkFDWFAsY0FBYzt3QkFDWkMsaUJBQWlCO3dCQUNqQkMsT0FBTztvQkFDVDtnQkFDRixPQUFPO29CQUNMRSxTQUFTRyxFQUFFO29CQUNYUCxjQUFjO3dCQUNaQyxpQkFBaUI7d0JBQ2pCQyxPQUFPO29CQUNUO2dCQUNGO2dCQUVBSSxZQUFZSztZQUNkO1lBRUEsSUFBSUQsWUFBWSxLQUFLQSxZQUFZLEdBQUc7Z0JBQ2xDTixTQUFTRyxFQUFFO2dCQUNYUCxjQUFjO29CQUNaQyxpQkFBaUI7b0JBQ2pCQyxPQUFPO2dCQUNUO2dCQUNBSSxZQUFZSTtZQUNkO1lBRUEsSUFBSUEsV0FBVyxHQUFHO2dCQUNoQk4sU0FBU0csRUFBRTtnQkFDWFAsY0FBYztvQkFDWkMsaUJBQWlCO29CQUNqQkMsT0FBTztnQkFDVDtnQkFDQUksWUFBWTtZQUNkO1FBQ0Y7SUFDRixHQUFHO1FBQUNUO1FBQVdEO1FBQVdFO0tBQUs7SUFFL0IsTUFBTVUsYUFBYVYsTUFBTVcsVUFBVTtJQUVuQyxNQUFNRyxnQkFBZ0JoQixZQUFZWTtJQUNsQyxNQUFNSyxnQkFBZ0JoQixZQUFZVztJQUVsQyxxQkFDRSxvQkFBQ007UUFDQ0MsT0FBTztZQUNMQyxZQUFZO1lBQ1pDLFNBQVM7WUFDVEMsT0FBTztRQUNUO3FCQUVBLG9CQUFDekI7UUFBS1EsaUJBQWlCRixXQUFXRSxlQUFlO1FBQUVDLE9BQU9ILFdBQVdHLEtBQUs7UUFBRUMsT0FBT0E7c0JBQ25GLG9CQUFDVztRQUNDQyxPQUFPO1lBQ0xJLFlBQVk7WUFDWkMsWUFBWTtZQUNaQyxhQUFhO1lBQ2JDLFlBQVk7UUFDZDtxQkFFQSxvQkFBQ0MsZUFDRWhCLEVBQUUsNkJBQTZCO1FBQUVpQixTQUFTMUIsTUFBTVcsVUFBVTtRQUFHYjtRQUFXQztJQUFVLElBQ2xGLEFBQUNXLENBQUFBLGVBQWUsS0FBS0ssZ0JBQWdCLENBQUEsbUJBQ3BDLG9CQUFDdkIsZ0JBQVVpQixFQUFFLDZCQUE2QjtRQUFFa0IsWUFBWVo7SUFBYyxLQUV2RUEsaUJBQWlCLEtBQUtELGlCQUFpQixtQkFDdEMsb0JBQUN0QixnQkFBVWlCLEVBQUUsaUNBQWlDO1FBQUVrQixZQUFZYjtJQUFjLEtBRTNFQSxnQkFBZ0IsbUJBQ2Ysb0JBQUN0QixnQkFDRWlCLEVBQUUsZ0NBQWdDO1FBQUVrQixZQUFZYixnQkFBZ0IsQ0FBQztJQUFFLHFCQUs1RSxvQkFBQ0U7UUFDQ0MsT0FBTztZQUNMZCxpQkFBaUI7WUFDakJ5QixRQUFRO1lBQ1JDLFVBQVU7WUFDVlQsT0FBTztRQUNUO3FCQUVBLG9CQUFDSjtRQUNDQyxPQUFPO1lBQ0xkLGlCQUFpQkYsV0FBV0UsZUFBZTtZQUMzQ3lCLFFBQVE7WUFDUkUsTUFBTTtZQUNORCxVQUFVO1lBQ1ZFLEtBQUs7WUFDTFgsT0FBTyxDQUFDLEVBQUViLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDN0I7O0FBS1YsRUFBQyJ9
113
+ //# sourceMappingURL=LengthIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/LengthIndicator.tsx"],"sourcesContent":["'use client'\n\nimport { useTranslation } from '@payloadcms/ui'\nimport React, { Fragment, useEffect, useState } from 'react'\n\nimport { Pill } from './Pill.js'\n\nexport const LengthIndicator: React.FC<{\n maxLength?: number\n minLength?: number\n text?: string\n}> = (props) => {\n const { maxLength = 0, minLength = 0, text } = props\n\n const [labelStyle, setLabelStyle] = useState({\n backgroundColor: '',\n color: '',\n })\n\n const [label, setLabel] = useState('')\n const [barWidth, setBarWidth] = useState<number>(0)\n const { t } = useTranslation()\n\n useEffect(() => {\n const textLength = text?.length || 0\n\n if (textLength === 0) {\n setLabel('Missing')\n setLabelStyle({\n backgroundColor: 'red',\n color: 'white',\n })\n setBarWidth(0)\n } else {\n const progress = (textLength - minLength) / (maxLength - minLength)\n\n if (progress < 0) {\n const ratioUntilMin = textLength / minLength\n\n if (ratioUntilMin > 0.9) {\n setLabel(t('plugin-seo:almostThere'))\n setLabelStyle({\n backgroundColor: 'orange',\n color: 'white',\n })\n } else {\n setLabel(t('plugin-seo:tooShort'))\n setLabelStyle({\n backgroundColor: 'orangered',\n color: 'white',\n })\n }\n\n setBarWidth(ratioUntilMin)\n }\n\n if (progress >= 0 && progress <= 1) {\n setLabel(t('plugin-seo:good'))\n setLabelStyle({\n backgroundColor: 'green',\n color: 'white',\n })\n setBarWidth(progress)\n }\n\n if (progress > 1) {\n setLabel(t('plugin-seo:tooLong'))\n setLabelStyle({\n backgroundColor: 'red',\n color: 'white',\n })\n setBarWidth(1)\n }\n }\n }, [minLength, maxLength, text])\n\n const textLength = text?.length || 0\n\n const charsUntilMax = maxLength - textLength\n const charsUntilMin = minLength - textLength\n\n return (\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n }}\n >\n <Pill backgroundColor={labelStyle.backgroundColor} color={labelStyle.color} label={label} />\n <div\n style={{\n flexShrink: 0,\n lineHeight: 1,\n marginRight: '10px',\n whiteSpace: 'nowrap',\n }}\n >\n <small>\n {t('plugin-seo:characterCount', { current: text?.length || 0, maxLength, minLength })}\n {(textLength === 0 || charsUntilMin > 0) && (\n <Fragment>{t('plugin-seo:charactersToGo', { characters: charsUntilMin })}</Fragment>\n )}\n {charsUntilMin <= 0 && charsUntilMax >= 0 && (\n <Fragment>{t('plugin-seo:charactersLeftOver', { characters: charsUntilMax })}</Fragment>\n )}\n {charsUntilMax < 0 && (\n <Fragment>\n {t('plugin-seo:charactersTooMany', { characters: charsUntilMax * -1 })}\n </Fragment>\n )}\n </small>\n </div>\n <div\n style={{\n backgroundColor: '#F3F3F3',\n height: '2px',\n position: 'relative',\n width: '100%',\n }}\n >\n <div\n style={{\n backgroundColor: labelStyle.backgroundColor,\n height: '100%',\n left: 0,\n position: 'absolute',\n top: 0,\n width: `${barWidth * 100}%`,\n }}\n />\n </div>\n </div>\n )\n}\n"],"names":["useTranslation","React","Fragment","useEffect","useState","Pill","LengthIndicator","props","maxLength","minLength","text","labelStyle","setLabelStyle","backgroundColor","color","label","setLabel","barWidth","setBarWidth","t","textLength","length","progress","ratioUntilMin","charsUntilMax","charsUntilMin","div","style","alignItems","display","width","flexShrink","lineHeight","marginRight","whiteSpace","small","current","characters","height","position","left","top"],"mappings":"AAAA;AAEA,SAASA,cAAc,QAAQ,iBAAgB;AAC/C,OAAOC,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE5D,SAASC,IAAI,QAAQ,YAAW;AAEhC,OAAO,MAAMC,kBAIR,CAACC;IACJ,MAAM,EAAEC,YAAY,CAAC,EAAEC,YAAY,CAAC,EAAEC,IAAI,EAAE,GAAGH;IAE/C,MAAM,CAACI,YAAYC,cAAc,GAAGR,SAAS;QAC3CS,iBAAiB;QACjBC,OAAO;IACT;IAEA,MAAM,CAACC,OAAOC,SAAS,GAAGZ,SAAS;IACnC,MAAM,CAACa,UAAUC,YAAY,GAAGd,SAAiB;IACjD,MAAM,EAAEe,CAAC,EAAE,GAAGnB;IAEdG,UAAU;QACR,MAAMiB,aAAaV,MAAMW,UAAU;QAEnC,IAAID,eAAe,GAAG;YACpBJ,SAAS;YACTJ,cAAc;gBACZC,iBAAiB;gBACjBC,OAAO;YACT;YACAI,YAAY;QACd,OAAO;YACL,MAAMI,WAAW,AAACF,CAAAA,aAAaX,SAAQ,IAAMD,CAAAA,YAAYC,SAAQ;YAEjE,IAAIa,WAAW,GAAG;gBAChB,MAAMC,gBAAgBH,aAAaX;gBAEnC,IAAIc,gBAAgB,KAAK;oBACvBP,SAASG,EAAE;oBACXP,cAAc;wBACZC,iBAAiB;wBACjBC,OAAO;oBACT;gBACF,OAAO;oBACLE,SAASG,EAAE;oBACXP,cAAc;wBACZC,iBAAiB;wBACjBC,OAAO;oBACT;gBACF;gBAEAI,YAAYK;YACd;YAEA,IAAID,YAAY,KAAKA,YAAY,GAAG;gBAClCN,SAASG,EAAE;gBACXP,cAAc;oBACZC,iBAAiB;oBACjBC,OAAO;gBACT;gBACAI,YAAYI;YACd;YAEA,IAAIA,WAAW,GAAG;gBAChBN,SAASG,EAAE;gBACXP,cAAc;oBACZC,iBAAiB;oBACjBC,OAAO;gBACT;gBACAI,YAAY;YACd;QACF;IACF,GAAG;QAACT;QAAWD;QAAWE;KAAK;IAE/B,MAAMU,aAAaV,MAAMW,UAAU;IAEnC,MAAMG,gBAAgBhB,YAAYY;IAClC,MAAMK,gBAAgBhB,YAAYW;IAElC,qBACE,oBAACM;QACCC,OAAO;YACLC,YAAY;YACZC,SAAS;YACTC,OAAO;QACT;qBAEA,oBAACzB;QAAKQ,iBAAiBF,WAAWE,eAAe;QAAEC,OAAOH,WAAWG,KAAK;QAAEC,OAAOA;sBACnF,oBAACW;QACCC,OAAO;YACLI,YAAY;YACZC,YAAY;YACZC,aAAa;YACbC,YAAY;QACd;qBAEA,oBAACC,eACEhB,EAAE,6BAA6B;QAAEiB,SAAS1B,MAAMW,UAAU;QAAGb;QAAWC;IAAU,IAClF,AAACW,CAAAA,eAAe,KAAKK,gBAAgB,CAAA,mBACpC,oBAACvB,gBAAUiB,EAAE,6BAA6B;QAAEkB,YAAYZ;IAAc,KAEvEA,iBAAiB,KAAKD,iBAAiB,mBACtC,oBAACtB,gBAAUiB,EAAE,iCAAiC;QAAEkB,YAAYb;IAAc,KAE3EA,gBAAgB,mBACf,oBAACtB,gBACEiB,EAAE,gCAAgC;QAAEkB,YAAYb,gBAAgB,CAAC;IAAE,qBAK5E,oBAACE;QACCC,OAAO;YACLd,iBAAiB;YACjByB,QAAQ;YACRC,UAAU;YACVT,OAAO;QACT;qBAEA,oBAACJ;QACCC,OAAO;YACLd,iBAAiBF,WAAWE,eAAe;YAC3CyB,QAAQ;YACRE,MAAM;YACND,UAAU;YACVE,KAAK;YACLX,OAAO,CAAC,EAAEb,WAAW,IAAI,CAAC,CAAC;QAC7B;;AAKV,EAAC"}
@@ -47,4 +47,4 @@ export const Overview = ()=>{
47
47
  })));
48
48
  };
49
49
 
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91aS9PdmVydmlldy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgRm9ybUZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdXNlQWxsRm9ybUZpZWxkcywgdXNlRm9ybSwgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBkZWZhdWx0cyB9IGZyb20gJy4uL2RlZmF1bHRzLmpzJ1xuXG5jb25zdCB7XG4gIGRlc2NyaXB0aW9uOiB7IG1heExlbmd0aDogbWF4RGVzYywgbWluTGVuZ3RoOiBtaW5EZXNjIH0sXG4gIHRpdGxlOiB7IG1heExlbmd0aDogbWF4VGl0bGUsIG1pbkxlbmd0aDogbWluVGl0bGUgfSxcbn0gPSBkZWZhdWx0c1xuXG5leHBvcnQgY29uc3QgT3ZlcnZpZXc6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCB7XG4gICAgLy8gIGRpc3BhdGNoRmllbGRzLFxuICAgIGdldEZpZWxkcyxcbiAgfSA9IHVzZUZvcm0oKVxuXG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICAnbWV0YS5kZXNjcmlwdGlvbic6IHsgdmFsdWU6IG1ldGFEZXNjIH0gPSB7fSBhcyBGb3JtRmllbGQsXG4gICAgICAnbWV0YS5pbWFnZSc6IHsgdmFsdWU6IG1ldGFJbWFnZSB9ID0ge30gYXMgRm9ybUZpZWxkLFxuICAgICAgJ21ldGEudGl0bGUnOiB7IHZhbHVlOiBtZXRhVGl0bGUgfSA9IHt9IGFzIEZvcm1GaWVsZCxcbiAgICB9LFxuICBdID0gdXNlQWxsRm9ybUZpZWxkcygpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IFt0aXRsZUlzVmFsaWQsIHNldFRpdGxlSXNWYWxpZF0gPSB1c2VTdGF0ZTxib29sZWFuIHwgdW5kZWZpbmVkPigpXG4gIGNvbnN0IFtkZXNjSXNWYWxpZCwgc2V0RGVzY0lzVmFsaWRdID0gdXNlU3RhdGU8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oKVxuICBjb25zdCBbaW1hZ2VJc1ZhbGlkLCBzZXRJbWFnZUlzVmFsaWRdID0gdXNlU3RhdGU8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oKVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgY29uc3QgcmVzZXRBbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgZmllbGRzID0gZ2V0RmllbGRzKClcbiAgICBjb25zdCBmaWVsZHNXaXRob3V0TWV0YSA9IGZpZWxkc1xuICAgIGZpZWxkc1dpdGhvdXRNZXRhWydtZXRhLnRpdGxlJ10udmFsdWUgPSAnJ1xuICAgIGZpZWxkc1dpdGhvdXRNZXRhWydtZXRhLmRlc2NyaXB0aW9uJ10udmFsdWUgPSAnJ1xuICAgIGZpZWxkc1dpdGhvdXRNZXRhWydtZXRhLmltYWdlJ10udmFsdWUgPSAnJ1xuICAgIC8vIGRpc3BhdGNoRmllbGRzKGZpZWxkc1dpdGhvdXRNZXRhKTtcbiAgfSwgW2dldEZpZWxkc10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIG1ldGFUaXRsZSA9PT0gJ3N0cmluZycpXG4gICAgICBzZXRUaXRsZUlzVmFsaWQobWV0YVRpdGxlLmxlbmd0aCA+PSBtaW5UaXRsZSAmJiBtZXRhVGl0bGUubGVuZ3RoIDw9IG1heFRpdGxlKVxuICAgIGlmICh0eXBlb2YgbWV0YURlc2MgPT09ICdzdHJpbmcnKVxuICAgICAgc2V0RGVzY0lzVmFsaWQobWV0YURlc2MubGVuZ3RoID49IG1pbkRlc2MgJiYgbWV0YURlc2MubGVuZ3RoIDw9IG1heERlc2MpXG4gICAgc2V0SW1hZ2VJc1ZhbGlkKEJvb2xlYW4obWV0YUltYWdlKSlcbiAgfSwgW21ldGFUaXRsZSwgbWV0YURlc2MsIG1ldGFJbWFnZV0pXG5cbiAgY29uc3QgdGVzdFJlc3VsdHMgPSBbdGl0bGVJc1ZhbGlkLCBkZXNjSXNWYWxpZCwgaW1hZ2VJc1ZhbGlkXVxuXG4gIGNvbnN0IG51bWJlck9mUGFzc2VzID0gdGVzdFJlc3VsdHMuZmlsdGVyKEJvb2xlYW4pLmxlbmd0aFxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWFyZ2luQm90dG9tOiAnMjBweCcsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXY+XG4gICAgICAgIHt0KCdwbHVnaW4tc2VvOmNoZWNrc1Bhc3NpbmcnLCB7IGN1cnJlbnQ6IG51bWJlck9mUGFzc2VzLCBtYXg6IHRlc3RSZXN1bHRzLmxlbmd0aCB9KX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlQWxsRm9ybUZpZWxkcyIsInVzZUZvcm0iLCJ1c2VUcmFuc2xhdGlvbiIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsImRlZmF1bHRzIiwiZGVzY3JpcHRpb24iLCJtYXhMZW5ndGgiLCJtYXhEZXNjIiwibWluTGVuZ3RoIiwibWluRGVzYyIsInRpdGxlIiwibWF4VGl0bGUiLCJtaW5UaXRsZSIsIk92ZXJ2aWV3IiwiZ2V0RmllbGRzIiwidmFsdWUiLCJtZXRhRGVzYyIsIm1ldGFJbWFnZSIsIm1ldGFUaXRsZSIsInQiLCJ0aXRsZUlzVmFsaWQiLCJzZXRUaXRsZUlzVmFsaWQiLCJkZXNjSXNWYWxpZCIsInNldERlc2NJc1ZhbGlkIiwiaW1hZ2VJc1ZhbGlkIiwic2V0SW1hZ2VJc1ZhbGlkIiwicmVzZXRBbGwiLCJmaWVsZHMiLCJmaWVsZHNXaXRob3V0TWV0YSIsImxlbmd0aCIsIkJvb2xlYW4iLCJ0ZXN0UmVzdWx0cyIsIm51bWJlck9mUGFzc2VzIiwiZmlsdGVyIiwiZGl2Iiwic3R5bGUiLCJtYXJnaW5Cb3R0b20iLCJjdXJyZW50IiwibWF4Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLFNBQVNBLGdCQUFnQixFQUFFQyxPQUFPLEVBQUVDLGNBQWMsUUFBUSxpQkFBZ0I7QUFDMUUsT0FBT0MsU0FBU0MsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBRS9ELFNBQVNDLFFBQVEsUUFBUSxpQkFBZ0I7QUFFekMsTUFBTSxFQUNKQyxhQUFhLEVBQUVDLFdBQVdDLE9BQU8sRUFBRUMsV0FBV0MsT0FBTyxFQUFFLEVBQ3ZEQyxPQUFPLEVBQUVKLFdBQVdLLFFBQVEsRUFBRUgsV0FBV0ksUUFBUSxFQUFFLEVBQ3BELEdBQUdSO0FBRUosT0FBTyxNQUFNUyxXQUFxQjtJQUNoQyxNQUFNLEVBQ0osbUJBQW1CO0lBQ25CQyxTQUFTLEVBQ1YsR0FBR2hCO0lBRUosTUFBTSxDQUNKLEVBQ0Usb0JBQW9CLEVBQUVpQixPQUFPQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQWMsRUFDekQsY0FBYyxFQUFFRCxPQUFPRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQWMsRUFDcEQsY0FBYyxFQUFFRixPQUFPRyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQWMsRUFDckQsQ0FDRixHQUFHckI7SUFDSixNQUFNLEVBQUVzQixDQUFDLEVBQUUsR0FBR3BCO0lBRWQsTUFBTSxDQUFDcUIsY0FBY0MsZ0JBQWdCLEdBQUdsQjtJQUN4QyxNQUFNLENBQUNtQixhQUFhQyxlQUFlLEdBQUdwQjtJQUN0QyxNQUFNLENBQUNxQixjQUFjQyxnQkFBZ0IsR0FBR3RCO0lBRXhDLDZEQUE2RDtJQUM3RCxNQUFNdUIsV0FBV3pCLFlBQVk7UUFDM0IsTUFBTTBCLFNBQVNiO1FBQ2YsTUFBTWMsb0JBQW9CRDtRQUMxQkMsaUJBQWlCLENBQUMsYUFBYSxDQUFDYixLQUFLLEdBQUc7UUFDeENhLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDYixLQUFLLEdBQUc7UUFDOUNhLGlCQUFpQixDQUFDLGFBQWEsQ0FBQ2IsS0FBSyxHQUFHO0lBQ3hDLHFDQUFxQztJQUN2QyxHQUFHO1FBQUNEO0tBQVU7SUFFZFosVUFBVTtRQUNSLElBQUksT0FBT2dCLGNBQWMsVUFDdkJHLGdCQUFnQkgsVUFBVVcsTUFBTSxJQUFJakIsWUFBWU0sVUFBVVcsTUFBTSxJQUFJbEI7UUFDdEUsSUFBSSxPQUFPSyxhQUFhLFVBQ3RCTyxlQUFlUCxTQUFTYSxNQUFNLElBQUlwQixXQUFXTyxTQUFTYSxNQUFNLElBQUl0QjtRQUNsRWtCLGdCQUFnQkssUUFBUWI7SUFDMUIsR0FBRztRQUFDQztRQUFXRjtRQUFVQztLQUFVO0lBRW5DLE1BQU1jLGNBQWM7UUFBQ1g7UUFBY0U7UUFBYUU7S0FBYTtJQUU3RCxNQUFNUSxpQkFBaUJELFlBQVlFLE1BQU0sQ0FBQ0gsU0FBU0QsTUFBTTtJQUV6RCxxQkFDRSxvQkFBQ0s7UUFDQ0MsT0FBTztZQUNMQyxjQUFjO1FBQ2hCO3FCQUVBLG9CQUFDRixhQUNFZixFQUFFLDRCQUE0QjtRQUFFa0IsU0FBU0w7UUFBZ0JNLEtBQUtQLFlBQVlGLE1BQU07SUFBQztBQUkxRixFQUFDIn0=
50
+ //# sourceMappingURL=Overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/Overview.tsx"],"sourcesContent":["'use client'\n\nimport type { FormField } from 'payload/types'\n\nimport { useAllFormFields, useForm, useTranslation } from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { defaults } from '../defaults.js'\n\nconst {\n description: { maxLength: maxDesc, minLength: minDesc },\n title: { maxLength: maxTitle, minLength: minTitle },\n} = defaults\n\nexport const Overview: React.FC = () => {\n const {\n // dispatchFields,\n getFields,\n } = useForm()\n\n const [\n {\n 'meta.description': { value: metaDesc } = {} as FormField,\n 'meta.image': { value: metaImage } = {} as FormField,\n 'meta.title': { value: metaTitle } = {} as FormField,\n },\n ] = useAllFormFields()\n const { t } = useTranslation()\n\n const [titleIsValid, setTitleIsValid] = useState<boolean | undefined>()\n const [descIsValid, setDescIsValid] = useState<boolean | undefined>()\n const [imageIsValid, setImageIsValid] = useState<boolean | undefined>()\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const resetAll = useCallback(() => {\n const fields = getFields()\n const fieldsWithoutMeta = fields\n fieldsWithoutMeta['meta.title'].value = ''\n fieldsWithoutMeta['meta.description'].value = ''\n fieldsWithoutMeta['meta.image'].value = ''\n // dispatchFields(fieldsWithoutMeta);\n }, [getFields])\n\n useEffect(() => {\n if (typeof metaTitle === 'string')\n setTitleIsValid(metaTitle.length >= minTitle && metaTitle.length <= maxTitle)\n if (typeof metaDesc === 'string')\n setDescIsValid(metaDesc.length >= minDesc && metaDesc.length <= maxDesc)\n setImageIsValid(Boolean(metaImage))\n }, [metaTitle, metaDesc, metaImage])\n\n const testResults = [titleIsValid, descIsValid, imageIsValid]\n\n const numberOfPasses = testResults.filter(Boolean).length\n\n return (\n <div\n style={{\n marginBottom: '20px',\n }}\n >\n <div>\n {t('plugin-seo:checksPassing', { current: numberOfPasses, max: testResults.length })}\n </div>\n </div>\n )\n}\n"],"names":["useAllFormFields","useForm","useTranslation","React","useCallback","useEffect","useState","defaults","description","maxLength","maxDesc","minLength","minDesc","title","maxTitle","minTitle","Overview","getFields","value","metaDesc","metaImage","metaTitle","t","titleIsValid","setTitleIsValid","descIsValid","setDescIsValid","imageIsValid","setImageIsValid","resetAll","fields","fieldsWithoutMeta","length","Boolean","testResults","numberOfPasses","filter","div","style","marginBottom","current","max"],"mappings":"AAAA;AAIA,SAASA,gBAAgB,EAAEC,OAAO,EAAEC,cAAc,QAAQ,iBAAgB;AAC1E,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE/D,SAASC,QAAQ,QAAQ,iBAAgB;AAEzC,MAAM,EACJC,aAAa,EAAEC,WAAWC,OAAO,EAAEC,WAAWC,OAAO,EAAE,EACvDC,OAAO,EAAEJ,WAAWK,QAAQ,EAAEH,WAAWI,QAAQ,EAAE,EACpD,GAAGR;AAEJ,OAAO,MAAMS,WAAqB;IAChC,MAAM,EACJ,mBAAmB;IACnBC,SAAS,EACV,GAAGhB;IAEJ,MAAM,CACJ,EACE,oBAAoB,EAAEiB,OAAOC,QAAQ,EAAE,GAAG,CAAC,CAAc,EACzD,cAAc,EAAED,OAAOE,SAAS,EAAE,GAAG,CAAC,CAAc,EACpD,cAAc,EAAEF,OAAOG,SAAS,EAAE,GAAG,CAAC,CAAc,EACrD,CACF,GAAGrB;IACJ,MAAM,EAAEsB,CAAC,EAAE,GAAGpB;IAEd,MAAM,CAACqB,cAAcC,gBAAgB,GAAGlB;IACxC,MAAM,CAACmB,aAAaC,eAAe,GAAGpB;IACtC,MAAM,CAACqB,cAAcC,gBAAgB,GAAGtB;IAExC,6DAA6D;IAC7D,MAAMuB,WAAWzB,YAAY;QAC3B,MAAM0B,SAASb;QACf,MAAMc,oBAAoBD;QAC1BC,iBAAiB,CAAC,aAAa,CAACb,KAAK,GAAG;QACxCa,iBAAiB,CAAC,mBAAmB,CAACb,KAAK,GAAG;QAC9Ca,iBAAiB,CAAC,aAAa,CAACb,KAAK,GAAG;IACxC,qCAAqC;IACvC,GAAG;QAACD;KAAU;IAEdZ,UAAU;QACR,IAAI,OAAOgB,cAAc,UACvBG,gBAAgBH,UAAUW,MAAM,IAAIjB,YAAYM,UAAUW,MAAM,IAAIlB;QACtE,IAAI,OAAOK,aAAa,UACtBO,eAAeP,SAASa,MAAM,IAAIpB,WAAWO,SAASa,MAAM,IAAItB;QAClEkB,gBAAgBK,QAAQb;IAC1B,GAAG;QAACC;QAAWF;QAAUC;KAAU;IAEnC,MAAMc,cAAc;QAACX;QAAcE;QAAaE;KAAa;IAE7D,MAAMQ,iBAAiBD,YAAYE,MAAM,CAACH,SAASD,MAAM;IAEzD,qBACE,oBAACK;QACCC,OAAO;YACLC,cAAc;QAChB;qBAEA,oBAACF,aACEf,EAAE,4BAA4B;QAAEkB,SAASL;QAAgBM,KAAKP,YAAYF,MAAM;IAAC;AAI1F,EAAC"}
package/dist/ui/Pill.js CHANGED
@@ -16,4 +16,4 @@ export const Pill = (props)=>{
16
16
  }, /*#__PURE__*/ React.createElement("small", null, label));
17
17
  };
18
18
 
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91aS9QaWxsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgY29uc3QgUGlsbDogUmVhY3QuRkM8e1xuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1xuICBjb2xvcjogc3RyaW5nXG4gIGxhYmVsOiBzdHJpbmdcbn0+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgYmFja2dyb3VuZENvbG9yLCBjb2xvciwgbGFiZWwgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzJweCcsXG4gICAgICAgIGNvbG9yLFxuICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4IDZweCcsXG4gICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c21hbGw+e2xhYmVsfTwvc21hbGw+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlBpbGwiLCJwcm9wcyIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwibGFiZWwiLCJkaXYiLCJzdHlsZSIsImJvcmRlclJhZGl1cyIsImZsZXhTaHJpbmsiLCJsaW5lSGVpZ2h0IiwibWFyZ2luUmlnaHQiLCJwYWRkaW5nIiwid2hpdGVTcGFjZSIsInNtYWxsIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUVBLE9BQU9BLFdBQVcsUUFBTztBQUV6QixPQUFPLE1BQU1DLE9BSVIsQ0FBQ0M7SUFDSixNQUFNLEVBQUVDLGVBQWUsRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUUsR0FBR0g7SUFFMUMscUJBQ0Usb0JBQUNJO1FBQ0NDLE9BQU87WUFDTEo7WUFDQUssY0FBYztZQUNkSjtZQUNBSyxZQUFZO1lBQ1pDLFlBQVk7WUFDWkMsYUFBYTtZQUNiQyxTQUFTO1lBQ1RDLFlBQVk7UUFDZDtxQkFFQSxvQkFBQ0MsZUFBT1Q7QUFHZCxFQUFDIn0=
19
+ //# sourceMappingURL=Pill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/Pill.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nexport const Pill: React.FC<{\n backgroundColor: string\n color: string\n label: string\n}> = (props) => {\n const { backgroundColor, color, label } = props\n\n return (\n <div\n style={{\n backgroundColor,\n borderRadius: '2px',\n color,\n flexShrink: 0,\n lineHeight: 1,\n marginRight: '10px',\n padding: '4px 6px',\n whiteSpace: 'nowrap',\n }}\n >\n <small>{label}</small>\n </div>\n )\n}\n"],"names":["React","Pill","props","backgroundColor","color","label","div","style","borderRadius","flexShrink","lineHeight","marginRight","padding","whiteSpace","small"],"mappings":"AAAA;AAEA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,OAIR,CAACC;IACJ,MAAM,EAAEC,eAAe,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGH;IAE1C,qBACE,oBAACI;QACCC,OAAO;YACLJ;YACAK,cAAc;YACdJ;YACAK,YAAY;YACZC,YAAY;YACZC,aAAa;YACbC,SAAS;YACTC,YAAY;QACd;qBAEA,oBAACC,eAAOT;AAGd,EAAC"}
@@ -73,4 +73,4 @@ export const Preview = ({ hasGenerateURLFn })=>{
73
73
  }, metaDescription)));
74
74
  };
75
75
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91aS9QcmV2aWV3LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBGb3JtRmllbGQsIFVJRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VBbGxGb3JtRmllbGRzLCB1c2VEb2N1bWVudEluZm8sIHVzZUxvY2FsZSwgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVVUkwgfSBmcm9tICcuLi90eXBlcy5qcydcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZWR1bmRhbnQtdHlwZS1jb25zdGl0dWVudHNcbnR5cGUgUHJldmlld1Byb3BzID0gVUlGaWVsZCAmIHtcbiAgaGFzR2VuZXJhdGVVUkxGbjogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgUHJldmlldzogUmVhY3QuRkM8UHJldmlld1Byb3BzPiA9ICh7IGhhc0dlbmVyYXRlVVJMRm4gfSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBsb2NhbGUgPSB1c2VMb2NhbGUoKVxuICBjb25zdCBbZmllbGRzXSA9IHVzZUFsbEZvcm1GaWVsZHMoKVxuICBjb25zdCBkb2NJbmZvID0gdXNlRG9jdW1lbnRJbmZvKClcblxuICBjb25zdCB7XG4gICAgJ21ldGEuZGVzY3JpcHRpb24nOiB7IHZhbHVlOiBtZXRhRGVzY3JpcHRpb24gfSA9IHt9IGFzIEZvcm1GaWVsZCxcbiAgICAnbWV0YS50aXRsZSc6IHsgdmFsdWU6IG1ldGFUaXRsZSB9ID0ge30gYXMgRm9ybUZpZWxkLFxuICB9ID0gZmllbGRzXG5cbiAgY29uc3QgW2hyZWYsIHNldEhyZWZdID0gdXNlU3RhdGU8c3RyaW5nPigpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBnZXRIcmVmID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZ2VuVVJMUmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgnL2FwaS9wbHVnaW4tc2VvL2dlbmVyYXRlLXVybCcsIHtcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIC4uLmRvY0luZm8sXG4gICAgICAgICAgZG9jOiB7IC4uLmZpZWxkcyB9LFxuICAgICAgICAgIGxvY2FsZTogdHlwZW9mIGxvY2FsZSA9PT0gJ29iamVjdCcgPyBsb2NhbGU/LmNvZGUgOiBsb2NhbGUsXG4gICAgICAgIH0gc2F0aXNmaWVzIFBhcmFtZXRlcnM8R2VuZXJhdGVVUkw+WzBdKSxcbiAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgeyByZXN1bHQ6IG5ld0hyZWYgfSA9IGF3YWl0IGdlblVSTFJlc3BvbnNlLmpzb24oKVxuXG4gICAgICBzZXRIcmVmKG5ld0hyZWYpXG4gICAgfVxuXG4gICAgaWYgKGhhc0dlbmVyYXRlVVJMRm4gJiYgIWhyZWYpIHtcbiAgICAgIHZvaWQgZ2V0SHJlZigpXG4gICAgfVxuICB9LCBbZmllbGRzLCBocmVmLCBsb2NhbGUsIGRvY0luZm8sIGhhc0dlbmVyYXRlVVJMRm5dKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxkaXY+e3QoJ3BsdWdpbi1zZW86cHJldmlldycpfTwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGNvbG9yOiAnIzlBOUE5QScsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiAnNXB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3QoJ3BsdWdpbi1zZW86cHJldmlld0Rlc2NyaXB0aW9uJyl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tdGhlbWUtZWxldmF0aW9uLTUwKScsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNXB4JyxcbiAgICAgICAgICBib3hTaGFkb3c6ICcwcHggMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpJyxcbiAgICAgICAgICBtYXhXaWR0aDogJzYwMHB4JyxcbiAgICAgICAgICBwYWRkaW5nOiAnMjBweCcsXG4gICAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aHJlZiB8fCAnaHR0cHM6Ly8uLi4nfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoNFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bWV0YVRpdGxlIGFzIHN0cmluZ31cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxwXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge21ldGFEZXNjcmlwdGlvbiBhcyBzdHJpbmd9XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlQWxsRm9ybUZpZWxkcyIsInVzZURvY3VtZW50SW5mbyIsInVzZUxvY2FsZSIsInVzZVRyYW5zbGF0aW9uIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlByZXZpZXciLCJoYXNHZW5lcmF0ZVVSTEZuIiwidCIsImxvY2FsZSIsImZpZWxkcyIsImRvY0luZm8iLCJ2YWx1ZSIsIm1ldGFEZXNjcmlwdGlvbiIsIm1ldGFUaXRsZSIsImhyZWYiLCJzZXRIcmVmIiwiZ2V0SHJlZiIsImdlblVSTFJlc3BvbnNlIiwiZmV0Y2giLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImRvYyIsImNvZGUiLCJjcmVkZW50aWFscyIsImhlYWRlcnMiLCJtZXRob2QiLCJyZXN1bHQiLCJuZXdIcmVmIiwianNvbiIsImRpdiIsInN0eWxlIiwiY29sb3IiLCJtYXJnaW5Cb3R0b20iLCJiYWNrZ3JvdW5kIiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwibWF4V2lkdGgiLCJwYWRkaW5nIiwicG9pbnRlckV2ZW50cyIsIndpZHRoIiwiYSIsInRleHREZWNvcmF0aW9uIiwiaDQiLCJtYXJnaW4iLCJwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLFNBQVNBLGdCQUFnQixFQUFFQyxlQUFlLEVBQUVDLFNBQVMsRUFBRUMsY0FBYyxRQUFRLGlCQUFnQjtBQUM3RixPQUFPQyxTQUFTQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBU2xELE9BQU8sTUFBTUMsVUFBa0MsQ0FBQyxFQUFFQyxnQkFBZ0IsRUFBRTtJQUNsRSxNQUFNLEVBQUVDLENBQUMsRUFBRSxHQUFHTjtJQUVkLE1BQU1PLFNBQVNSO0lBQ2YsTUFBTSxDQUFDUyxPQUFPLEdBQUdYO0lBQ2pCLE1BQU1ZLFVBQVVYO0lBRWhCLE1BQU0sRUFDSixvQkFBb0IsRUFBRVksT0FBT0MsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFjLEVBQ2hFLGNBQWMsRUFBRUQsT0FBT0UsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFjLEVBQ3JELEdBQUdKO0lBRUosTUFBTSxDQUFDSyxNQUFNQyxRQUFRLEdBQUdYO0lBRXhCRCxVQUFVO1FBQ1IsTUFBTWEsVUFBVTtZQUNkLE1BQU1DLGlCQUFpQixNQUFNQyxNQUFNLGdDQUFnQztnQkFDakVDLE1BQU1DLEtBQUtDLFNBQVMsQ0FBQztvQkFDbkIsR0FBR1gsT0FBTztvQkFDVlksS0FBSzt3QkFBRSxHQUFHYixNQUFNO29CQUFDO29CQUNqQkQsUUFBUSxPQUFPQSxXQUFXLFdBQVdBLFFBQVFlLE9BQU9mO2dCQUN0RDtnQkFDQWdCLGFBQWE7Z0JBQ2JDLFNBQVM7b0JBQ1AsZ0JBQWdCO2dCQUNsQjtnQkFDQUMsUUFBUTtZQUNWO1lBRUEsTUFBTSxFQUFFQyxRQUFRQyxPQUFPLEVBQUUsR0FBRyxNQUFNWCxlQUFlWSxJQUFJO1lBRXJEZCxRQUFRYTtRQUNWO1FBRUEsSUFBSXRCLG9CQUFvQixDQUFDUSxNQUFNO1lBQzdCLEtBQUtFO1FBQ1A7SUFDRixHQUFHO1FBQUNQO1FBQVFLO1FBQU1OO1FBQVFFO1FBQVNKO0tBQWlCO0lBRXBELHFCQUNFLG9CQUFDd0IsMkJBQ0Msb0JBQUNBLGFBQUt2QixFQUFFLHNDQUNSLG9CQUFDdUI7UUFDQ0MsT0FBTztZQUNMQyxPQUFPO1lBQ1BDLGNBQWM7UUFDaEI7T0FFQzFCLEVBQUUsaURBRUwsb0JBQUN1QjtRQUNDQyxPQUFPO1lBQ0xHLFlBQVk7WUFDWkMsY0FBYztZQUNkQyxXQUFXO1lBQ1hDLFVBQVU7WUFDVkMsU0FBUztZQUNUQyxlQUFlO1lBQ2ZDLE9BQU87UUFDVDtxQkFFQSxvQkFBQ1YsMkJBQ0Msb0JBQUNXO1FBQ0MzQixNQUFNQTtRQUNOaUIsT0FBTztZQUNMVyxnQkFBZ0I7UUFDbEI7T0FFQzVCLFFBQVEsK0JBR2Isb0JBQUM2QjtRQUNDWixPQUFPO1lBQ0xhLFFBQVE7UUFDVjtxQkFFQSxvQkFBQ0g7UUFDQzNCLE1BQUs7UUFDTGlCLE9BQU87WUFDTFcsZ0JBQWdCO1FBQ2xCO09BRUM3QiwyQkFHTCxvQkFBQ2dDO1FBQ0NkLE9BQU87WUFDTGEsUUFBUTtRQUNWO09BRUNoQztBQUtYLEVBQUMifQ==
76
+ //# sourceMappingURL=Preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/Preview.tsx"],"sourcesContent":["'use client'\n\nimport type { FormField, UIField } from 'payload/types'\n\nimport { useAllFormFields, useDocumentInfo, useLocale, useTranslation } from '@payloadcms/ui'\nimport React, { useEffect, useState } from 'react'\n\nimport type { GenerateURL } from '../types.js'\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\ntype PreviewProps = UIField & {\n hasGenerateURLFn: boolean\n}\n\nexport const Preview: React.FC<PreviewProps> = ({ hasGenerateURLFn }) => {\n const { t } = useTranslation()\n\n const locale = useLocale()\n const [fields] = useAllFormFields()\n const docInfo = useDocumentInfo()\n\n const {\n 'meta.description': { value: metaDescription } = {} as FormField,\n 'meta.title': { value: metaTitle } = {} as FormField,\n } = fields\n\n const [href, setHref] = useState<string>()\n\n useEffect(() => {\n const getHref = async () => {\n const genURLResponse = await fetch('/api/plugin-seo/generate-url', {\n body: JSON.stringify({\n ...docInfo,\n doc: { ...fields },\n locale: typeof locale === 'object' ? locale?.code : locale,\n } satisfies Parameters<GenerateURL>[0]),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n const { result: newHref } = await genURLResponse.json()\n\n setHref(newHref)\n }\n\n if (hasGenerateURLFn && !href) {\n void getHref()\n }\n }, [fields, href, locale, docInfo, hasGenerateURLFn])\n\n return (\n <div>\n <div>{t('plugin-seo:preview')}</div>\n <div\n style={{\n color: '#9A9A9A',\n marginBottom: '5px',\n }}\n >\n {t('plugin-seo:previewDescription')}\n </div>\n <div\n style={{\n background: 'var(--theme-elevation-50)',\n borderRadius: '5px',\n boxShadow: '0px 0px 10px rgba(0, 0, 0, 0.1)',\n maxWidth: '600px',\n padding: '20px',\n pointerEvents: 'none',\n width: '100%',\n }}\n >\n <div>\n <a\n href={href}\n style={{\n textDecoration: 'none',\n }}\n >\n {href || 'https://...'}\n </a>\n </div>\n <h4\n style={{\n margin: 0,\n }}\n >\n <a\n href=\"/\"\n style={{\n textDecoration: 'none',\n }}\n >\n {metaTitle as string}\n </a>\n </h4>\n <p\n style={{\n margin: 0,\n }}\n >\n {metaDescription as string}\n </p>\n </div>\n </div>\n )\n}\n"],"names":["useAllFormFields","useDocumentInfo","useLocale","useTranslation","React","useEffect","useState","Preview","hasGenerateURLFn","t","locale","fields","docInfo","value","metaDescription","metaTitle","href","setHref","getHref","genURLResponse","fetch","body","JSON","stringify","doc","code","credentials","headers","method","result","newHref","json","div","style","color","marginBottom","background","borderRadius","boxShadow","maxWidth","padding","pointerEvents","width","a","textDecoration","h4","margin","p"],"mappings":"AAAA;AAIA,SAASA,gBAAgB,EAAEC,eAAe,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AAC7F,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AASlD,OAAO,MAAMC,UAAkC,CAAC,EAAEC,gBAAgB,EAAE;IAClE,MAAM,EAAEC,CAAC,EAAE,GAAGN;IAEd,MAAMO,SAASR;IACf,MAAM,CAACS,OAAO,GAAGX;IACjB,MAAMY,UAAUX;IAEhB,MAAM,EACJ,oBAAoB,EAAEY,OAAOC,eAAe,EAAE,GAAG,CAAC,CAAc,EAChE,cAAc,EAAED,OAAOE,SAAS,EAAE,GAAG,CAAC,CAAc,EACrD,GAAGJ;IAEJ,MAAM,CAACK,MAAMC,QAAQ,GAAGX;IAExBD,UAAU;QACR,MAAMa,UAAU;YACd,MAAMC,iBAAiB,MAAMC,MAAM,gCAAgC;gBACjEC,MAAMC,KAAKC,SAAS,CAAC;oBACnB,GAAGX,OAAO;oBACVY,KAAK;wBAAE,GAAGb,MAAM;oBAAC;oBACjBD,QAAQ,OAAOA,WAAW,WAAWA,QAAQe,OAAOf;gBACtD;gBACAgB,aAAa;gBACbC,SAAS;oBACP,gBAAgB;gBAClB;gBACAC,QAAQ;YACV;YAEA,MAAM,EAAEC,QAAQC,OAAO,EAAE,GAAG,MAAMX,eAAeY,IAAI;YAErDd,QAAQa;QACV;QAEA,IAAItB,oBAAoB,CAACQ,MAAM;YAC7B,KAAKE;QACP;IACF,GAAG;QAACP;QAAQK;QAAMN;QAAQE;QAASJ;KAAiB;IAEpD,qBACE,oBAACwB,2BACC,oBAACA,aAAKvB,EAAE,sCACR,oBAACuB;QACCC,OAAO;YACLC,OAAO;YACPC,cAAc;QAChB;OAEC1B,EAAE,iDAEL,oBAACuB;QACCC,OAAO;YACLG,YAAY;YACZC,cAAc;YACdC,WAAW;YACXC,UAAU;YACVC,SAAS;YACTC,eAAe;YACfC,OAAO;QACT;qBAEA,oBAACV,2BACC,oBAACW;QACC3B,MAAMA;QACNiB,OAAO;YACLW,gBAAgB;QAClB;OAEC5B,QAAQ,+BAGb,oBAAC6B;QACCZ,OAAO;YACLa,QAAQ;QACV;qBAEA,oBAACH;QACC3B,MAAK;QACLiB,OAAO;YACLW,gBAAgB;QAClB;OAEC7B,2BAGL,oBAACgC;QACCd,OAAO;YACLa,QAAQ;QACV;OAEChC;AAKX,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-seo",
3
- "version": "3.0.0-alpha.40",
3
+ "version": "3.0.0-alpha.42",
4
4
  "homepage:": "https://payloadcms.com",
5
5
  "repository": "git@github.com:payloadcms/plugin-seo.git",
6
6
  "description": "SEO plugin for Payload",
@@ -20,17 +20,17 @@
20
20
  "license": "MIT",
21
21
  "peerDependencies": {
22
22
  "react": "^18.0.0",
23
- "payload": "3.0.0-alpha.40",
24
- "@payloadcms/translations": "3.0.0-alpha.40",
25
- "@payloadcms/ui": "3.0.0-alpha.40"
23
+ "payload": "3.0.0-alpha.42",
24
+ "@payloadcms/translations": "3.0.0-alpha.42",
25
+ "@payloadcms/ui": "3.0.0-alpha.42"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/react": "18.2.15",
29
29
  "react": "^18.0.0",
30
30
  "@payloadcms/eslint-config": "1.1.1",
31
- "payload": "3.0.0-alpha.40",
32
- "@payloadcms/ui": "3.0.0-alpha.40",
33
- "@payloadcms/translations": "3.0.0-alpha.40"
31
+ "payload": "3.0.0-alpha.42",
32
+ "@payloadcms/translations": "3.0.0-alpha.42",
33
+ "@payloadcms/ui": "3.0.0-alpha.42"
34
34
  },
35
35
  "exports": null,
36
36
  "publishConfig": {