@payloadcms/plugin-seo 2.2.1 → 3.0.0-alpha.18

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.
@@ -3,26 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name]
10
- });
11
- }
12
- _export(exports, {
13
- MetaTitle: function() {
6
+ Object.defineProperty(exports, "MetaTitle", {
7
+ enumerable: true,
8
+ get: function() {
14
9
  return MetaTitle;
15
- },
16
- getMetaTitleField: function() {
17
- return getMetaTitleField;
18
10
  }
19
11
  });
20
- const _forms = require("payload/components/forms");
21
- const _utilities = require("payload/components/utilities");
12
+ const _ui = require("@payloadcms/ui");
22
13
  const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
23
- const _reacti18next = require("react-i18next");
24
14
  const _defaults = require("../defaults");
25
15
  const _LengthIndicator = require("../ui/LengthIndicator");
16
+ require("./index.scss");
26
17
  function _getRequireWildcardCache(nodeInterop) {
27
18
  if (typeof WeakMap !== "function") return null;
28
19
  var cacheBabelInterop = new WeakMap();
@@ -44,7 +35,9 @@ function _interop_require_wildcard(obj, nodeInterop) {
44
35
  if (cache && cache.has(obj)) {
45
36
  return cache.get(obj);
46
37
  }
47
- var newObj = {};
38
+ var newObj = {
39
+ __proto__: null
40
+ };
48
41
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
49
42
  for(var key in obj){
50
43
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -64,34 +57,38 @@ function _interop_require_wildcard(obj, nodeInterop) {
64
57
  }
65
58
  const { maxLength, minLength } = _defaults.defaults.title;
66
59
  const MetaTitle = (props)=>{
67
- const { name, label, path, pluginConfig, required } = props || {};
68
- const { t } = (0, _reacti18next.useTranslation)('plugin-seo');
69
- const field = (0, _forms.useField)({
70
- name,
71
- label,
60
+ const { Label, hasGenerateTitleFn, path, required } = props || {};
61
+ const { path: pathFromContext, schemaPath } = (0, _ui.useFieldPath)();
62
+ const { t } = (0, _ui.useTranslation)();
63
+ const field = (0, _ui.useField)({
72
64
  path
73
65
  });
74
- const locale = (0, _utilities.useLocale)();
75
- const [fields] = (0, _forms.useAllFormFields)();
76
- const docInfo = (0, _utilities.useDocumentInfo)();
77
- const { setValue, showError, value, errorMessage } = field;
66
+ const locale = (0, _ui.useLocale)();
67
+ const [fields] = (0, _ui.useAllFormFields)();
68
+ const docInfo = (0, _ui.useDocumentInfo)();
69
+ const { errorMessage, setValue, showError, value } = field;
78
70
  const regenerateTitle = (0, _react.useCallback)(async ()=>{
79
- const { generateTitle } = pluginConfig;
80
- let generatedTitle;
81
- if (typeof generateTitle === 'function') {
82
- generatedTitle = await generateTitle({
71
+ if (!hasGenerateTitleFn) return;
72
+ const genTitleResponse = await fetch('/api/plugin-seo/generate-title', {
73
+ body: JSON.stringify({
83
74
  ...docInfo,
84
75
  doc: {
85
76
  ...fields
86
77
  },
87
78
  locale: typeof locale === 'object' ? locale?.code : locale
88
- });
89
- }
90
- setValue(generatedTitle);
79
+ }),
80
+ credentials: 'include',
81
+ headers: {
82
+ 'Content-Type': 'application/json'
83
+ },
84
+ method: 'POST'
85
+ });
86
+ const { result: generatedTitle } = await genTitleResponse.json();
87
+ setValue(generatedTitle || '');
91
88
  }, [
92
89
  fields,
93
90
  setValue,
94
- pluginConfig,
91
+ hasGenerateTitleFn,
95
92
  locale,
96
93
  docInfo
97
94
  ]);
@@ -104,12 +101,14 @@ const MetaTitle = (props)=>{
104
101
  marginBottom: '5px',
105
102
  position: 'relative'
106
103
  }
107
- }, /*#__PURE__*/ _react.default.createElement("div", null, label && typeof label === 'string' && label, required && /*#__PURE__*/ _react.default.createElement("span", {
104
+ }, /*#__PURE__*/ _react.default.createElement("div", {
105
+ className: "plugin-seo__field"
106
+ }, Label, required && /*#__PURE__*/ _react.default.createElement("span", {
108
107
  style: {
109
- marginLeft: '5px',
110
- color: 'var(--theme-error-500)'
108
+ color: 'var(--theme-error-500)',
109
+ marginLeft: '5px'
111
110
  }
112
- }, "*"), typeof pluginConfig.generateTitle === 'function' && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, "\xa0 \xa0", /*#__PURE__*/ _react.default.createElement("button", {
111
+ }, "*"), hasGenerateTitleFn && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, "   ", /*#__PURE__*/ _react.default.createElement("button", {
113
112
  onClick: regenerateTitle,
114
113
  style: {
115
114
  background: 'none',
@@ -121,32 +120,31 @@ const MetaTitle = (props)=>{
121
120
  textDecoration: 'underline'
122
121
  },
123
122
  type: "button"
124
- }, t('autoGenerate')))), /*#__PURE__*/ _react.default.createElement("div", {
123
+ }, t('plugin-seo:autoGenerate')))), /*#__PURE__*/ _react.default.createElement("div", {
125
124
  style: {
126
125
  color: '#9A9A9A'
127
126
  }
128
- }, t('lengthTipTitle', {
127
+ }, t('plugin-seo:lengthTipTitle', {
129
128
  maxLength,
130
129
  minLength
131
130
  }), /*#__PURE__*/ _react.default.createElement("a", {
132
131
  href: "https://developers.google.com/search/docs/advanced/appearance/title-link#page-titles",
133
132
  rel: "noopener noreferrer",
134
133
  target: "_blank"
135
- }, t('bestPractices')), ".")), /*#__PURE__*/ _react.default.createElement("div", {
134
+ }, t('plugin-seo:bestPractices')), ".")), /*#__PURE__*/ _react.default.createElement("div", {
136
135
  style: {
137
136
  marginBottom: '10px',
138
137
  position: 'relative'
139
138
  }
140
- }, /*#__PURE__*/ _react.default.createElement(_forms.TextInput, {
141
- name: name,
139
+ }, /*#__PURE__*/ _react.default.createElement(_ui.TextInput, {
140
+ Error: errorMessage,
142
141
  onChange: setValue,
143
- path: name,
142
+ path: pathFromContext,
143
+ required: required,
144
144
  showError: showError,
145
145
  style: {
146
146
  marginBottom: 0
147
147
  },
148
- errorMessage: errorMessage,
149
- required: required,
150
148
  value: value
151
149
  })), /*#__PURE__*/ _react.default.createElement("div", {
152
150
  style: {
@@ -160,6 +158,5 @@ const MetaTitle = (props)=>{
160
158
  text: value
161
159
  })));
162
160
  };
163
- const getMetaTitleField = (props)=>/*#__PURE__*/ _react.default.createElement(MetaTitle, props);
164
161
 
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvTWV0YVRpdGxlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUge1xuICBGaWVsZFR5cGUgYXMgRmllbGRUeXBlLFxuICBPcHRpb25zLFxufSBmcm9tICdwYXlsb2FkL2Rpc3QvYWRtaW4vY29tcG9uZW50cy9mb3Jtcy91c2VGaWVsZC90eXBlcydcbmltcG9ydCB0eXBlIHsgVGV4dEZpZWxkIGFzIFRleHRGaWVsZFR5cGUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBUZXh0SW5wdXQsIHVzZUFsbEZvcm1GaWVsZHMsIHVzZUZpZWxkIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvLCB1c2VMb2NhbGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvdXRpbGl0aWVzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSAnLi4vZGVmYXVsdHMnXG5pbXBvcnQgeyBMZW5ndGhJbmRpY2F0b3IgfSBmcm9tICcuLi91aS9MZW5ndGhJbmRpY2F0b3InXG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGggfSA9IGRlZmF1bHRzLnRpdGxlXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkdW5kYW50LXR5cGUtY29uc3RpdHVlbnRzXG50eXBlIE1ldGFUaXRsZVByb3BzID0gVGV4dEZpZWxkVHlwZSAmIHtcbiAgcGF0aDogc3RyaW5nXG4gIHBsdWdpbkNvbmZpZzogUGx1Z2luQ29uZmlnXG59XG5cbmV4cG9ydCBjb25zdCBNZXRhVGl0bGU6IFJlYWN0LkZDPE1ldGFUaXRsZVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG5hbWUsIGxhYmVsLCBwYXRoLCBwbHVnaW5Db25maWcsIHJlcXVpcmVkIH0gPSBwcm9wcyB8fCB7fVxuXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ3BsdWdpbi1zZW8nKVxuXG4gIGNvbnN0IGZpZWxkOiBGaWVsZFR5cGU8c3RyaW5nPiA9IHVzZUZpZWxkKHtcbiAgICBuYW1lLFxuICAgIGxhYmVsLFxuICAgIHBhdGgsXG4gIH0gYXMgT3B0aW9ucylcblxuICBjb25zdCBsb2NhbGUgPSB1c2VMb2NhbGUoKVxuICBjb25zdCBbZmllbGRzXSA9IHVzZUFsbEZvcm1GaWVsZHMoKVxuICBjb25zdCBkb2NJbmZvID0gdXNlRG9jdW1lbnRJbmZvKClcblxuICBjb25zdCB7IHNldFZhbHVlLCBzaG93RXJyb3IsIHZhbHVlLCBlcnJvck1lc3NhZ2UgfSA9IGZpZWxkXG5cbiAgY29uc3QgcmVnZW5lcmF0ZVRpdGxlID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgZ2VuZXJhdGVUaXRsZSB9ID0gcGx1Z2luQ29uZmlnXG4gICAgbGV0IGdlbmVyYXRlZFRpdGxlXG5cbiAgICBpZiAodHlwZW9mIGdlbmVyYXRlVGl0bGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGdlbmVyYXRlZFRpdGxlID0gYXdhaXQgZ2VuZXJhdGVUaXRsZSh7XG4gICAgICAgIC4uLmRvY0luZm8sXG4gICAgICAgIGRvYzogeyAuLi5maWVsZHMgfSxcbiAgICAgICAgbG9jYWxlOiB0eXBlb2YgbG9jYWxlID09PSAnb2JqZWN0JyA/IGxvY2FsZT8uY29kZSA6IGxvY2FsZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgc2V0VmFsdWUoZ2VuZXJhdGVkVGl0bGUpXG4gIH0sIFtmaWVsZHMsIHNldFZhbHVlLCBwbHVnaW5Db25maWcsIGxvY2FsZSwgZG9jSW5mb10pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXJnaW5Cb3R0b206ICcyMHB4JyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzVweCcsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2xhYmVsICYmIHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycgJiYgbGFiZWx9XG5cbiAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAnNXB4JyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLXRoZW1lLWVycm9yLTUwMCknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAqXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHt0eXBlb2YgcGx1Z2luQ29uZmlnLmdlbmVyYXRlVGl0bGUgPT09ICdmdW5jdGlvbicgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAmbmJzcDsgJm1kYXNoOyAmbmJzcDtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3JlZ2VuZXJhdGVUaXRsZX1cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2N1cnJlbnRjb2xvcicsXG4gICAgICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdhdXRvR2VuZXJhdGUnKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAnIzlBOUE5QScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0KCdsZW5ndGhUaXBUaXRsZScsIHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGggfSl9XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9zZWFyY2gvZG9jcy9hZHZhbmNlZC9hcHBlYXJhbmNlL3RpdGxlLWxpbmsjcGFnZS10aXRsZXNcIlxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0KCdiZXN0UHJhY3RpY2VzJyl9XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIC5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFRleHRJbnB1dFxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgb25DaGFuZ2U9e3NldFZhbHVlfVxuICAgICAgICAgIHBhdGg9e25hbWV9XG4gICAgICAgICAgc2hvd0Vycm9yPXtzaG93RXJyb3J9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogMCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGVycm9yTWVzc2FnZT17ZXJyb3JNZXNzYWdlfVxuICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPExlbmd0aEluZGljYXRvciBtYXhMZW5ndGg9e21heExlbmd0aH0gbWluTGVuZ3RoPXttaW5MZW5ndGh9IHRleHQ9e3ZhbHVlfSAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IGdldE1ldGFUaXRsZUZpZWxkID0gKHByb3BzOiBNZXRhVGl0bGVQcm9wcykgPT4gPE1ldGFUaXRsZSB7Li4ucHJvcHN9IC8+XG4iXSwibmFtZXMiOlsiTWV0YVRpdGxlIiwiZ2V0TWV0YVRpdGxlRmllbGQiLCJtYXhMZW5ndGgiLCJtaW5MZW5ndGgiLCJkZWZhdWx0cyIsInRpdGxlIiwicHJvcHMiLCJuYW1lIiwibGFiZWwiLCJwYXRoIiwicGx1Z2luQ29uZmlnIiwicmVxdWlyZWQiLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJmaWVsZCIsInVzZUZpZWxkIiwibG9jYWxlIiwidXNlTG9jYWxlIiwiZmllbGRzIiwidXNlQWxsRm9ybUZpZWxkcyIsImRvY0luZm8iLCJ1c2VEb2N1bWVudEluZm8iLCJzZXRWYWx1ZSIsInNob3dFcnJvciIsInZhbHVlIiwiZXJyb3JNZXNzYWdlIiwicmVnZW5lcmF0ZVRpdGxlIiwidXNlQ2FsbGJhY2siLCJnZW5lcmF0ZVRpdGxlIiwiZ2VuZXJhdGVkVGl0bGUiLCJkb2MiLCJjb2RlIiwiZGl2Iiwic3R5bGUiLCJtYXJnaW5Cb3R0b20iLCJwb3NpdGlvbiIsInNwYW4iLCJtYXJnaW5MZWZ0IiwiY29sb3IiLCJSZWFjdCIsIkZyYWdtZW50IiwiYnV0dG9uIiwib25DbGljayIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJjdXJzb3IiLCJwYWRkaW5nIiwidGV4dERlY29yYXRpb24iLCJ0eXBlIiwiYSIsImhyZWYiLCJyZWwiLCJ0YXJnZXQiLCJUZXh0SW5wdXQiLCJvbkNoYW5nZSIsImFsaWduSXRlbXMiLCJkaXNwbGF5Iiwid2lkdGgiLCJMZW5ndGhJbmRpY2F0b3IiLCJ0ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O0lBMEJhQSxTQUFTO2VBQVRBOztJQStIQUMsaUJBQWlCO2VBQWpCQTs7O3VCQWpKeUM7MkJBQ1g7K0RBQ1I7OEJBQ0o7MEJBSU47aUNBQ087Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEMsTUFBTSxFQUFFQyxTQUFTLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxrQkFBUSxDQUFDQyxLQUFLO0FBUXhDLE1BQU1MLFlBQXNDLENBQUNNO0lBQ2xELE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRUMsWUFBWSxFQUFFQyxRQUFRLEVBQUUsR0FBR0wsU0FBUyxDQUFDO0lBRWhFLE1BQU0sRUFBRU0sQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFN0IsTUFBTUMsUUFBMkJDLElBQUFBLGVBQVEsRUFBQztRQUN4Q1I7UUFDQUM7UUFDQUM7SUFDRjtJQUVBLE1BQU1PLFNBQVNDLElBQUFBLG9CQUFTO0lBQ3hCLE1BQU0sQ0FBQ0MsT0FBTyxHQUFHQyxJQUFBQSx1QkFBZ0I7SUFDakMsTUFBTUMsVUFBVUMsSUFBQUEsMEJBQWU7SUFFL0IsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUUsR0FBR1g7SUFFckQsTUFBTVksa0JBQWtCQyxJQUFBQSxrQkFBVyxFQUFDO1FBQ2xDLE1BQU0sRUFBRUMsYUFBYSxFQUFFLEdBQUdsQjtRQUMxQixJQUFJbUI7UUFFSixJQUFJLE9BQU9ELGtCQUFrQixZQUFZO1lBQ3ZDQyxpQkFBaUIsTUFBTUQsY0FBYztnQkFDbkMsR0FBR1IsT0FBTztnQkFDVlUsS0FBSztvQkFBRSxHQUFHWixNQUFNO2dCQUFDO2dCQUNqQkYsUUFBUSxPQUFPQSxXQUFXLFdBQVdBLFFBQVFlLE9BQU9mO1lBQ3REO1FBQ0Y7UUFFQU0sU0FBU087SUFDWCxHQUFHO1FBQUNYO1FBQVFJO1FBQVVaO1FBQWNNO1FBQVFJO0tBQVE7SUFFcEQscUJBQ0UsNkJBQUNZO1FBQ0NDLE9BQU87WUFDTEMsY0FBYztRQUNoQjtxQkFFQSw2QkFBQ0Y7UUFDQ0MsT0FBTztZQUNMQyxjQUFjO1lBQ2RDLFVBQVU7UUFDWjtxQkFFQSw2QkFBQ0gsYUFDRXhCLFNBQVMsT0FBT0EsVUFBVSxZQUFZQSxPQUV0Q0csMEJBQ0MsNkJBQUN5QjtRQUNDSCxPQUFPO1lBQ0xJLFlBQVk7WUFDWkMsT0FBTztRQUNUO09BQ0QsTUFLRixPQUFPNUIsYUFBYWtCLGFBQWEsS0FBSyw0QkFDckMsNkJBQUNXLGNBQUssQ0FBQ0MsUUFBUSxRQUFDLDZCQUVkLDZCQUFDQztRQUNDQyxTQUFTaEI7UUFDVE8sT0FBTztZQUNMVSxZQUFZO1lBQ1pDLGlCQUFpQjtZQUNqQkMsUUFBUTtZQUNSUCxPQUFPO1lBQ1BRLFFBQVE7WUFDUkMsU0FBUztZQUNUQyxnQkFBZ0I7UUFDbEI7UUFDQUMsTUFBSztPQUVKckMsRUFBRSxrQ0FLWCw2QkFBQ29CO1FBQ0NDLE9BQU87WUFDTEssT0FBTztRQUNUO09BRUMxQixFQUFFLGtCQUFrQjtRQUFFVjtRQUFXQztJQUFVLGtCQUM1Qyw2QkFBQytDO1FBQ0NDLE1BQUs7UUFDTEMsS0FBSTtRQUNKQyxRQUFPO09BRU56QyxFQUFFLG1CQUNELHFCQUlSLDZCQUFDb0I7UUFDQ0MsT0FBTztZQUNMQyxjQUFjO1lBQ2RDLFVBQVU7UUFDWjtxQkFFQSw2QkFBQ21CLGdCQUFTO1FBQ1IvQyxNQUFNQTtRQUNOZ0QsVUFBVWpDO1FBQ1ZiLE1BQU1GO1FBQ05nQixXQUFXQTtRQUNYVSxPQUFPO1lBQ0xDLGNBQWM7UUFDaEI7UUFDQVQsY0FBY0E7UUFDZGQsVUFBVUE7UUFDVmEsT0FBT0E7dUJBR1gsNkJBQUNRO1FBQ0NDLE9BQU87WUFDTHVCLFlBQVk7WUFDWkMsU0FBUztZQUNUQyxPQUFPO1FBQ1Q7cUJBRUEsNkJBQUNDLGdDQUFlO1FBQUN6RCxXQUFXQTtRQUFXQyxXQUFXQTtRQUFXeUQsTUFBTXBDOztBQUkzRTtBQUVPLE1BQU12QixvQkFBb0IsQ0FBQ0ssc0JBQTBCLDZCQUFDTixXQUFjTSJ9
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvTWV0YVRpdGxlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGUsIEZvcm1GaWVsZEJhc2UsIE9wdGlvbnMgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcblxuaW1wb3J0IHsgdXNlRmllbGRQYXRoIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQge1xuICBUZXh0SW5wdXQsXG4gIHVzZUFsbEZvcm1GaWVsZHMsXG4gIHVzZURvY3VtZW50SW5mbyxcbiAgdXNlRmllbGQsXG4gIHVzZUxvY2FsZSxcbiAgdXNlVHJhbnNsYXRpb24sXG59IGZyb20gJ0BwYXlsb2FkY21zL3VpJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVUaXRsZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWZhdWx0cyB9IGZyb20gJy4uL2RlZmF1bHRzJ1xuaW1wb3J0IHsgTGVuZ3RoSW5kaWNhdG9yIH0gZnJvbSAnLi4vdWkvTGVuZ3RoSW5kaWNhdG9yJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IHsgbWF4TGVuZ3RoLCBtaW5MZW5ndGggfSA9IGRlZmF1bHRzLnRpdGxlXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkdW5kYW50LXR5cGUtY29uc3RpdHVlbnRzXG50eXBlIE1ldGFUaXRsZVByb3BzID0gRm9ybUZpZWxkQmFzZSAmIHtcbiAgaGFzR2VuZXJhdGVUaXRsZUZuOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBNZXRhVGl0bGU6IFJlYWN0LkZDPE1ldGFUaXRsZVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IExhYmVsLCBoYXNHZW5lcmF0ZVRpdGxlRm4sIHBhdGgsIHJlcXVpcmVkIH0gPSBwcm9wcyB8fCB7fVxuICBjb25zdCB7IHBhdGg6IHBhdGhGcm9tQ29udGV4dCwgc2NoZW1hUGF0aCB9ID0gdXNlRmllbGRQYXRoKClcblxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBmaWVsZDogRmllbGRUeXBlPHN0cmluZz4gPSB1c2VGaWVsZCh7XG4gICAgcGF0aCxcbiAgfSBhcyBPcHRpb25zKVxuXG4gIGNvbnN0IGxvY2FsZSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IFtmaWVsZHNdID0gdXNlQWxsRm9ybUZpZWxkcygpXG4gIGNvbnN0IGRvY0luZm8gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IHsgZXJyb3JNZXNzYWdlLCBzZXRWYWx1ZSwgc2hvd0Vycm9yLCB2YWx1ZSB9ID0gZmllbGRcblxuICBjb25zdCByZWdlbmVyYXRlVGl0bGUgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFoYXNHZW5lcmF0ZVRpdGxlRm4pIHJldHVyblxuXG4gICAgY29uc3QgZ2VuVGl0bGVSZXNwb25zZSA9IGF3YWl0IGZldGNoKCcvYXBpL3BsdWdpbi1zZW8vZ2VuZXJhdGUtdGl0bGUnLCB7XG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIC4uLmRvY0luZm8sXG4gICAgICAgIGRvYzogeyAuLi5maWVsZHMgfSxcbiAgICAgICAgbG9jYWxlOiB0eXBlb2YgbG9jYWxlID09PSAnb2JqZWN0JyA/IGxvY2FsZT8uY29kZSA6IGxvY2FsZSxcbiAgICAgIH0gc2F0aXNmaWVzIFBhcmFtZXRlcnM8R2VuZXJhdGVUaXRsZT5bMF0pLFxuICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICB9KVxuXG4gICAgY29uc3QgeyByZXN1bHQ6IGdlbmVyYXRlZFRpdGxlIH0gPSBhd2FpdCBnZW5UaXRsZVJlc3BvbnNlLmpzb24oKVxuXG4gICAgc2V0VmFsdWUoZ2VuZXJhdGVkVGl0bGUgfHwgJycpXG4gIH0sIFtmaWVsZHMsIHNldFZhbHVlLCBoYXNHZW5lcmF0ZVRpdGxlRm4sIGxvY2FsZSwgZG9jSW5mb10pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXJnaW5Cb3R0b206ICcyMHB4JyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzVweCcsXG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGx1Z2luLXNlb19fZmllbGRcIj5cbiAgICAgICAgICB7TGFiZWx9XG5cbiAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLXRoZW1lLWVycm9yLTUwMCknLFxuICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAqXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtoYXNHZW5lcmF0ZVRpdGxlRm4gJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAmbmJzcDsgJm1kYXNoOyAmbmJzcDtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3JlZ2VuZXJhdGVUaXRsZX1cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2N1cnJlbnRjb2xvcicsXG4gICAgICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdwbHVnaW4tc2VvOmF1dG9HZW5lcmF0ZScpfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY29sb3I6ICcjOUE5QTlBJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge3QoJ3BsdWdpbi1zZW86bGVuZ3RoVGlwVGl0bGUnLCB7IG1heExlbmd0aCwgbWluTGVuZ3RoIH0pfVxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vc2VhcmNoL2RvY3MvYWR2YW5jZWQvYXBwZWFyYW5jZS90aXRsZS1saW5rI3BhZ2UtdGl0bGVzXCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgncGx1Z2luLXNlbzpiZXN0UHJhY3RpY2VzJyl9XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIC5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFRleHRJbnB1dFxuICAgICAgICAgIEVycm9yPXtlcnJvck1lc3NhZ2V9IC8vIFRPRE86IGZpeCBlcnJvcm1lc3NhZ2VcbiAgICAgICAgICBvbkNoYW5nZT17c2V0VmFsdWV9XG4gICAgICAgICAgcGF0aD17cGF0aEZyb21Db250ZXh0fVxuICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICBzaG93RXJyb3I9e3Nob3dFcnJvcn1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxMZW5ndGhJbmRpY2F0b3IgbWF4TGVuZ3RoPXttYXhMZW5ndGh9IG1pbkxlbmd0aD17bWluTGVuZ3RofSB0ZXh0PXt2YWx1ZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiTWV0YVRpdGxlIiwibWF4TGVuZ3RoIiwibWluTGVuZ3RoIiwiZGVmYXVsdHMiLCJ0aXRsZSIsInByb3BzIiwiTGFiZWwiLCJoYXNHZW5lcmF0ZVRpdGxlRm4iLCJwYXRoIiwicmVxdWlyZWQiLCJwYXRoRnJvbUNvbnRleHQiLCJzY2hlbWFQYXRoIiwidXNlRmllbGRQYXRoIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiZmllbGQiLCJ1c2VGaWVsZCIsImxvY2FsZSIsInVzZUxvY2FsZSIsImZpZWxkcyIsInVzZUFsbEZvcm1GaWVsZHMiLCJkb2NJbmZvIiwidXNlRG9jdW1lbnRJbmZvIiwiZXJyb3JNZXNzYWdlIiwic2V0VmFsdWUiLCJzaG93RXJyb3IiLCJ2YWx1ZSIsInJlZ2VuZXJhdGVUaXRsZSIsInVzZUNhbGxiYWNrIiwiZ2VuVGl0bGVSZXNwb25zZSIsImZldGNoIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkb2MiLCJjb2RlIiwiY3JlZGVudGlhbHMiLCJoZWFkZXJzIiwibWV0aG9kIiwicmVzdWx0IiwiZ2VuZXJhdGVkVGl0bGUiLCJqc29uIiwiZGl2Iiwic3R5bGUiLCJtYXJnaW5Cb3R0b20iLCJwb3NpdGlvbiIsImNsYXNzTmFtZSIsInNwYW4iLCJjb2xvciIsIm1hcmdpbkxlZnQiLCJSZWFjdCIsIkZyYWdtZW50IiwiYnV0dG9uIiwib25DbGljayIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJjdXJzb3IiLCJwYWRkaW5nIiwidGV4dERlY29yYXRpb24iLCJ0eXBlIiwiYSIsImhyZWYiLCJyZWwiLCJ0YXJnZXQiLCJUZXh0SW5wdXQiLCJFcnJvciIsIm9uQ2hhbmdlIiwiYWxpZ25JdGVtcyIsImRpc3BsYXkiLCJ3aWR0aCIsIkxlbmd0aEluZGljYXRvciIsInRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkE0QmFBOzs7ZUFBQUE7OztvQkF4QmdCOytEQVNNOzBCQUlWO2lDQUNPO1FBQ3pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFFLEdBQUdDLGtCQUFRLENBQUNDLEtBQUs7QUFPeEMsTUFBTUosWUFBc0MsQ0FBQ0s7SUFDbEQsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLGtCQUFrQixFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHSixTQUFTLENBQUM7SUFDaEUsTUFBTSxFQUFF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
@@ -0,0 +1,5 @@
1
+ .plugin-seo__field {
2
+ .field-label {
3
+ display: inline;
4
+ }
5
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAK5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAS3C,QAAA,MAAM,GAAG,iBACQ,YAAY,cAClB,MAAM,KAAG,MA8LjB,CAAA;AAEH,eAAe,GAAG,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAM5C,OAAO,KAAK,EAKV,YAAY,EACb,MAAM,SAAS,CAAA;AAShB,QAAA,MAAM,GAAG,iBACQ,YAAY,cAClB,MAAM,KAAG,MA6PjB,CAAA;AAEH,eAAe,GAAG,CAAA"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  const _utilities = require("payload/utilities");
12
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
13
  const _MetaDescription = require("./fields/MetaDescription");
13
14
  const _MetaImage = require("./fields/MetaImage");
14
15
  const _MetaTitle = require("./fields/MetaTitle");
@@ -36,15 +37,14 @@ const seo = (pluginConfig)=>(config)=>{
36
37
  },
37
38
  label: 'Overview'
38
39
  },
39
- // @ts-expect-error
40
40
  {
41
41
  name: 'title',
42
42
  type: 'text',
43
43
  admin: {
44
44
  components: {
45
- Field: (props)=>(0, _MetaTitle.getMetaTitleField)({
45
+ Field: (props)=>/*#__PURE__*/ _react.default.createElement(_MetaTitle.MetaTitle, {
46
46
  ...props,
47
- pluginConfig
47
+ hasGenerateTitleFn: typeof pluginConfig.generateTitle === 'function'
48
48
  })
49
49
  }
50
50
  },
@@ -56,9 +56,9 @@ const seo = (pluginConfig)=>(config)=>{
56
56
  type: 'textarea',
57
57
  admin: {
58
58
  components: {
59
- Field: (props)=>(0, _MetaDescription.getMetaDescriptionField)({
59
+ Field: (props)=>/*#__PURE__*/ _react.default.createElement(_MetaDescription.MetaDescription, {
60
60
  ...props,
61
- pluginConfig
61
+ hasGenerateDescriptionFn: typeof pluginConfig.generateDescription === 'function'
62
62
  })
63
63
  }
64
64
  },
@@ -72,9 +72,9 @@ const seo = (pluginConfig)=>(config)=>{
72
72
  type: 'upload',
73
73
  admin: {
74
74
  components: {
75
- Field: (props)=>(0, _MetaImage.getMetaImageField)({
75
+ Field: (props)=>/*#__PURE__*/ _react.default.createElement(_MetaImage.MetaImage, {
76
76
  ...props,
77
- pluginConfig
77
+ hasGenerateImageFn: typeof pluginConfig.generateImage === 'function'
78
78
  })
79
79
  },
80
80
  description: 'Maximum upload file size: 12MB. Recommended file size for images is <500KB.'
@@ -91,9 +91,9 @@ const seo = (pluginConfig)=>(config)=>{
91
91
  type: 'ui',
92
92
  admin: {
93
93
  components: {
94
- Field: (props)=>(0, _Preview.getPreviewField)({
94
+ Field: (props)=>/*#__PURE__*/ _react.default.createElement(_Preview.Preview, {
95
95
  ...props,
96
- pluginConfig
96
+ hasGenerateURLFn: typeof pluginConfig.generateURL === 'function'
97
97
  })
98
98
  }
99
99
  },
@@ -155,6 +155,58 @@ const seo = (pluginConfig)=>(config)=>{
155
155
  }
156
156
  return collection;
157
157
  }) || [],
158
+ endpoints: [
159
+ {
160
+ handler: async (req)=>{
161
+ const args = req.data;
162
+ const result = await pluginConfig.generateTitle(args);
163
+ return new Response(JSON.stringify({
164
+ result
165
+ }), {
166
+ status: 200
167
+ });
168
+ },
169
+ method: 'post',
170
+ path: '/plugin-seo/generate-title'
171
+ },
172
+ {
173
+ handler: async (req)=>{
174
+ const args = req.data;
175
+ const result = await pluginConfig.generateDescription(args);
176
+ return new Response(JSON.stringify({
177
+ result
178
+ }), {
179
+ status: 200
180
+ });
181
+ },
182
+ method: 'post',
183
+ path: '/plugin-seo/generate-description'
184
+ },
185
+ {
186
+ handler: async (req)=>{
187
+ const args = req.data;
188
+ const result = await pluginConfig.generateURL(args);
189
+ return new Response(JSON.stringify({
190
+ result
191
+ }), {
192
+ status: 200
193
+ });
194
+ },
195
+ method: 'post',
196
+ path: '/plugin-seo/generate-url'
197
+ },
198
+ {
199
+ handler: async (req)=>{
200
+ const args = req.data;
201
+ const result = await pluginConfig.generateImage(args);
202
+ return new Response(result, {
203
+ status: 200
204
+ });
205
+ },
206
+ method: 'post',
207
+ path: '/plugin-seo/generate-image'
208
+ }
209
+ ],
158
210
  globals: config.globals?.map((global)=>{
159
211
  const { slug } = global;
160
212
  const isEnabled = pluginConfig?.globals?.includes(slug);
@@ -201,12 +253,12 @@ const seo = (pluginConfig)=>(config)=>{
201
253
  }) || [],
202
254
  i18n: {
203
255
  ...config.i18n,
204
- resources: {
205
- ...(0, _utilities.deepMerge)(_translations.default, config.i18n?.resources)
256
+ translations: {
257
+ ...(0, _utilities.deepMerge)(_translations.default, config.i18n?.translations)
206
258
  }
207
259
  }
208
260
  };
209
261
  };
210
262
  const _default = seo;
211
263
 
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgR3JvdXBGaWVsZCwgVGFic0ZpZWxkIH0gZnJvbSAncGF5bG9hZC9kaXN0L2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdldE1ldGFEZXNjcmlwdGlvbkZpZWxkIH0gZnJvbSAnLi9maWVsZHMvTWV0YURlc2NyaXB0aW9uJ1xuaW1wb3J0IHsgZ2V0TWV0YUltYWdlRmllbGQgfSBmcm9tICcuL2ZpZWxkcy9NZXRhSW1hZ2UnXG5pbXBvcnQgeyBnZXRNZXRhVGl0bGVGaWVsZCB9IGZyb20gJy4vZmllbGRzL01ldGFUaXRsZSdcbmltcG9ydCB0cmFuc2xhdGlvbnMgZnJvbSAnLi90cmFuc2xhdGlvbnMnXG5pbXBvcnQgeyBPdmVydmlldyB9IGZyb20gJy4vdWkvT3ZlcnZpZXcnXG5pbXBvcnQgeyBnZXRQcmV2aWV3RmllbGQgfSBmcm9tICcuL3VpL1ByZXZpZXcnXG5cbmNvbnN0IHNlbyA9XG4gIChwbHVnaW5Db25maWc6IFBsdWdpbkNvbmZpZykgPT5cbiAgKGNvbmZpZzogQ29uZmlnKTogQ29uZmlnID0+IHtcbiAgICBjb25zdCBzZW9GaWVsZHM6IEdyb3VwRmllbGRbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21ldGEnLFxuICAgICAgICB0eXBlOiAnZ3JvdXAnLFxuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnb3ZlcnZpZXcnLFxuICAgICAgICAgICAgdHlwZTogJ3VpJyxcbiAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgICBGaWVsZDogT3ZlcnZpZXcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWw6ICdPdmVydmlldycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgICBGaWVsZDogKHByb3BzKSA9PiBnZXRNZXRhVGl0bGVGaWVsZCh7IC4uLnByb3BzLCBwbHVnaW5Db25maWcgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgICAgICAgLi4uKHBsdWdpbkNvbmZpZz8uZmllbGRPdmVycmlkZXM/LnRpdGxlID8/IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdkZXNjcmlwdGlvbicsXG4gICAgICAgICAgICB0eXBlOiAndGV4dGFyZWEnLFxuICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICAgIEZpZWxkOiAocHJvcHMpID0+IGdldE1ldGFEZXNjcmlwdGlvbkZpZWxkKHsgLi4ucHJvcHMsIHBsdWdpbkNvbmZpZyB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgICAgICAuLi4ocGx1Z2luQ29uZmlnPy5maWVsZE92ZXJyaWRlcz8uZGVzY3JpcHRpb24gPz8ge30pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uKHBsdWdpbkNvbmZpZz8udXBsb2Fkc0NvbGxlY3Rpb25cbiAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWFzc2VydGlvbnNcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnaW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3VwbG9hZCcsXG4gICAgICAgICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgRmllbGQ6IChwcm9wcykgPT4gZ2V0TWV0YUltYWdlRmllbGQoeyAuLi5wcm9wcywgcGx1Z2luQ29uZmlnIH0pLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICAgICAgICAnTWF4aW11bSB1cGxvYWQgZmlsZSBzaXplOiAxMk1CLiBSZWNvbW1lbmRlZCBmaWxlIHNpemUgZm9yIGltYWdlcyBpcyA8NTAwS0IuJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ01ldGEgSW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogcGx1Z2luQ29uZmlnPy51cGxvYWRzQ29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgIC4uLihwbHVnaW5Db25maWc/LmZpZWxkT3ZlcnJpZGVzPy5pbWFnZSA/PyB7fSksXG4gICAgICAgICAgICAgICAgfSBhcyBGaWVsZCxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgLi4uKHBsdWdpbkNvbmZpZz8uZmllbGRzIHx8IFtdKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncHJldmlldycsXG4gICAgICAgICAgICB0eXBlOiAndWknLFxuICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICAgIEZpZWxkOiAocHJvcHMpID0+IGdldFByZXZpZXdGaWVsZCh7IC4uLnByb3BzLCBwbHVnaW5Db25maWcgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWw6ICdQcmV2aWV3JyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBpbnRlcmZhY2VOYW1lOiBwbHVnaW5Db25maWcuaW50ZXJmYWNlTmFtZSxcbiAgICAgICAgbGFiZWw6ICdTRU8nLFxuICAgICAgfSxcbiAgICBdXG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgY29sbGVjdGlvbnM6XG4gICAgICAgIGNvbmZpZy5jb2xsZWN0aW9ucz8ubWFwKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzbHVnIH0gPSBjb2xsZWN0aW9uXG4gICAgICAgICAgY29uc3QgaXNFbmFibGVkID0gcGx1Z2luQ29uZmlnPy5jb2xsZWN0aW9ucz8uaW5jbHVkZXMoc2x1ZylcblxuICAgICAgICAgIGlmIChpc0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGlmIChwbHVnaW5Db25maWc/LnRhYmJlZFVJKSB7XG4gICAgICAgICAgICAgIC8vIHByZXZlbnQgaXNzdWVzIHdpdGggYXV0aCBlbmFibGVkIGNvbGxlY3Rpb25zIGhhdmluZyBhbiBlbWFpbCBmaWVsZCB0aGF0IHNob3VsZG4ndCBiZSBtb3ZlZCB0byB0aGUgU0VPIHRhYlxuICAgICAgICAgICAgICBjb25zdCBlbWFpbEZpZWxkID1cbiAgICAgICAgICAgICAgICAoY29sbGVjdGlvbi5hdXRoIHx8XG4gICAgICAgICAgICAgICAgICAhKHR5cGVvZiBjb2xsZWN0aW9uLmF1dGggPT09ICdvYmplY3QnICYmIGNvbGxlY3Rpb24uYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneSkpICYmXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbi5maWVsZHM/LmZpbmQoKGZpZWxkKSA9PiAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2VtYWlsJylcblxuICAgICAgICAgICAgICBjb25zdCBzZW9UYWJzOiBUYWJzRmllbGRbXSA9IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAndGFicycsXG4gICAgICAgICAgICAgICAgICB0YWJzOiBbXG4gICAgICAgICAgICAgICAgICAgIC8vIGFwcGVuZCBhIG5ldyB0YWIgb250byB0aGUgZW5kIG9mIHRoZSB0YWJzIGFycmF5LCBpZiB0aGVyZSBpcyBvbmUgYXQgdGhlIGZpcnN0IGluZGV4XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIG5lZWRlZCwgY3JlYXRlIGEgbmV3IGBDb250ZW50YCB0YWIgaW4gdGhlIGZpcnN0IGluZGV4IGZvciB0aGlzIGNvbGxlY3Rpb24ncyBiYXNlIGZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAuLi4oY29sbGVjdGlvbj8uZmllbGRzPy5bMF0/LnR5cGUgPT09ICd0YWJzJ1xuICAgICAgICAgICAgICAgICAgICAgID8gY29sbGVjdGlvbi5maWVsZHNbMF0/LnRhYnNcbiAgICAgICAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKChlbWFpbEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29sbGVjdGlvbi5maWVsZHMuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpZWxkKSA9PiAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSAhPT0gJ2VtYWlsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY29sbGVjdGlvbi5maWVsZHMpIHx8IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjb2xsZWN0aW9uPy5sYWJlbHM/LnNpbmd1bGFyIHx8ICdDb250ZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBzZW9GaWVsZHMsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTRU8nLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5jb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAgLi4uKGVtYWlsRmllbGQgPyBbZW1haWxGaWVsZF0gOiBbXSksXG4gICAgICAgICAgICAgICAgICAuLi5zZW9UYWJzLFxuICAgICAgICAgICAgICAgICAgLi4uKGNvbGxlY3Rpb24/LmZpZWxkcz8uWzBdPy50eXBlID09PSAndGFicycgPyBjb2xsZWN0aW9uLmZpZWxkcy5zbGljZSgxKSA6IFtdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgIGZpZWxkczogWy4uLihjb2xsZWN0aW9uPy5maWVsZHMgfHwgW10pLCAuLi5zZW9GaWVsZHNdLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uXG4gICAgICAgIH0pIHx8IFtdLFxuICAgICAgZ2xvYmFsczpcbiAgICAgICAgY29uZmlnLmdsb2JhbHM/Lm1hcCgoZ2xvYmFsKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzbHVnIH0gPSBnbG9iYWxcbiAgICAgICAgICBjb25zdCBpc0VuYWJsZWQgPSBwbHVnaW5Db25maWc/Lmdsb2JhbHM/LmluY2x1ZGVzKHNsdWcpXG5cbiAgICAgICAgICBpZiAoaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBpZiAocGx1Z2luQ29uZmlnPy50YWJiZWRVSSkge1xuICAgICAgICAgICAgICBjb25zdCBzZW9UYWJzOiBUYWJzRmllbGRbXSA9IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAndGFicycsXG4gICAgICAgICAgICAgICAgICB0YWJzOiBbXG4gICAgICAgICAgICAgICAgICAgIC8vIGFwcGVuZCBhIG5ldyB0YWIgb250byB0aGUgZW5kIG9mIHRoZSB0YWJzIGFycmF5LCBpZiB0aGVyZSBpcyBvbmUgYXQgdGhlIGZpcnN0IGluZGV4XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIG5lZWRlZCwgY3JlYXRlIGEgbmV3IGBDb250ZW50YCB0YWIgaW4gdGhlIGZpcnN0IGluZGV4IGZvciB0aGlzIGdsb2JhbCdzIGJhc2UgZmllbGRzXG4gICAgICAgICAgICAgICAgICAgIC4uLihnbG9iYWw/LmZpZWxkcz8uWzBdLnR5cGUgPT09ICd0YWJzJ1xuICAgICAgICAgICAgICAgICAgICAgID8gZ2xvYmFsLmZpZWxkc1swXT8udGFic1xuICAgICAgICAgICAgICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBbLi4uKGdsb2JhbD8uZmllbGRzIHx8IFtdKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGdsb2JhbD8ubGFiZWwgfHwgJ0NvbnRlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IHNlb0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NFTycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF1cblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmdsb2JhbCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgIC4uLnNlb1RhYnMsXG4gICAgICAgICAgICAgICAgICAuLi4oZ2xvYmFsPy5maWVsZHM/LlswXS50eXBlID09PSAndGFicycgPyBnbG9iYWw/LmZpZWxkcz8uc2xpY2UoMSkgOiBbXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5nbG9iYWwsXG4gICAgICAgICAgICAgIGZpZWxkczogWy4uLihnbG9iYWw/LmZpZWxkcyB8fCBbXSksIC4uLnNlb0ZpZWxkc10sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGdsb2JhbFxuICAgICAgICB9KSB8fCBbXSxcbiAgICAgIGkxOG46IHtcbiAgICAgICAgLi4uY29uZmlnLmkxOG4sXG4gICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgIC4uLmRlZXBNZXJnZSh0cmFuc2xhdGlvbnMsIGNvbmZpZy5pMThuPy5yZXNvdXJjZXMpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9XG4gIH1cblxuZXhwb3J0IGRlZmF1bHQgc2VvXG4iXSwibmFtZXMiOlsic2VvIiwicGx1Z2luQ29uZmlnIiwiY29uZmlnIiwic2VvRmllbGRzIiwibmFtZSIsInR5cGUiLCJmaWVsZHMiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJGaWVsZCIsIk92ZXJ2aWV3IiwibGFiZWwiLCJwcm9wcyIsImdldE1ldGFUaXRsZUZpZWxkIiwibG9jYWxpemVkIiwiZmllbGRPdmVycmlkZXMiLCJ0aXRsZSIsImdldE1ldGFEZXNjcmlwdGlvbkZpZWxkIiwiZGVzY3JpcHRpb24iLCJ1cGxvYWRzQ29sbGVjdGlvbiIsImdldE1ldGFJbWFnZUZpZWxkIiwicmVsYXRpb25UbyIsImltYWdlIiwiZ2V0UHJldmlld0ZpZWxkIiwiaW50ZXJmYWNlTmFtZSIsImNvbGxlY3Rpb25zIiwibWFwIiwiY29sbGVjdGlvbiIsInNsdWciLCJpc0VuYWJsZWQiLCJpbmNsdWRlcyIsInRhYmJlZFVJIiwiZW1haWxGaWVsZCIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImZpbmQiLCJmaWVsZCIsInNlb1RhYnMiLCJ0YWJzIiwiZmlsdGVyIiwibGFiZWxzIiwic2luZ3VsYXIiLCJzbGljZSIsImdsb2JhbHMiLCJnbG9iYWwiLCJpMThuIiwicmVzb3VyY2VzIiwiZGVlcE1lcmdlIiwidHJhbnNsYXRpb25zIl0sIm1hcHBpbmdzIjoiOzs7OytCQWdOQTs7O2VBQUE7OzsyQkE3TTBCO2lDQUljOzJCQUNOOzJCQUNBO3FFQUNUOzBCQUNBO3lCQUNPOzs7Ozs7QUFFaEMsTUFBTUEsTUFDSixDQUFDQyxlQUNELENBQUNDO1FBQ0MsTUFBTUMsWUFBMEI7WUFDOUI7Z0JBQ0VDLE1BQU07Z0JBQ05DLE1BQU07Z0JBQ05DLFFBQVE7b0JBQ047d0JBQ0VGLE1BQU07d0JBQ05DLE1BQU07d0JBQ05FLE9BQU87NEJBQ0xDLFlBQVk7Z0NBQ1ZDLE9BQU9DLGtCQUFROzRCQUNqQjt3QkFDRjt3QkFDQUMsT0FBTztvQkFDVDtvQkFDQSxtQkFBbUI7b0JBQ25CO3dCQUNFUCxNQUFNO3dC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
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIEdyb3VwRmllbGQsIFRhYnNGaWVsZCwgVGV4dEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHtcbiAgR2VuZXJhdGVEZXNjcmlwdGlvbixcbiAgR2VuZXJhdGVJbWFnZSxcbiAgR2VuZXJhdGVUaXRsZSxcbiAgR2VuZXJhdGVVUkwsXG4gIFBsdWdpbkNvbmZpZyxcbn0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgTWV0YURlc2NyaXB0aW9uIH0gZnJvbSAnLi9maWVsZHMvTWV0YURlc2NyaXB0aW9uJ1xuaW1wb3J0IHsgTWV0YUltYWdlIH0gZnJvbSAnLi9maWVsZHMvTWV0YUltYWdlJ1xuaW1wb3J0IHsgTWV0YVRpdGxlIH0gZnJvbSAnLi9maWVsZHMvTWV0YVRpdGxlJ1xuaW1wb3J0IHRyYW5zbGF0aW9ucyBmcm9tICcuL3RyYW5zbGF0aW9ucydcbmltcG9ydCB7IE92ZXJ2aWV3IH0gZnJvbSAnLi91aS9PdmVydmlldydcbmltcG9ydCB7IFByZXZpZXcgfSBmcm9tICcuL3VpL1ByZXZpZXcnXG5cbmNvbnN0IHNlbyA9XG4gIChwbHVnaW5Db25maWc6IFBsdWdpbkNvbmZpZykgPT5cbiAgKGNvbmZpZzogQ29uZmlnKTogQ29uZmlnID0+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/LnRyYW5zbGF0aW9ucyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG5leHBvcnQgZGVmYXVsdCBzZW9cbiJdLCJuYW1lcyI6WyJzZW8iLCJwbHVnaW5Db25maWciLCJjb25maWciLCJzZW9GaWVsZHMiLCJuYW1lIiwidHlwZSIsImZpZWxkcyIsImFkbWluIiwiY29tcG9uZW50cyIsIkZpZWxkIiwiT3ZlcnZpZXciLCJsYWJlbCIsInByb3BzIiwiTWV0YVRpdGxlIiwiaGFzR2VuZXJhdGVUaXRsZUZuIiwiZ2VuZXJhdGVUaXRsZSIsImxvY2FsaXplZCIsImZpZWxkT3ZlcnJpZGVzIiwidGl0bGUiLCJNZXRhRGVzY3JpcHRpb24iLCJoYXNHZW5lcmF0ZURlc2NyaXB0aW9uRm4iLCJnZW5lcmF0ZURlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJ1cGxvYWRzQ29sbGVjdGlvbiIsIk1ldGFJbWFnZSIsImhhc0dlbmVyYXRlSW1hZ2VGbiIsImdlbmVyYXRlSW1hZ2UiLCJyZWxhdGlvblRvIiwiaW1hZ2UiLCJQcmV2aWV3IiwiaGFzR2VuZXJhdGVVUkxGbiIsImdlbmVyYXRlVVJMIiwiaW50ZXJmYWNlTmFtZSIsImNvbGxlY3Rpb25zIiwibWFwIiwiY29sbGVjdGlvbiIsInNsdWciLCJpc0VuYWJsZWQiLCJpbmNsdWRlcyIsInRhYmJlZFVJIiwiZW1haWxGaWVsZCIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImZpbmQiLCJmaWVsZCIsInNlb1RhYnMiLCJ0YWJzIiwiZmlsdGVyIiwibGFiZWxzIiwic2luZ3VsYXIiLCJzbGljZSIsImVuZHBvaW50cyIsImhhbmRsZXIiLCJyZXEiLCJhcmdzIiwiZGF0YSIsInJlc3VsdCIsIlJlc3BvbnNlIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXR1cyIsIm1ldGhvZCIsInBhdGgiLCJnbG9iYWxzIiwiZ2xvYmFsIiwiaTE4biIsInRyYW5zbGF0aW9ucyIsImRlZXBNZXJnZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFzUkE7OztlQUFBOzs7MkJBblIwQjs4REFDUjtpQ0FVYzsyQkFDTjsyQkFDQTtxRUFDRDswQkFDQTt5QkFDRDs7Ozs7O0FBRXhCLE1BQU1BLE1BQ0osQ0FBQ0MsZUFDRCxDQUFDQztRQUNDLE1BQU1DLFlBQTBCO1lBQzlCO2dCQUNFQyxNQUFNO2dCQUNOQyxNQUFNO2dCQUNOQyxRQUFRO29CQUNOO3dCQUNFRixNQUFNO3dCQUNOQyxNQUFNO3dCQUNORSxPQUFPOzRCQUNMQyxZQUFZO2dDQUNWQyxPQUFPQyxrQkFBUTs0QkFDakI7d0JBQ0Y7d0JBQ0FDLE9BQU87b0JBQ1Q7b0JBQ0E7d0JBQ0VQLE1BQU07d0JBQ05DLE1BQU07d0JBQ05FLE9BQU87NEJBQ0xDLFlBQVk7Z0NBQ1ZDLE9BQU8s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
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "$schema": "./translation-schema.json",
3
3
  "plugin-seo": {
4
+ "almostThere": "Almost there",
4
5
  "autoGenerate": "Auto-generate",
5
- "imageAutoGenerationTip": "Auto-generation will retrieve the selected hero image.",
6
6
  "bestPractices": "best practices",
7
- "lengthTipTitle": "This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta titles, see ",
8
- "lengthTipDescription": "This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta descriptions, see ",
9
- "good": "Good",
10
- "tooLong": "Too long",
11
- "tooShort": "Too short",
12
- "almostThere": "Almost there",
13
7
  "characterCount": "{{current}}/{{minLength}}-{{maxLength}} chars, ",
14
- "charactersToGo": "{{characters}} to go",
15
8
  "charactersLeftOver": "{{characters}} left over",
9
+ "charactersToGo": "{{characters}} to go",
16
10
  "charactersTooMany": "{{characters}} too many",
17
- "noImage": "No image",
18
11
  "checksPassing": "{{current}}/{{max}} checks are passing",
12
+ "good": "Good",
13
+ "imageAutoGenerationTip": "Auto-generation will retrieve the selected hero image.",
14
+ "lengthTipDescription": "This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta descriptions, see ",
15
+ "lengthTipTitle": "This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta titles, see ",
16
+ "noImage": "No image",
19
17
  "preview": "Preview",
20
- "previewDescription": "Exact result listings may vary based on content and search relevancy."
18
+ "previewDescription": "Exact result listings may vary based on content and search relevancy.",
19
+ "tooLong": "Too long",
20
+ "tooShort": "Too short"
21
21
  }
22
22
  }
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "$schema": "./translation-schema.json",
3
3
  "plugin-seo": {
4
+ "almostThere": "Ya casi está",
4
5
  "autoGenerate": "Autogénerar",
5
- "imageAutoGenerationTip": "La autogeneración recuperará la imagen de héroe seleccionada.",
6
6
  "bestPractices": "mejores prácticas",
7
- "lengthTipTitle": "Debe tener entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir metatítulos de calidad, consulte ",
8
- "lengthTipDescription": "Esto debe estar entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir meta descripciones de calidad, consulte ",
9
- "good": "Bien",
10
- "tooLong": "Demasiado largo",
11
- "tooShort": "Demasiado corto",
12
- "almostThere": "Ya casi está",
13
7
  "characterCount": "{{current}}/{{minLength}}-{{maxLength}} letras, ",
14
- "charactersToGo": "{{characters}} letras sobrantes",
15
8
  "charactersLeftOver": "{{characters}} letras sobrantes",
9
+ "charactersToGo": "{{characters}} letras sobrantes",
16
10
  "charactersTooMany": "{{characters}} letras demasiados",
17
- "noImage": "Sin imagen",
18
11
  "checksPassing": "{{current}}/{{max}} las comprobaciones están pasando",
12
+ "good": "Bien",
13
+ "imageAutoGenerationTip": "La autogeneración recuperará la imagen de héroe seleccionada.",
14
+ "lengthTipDescription": "Esto debe estar entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir meta descripciones de calidad, consulte ",
15
+ "lengthTipTitle": "Debe tener entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir metatítulos de calidad, consulte ",
16
+ "noImage": "Sin imagen",
19
17
  "preview": "Vista previa",
20
- "previewDescription": "Las listas de resultados pueden variar segun la relevancia de buesqueda y el contenido."
18
+ "previewDescription": "Las listas de resultados pueden variar segun la relevancia de buesqueda y el contenido.",
19
+ "tooLong": "Demasiado largo",
20
+ "tooShort": "Demasiado corto"
21
21
  }
22
22
  }
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "$schema": "./translation-schema.json",
3
3
  "plugin-seo": {
4
+ "almostThere": "چیزیی باقی نمونده",
4
5
  "autoGenerate": "تولید خودکار",
5
- "imageAutoGenerationTip": "این قابلیت، تصویر فعلی بارگذاری شده در مجموعه محتوای شما را بازیابی می‌کند",
6
6
  "bestPractices": "آموزش بیشتر",
7
- "lengthTipTitle": "این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن عناوین متا با کیفیت، مراجعه کنید به ",
8
- "lengthTipDescription": "این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن توضیحات متا با کیفیت، مراجعه کنید به ",
9
- "good": "خوب",
10
- "tooLong": "خیلی طولانی",
11
- "tooShort": "خیلی کوتاه",
12
- "almostThere": "چیزیی باقی نمونده",
13
7
  "characterCount": "{{current}}/{{minLength}}-{{maxLength}} کلمه، ",
14
- "charactersToGo": "{{characters}} باقی مانده",
15
8
  "charactersLeftOver": "{{characters}} باقی مانده",
9
+ "charactersToGo": "{{characters}} باقی مانده",
16
10
  "charactersTooMany": "{{characters}} بیش از حد",
17
- "noImage": "بدون تصویر",
18
11
  "checksPassing": "{{current}}/{{max}} بررسی‌ها با موفقیت انجام شده است",
12
+ "good": "خوب",
13
+ "imageAutoGenerationTip": "این قابلیت، تصویر فعلی بارگذاری شده در مجموعه محتوای شما را بازیابی می‌کند",
14
+ "lengthTipDescription": "این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن توضیحات متا با کیفیت، مراجعه کنید به ",
15
+ "lengthTipTitle": "این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن عناوین متا با کیفیت، مراجعه کنید به ",
16
+ "noImage": "بدون تصویر",
19
17
  "preview": "پیش‌نمایش",
20
- "previewDescription": "فهرست نتایج ممکن است بر اساس محتوا و متناسب با کلمه کلیدی جستجو شده باشند"
18
+ "previewDescription": "فهرست نتایج ممکن است بر اساس محتوا و متناسب با کلمه کلیدی جستجو شده باشند",
19
+ "tooLong": "خیلی طولانی",
20
+ "tooShort": "خیلی کوتاه"
21
21
  }
22
22
  }
@@ -1,22 +1,22 @@
1
1
  {
2
- "$schema": "./translation-schema.json",
3
- "plugin-seo": {
4
- "autoGenerate": "Auto-générer",
5
- "imageAutoGenerationTip": "L'auto-génération récupérera l'image principale sélectionnée.",
6
- "bestPractices": "bonnes pratiques",
7
- "lengthTipTitle": "Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des titres meta de qualité, consultez les ",
8
- "lengthTipDescription": "Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des descriptions meta de qualité, consultez les ",
9
- "good": "Bien",
10
- "tooLong": "Trop long",
11
- "tooShort": "Trop court",
12
- "almostThere": "On y est presque",
13
- "characterCount": "{{current}}/{{minLength}}-{{maxLength}} caractères, ",
14
- "charactersToGo": "{{characters}} à ajouter",
15
- "charactersLeftOver": "{{characters}} restants",
16
- "charactersTooMany": "{{characters}} en trop",
17
- "noImage": "Pas d'image",
18
- "checksPassing": "{{current}}/{{max}} vérifications réussies",
19
- "preview": "Aperçu",
20
- "previewDescription": "Les résultats exacts peuvent varier en fonction du contenu et de la pertinence de la recherche."
21
- }
22
- }
2
+ "$schema": "./translation-schema.json",
3
+ "plugin-seo": {
4
+ "almostThere": "On y est presque",
5
+ "autoGenerate": "Auto-générer",
6
+ "bestPractices": "bonnes pratiques",
7
+ "characterCount": "{{current}}/{{minLength}}-{{maxLength}} caractères, ",
8
+ "charactersLeftOver": "{{characters}} restants",
9
+ "charactersToGo": "{{characters}} à ajouter",
10
+ "charactersTooMany": "{{characters}} en trop",
11
+ "checksPassing": "{{current}}/{{max}} vérifications réussies",
12
+ "good": "Bien",
13
+ "imageAutoGenerationTip": "L'auto-génération récupérera l'image principale sélectionnée.",
14
+ "lengthTipDescription": "Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des descriptions meta de qualité, consultez les ",
15
+ "lengthTipTitle": "Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des titres meta de qualité, consultez les ",
16
+ "noImage": "Pas d'image",
17
+ "preview": "Aperçu",
18
+ "previewDescription": "Les résultats exacts peuvent varier en fonction du contenu et de la pertinence de la recherche.",
19
+ "tooLong": "Trop long",
20
+ "tooShort": "Trop court"
21
+ }
22
+ }