matcha-keystone-utils
Version:
Useful features for Keystone 6: validators, fields, componentBlocks...
23 lines (22 loc) • 807 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.url = void 0;
const fields_1 = require("@keystone-6/core/fields");
// https://stackoverflow.com/a/3809435
const urlRegex = /^$|^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;
const url = (urlFieldConfig) => (0, fields_1.text)({
...urlFieldConfig,
ui: {
...urlFieldConfig?.ui,
displayMode: "input",
views: urlFieldConfig?.ui?.views ||
(process.env.IS_LIBRARY_DEV
? "./src/url/view"
: "matcha-keystone-utils/dist/url/view"),
},
validation: {
...urlFieldConfig?.validation,
match: { regex: urlRegex, ...urlFieldConfig?.validation?.match },
},
});
exports.url = url;