UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

146 lines (145 loc) • 11.7 kB
"use strict"; 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