payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
146 lines (145 loc) • 11.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reacti18next = require("react-i18next");
const _uuid = require("uuid");
const _validations = require("../../../../../../fields/validations");
const _CopyToClipboard = /*#__PURE__*/ _interop_require_default(require("../../../../elements/CopyToClipboard"));
const _GenerateConfirmation = /*#__PURE__*/ _interop_require_default(require("../../../../elements/GenerateConfirmation"));
const _context = require("../../../../forms/Form/context");
const _Label = /*#__PURE__*/ _interop_require_default(require("../../../../forms/Label"));
const _useField = /*#__PURE__*/ _interop_require_default(require("../../../../forms/useField"));
const _shared = require("../../../../forms/field-types/shared");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
const path = 'apiKey';
const baseClass = 'api-key';
const APIKey = ({ readOnly })=>{
const [initialAPIKey, setInitialAPIKey] = (0, _react.useState)(null);
const [highlightedField, setHighlightedField] = (0, _react.useState)(false);
const { t } = (0, _reacti18next.useTranslation)();
const apiKey = (0, _context.useFormFields)(([fields])=>fields[path]);
const validate = (val)=>(0, _validations.text)(val, {
data: {},
maxLength: 48,
minLength: 24,
siblingData: {},
t
});
const apiKeyValue = apiKey?.value;
const APIKeyLabel = (0, _react.useMemo)(()=>/*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__label`
}, /*#__PURE__*/ _react.default.createElement("span", null, "API Key"), /*#__PURE__*/ _react.default.createElement(_CopyToClipboard.default, {
value: apiKeyValue
})), [
apiKeyValue
]);
const fieldType = (0, _useField.default)({
path: 'apiKey',
validate
});
const highlightField = ()=>{
if (highlightedField) {
setHighlightedField(false);
}
setTimeout(()=>{
setHighlightedField(true);
}, 1);
};
const { setValue, value } = fieldType;
(0, _react.useEffect)(()=>{
setInitialAPIKey((0, _uuid.v4)());
}, []);
(0, _react.useEffect)(()=>{
if (!apiKeyValue) {
setValue(initialAPIKey);
}
}, [
apiKeyValue,
setValue,
initialAPIKey
]);
(0, _react.useEffect)(()=>{
if (highlightedField) {
setTimeout(()=>{
setHighlightedField(false);
}, 10000);
}
}, [
highlightedField
]);
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("div", {
className: [
_shared.fieldBaseClass,
'api-key',
'read-only'
].filter(Boolean).join(' ')
}, /*#__PURE__*/ _react.default.createElement(_Label.default, {
htmlFor: path,
label: APIKeyLabel
}), /*#__PURE__*/ _react.default.createElement("input", {
className: highlightedField ? 'highlight' : undefined,
disabled: true,
id: "apiKey",
name: "apiKey",
type: "text",
value: value || ''
})), !readOnly && /*#__PURE__*/ _react.default.createElement(_GenerateConfirmation.default, {
highlightField: highlightField,
setKey: ()=>setValue((0, _uuid.v4)())
}));
};
const _default = APIKey;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvQXV0aC9BUElLZXkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJ1xuXG5pbXBvcnQgeyB0ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vZmllbGRzL3ZhbGlkYXRpb25zJ1xuaW1wb3J0IENvcHlUb0NsaXBib2FyZCBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9Db3B5VG9DbGlwYm9hcmQnXG5pbXBvcnQgR2VuZXJhdGVDb25maXJtYXRpb24gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvR2VuZXJhdGVDb25maXJtYXRpb24nXG5pbXBvcnQgeyB1c2VGb3JtRmllbGRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZm9ybXMvRm9ybS9jb250ZXh0J1xuaW1wb3J0IExhYmVsIGZyb20gJy4uLy4uLy4uLy4uL2Zvcm1zL0xhYmVsJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uLy4uLy4uL2Zvcm1zL3VzZUZpZWxkJ1xuaW1wb3J0IHsgZmllbGRCYXNlQ2xhc3MgfSBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9maWVsZC10eXBlcy9zaGFyZWQnXG5cbmNvbnN0IHBhdGggPSAnYXBpS2V5J1xuY29uc3QgYmFzZUNsYXNzID0gJ2FwaS1rZXknXG5cbmNvbnN0IEFQSUtleTogUmVhY3QuRkM8eyByZWFkT25seT86IGJvb2xlYW4gfT4gPSAoeyByZWFkT25seSB9KSA9PiB7XG4gIGNvbnN0IFtpbml0aWFsQVBJS2V5LCBzZXRJbml0aWFsQVBJS2V5XSA9IHVzZVN0YXRlKG51bGwpXG4gIGNvbnN0IFtoaWdobGlnaHRlZEZpZWxkLCBzZXRIaWdobGlnaHRlZEZpZWxkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBhcGlLZXkgPSB1c2VGb3JtRmllbGRzKChbZmllbGRzXSkgPT4gZmllbGRzW3BhdGhdKVxuICBjb25zdCB2YWxpZGF0ZSA9ICh2YWwpID0+XG4gICAgdGV4dCh2YWwsIHsgZGF0YToge30sIG1heExlbmd0aDogNDgsIG1pbkxlbmd0aDogMjQsIHNpYmxpbmdEYXRhOiB7fSwgdCB9KVxuXG4gIGNvbnN0IGFwaUtleVZhbHVlID0gYXBpS2V5Py52YWx1ZVxuXG4gIGNvbnN0IEFQSUtleUxhYmVsID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT5cbiAgICAgICAgPHNwYW4+QVBJIEtleTwvc3Bhbj5cbiAgICAgICAgPENvcHlUb0NsaXBib2FyZCB2YWx1ZT17YXBpS2V5VmFsdWUgYXMgc3RyaW5nfSAvPlxuICAgICAgPC9kaXY+XG4gICAgKSxcbiAgICBbYXBpS2V5VmFsdWVdLFxuICApXG5cbiAgY29uc3QgZmllbGRUeXBlID0gdXNlRmllbGQoe1xuICAgIHBhdGg6ICdhcGlLZXknLFxuICAgIHZhbGlkYXRlLFxuICB9KVxuXG4gIGNvbnN0IGhpZ2hsaWdodEZpZWxkID0gKCkgPT4ge1xuICAgIGlmIChoaWdobGlnaHRlZEZpZWxkKSB7XG4gICAgICBzZXRIaWdobGlnaHRlZEZpZWxkKGZhbHNlKVxuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldEhpZ2hsaWdodGVkRmllbGQodHJ1ZSlcbiAgICB9LCAxKVxuICB9XG5cbiAgY29uc3QgeyBzZXRWYWx1ZSwgdmFsdWUgfSA9IGZpZWxkVHlwZVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SW5pdGlhbEFQSUtleSh1dWlkdjQoKSlcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFwaUtleVZhbHVlKSB7XG4gICAgICBzZXRWYWx1ZShpbml0aWFsQVBJS2V5KVxuICAgIH1cbiAgfSwgW2FwaUtleVZhbHVlLCBzZXRWYWx1ZSwgaW5pdGlhbEFQSUtleV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaGlnaGxpZ2h0ZWRGaWVsZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldEhpZ2hsaWdodGVkRmllbGQoZmFsc2UpXG4gICAgICB9LCAxMDAwMClcbiAgICB9XG4gIH0sIFtoaWdobGlnaHRlZEZpZWxkXSlcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtbZmllbGRCYXNlQ2xhc3MsICdhcGkta2V5JywgJ3JlYWQtb25seSddLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9PlxuICAgICAgICA8TGFiZWwgaHRtbEZvcj17cGF0aH0gbGFiZWw9e0FQSUtleUxhYmVsfSAvPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9e2hpZ2hsaWdodGVkRmllbGQgPyAnaGlnaGxpZ2h0JyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBkaXNhYmxlZFxuICAgICAgICAgIGlkPVwiYXBpS2V5XCJcbiAgICAgICAgICBuYW1lPVwiYXBpS2V5XCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgdmFsdWU9eyh2YWx1ZSBhcyBzdHJpbmcpIHx8ICcnfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICB7IXJlYWRPbmx5ICYmIChcbiAgICAgICAgPEdlbmVyYXRlQ29uZmlybWF0aW9uIGhpZ2hsaWdodEZpZWxkPXtoaWdobGlnaHRGaWVsZH0gc2V0S2V5PXsoKSA9PiBzZXRWYWx1ZSh1dWlkdjQoKSl9IC8+XG4gICAgICApfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQVBJS2V5XG4iXSwibmFtZXMiOlsicGF0aCIsImJhc2VDbGFzcyIsIkFQSUtleSIsInJlYWRPbmx5IiwiaW5pdGlhbEFQSUtleSIsInNldEluaXRpYWxBUElLZXkiLCJ1c2VTdGF0ZSIsImhpZ2hsaWdodGVkRmllbGQiLCJzZXRIaWdobGlnaHRlZEZpZWxkIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiYXBpS2V5IiwidXNlRm9ybUZpZWxkcyIsImZpZWxkcyIsInZhbGlkYXRlIiwidmFsIiwidGV4dCIsImRhdGEiLCJtYXhMZW5ndGgiLCJtaW5MZW5ndGgiLCJzaWJsaW5nRGF0YSIsImFwaUtleVZhbHVlIiwidmFsdWUiLCJBUElLZXlMYWJlbCIsInVzZU1lbW8iLCJkaXYiLCJjbGFzc05hbWUiLCJzcGFuIiwiQ29weVRvQ2xpcGJvYXJkIiwiZmllbGRUeXBlIiwidXNlRmllbGQiLCJoaWdobGlnaHRGaWVsZCIsInNldFRpbWVvdXQiLCJzZXRWYWx1ZSIsInVzZUVmZmVjdCIsInV1aWR2NCIsIlJlYWN0IiwiRnJhZ21lbnQiLCJmaWVsZEJhc2VDbGFzcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiTGFiZWwiLCJodG1sRm9yIiwibGFiZWwiLCJpbnB1dCIsInVuZGVmaW5lZCIsImRpc2FibGVkIiwiaWQiLCJuYW1lIiwidHlwZSIsIkdlbmVyYXRlQ29uZmlybWF0aW9uIiwic2V0S2V5Il0sIm1hcHBpbmdzIjoiOzs7OytCQTBGQTs7O2VBQUE7OzsrREExRm9EOzhCQUNyQjtzQkFDRjs2QkFFUjt3RUFDTzs2RUFDSzt5QkFDSDs4REFDWjtpRUFDRzt3QkFDVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsTUFBTUEsT0FBTztBQUNiLE1BQU1DLFlBQVk7QUFFbEIsTUFBTUMsU0FBMkMsQ0FBQyxFQUFFQyxRQUFRLEVBQUU7SUFDNUQsTUFBTSxDQUFDQyxlQUFlQyxpQkFBaUIsR0FBR0MsSUFBQUEsZUFBUSxFQUFDO0lBQ25ELE1BQU0sQ0FBQ0Msa0JBQWtCQyxvQkFBb0IsR0FBR0YsSUFBQUEsZUFBUSxFQUFDO0lBQ3pELE1BQU0sRUFBRUcsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjO0lBRTVCLE1BQU1DLFNBQVNDLElBQUFBLHNCQUFhLEVBQUMsQ0FBQyxDQUFDQyxPQUFPLEdBQUtBLE1BQU0sQ0FBQ2IsS0FBSztJQUN2RCxNQUFNYyxXQUFXLENBQUNDLE1BQ2hCQyxJQUFBQSxpQkFBSSxFQUFDRCxLQUFLO1lBQUVFLE1BQU0sQ0FBQztZQUFHQyxXQUFXO1lBQUlDLFdBQVc7WUFBSUMsYUFBYSxDQUFDO1lBQUdYO1FBQUU7SUFFekUsTUFBTVksY0FBY1YsUUFBUVc7SUFFNUIsTUFBTUMsY0FBY0MsSUFBQUEsY0FBTyxFQUN6QixrQkFDRSw2QkFBQ0M7WUFBSUMsV0FBVyxDQUFDLEVBQUV6QixVQUFVLE9BQU8sQ0FBQzt5QkFDbkMsNkJBQUMwQixjQUFLLDBCQUNOLDZCQUFDQyx3QkFBZTtZQUFDTixPQUFPRDthQUc1QjtRQUFDQTtLQUFZO0lBR2YsTUFBTVEsWUFBWUMsSUFBQUEsaUJBQVEsRUFBQztRQUN6QjlCLE1BQU07UUFDTmM7SUFDRjtJQUVBLE1BQU1pQixpQkFBaUI7UUFDckIsSUFBSXhCLGtCQUFrQjtZQUNwQkMsb0JBQW9CO1FBQ3RCO1FBQ0F3QixXQUFXO1lBQ1R4QixvQkFBb0I7UUFDdEIsR0FBRztJQUNMO0lBRUEsTUFBTSxFQUFFeUIsUUFBUSxFQUFFWCxLQUFLLEVBQUUsR0FBR087SUFFNUJLLElBQUFBLGdCQUFTLEVBQUM7UUFDUjdCLGlCQUFpQjhCLElBQUFBLFFBQU07SUFDekIsR0FBRyxFQUFFO0lBRUxELElBQUFBLGdCQUFTLEVBQUM7UUFDUixJQUFJLENBQUNiLGFBQWE7WUFDaEJZLFNBQVM3QjtRQUNYO0lBQ0YsR0FBRztRQUFDaUI7UUFBYVk7UUFBVTdCO0tBQWM7SUFFekM4QixJQUFBQSxnQkFBUyxFQUFDO1FBQ1IsSUFBSTNCLGtCQUFrQjtZQUNwQnlCLFdBQVc7Z0JBQ1R4QixvQkFBb0I7WUFDdEIsR0FBRztRQUNMO0lBQ0YsR0FBRztRQUFDRDtLQUFpQjtJQUVyQixxQkFDRSw2QkFBQzZCLGNBQUssQ0FBQ0MsUUFBUSxzQkFDYiw2QkFBQ1o7UUFBSUMsV0FBVztZQUFDWSxzQkFBYztZQUFFO1lBQVc7U0FBWSxDQUFDQyxNQUFNLENBQUNDLFNBQVNDLElBQUksQ0FBQztxQkFDNUUsNkJBQUNDLGNBQUs7UUFBQ0MsU0FBUzNDO1FBQU00QyxPQUFPckI7c0JBQzdCLDZCQUFDc0I7UUFDQ25CLFdBQVduQixtQkFBbUIsY0FBY3VDO1FBQzVDQyxVQUFBQTtRQUNBQyxJQUFHO1FBQ0hDLE1BQUs7UUFDTEMsTUFBSztRQUNMNUIsT0FBTyxBQUFDQSxTQUFvQjtTQUcvQixDQUFDbkIsMEJBQ0EsNkJBQUNnRCw2QkFBb0I7UUFBQ3BCLGdCQUFnQkE7UUFBZ0JxQixRQUFRLElBQU1uQixTQUFTRSxJQUFBQSxRQUFNOztBQUkzRjtNQUVBLFdBQWVqQyJ9