@payloadcms/plugin-seo 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +120 -0
- package/dist/defaults.d.ts +10 -0
- package/dist/defaults.js +14 -0
- package/dist/defaults.js.map +1 -0
- package/dist/fields/MetaDescription.d.ts +12 -0
- package/dist/fields/MetaDescription.js +158 -0
- package/dist/fields/MetaDescription.js.map +1 -0
- package/dist/fields/MetaImage.d.ts +10 -0
- package/dist/fields/MetaImage.js +161 -0
- package/dist/fields/MetaImage.js.map +1 -0
- package/dist/fields/MetaTitle.d.ts +10 -0
- package/dist/fields/MetaTitle.js +159 -0
- package/dist/fields/MetaTitle.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +24 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/LengthIndicator.d.ts +6 -0
- package/dist/ui/LengthIndicator.js +127 -0
- package/dist/ui/LengthIndicator.js.map +1 -0
- package/dist/ui/Overview.d.ts +2 -0
- package/dist/ui/Overview.js +72 -0
- package/dist/ui/Overview.js.map +1 -0
- package/dist/ui/Pill.d.ts +6 -0
- package/dist/ui/Pill.js +25 -0
- package/dist/ui/Pill.js.map +1 -0
- package/dist/ui/Preview.d.ts +9 -0
- package/dist/ui/Preview.js +136 -0
- package/dist/ui/Preview.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
46
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
47
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
48
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
49
|
+
function step(op) {
|
|
50
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
51
|
+
while (_) try {
|
|
52
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
53
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
54
|
+
switch (op[0]) {
|
|
55
|
+
case 0: case 1: t = op; break;
|
|
56
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
57
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
58
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
59
|
+
default:
|
|
60
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
61
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
62
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
63
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
64
|
+
if (t[2]) _.ops.pop();
|
|
65
|
+
_.trys.pop(); continue;
|
|
66
|
+
}
|
|
67
|
+
op = body.call(thisArg, _);
|
|
68
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
69
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
73
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
74
|
+
};
|
|
75
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
76
|
+
exports.getMetaTitleField = exports.MetaTitle = void 0;
|
|
77
|
+
var react_1 = __importStar(require("react"));
|
|
78
|
+
var Input_1 = __importDefault(require("payload/dist/admin/components/forms/field-types/Text/Input"));
|
|
79
|
+
var forms_1 = require("payload/components/forms");
|
|
80
|
+
var LengthIndicator_1 = require("../ui/LengthIndicator");
|
|
81
|
+
var defaults_1 = require("../defaults");
|
|
82
|
+
var _a = defaults_1.defaults.title, minLength = _a.minLength, maxLength = _a.maxLength;
|
|
83
|
+
var MetaTitle = function (props) {
|
|
84
|
+
var _a = props || {}, label = _a.label, name = _a.name, path = _a.path, seoConfig = _a.seoConfig; // TODO: this typing is temporary until payload types are updated for custom field props
|
|
85
|
+
var field = (0, forms_1.useField)({
|
|
86
|
+
label: label,
|
|
87
|
+
name: name,
|
|
88
|
+
path: path
|
|
89
|
+
});
|
|
90
|
+
var fields = (0, forms_1.useWatchForm)().fields;
|
|
91
|
+
var value = field.value, setValue = field.setValue, showError = field.showError;
|
|
92
|
+
var regenerateTitle = (0, react_1.useCallback)(function () {
|
|
93
|
+
var generateTitle = seoConfig.generateTitle;
|
|
94
|
+
var getTitle = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
95
|
+
var generatedTitle;
|
|
96
|
+
return __generator(this, function (_a) {
|
|
97
|
+
switch (_a.label) {
|
|
98
|
+
case 0:
|
|
99
|
+
if (!(typeof generateTitle === 'function')) return [3 /*break*/, 2];
|
|
100
|
+
return [4 /*yield*/, generateTitle({ doc: __assign({}, fields) })];
|
|
101
|
+
case 1:
|
|
102
|
+
generatedTitle = _a.sent();
|
|
103
|
+
_a.label = 2;
|
|
104
|
+
case 2:
|
|
105
|
+
setValue(generatedTitle);
|
|
106
|
+
return [2 /*return*/];
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}); };
|
|
110
|
+
getTitle();
|
|
111
|
+
}, [
|
|
112
|
+
fields,
|
|
113
|
+
setValue,
|
|
114
|
+
seoConfig
|
|
115
|
+
]);
|
|
116
|
+
return (react_1.default.createElement("div", { style: {
|
|
117
|
+
marginBottom: '20px',
|
|
118
|
+
} },
|
|
119
|
+
react_1.default.createElement("div", { style: {
|
|
120
|
+
marginBottom: '5px',
|
|
121
|
+
position: 'relative',
|
|
122
|
+
} },
|
|
123
|
+
react_1.default.createElement("div", null,
|
|
124
|
+
label,
|
|
125
|
+
"\u00A0 \u2014 \u00A0",
|
|
126
|
+
react_1.default.createElement("button", { onClick: regenerateTitle, type: "button", style: {
|
|
127
|
+
padding: 0,
|
|
128
|
+
background: 'none',
|
|
129
|
+
border: 'none',
|
|
130
|
+
backgroundColor: 'transparent',
|
|
131
|
+
cursor: 'pointer',
|
|
132
|
+
textDecoration: 'underline',
|
|
133
|
+
} }, "Auto-generate")),
|
|
134
|
+
react_1.default.createElement("div", { style: {
|
|
135
|
+
color: '#9A9A9A',
|
|
136
|
+
} }, "This should be between ".concat(minLength, " and ").concat(maxLength, " characters. Auto-generation will format a title using the page title. For help in writing quality meta titles, see "),
|
|
137
|
+
react_1.default.createElement("a", { href: "https://developers.google.com/search/docs/advanced/appearance/title-link#page-titles", rel: "noopener noreferrer", target: "_blank", style: {
|
|
138
|
+
color: '-webkit-link',
|
|
139
|
+
textDecoration: 'none',
|
|
140
|
+
} }, "best practices"),
|
|
141
|
+
".")),
|
|
142
|
+
react_1.default.createElement("div", { style: {
|
|
143
|
+
position: 'relative',
|
|
144
|
+
marginBottom: '10px',
|
|
145
|
+
} },
|
|
146
|
+
react_1.default.createElement(Input_1.default, { path: name, name: name, onChange: setValue, value: value, showError: showError, style: {
|
|
147
|
+
marginBottom: 0
|
|
148
|
+
} })),
|
|
149
|
+
react_1.default.createElement("div", { style: {
|
|
150
|
+
display: 'flex',
|
|
151
|
+
alignItems: 'center',
|
|
152
|
+
width: '100%',
|
|
153
|
+
} },
|
|
154
|
+
react_1.default.createElement(LengthIndicator_1.LengthIndicator, { text: value, minLength: minLength, maxLength: maxLength }))));
|
|
155
|
+
};
|
|
156
|
+
exports.MetaTitle = MetaTitle;
|
|
157
|
+
var getMetaTitleField = function (props) { return (react_1.default.createElement(exports.MetaTitle, __assign({}, props))); };
|
|
158
|
+
exports.getMetaTitleField = getMetaTitleField;
|
|
159
|
+
//# sourceMappingURL=MetaTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetaTitle.js","sourceRoot":"","sources":["../../src/fields/MetaTitle.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
var MetaDescription_1 = require("./fields/MetaDescription");
|
|
24
|
+
var Overview_1 = require("./ui/Overview");
|
|
25
|
+
var MetaTitle_1 = require("./fields/MetaTitle");
|
|
26
|
+
var Preview_1 = require("./ui/Preview");
|
|
27
|
+
var MetaImage_1 = require("./fields/MetaImage");
|
|
28
|
+
var seo = function (seoConfig) { return function (config) {
|
|
29
|
+
var _a;
|
|
30
|
+
var seoFields = [
|
|
31
|
+
{
|
|
32
|
+
name: 'meta',
|
|
33
|
+
label: 'SEO',
|
|
34
|
+
type: 'group',
|
|
35
|
+
fields: __spreadArray(__spreadArray([
|
|
36
|
+
{
|
|
37
|
+
name: 'overview',
|
|
38
|
+
label: 'Overview',
|
|
39
|
+
type: 'ui',
|
|
40
|
+
admin: {
|
|
41
|
+
components: {
|
|
42
|
+
Field: Overview_1.Overview,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'title',
|
|
48
|
+
type: 'text',
|
|
49
|
+
admin: {
|
|
50
|
+
components: {
|
|
51
|
+
Field: function (props) { return (0, MetaTitle_1.getMetaTitleField)(__assign(__assign({}, props), { seoConfig: seoConfig })); },
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'description',
|
|
57
|
+
type: 'textarea',
|
|
58
|
+
admin: {
|
|
59
|
+
components: {
|
|
60
|
+
Field: function (props) { return (0, MetaDescription_1.getMetaDescriptionField)(__assign(__assign({}, props), { seoConfig: seoConfig })); },
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
}
|
|
64
|
+
], (seoConfig === null || seoConfig === void 0 ? void 0 : seoConfig.uploadsCollection) ? [{
|
|
65
|
+
name: 'image',
|
|
66
|
+
label: 'Meta Image',
|
|
67
|
+
type: 'upload',
|
|
68
|
+
relationTo: seoConfig === null || seoConfig === void 0 ? void 0 : seoConfig.uploadsCollection,
|
|
69
|
+
admin: {
|
|
70
|
+
description: 'Maximum upload file size: 12MB. Recommended file size for images is <500KB.',
|
|
71
|
+
components: {
|
|
72
|
+
Field: function (props) { return (0, MetaImage_1.getMetaImageField)(__assign(__assign({}, props), { seoConfig: seoConfig })); },
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
}] : [], true), [
|
|
76
|
+
{
|
|
77
|
+
name: 'preview',
|
|
78
|
+
label: 'Preview',
|
|
79
|
+
type: 'ui',
|
|
80
|
+
admin: {
|
|
81
|
+
components: {
|
|
82
|
+
Field: function (props) { return (0, Preview_1.getPreviewField)(__assign(__assign({}, props), { seoConfig: seoConfig })); },
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
], false)
|
|
87
|
+
}
|
|
88
|
+
];
|
|
89
|
+
return (__assign(__assign({}, config), { collections: ((_a = config.collections) === null || _a === void 0 ? void 0 : _a.map(function (collection) {
|
|
90
|
+
var _a;
|
|
91
|
+
var slug = collection.slug;
|
|
92
|
+
var isEnabled = (_a = seoConfig === null || seoConfig === void 0 ? void 0 : seoConfig.collections) === null || _a === void 0 ? void 0 : _a.includes(slug);
|
|
93
|
+
if (isEnabled) {
|
|
94
|
+
return (__assign(__assign({}, collection), { fields: __spreadArray(__spreadArray([], (collection === null || collection === void 0 ? void 0 : collection.fields) || [], true), seoFields, true) }));
|
|
95
|
+
}
|
|
96
|
+
return collection;
|
|
97
|
+
})) || [] }));
|
|
98
|
+
}; };
|
|
99
|
+
exports.default = seo;
|
|
100
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,4DAAmE;AACnE,0CAAyC;AACzC,gDAAuD;AACvD,wCAA+C;AAC/C,gDAAuD;AAIvD,IAAM,GAAG,GAAG,UAAC,SAAoB,IAAK,OAAA,UAAC,MAAc;;IACnD,IAAM,SAAS,GAAY;QACzB;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,OAAO;YACb,MAAM;gBACJ;oBACE,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV,KAAK,EAAE,mBAAQ;yBAChB;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV,KAAK,EAAE,UAAC,KAAK,IAAK,OAAA,IAAA,6BAAiB,wBAAM,KAAK,KAAE,SAAS,WAAA,IAAG,EAA1C,CAA0C;yBAC7D;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV,KAAK,EAAE,UAAC,KAAK,IAAK,OAAA,IAAA,yCAAuB,wBAAM,KAAK,KAAE,SAAS,WAAA,IAAG,EAAhD,CAAgD;yBACnE;qBACF;iBACF;eACE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,EAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB;oBACxC,KAAK,EAAE;wBACL,WAAW,EAAE,6EAA6E;wBAC1F,UAAU,EAAE;4BACV,KAAK,EAAE,UAAC,KAAK,IAAK,OAAA,IAAA,6BAAiB,wBAAM,KAAK,KAAE,SAAS,WAAA,IAAG,EAA1C,CAA0C;yBAC7D;qBACF;iBACO,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChB;oBACE,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV,KAAK,EAAE,UAAC,KAAK,IAAK,OAAA,IAAA,yBAAe,wBAAM,KAAK,KAAE,SAAS,WAAA,IAAG,EAAxC,CAAwC;yBAC3D;qBACF;iBACF;qBACF;SACF;KACF,CAAA;IAED,OAAO,uBACF,MAAM,KACT,WAAW,EAAE,CAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,GAAG,CAAC,UAAC,UAAU;;YACtC,IAAA,IAAI,GAAK,UAAU,KAAf,CAAgB;YAC5B,IAAM,SAAS,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEzD,IAAI,SAAS,EAAE;gBACb,OAAO,uBACF,UAAU,KACb,MAAM,kCACD,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,EAAE,SACxB,SAAS,WAEd,CAAA;aACH;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,KAAI,EAAE,IACR,CAAA;AACJ,CAAC,EA/EqC,CA+ErC,CAAC;AAEF,kBAAe,GAAG,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Field } from "payload/dist/fields/config/types";
|
|
2
|
+
export declare type SEOConfig = {
|
|
3
|
+
collections?: string[];
|
|
4
|
+
uploadsCollection?: string;
|
|
5
|
+
fields?: Partial<Field>[];
|
|
6
|
+
generateTitle?: (args: {
|
|
7
|
+
doc: any;
|
|
8
|
+
}) => string | Promise<string>;
|
|
9
|
+
generateDescription?: (args: {
|
|
10
|
+
doc: any;
|
|
11
|
+
}) => string | Promise<string>;
|
|
12
|
+
generateImage?: (args: {
|
|
13
|
+
doc: any;
|
|
14
|
+
}) => string | Promise<string>;
|
|
15
|
+
generateURL?: (args: {
|
|
16
|
+
doc: any;
|
|
17
|
+
}) => string | Promise<string>;
|
|
18
|
+
};
|
|
19
|
+
export declare type Meta = {
|
|
20
|
+
title?: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
keywords?: string;
|
|
23
|
+
image?: any;
|
|
24
|
+
};
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.LengthIndicator = void 0;
|
|
27
|
+
/* eslint-disable react/require-default-props */
|
|
28
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
29
|
+
/* eslint-disable no-use-before-define */
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
31
|
+
var Pill_1 = require("./Pill");
|
|
32
|
+
var LengthIndicator = function (props) {
|
|
33
|
+
var text = props.text, _a = props.minLength, minLength = _a === void 0 ? 0 : _a, _b = props.maxLength, maxLength = _b === void 0 ? 0 : _b;
|
|
34
|
+
var _c = (0, react_1.useState)({
|
|
35
|
+
color: '',
|
|
36
|
+
backgroundColor: '',
|
|
37
|
+
}), labelStyle = _c[0], setLabelStyle = _c[1];
|
|
38
|
+
var _d = (0, react_1.useState)(''), label = _d[0], setLabel = _d[1];
|
|
39
|
+
var _e = (0, react_1.useState)(0), barWidth = _e[0], setBarWidth = _e[1];
|
|
40
|
+
(0, react_1.useEffect)(function () {
|
|
41
|
+
var textLength = (text === null || text === void 0 ? void 0 : text.length) || 0;
|
|
42
|
+
if (textLength === 0) {
|
|
43
|
+
setLabel('Missing');
|
|
44
|
+
setLabelStyle({
|
|
45
|
+
backgroundColor: 'red',
|
|
46
|
+
color: 'white',
|
|
47
|
+
});
|
|
48
|
+
setBarWidth(0);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
var progress = (textLength - minLength) / (maxLength - minLength);
|
|
52
|
+
if (progress < 0) {
|
|
53
|
+
var ratioUntilMin = textLength / minLength;
|
|
54
|
+
if (ratioUntilMin > 0.9) {
|
|
55
|
+
setLabel('Almost there');
|
|
56
|
+
setLabelStyle({
|
|
57
|
+
backgroundColor: 'orange',
|
|
58
|
+
color: 'white',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
setLabel('Too short');
|
|
63
|
+
setLabelStyle({
|
|
64
|
+
backgroundColor: 'orangered',
|
|
65
|
+
color: 'white',
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
setBarWidth(ratioUntilMin);
|
|
69
|
+
}
|
|
70
|
+
if (progress >= 0 && progress <= 1) {
|
|
71
|
+
setLabel('Good');
|
|
72
|
+
setLabelStyle({
|
|
73
|
+
backgroundColor: 'green',
|
|
74
|
+
color: 'white',
|
|
75
|
+
});
|
|
76
|
+
setBarWidth(progress);
|
|
77
|
+
}
|
|
78
|
+
if (progress > 1) {
|
|
79
|
+
setLabel('Too long');
|
|
80
|
+
setLabelStyle({
|
|
81
|
+
backgroundColor: 'red',
|
|
82
|
+
color: 'white',
|
|
83
|
+
});
|
|
84
|
+
setBarWidth(1);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}, [
|
|
88
|
+
minLength,
|
|
89
|
+
maxLength,
|
|
90
|
+
text,
|
|
91
|
+
]);
|
|
92
|
+
var textLength = (text === null || text === void 0 ? void 0 : text.length) || 0;
|
|
93
|
+
var charsUntilMax = maxLength - textLength;
|
|
94
|
+
var charsUntilMin = minLength - textLength;
|
|
95
|
+
return (react_1.default.createElement("div", { style: {
|
|
96
|
+
width: '100%',
|
|
97
|
+
display: 'flex',
|
|
98
|
+
alignItems: 'center',
|
|
99
|
+
} },
|
|
100
|
+
react_1.default.createElement(Pill_1.Pill, { label: label, color: labelStyle.color, backgroundColor: labelStyle.backgroundColor }),
|
|
101
|
+
react_1.default.createElement("div", { style: {
|
|
102
|
+
marginRight: '10px',
|
|
103
|
+
whiteSpace: 'nowrap',
|
|
104
|
+
flexShrink: 0,
|
|
105
|
+
lineHeight: 1
|
|
106
|
+
} },
|
|
107
|
+
react_1.default.createElement("small", null, "".concat((text === null || text === void 0 ? void 0 : text.length) || 0, "/").concat(minLength, "-").concat(maxLength, " chars, "),
|
|
108
|
+
(textLength === 0 || charsUntilMin > 0) && (react_1.default.createElement(react_1.Fragment, null, "".concat(charsUntilMin, " to go"))),
|
|
109
|
+
charsUntilMin <= 0 && charsUntilMax >= 0 && (react_1.default.createElement(react_1.Fragment, null, "".concat(charsUntilMax, " left over"))),
|
|
110
|
+
charsUntilMax < 0 && (react_1.default.createElement(react_1.Fragment, null, "".concat(charsUntilMax * -1, " too many"))))),
|
|
111
|
+
react_1.default.createElement("div", { style: {
|
|
112
|
+
height: '2px',
|
|
113
|
+
width: '100%',
|
|
114
|
+
backgroundColor: '#F3F3F3',
|
|
115
|
+
position: 'relative',
|
|
116
|
+
} },
|
|
117
|
+
react_1.default.createElement("div", { style: {
|
|
118
|
+
height: '100%',
|
|
119
|
+
width: "".concat(barWidth * 100, "%"),
|
|
120
|
+
backgroundColor: labelStyle.backgroundColor,
|
|
121
|
+
position: 'absolute',
|
|
122
|
+
left: 0,
|
|
123
|
+
top: 0,
|
|
124
|
+
} }))));
|
|
125
|
+
};
|
|
126
|
+
exports.LengthIndicator = LengthIndicator;
|
|
127
|
+
//# sourceMappingURL=LengthIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LengthIndicator.js","sourceRoot":"","sources":["../../src/ui/LengthIndicator.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,sDAAsD;AACtD,yCAAyC;AACzC,6CAA6D;AAC7D,+BAA8B;AAEvB,IAAM,eAAe,GAIvB,UAAC,KAAK;IAEP,IAAA,IAAI,GAGF,KAAK,KAHH,EACJ,KAEE,KAAK,UAFM,EAAb,SAAS,mBAAG,CAAC,KAAA,EACb,KACE,KAAK,UADM,EAAb,SAAS,mBAAG,CAAC,KAAA,CACL;IAEJ,IAAA,KAA8B,IAAA,gBAAQ,EAAC;QAC3C,KAAK,EAAE,EAAE;QACT,eAAe,EAAE,EAAE;KACpB,CAAC,EAHK,UAAU,QAAA,EAAE,aAAa,QAG9B,CAAC;IAEG,IAAA,KAAoB,IAAA,gBAAQ,EAAC,EAAE,CAAC,EAA/B,KAAK,QAAA,EAAE,QAAQ,QAAgB,CAAC;IACjC,IAAA,KAA0B,IAAA,gBAAQ,EAAS,CAAC,CAAC,EAA5C,QAAQ,QAAA,EAAE,WAAW,QAAuB,CAAC;IAEpD,IAAA,iBAAS,EAAC;QACR,IAAM,UAAU,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,CAAC,CAAC;QAErC,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,aAAa,CAAC;gBACZ,eAAe,EAAE,KAAK;gBACtB,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,WAAW,CAAC,CAAC,CAAC,CAAC;SAChB;aAAM;YACL,IAAM,QAAQ,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;YAEpE,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,IAAM,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;gBAE7C,IAAI,aAAa,GAAG,GAAG,EAAE;oBACvB,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACzB,aAAa,CAAC;wBACZ,eAAe,EAAE,QAAQ;wBACzB,KAAK,EAAE,OAAO;qBACf,CAAC,CAAC;iBACJ;qBAAM;oBACL,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACtB,aAAa,CAAC;wBACZ,eAAe,EAAE,WAAW;wBAC5B,KAAK,EAAE,OAAO;qBACf,CAAC,CAAC;iBACJ;gBAED,WAAW,CAAC,aAAa,CAAC,CAAC;aAC5B;YAED,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;gBAClC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjB,aAAa,CAAC;oBACZ,eAAe,EAAE,OAAO;oBACxB,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,WAAW,CAAC,QAAQ,CAAC,CAAC;aACvB;YAED,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACrB,aAAa,CAAC;oBACZ,eAAe,EAAE,KAAK;oBACtB,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,WAAW,CAAC,CAAC,CAAC,CAAC;aAChB;SACF;IACH,CAAC,EAAE;QACD,SAAS;QACT,SAAS;QACT,IAAI;KACL,CAAC,CAAC;IAEH,IAAM,UAAU,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,CAAC,CAAC;IAErC,IAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;IAC7C,IAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;IAE7C,OAAO,CACL,uCACE,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;SACrB;QAED,8BAAC,WAAI,IACH,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,eAAe,EAAE,UAAU,CAAC,eAAe,GAC3C;QACF,uCACE,KAAK,EAAE;gBACL,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;aACd;YAED,6CACG,UAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,CAAC,cAAI,SAAS,cAAI,SAAS,aAAU;gBACxD,CAAC,UAAU,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,IAAI,CAC1C,8BAAC,gBAAQ,QACN,UAAG,aAAa,WAAQ,CAChB,CACZ;gBACA,aAAa,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,CAC3C,8BAAC,gBAAQ,QACN,UAAG,aAAa,eAAY,CACpB,CACZ;gBACA,aAAa,GAAG,CAAC,IAAI,CACpB,8BAAC,gBAAQ,QACN,UAAG,aAAa,GAAG,CAAC,CAAC,cAAW,CACxB,CACZ,CACK,CACJ;QACN,uCACE,KAAK,EAAE;gBACL,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,MAAM;gBACb,eAAe,EAAE,SAAS;gBAC1B,QAAQ,EAAE,UAAU;aACrB;YAED,uCACE,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,UAAG,QAAQ,GAAG,GAAG,MAAG;oBAC3B,eAAe,EAAE,UAAU,CAAC,eAAe;oBAC3C,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,CAAC;oBACP,GAAG,EAAE,CAAC;iBACP,GACD,CACE,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AA9IW,QAAA,eAAe,mBA8I1B"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Overview = void 0;
|
|
27
|
+
// import { Button } from 'payload/components';
|
|
28
|
+
var forms_1 = require("payload/components/forms");
|
|
29
|
+
var react_1 = __importStar(require("react"));
|
|
30
|
+
var defaults_1 = require("../defaults");
|
|
31
|
+
var _a = defaults_1.defaults.title, minTitle = _a.minLength, maxTitle = _a.maxLength, _b = defaults_1.defaults.description, minDesc = _b.minLength, maxDesc = _b.maxLength;
|
|
32
|
+
var Overview = function () {
|
|
33
|
+
var _a = (0, forms_1.useForm)(), dispatchFields = _a.dispatchFields, getFields = _a.getFields;
|
|
34
|
+
var _b = (0, forms_1.useWatchForm)().fields, _c = _b["meta.title"], _d = _c === void 0 ? {} : _c, metaTitle = _d.value, _e = _b["meta.description"], _f = _e === void 0 ? {} : _e, metaDesc = _f.value, _g = _b["meta.image"], _h = _g === void 0 ? {} : _g, metaImage = _h.value;
|
|
35
|
+
var _j = (0, react_1.useState)(), titleIsValid = _j[0], setTitleIsValid = _j[1];
|
|
36
|
+
var _k = (0, react_1.useState)(), descIsValid = _k[0], setDescIsValid = _k[1];
|
|
37
|
+
var _l = (0, react_1.useState)(), imageIsValid = _l[0], setImageIsValid = _l[1];
|
|
38
|
+
var resetAll = (0, react_1.useCallback)(function () {
|
|
39
|
+
var fields = getFields();
|
|
40
|
+
var fieldsWithoutMeta = fields;
|
|
41
|
+
fieldsWithoutMeta['meta.title'].value = '';
|
|
42
|
+
fieldsWithoutMeta['meta.description'].value = '';
|
|
43
|
+
fieldsWithoutMeta['meta.image'].value = '';
|
|
44
|
+
dispatchFields(fieldsWithoutMeta);
|
|
45
|
+
}, [
|
|
46
|
+
dispatchFields,
|
|
47
|
+
getFields,
|
|
48
|
+
]);
|
|
49
|
+
(0, react_1.useEffect)(function () {
|
|
50
|
+
if (typeof metaTitle === 'string')
|
|
51
|
+
setTitleIsValid(metaTitle.length >= minTitle && metaTitle.length <= maxTitle);
|
|
52
|
+
if (typeof metaDesc === 'string')
|
|
53
|
+
setDescIsValid(metaDesc.length >= minDesc && metaDesc.length <= maxDesc);
|
|
54
|
+
setImageIsValid(Boolean(metaImage));
|
|
55
|
+
}, [
|
|
56
|
+
metaTitle,
|
|
57
|
+
metaDesc,
|
|
58
|
+
metaImage,
|
|
59
|
+
]);
|
|
60
|
+
var testResults = [
|
|
61
|
+
titleIsValid,
|
|
62
|
+
descIsValid,
|
|
63
|
+
imageIsValid,
|
|
64
|
+
];
|
|
65
|
+
var numberOfPasses = testResults.filter(Boolean).length;
|
|
66
|
+
return (react_1.default.createElement("div", { style: {
|
|
67
|
+
marginBottom: '20px',
|
|
68
|
+
} },
|
|
69
|
+
react_1.default.createElement("div", null, "".concat(numberOfPasses, "/").concat(testResults.length, " checks are passing"))));
|
|
70
|
+
};
|
|
71
|
+
exports.Overview = Overview;
|
|
72
|
+
//# sourceMappingURL=Overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Overview.js","sourceRoot":"","sources":["../../src/ui/Overview.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA+C;AAC/C,kDAAiE;AAEjE,6CAAgE;AAChE,wCAAuC;AAGrC,IAAA,KAQE,mBAAQ,MALT,EAFY,QAAQ,eAAA,EACR,QAAQ,eAAA,EAErB,KAIE,mBAAQ,YADT,EAFY,OAAO,eAAA,EACP,OAAO,eACnB,CACU;AAEN,IAAM,QAAQ,GAAa;IAC1B,IAAA,KAGF,IAAA,eAAO,GAAE,EAFX,cAAc,oBAAA,EACd,SAAS,eACE,CAAC;IAGZ,IAAA,KAWE,IAAA,oBAAY,GAAE,OADf,EATC,qBAEe,EAFf,qBAEI,EAAW,KAAA,EADN,SAAS,WAAA,EAElB,2BAEe,EAFf,qBAEI,EAAW,KAAA,EADN,QAAQ,WAAA,EAEjB,qBAEe,EAFf,qBAEI,EAAW,KAAA,EADN,SAAS,WAEnB,CACgB;IAEb,IAAA,KAAkC,IAAA,gBAAQ,GAAuB,EAAhE,YAAY,QAAA,EAAE,eAAe,QAAmC,CAAC;IAClE,IAAA,KAAgC,IAAA,gBAAQ,GAAuB,EAA9D,WAAW,QAAA,EAAE,cAAc,QAAmC,CAAC;IAChE,IAAA,KAAkC,IAAA,gBAAQ,GAAuB,EAAhE,YAAY,QAAA,EAAE,eAAe,QAAmC,CAAC;IAExE,IAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC;QAC3B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAM,iBAAiB,GAAG,MAAM,CAAC;QACjC,iBAAiB,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC3C,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACjD,iBAAiB,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC3C,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC,EAAE;QACD,cAAc;QACd,SAAS;KACV,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC;QACR,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,eAAe,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,IAAI,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;QACjH,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;QAC3G,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,CAAC,EAAE;QACD,SAAS;QACT,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IAEH,IAAM,WAAW,GAAG;QAClB,YAAY;QACZ,WAAW;QACX,YAAY;KACb,CAAC;IAEF,IAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAE1D,OAAO,CACL,uCACE,KAAK,EAAE;YACL,YAAY,EAAE,MAAM;SACrB;QAED,2CACG,UAAG,cAAc,cAAI,WAAW,CAAC,MAAM,wBAAqB,CACzD,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAjEW,QAAA,QAAQ,YAiEnB"}
|
package/dist/ui/Pill.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Pill = void 0;
|
|
7
|
+
/* eslint-disable no-use-before-define */
|
|
8
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
9
|
+
var react_1 = __importDefault(require("react"));
|
|
10
|
+
var Pill = function (props) {
|
|
11
|
+
var backgroundColor = props.backgroundColor, color = props.color, label = props.label;
|
|
12
|
+
return (react_1.default.createElement("div", { style: {
|
|
13
|
+
padding: '4px 6px',
|
|
14
|
+
backgroundColor: backgroundColor,
|
|
15
|
+
color: color,
|
|
16
|
+
borderRadius: '2px',
|
|
17
|
+
marginRight: '10px',
|
|
18
|
+
whiteSpace: 'nowrap',
|
|
19
|
+
flexShrink: 0,
|
|
20
|
+
lineHeight: 1,
|
|
21
|
+
} },
|
|
22
|
+
react_1.default.createElement("small", null, label)));
|
|
23
|
+
};
|
|
24
|
+
exports.Pill = Pill;
|
|
25
|
+
//# sourceMappingURL=Pill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pill.js","sourceRoot":"","sources":["../../src/ui/Pill.tsx"],"names":[],"mappings":";;;;;;AAAA,yCAAyC;AACzC,sDAAsD;AACtD,gDAA0B;AAEnB,IAAM,IAAI,GAIZ,UAAC,KAAK;IAEP,IAAA,eAAe,GAGb,KAAK,gBAHQ,EACf,KAAK,GAEH,KAAK,MAFF,EACL,KAAK,GACH,KAAK,MADF,CACG;IAEV,OAAO,CACL,uCACE,KAAK,EAAE;YACL,OAAO,EAAE,SAAS;YAClB,eAAe,iBAAA;YACf,KAAK,OAAA;YACL,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;SACd;QAED,6CACG,KAAK,CACA,CACJ,CACP,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,IAAI,QA6Bf"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Field } from 'payload/dist/admin/components/forms/Form/types';
|
|
3
|
+
import { SEOConfig } from '../types';
|
|
4
|
+
declare type PreviewFieldWithProps = Field & {
|
|
5
|
+
seoConfig: SEOConfig;
|
|
6
|
+
};
|
|
7
|
+
export declare const Preview: React.FC<PreviewFieldWithProps | {}>;
|
|
8
|
+
export declare const getPreviewField: (props: any) => JSX.Element;
|
|
9
|
+
export {};
|