@webiny/app-record-locking 5.42.1-beta.0 → 5.42.1-beta.2
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/components/HeadlessCmsContentEntry/ContentEntryLocker.d.ts +2 -2
- package/components/HeadlessCmsContentEntry/ContentEntryLocker.js +15 -11
- package/components/HeadlessCmsContentEntry/ContentEntryLocker.js.map +1 -1
- package/components/LockedRecord/LockedRecordForceUnlock.js +5 -5
- package/components/LockedRecord/LockedRecordForceUnlock.js.map +1 -1
- package/components/assets/lock.svg +1 -1
- package/components/permissionRenderer/RecordLockingPermissions.d.ts +7 -0
- package/components/permissionRenderer/RecordLockingPermissions.js +85 -0
- package/components/permissionRenderer/RecordLockingPermissions.js.map +1 -0
- package/components/permissionRenderer/index.d.ts +2 -0
- package/components/permissionRenderer/index.js +25 -0
- package/components/permissionRenderer/index.js.map +1 -0
- package/hooks/usePermission.d.ts +1 -1
- package/hooks/usePermission.js +9 -4
- package/hooks/usePermission.js.map +1 -1
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/package.json +17 -15
- package/types.d.ts +4 -0
- package/types.js.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { IRecordLockingIdentity, IRecordLockingLockRecord } from "../../types";
|
|
3
|
-
import { IncomingGenericData } from "@webiny/app-websockets";
|
|
2
|
+
import type { IRecordLockingIdentity, IRecordLockingLockRecord } from "../../types";
|
|
3
|
+
import type { IncomingGenericData } from "@webiny/app-websockets";
|
|
4
4
|
import { CmsContentEntry, CmsModel } from "@webiny/app-headless-cms/types";
|
|
5
5
|
export interface IContentEntryLockerProps {
|
|
6
6
|
entry: CmsContentEntry;
|
|
@@ -24,7 +24,7 @@ var Bold = /*#__PURE__*/(0, _base.default)("span", process.env.NODE_ENV === "pro
|
|
|
24
24
|
} : {
|
|
25
25
|
name: "16ceglb",
|
|
26
26
|
styles: "font-weight:600",
|
|
27
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
27
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbnRlbnRFbnRyeUxvY2tlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY3dCIiwiZmlsZSI6IkNvbnRlbnRFbnRyeUxvY2tlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRMb2NraW5nIH0gZnJvbSBcIn4vaG9va3NcIjtcbmltcG9ydCB0eXBlIHtcbiAgICBJSXNSZWNvcmRMb2NrZWRQYXJhbXMsXG4gICAgSVJlY29yZExvY2tpbmdJZGVudGl0eSxcbiAgICBJUmVjb3JkTG9ja2luZ0xvY2tSZWNvcmRcbn0gZnJvbSBcIn4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgSW5jb21pbmdHZW5lcmljRGF0YSB9IGZyb20gXCJAd2ViaW55L2FwcC13ZWJzb2NrZXRzXCI7XG5pbXBvcnQgeyB1c2VXZWJzb2NrZXRzIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLXdlYnNvY2tldHNcIjtcbmltcG9ydCB7IHBhcnNlSWRlbnRpZmllciB9IGZyb20gXCJAd2ViaW55L3V0aWxzXCI7XG5pbXBvcnQgeyB1c2VEaWFsb2dzIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IENtc0NvbnRlbnRFbnRyeSwgQ21zTW9kZWwgfSBmcm9tIFwiQHdlYmlueS9hcHAtaGVhZGxlc3MtY21zL3R5cGVzXCI7XG5cbmNvbnN0IEJvbGQgPSBzdHlsZWQuc3BhbmBcbiAgICBmb250LXdlaWdodDogNjAwO1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVudEVudHJ5TG9ja2VyUHJvcHMge1xuICAgIGVudHJ5OiBDbXNDb250ZW50RW50cnk7XG4gICAgbW9kZWw6IENtc01vZGVsO1xuICAgIG9uRW50cnlVbmxvY2tlZDogKCkgPT4gdm9pZDtcbiAgICBvbkRpc2FibGVQcm9tcHQ6IChmbGFnOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtpY2tPdXRXZWJzb2NrZXRzTWVzc2FnZSBleHRlbmRzIEluY29taW5nR2VuZXJpY0RhdGEge1xuICAgIGRhdGE6IHtcbiAgICAgICAgcmVjb3JkOiBJUmVjb3JkTG9ja2luZ0xvY2tSZWNvcmQ7XG4gICAgICAgIHVzZXI6IElSZWNvcmRMb2NraW5nSWRlbnRpdHk7XG4gICAgfTtcbn1cbmludGVyZmFjZSBJRm9yY2VVbmxvY2tlZFByb3BzIHtcbiAgICB1c2VyOiBJUmVjb3JkTG9ja2luZ0lkZW50aXR5O1xufVxuY29uc3QgRm9yY2VVbmxvY2tlZCA9ICh7IHVzZXIgfTogSUZvcmNlVW5sb2NrZWRQcm9wcykgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICBUaGUgZW50cnkgeW91IHdlcmUgZWRpdGluZyB3YXMgZm9yY2VmdWxseSB1bmxvY2tlZCBieXtcIiBcIn1cbiAgICAgICAgICAgIDxCb2xkPnt1c2VyLmRpc3BsYXlOYW1lIHx8IFwiVW5rbm93biB1c2VyXCJ9PC9Cb2xkPi4gVW5mb3J0dW5hdGVseSwgdGhpcyBtZWFucyB5b3UgbG9zdFxuICAgICAgICAgICAgdGhlIHVuc2F2ZWQgY2hhbmdlcy5cbiAgICAgICAgPC8+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBDb250ZW50RW50cnlMb2NrZXIgPSAoe1xuICAgIG9uRW50cnlVbmxvY2tlZCxcbiAgICBvbkRpc2FibGVQcm9tcHQsXG4gICAgZW50cnksXG4gICAgbW9kZWwsXG4gICAgY2hpbGRyZW5cbn06IElDb250ZW50RW50cnlMb2NrZXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlRW50cnlMb2NrLCB1bmxvY2tFbnRyeSwgZmV0Y2hMb2NrZWRFbnRyeUxvY2tSZWNvcmQsIHJlbW92ZUVudHJ5TG9jayB9ID1cbiAgICAgICAgdXNlUmVjb3JkTG9ja2luZygpO1xuICAgIGNvbnN0IHdlYnNvY2tldHMgPSB1c2VXZWJzb2NrZXRzKCk7XG4gICAgY29uc3QgeyBzaG93RGlhbG9nIH0gPSB1c2VEaWFsb2dzKCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVudHJ5LmlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBpZDogZW50cnlJZCB9ID0gcGFyc2VJZGVudGlmaWVyKGVudHJ5LmlkKTtcblxuICAgICAgICBjb25zdCByZW1vdmVFbnRyeUxvY2tDYiA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZDogSUlzUmVjb3JkTG9ja2VkUGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIGlkOiBlbnRyeUlkLFxuICAgICAgICAgICAgICAgICRsb2NraW5nVHlwZTogbW9kZWwubW9kZWxJZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlbW92ZUVudHJ5TG9jayhyZWNvcmQpO1xuICAgICAgICAgICAgYXdhaXQgdW5sb2NrRW50cnkocmVjb3JkKTtcbiAgICAgICAgfTtcblxuICAgICAgICBsZXQgb25NZXNzYWdlU3ViID0gd2Vic29ja2V0cy5vbk1lc3NhZ2U8SUtpY2tPdXRXZWJzb2NrZXRzTWVzc2FnZT4oXG4gICAgICAgICAgICBgcmVjb3JkTG9ja2luZy5lbnRyeS5raWNrT3V0LiR7ZW50cnlJZH1gLFxuICAgICAgICAgICAgYXN5bmMgaW5jb21pbmcgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdXNlciB9ID0gaW5jb21pbmcuZGF0YTtcbiAgICAgICAgICAgICAgICBvbkRpc2FibGVQcm9tcHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgcmVtb3ZlRW50cnlMb2NrQ2IoKTtcbiAgICAgICAgICAgICAgICBzaG93RGlhbG9nKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwiRW50cnkgd2FzIGZvcmNlZnVsbHkgdW5sb2NrZWQhXCIsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IDxGb3JjZVVubG9ja2VkIHVzZXI9e3VzZXJ9IC8+LFxuICAgICAgICAgICAgICAgICAgICBhY2NlcHRMYWJlbDogXCJPa1wiLFxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbExhYmVsOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBvbkVudHJ5VW5sb2NrZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgb25NZXNzYWdlU3ViLm9mZigpO1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBMZXRzIG51bGwgc3Vic2NyaXB0aW9ucywganVzdCBpbiBjYXNlIGl0Li4uXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgIG9uTWVzc2FnZVN1YiA9IG51bGw7XG4gICAgICAgIH07XG4gICAgfSwgW2VudHJ5LmlkLCBvbkVudHJ5VW5sb2NrZWQsIG1vZGVsLm1vZGVsSWRdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghZW50cnkuaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlY29yZDogSUlzUmVjb3JkTG9ja2VkUGFyYW1zID0ge1xuICAgICAgICAgICAgaWQ6IGVudHJ5LmlkLFxuICAgICAgICAgICAgJGxvY2tpbmdUeXBlOiBtb2RlbC5tb2RlbElkXG4gICAgICAgIH07XG4gICAgICAgIHVwZGF0ZUVudHJ5TG9jayhyZWNvcmQpO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZldGNoTG9ja2VkRW50cnlMb2NrUmVjb3JkKHJlY29yZCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlbW92ZUVudHJ5TG9jayhyZWNvcmQpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHVubG9ja0VudHJ5KHJlY29yZCk7XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICB9O1xuICAgIH0sIFtlbnRyeS5pZF0pO1xuXG4gICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcbn07XG4iXX0= */",
|
|
28
28
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
29
29
|
});
|
|
30
30
|
var ForceUnlocked = function ForceUnlocked(_ref) {
|
|
@@ -42,26 +42,27 @@ var ContentEntryLocker = exports.ContentEntryLocker = function ContentEntryLocke
|
|
|
42
42
|
unlockEntry = _useRecordLocking.unlockEntry,
|
|
43
43
|
fetchLockedEntryLockRecord = _useRecordLocking.fetchLockedEntryLockRecord,
|
|
44
44
|
removeEntryLock = _useRecordLocking.removeEntryLock;
|
|
45
|
-
var subscription = (0, _react.useRef)();
|
|
46
45
|
var websockets = (0, _appWebsockets.useWebsockets)();
|
|
47
46
|
var _useDialogs = (0, _appAdmin.useDialogs)(),
|
|
48
47
|
showDialog = _useDialogs.showDialog;
|
|
49
48
|
(0, _react.useEffect)(function () {
|
|
50
49
|
if (!entry.id) {
|
|
51
50
|
return;
|
|
52
|
-
} else if (subscription.current) {
|
|
53
|
-
subscription.current.off();
|
|
54
51
|
}
|
|
55
52
|
var _parseIdentifier = (0, _utils.parseIdentifier)(entry.id),
|
|
56
53
|
entryId = _parseIdentifier.id;
|
|
57
|
-
|
|
58
|
-
var user = incoming.data.user;
|
|
54
|
+
var removeEntryLockCb = async function removeEntryLockCb() {
|
|
59
55
|
var record = {
|
|
60
56
|
id: entryId,
|
|
61
57
|
$lockingType: model.modelId
|
|
62
58
|
};
|
|
63
59
|
removeEntryLock(record);
|
|
60
|
+
await unlockEntry(record);
|
|
61
|
+
};
|
|
62
|
+
var onMessageSub = websockets.onMessage("recordLocking.entry.kickOut.".concat(entryId), async function (incoming) {
|
|
63
|
+
var user = incoming.data.user;
|
|
64
64
|
onDisablePrompt(true);
|
|
65
|
+
await removeEntryLockCb();
|
|
65
66
|
showDialog({
|
|
66
67
|
title: "Entry was forcefully unlocked!",
|
|
67
68
|
content: /*#__PURE__*/_react.default.createElement(ForceUnlocked, {
|
|
@@ -74,10 +75,12 @@ var ContentEntryLocker = exports.ContentEntryLocker = function ContentEntryLocke
|
|
|
74
75
|
onEntryUnlocked();
|
|
75
76
|
});
|
|
76
77
|
return function () {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
onMessageSub.off();
|
|
79
|
+
/**
|
|
80
|
+
* Lets null subscriptions, just in case it...
|
|
81
|
+
*/
|
|
82
|
+
// @ts-expect-error
|
|
83
|
+
onMessageSub = null;
|
|
81
84
|
};
|
|
82
85
|
}, [entry.id, onEntryUnlocked, model.modelId]);
|
|
83
86
|
(0, _react.useEffect)(function () {
|
|
@@ -95,7 +98,8 @@ var ContentEntryLocker = exports.ContentEntryLocker = function ContentEntryLocke
|
|
|
95
98
|
if (result) {
|
|
96
99
|
return;
|
|
97
100
|
}
|
|
98
|
-
|
|
101
|
+
removeEntryLock(record);
|
|
102
|
+
await unlockEntry(record);
|
|
99
103
|
})();
|
|
100
104
|
};
|
|
101
105
|
}, [entry.id]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_hooks","_appWebsockets","_utils","_appAdmin","_EMOTION_STRINGIFIED_CSS_ERROR__","Bold","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","ForceUnlocked","_ref","user","createElement","Fragment","displayName","ContentEntryLocker","exports","_ref2","onEntryUnlocked","onDisablePrompt","entry","model","children","_useRecordLocking","useRecordLocking","updateEntryLock","unlockEntry","fetchLockedEntryLockRecord","removeEntryLock","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_hooks","_appWebsockets","_utils","_appAdmin","_EMOTION_STRINGIFIED_CSS_ERROR__","Bold","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","ForceUnlocked","_ref","user","createElement","Fragment","displayName","ContentEntryLocker","exports","_ref2","onEntryUnlocked","onDisablePrompt","entry","model","children","_useRecordLocking","useRecordLocking","updateEntryLock","unlockEntry","fetchLockedEntryLockRecord","removeEntryLock","websockets","useWebsockets","_useDialogs","useDialogs","showDialog","useEffect","id","_parseIdentifier","parseIdentifier","entryId","removeEntryLockCb","record","$lockingType","modelId","onMessageSub","onMessage","concat","incoming","data","title","content","acceptLabel","onClose","undefined","cancelLabel","off","result"],"sources":["ContentEntryLocker.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { useRecordLocking } from \"~/hooks\";\nimport type {\n IIsRecordLockedParams,\n IRecordLockingIdentity,\n IRecordLockingLockRecord\n} from \"~/types\";\nimport type { IncomingGenericData } from \"@webiny/app-websockets\";\nimport { useWebsockets } from \"@webiny/app-websockets\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport styled from \"@emotion/styled\";\nimport { CmsContentEntry, CmsModel } from \"@webiny/app-headless-cms/types\";\n\nconst Bold = styled.span`\n font-weight: 600;\n`;\n\nexport interface IContentEntryLockerProps {\n entry: CmsContentEntry;\n model: CmsModel;\n onEntryUnlocked: () => void;\n onDisablePrompt: (flag: boolean) => void;\n children: React.ReactElement;\n}\n\nexport interface IKickOutWebsocketsMessage extends IncomingGenericData {\n data: {\n record: IRecordLockingLockRecord;\n user: IRecordLockingIdentity;\n };\n}\ninterface IForceUnlockedProps {\n user: IRecordLockingIdentity;\n}\nconst ForceUnlocked = ({ user }: IForceUnlockedProps) => {\n return (\n <>\n The entry you were editing was forcefully unlocked by{\" \"}\n <Bold>{user.displayName || \"Unknown user\"}</Bold>. Unfortunately, this means you lost\n the unsaved changes.\n </>\n );\n};\n\nexport const ContentEntryLocker = ({\n onEntryUnlocked,\n onDisablePrompt,\n entry,\n model,\n children\n}: IContentEntryLockerProps) => {\n const { updateEntryLock, unlockEntry, fetchLockedEntryLockRecord, removeEntryLock } =\n useRecordLocking();\n const websockets = useWebsockets();\n const { showDialog } = useDialogs();\n\n useEffect(() => {\n if (!entry.id) {\n return;\n }\n const { id: entryId } = parseIdentifier(entry.id);\n\n const removeEntryLockCb = async () => {\n const record: IIsRecordLockedParams = {\n id: entryId,\n $lockingType: model.modelId\n };\n removeEntryLock(record);\n await unlockEntry(record);\n };\n\n let onMessageSub = websockets.onMessage<IKickOutWebsocketsMessage>(\n `recordLocking.entry.kickOut.${entryId}`,\n async incoming => {\n const { user } = incoming.data;\n onDisablePrompt(true);\n await removeEntryLockCb();\n showDialog({\n title: \"Entry was forcefully unlocked!\",\n content: <ForceUnlocked user={user} />,\n acceptLabel: \"Ok\",\n onClose: undefined,\n cancelLabel: undefined\n });\n onEntryUnlocked();\n }\n );\n\n return () => {\n onMessageSub.off();\n /**\n * Lets null subscriptions, just in case it...\n */\n // @ts-expect-error\n onMessageSub = null;\n };\n }, [entry.id, onEntryUnlocked, model.modelId]);\n\n useEffect(() => {\n if (!entry.id) {\n return;\n }\n\n const record: IIsRecordLockedParams = {\n id: entry.id,\n $lockingType: model.modelId\n };\n updateEntryLock(record);\n\n return () => {\n (async () => {\n const result = await fetchLockedEntryLockRecord(record);\n if (result) {\n return;\n }\n removeEntryLock(record);\n await unlockEntry(record);\n })();\n };\n }, [entry.id]);\n\n return <>{children}</>;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAOA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAA+C,SAAAK,iCAAA;AAI/C,IAAMC,IAAI,oBAAAC,KAAA,CAAAC,OAAA,UAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAZ;AAAA,EAET;AAmBD,IAAMa,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAsC;EAAA,IAAhCC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EACzB,oBACItB,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAAAvB,MAAA,CAAAU,OAAA,CAAAc,QAAA,QAAE,uDACuD,EAAC,GAAG,eACzDxB,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAACf,IAAI,QAAEc,IAAI,CAACG,WAAW,IAAI,cAAqB,CAAC,6DAEnD,CAAC;AAEX,CAAC;AAEM,IAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,SAArBA,kBAAkBA,CAAAE,KAAA,EAMC;EAAA,IAL5BC,eAAe,GAAAD,KAAA,CAAfC,eAAe;IACfC,eAAe,GAAAF,KAAA,CAAfE,eAAe;IACfC,KAAK,GAAAH,KAAA,CAALG,KAAK;IACLC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;EAER,IAAAC,iBAAA,GACI,IAAAC,uBAAgB,EAAC,CAAC;IADdC,eAAe,GAAAF,iBAAA,CAAfE,eAAe;IAAEC,WAAW,GAAAH,iBAAA,CAAXG,WAAW;IAAEC,0BAA0B,GAAAJ,iBAAA,CAA1BI,0BAA0B;IAAEC,eAAe,GAAAL,iBAAA,CAAfK,eAAe;EAEjF,IAAMC,UAAU,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAClC,IAAAC,WAAA,GAAuB,IAAAC,oBAAU,EAAC,CAAC;IAA3BC,UAAU,GAAAF,WAAA,CAAVE,UAAU;EAElB,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAI,CAACd,KAAK,CAACe,EAAE,EAAE;MACX;IACJ;IACA,IAAAC,gBAAA,GAAwB,IAAAC,sBAAe,EAACjB,KAAK,CAACe,EAAE,CAAC;MAArCG,OAAO,GAAAF,gBAAA,CAAXD,EAAE;IAEV,IAAMI,iBAAiB,GAAG,eAApBA,iBAAiBA,CAAA,EAAe;MAClC,IAAMC,MAA6B,GAAG;QAClCL,EAAE,EAAEG,OAAO;QACXG,YAAY,EAAEpB,KAAK,CAACqB;MACxB,CAAC;MACDd,eAAe,CAACY,MAAM,CAAC;MACvB,MAAMd,WAAW,CAACc,MAAM,CAAC;IAC7B,CAAC;IAED,IAAIG,YAAY,GAAGd,UAAU,CAACe,SAAS,gCAAAC,MAAA,CACJP,OAAO,GACtC,gBAAMQ,QAAQ,EAAI;MACd,IAAQnC,IAAI,GAAKmC,QAAQ,CAACC,IAAI,CAAtBpC,IAAI;MACZQ,eAAe,CAAC,IAAI,CAAC;MACrB,MAAMoB,iBAAiB,CAAC,CAAC;MACzBN,UAAU,CAAC;QACPe,KAAK,EAAE,gCAAgC;QACvCC,OAAO,eAAE5D,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAACH,aAAa;UAACE,IAAI,EAAEA;QAAK,CAAE,CAAC;QACtCuC,WAAW,EAAE,IAAI;QACjBC,OAAO,EAAEC,SAAS;QAClBC,WAAW,EAAED;MACjB,CAAC,CAAC;MACFlC,eAAe,CAAC,CAAC;IACrB,CACJ,CAAC;IAED,OAAO,YAAM;MACTyB,YAAY,CAACW,GAAG,CAAC,CAAC;MAClB;AACZ;AACA;MACY;MACAX,YAAY,GAAG,IAAI;IACvB,CAAC;EACL,CAAC,EAAE,CAACvB,KAAK,CAACe,EAAE,EAAEjB,eAAe,EAAEG,KAAK,CAACqB,OAAO,CAAC,CAAC;EAE9C,IAAAR,gBAAS,EAAC,YAAM;IACZ,IAAI,CAACd,KAAK,CAACe,EAAE,EAAE;MACX;IACJ;IAEA,IAAMK,MAA6B,GAAG;MAClCL,EAAE,EAAEf,KAAK,CAACe,EAAE;MACZM,YAAY,EAAEpB,KAAK,CAACqB;IACxB,CAAC;IACDjB,eAAe,CAACe,MAAM,CAAC;IAEvB,OAAO,YAAM;MACT,CAAC,kBAAY;QACT,IAAMe,MAAM,GAAG,MAAM5B,0BAA0B,CAACa,MAAM,CAAC;QACvD,IAAIe,MAAM,EAAE;UACR;QACJ;QACA3B,eAAe,CAACY,MAAM,CAAC;QACvB,MAAMd,WAAW,CAACc,MAAM,CAAC;MAC7B,CAAC,EAAE,CAAC;IACR,CAAC;EACL,CAAC,EAAE,CAACpB,KAAK,CAACe,EAAE,CAAC,CAAC;EAEd,oBAAO9C,MAAA,CAAAU,OAAA,CAAAa,aAAA,CAAAvB,MAAA,CAAAU,OAAA,CAAAc,QAAA,QAAGS,QAAW,CAAC;AAC1B,CAAC","ignoreList":[]}
|
|
@@ -27,7 +27,7 @@ var Wrapper = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "p
|
|
|
27
27
|
} : {
|
|
28
28
|
name: "38ejjw",
|
|
29
29
|
styles: "padding:0;background-color:white",
|
|
30
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxvY2tlZFJlY29yZEZvcmNlVW5sb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVZ0IiLCJmaWxlIjoiTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2sudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IElSZWNvcmRMb2NraW5nRXJyb3IsIElSZWNvcmRMb2NraW5nSWRlbnRpdHkgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlybWF0aW9uRGlhbG9nLCB1c2VTbmFja2JhciB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pblwiO1xuaW1wb3J0IHsgdXNlUmVjb3JkTG9ja2luZywgdXNlUGVybWlzc2lvbiB9IGZyb20gXCJ+L2hvb2tzXCI7XG5pbXBvcnQgeyB1c2VSb3V0ZXIgfSBmcm9tIFwiQHdlYmlueS9yZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCB7IHVzZUNvbnRlbnRFbnRyaWVzTGlzdCB9IGZyb20gXCJAd2ViaW55L2FwcC1oZWFkbGVzcy1jbXNcIjtcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSBcIkB3ZWJpbnkvdWkvQWxlcnRcIjtcbmltcG9ydCB7IEJ1dHRvblByaW1hcnkgfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcblxuY29uc3QgV3JhcHBlciA9IHN0eWxlZChcImRpdlwiKSh7XG4gICAgcGFkZGluZzogXCIwXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBcIndoaXRlXCJcbn0pO1xuXG5jb25zdCBUZXh0ID0gc3R5bGVkKFwicFwiKSh7XG4gICAgbGluZUhlaWdodDogXCIxMjUlXCJcbn0pO1xuXG5jb25zdCBCb2xkID0gc3R5bGVkKFwic3BhblwiKSh7XG4gICAgZm9udFdlaWdodDogNjAwXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBsb2NrZWRCeT86IElSZWNvcmRMb2NraW5nSWRlbnRpdHk7XG59XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IChwcm9wczogSUxvY2tlZFJlY29yZEZvcmNlVW5sb2NrUHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRpdGxlLCBsb2NrZWRCeSB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxBbGVydCB0eXBlPVwid2FybmluZ1wiIHRpdGxlPVwiV2FybmluZ1wiPlxuICAgICAgICAgICAgICAgIDxCb2xkPntsb2NrZWRCeT8uZGlzcGxheU5hbWUgfHwgXCJVbmtub3duIHVzZXJcIn08L0JvbGQ+IGlzIGN1cnJlbnRseSBlZGl0aW5nIHRoaXNcbiAgICAgICAgICAgICAgICByZWNvcmQuXG4gICAgICAgICAgICAgICAgPGJyIC8+IElmIHlvdSBmb3JjZSB1bmxvY2sgaXQsIHRoZXkgY291bGQgcG90ZW50aWFsbHkgbG9zZSB0aGVpciBjaGFuZ2VzLlxuICAgICAgICAgICAgPC9BbGVydD5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgWW91IGFyZSBhYm91dCB0byBmb3JjZWZ1bGx5IHVubG9jayB0aGUgPEJvbGQ+e3RpdGxlfTwvQm9sZD4gZW50cnkuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IExvY2tlZFJlY29yZEZvcmNlVW5sb2NrID0gKHByb3BzOiBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrRW50cnlGb3JjZSB9ID0gdXNlUmVjb3JkTG9ja2luZygpO1xuXG4gICAgY29uc3QgeyBuYXZpZ2F0ZVRvIH0gPSB1c2VDb250ZW50RW50cmllc0xpc3QoKTtcbiAgICBjb25zdCB7IHNob3dDb25maXJtYXRpb246IHNob3dGb3JjZVVubG9ja0NvbmZpcm1hdGlvbiB9ID0gdXNlQ29uZmlybWF0aW9uRGlhbG9nKHtcbiAgICAgICAgdGl0bGU6IFwiRm9yY2UgdW5sb2NrIHRoZSBlbnRyeVwiLFxuICAgICAgICBtZXNzYWdlOiA8RXJyb3JNZXNzYWdlIHsuLi5wcm9wc30gLz5cbiAgICB9KTtcbiAgICBjb25zdCB7IHNob3dTbmFja2JhciB9ID0gdXNlU25hY2tiYXIoKTtcblxuICAgIGNvbnN0IHsgaGlzdG9yeSB9ID0gdXNlUm91dGVyKCk7XG5cbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPElSZWNvcmRMb2NraW5nRXJyb3I+KCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVycm9yPy5tZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHNob3dTbmFja2JhcihlcnJvci5tZXNzYWdlKTtcbiAgICB9LCBbZXJyb3I/
|
|
30
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxvY2tlZFJlY29yZEZvcmNlVW5sb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVZ0IiLCJmaWxlIjoiTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2sudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IElSZWNvcmRMb2NraW5nRXJyb3IsIElSZWNvcmRMb2NraW5nSWRlbnRpdHkgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlybWF0aW9uRGlhbG9nLCB1c2VTbmFja2JhciB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pblwiO1xuaW1wb3J0IHsgdXNlUmVjb3JkTG9ja2luZywgdXNlUGVybWlzc2lvbiB9IGZyb20gXCJ+L2hvb2tzXCI7XG5pbXBvcnQgeyB1c2VSb3V0ZXIgfSBmcm9tIFwiQHdlYmlueS9yZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCB7IHVzZUNvbnRlbnRFbnRyaWVzTGlzdCB9IGZyb20gXCJAd2ViaW55L2FwcC1oZWFkbGVzcy1jbXNcIjtcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSBcIkB3ZWJpbnkvdWkvQWxlcnRcIjtcbmltcG9ydCB7IEJ1dHRvblByaW1hcnkgfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcblxuY29uc3QgV3JhcHBlciA9IHN0eWxlZChcImRpdlwiKSh7XG4gICAgcGFkZGluZzogXCIwXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBcIndoaXRlXCJcbn0pO1xuXG5jb25zdCBUZXh0ID0gc3R5bGVkKFwicFwiKSh7XG4gICAgbGluZUhlaWdodDogXCIxMjUlXCJcbn0pO1xuXG5jb25zdCBCb2xkID0gc3R5bGVkKFwic3BhblwiKSh7XG4gICAgZm9udFdlaWdodDogNjAwXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBsb2NrZWRCeT86IElSZWNvcmRMb2NraW5nSWRlbnRpdHk7XG59XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IChwcm9wczogSUxvY2tlZFJlY29yZEZvcmNlVW5sb2NrUHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRpdGxlLCBsb2NrZWRCeSB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxBbGVydCB0eXBlPVwid2FybmluZ1wiIHRpdGxlPVwiV2FybmluZ1wiPlxuICAgICAgICAgICAgICAgIDxCb2xkPntsb2NrZWRCeT8uZGlzcGxheU5hbWUgfHwgXCJVbmtub3duIHVzZXJcIn08L0JvbGQ+IGlzIGN1cnJlbnRseSBlZGl0aW5nIHRoaXNcbiAgICAgICAgICAgICAgICByZWNvcmQuXG4gICAgICAgICAgICAgICAgPGJyIC8+IElmIHlvdSBmb3JjZSB1bmxvY2sgaXQsIHRoZXkgY291bGQgcG90ZW50aWFsbHkgbG9zZSB0aGVpciBjaGFuZ2VzLlxuICAgICAgICAgICAgPC9BbGVydD5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgWW91IGFyZSBhYm91dCB0byBmb3JjZWZ1bGx5IHVubG9jayB0aGUgPEJvbGQ+e3RpdGxlfTwvQm9sZD4gZW50cnkuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IExvY2tlZFJlY29yZEZvcmNlVW5sb2NrID0gKHByb3BzOiBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrRW50cnlGb3JjZSB9ID0gdXNlUmVjb3JkTG9ja2luZygpO1xuXG4gICAgY29uc3QgeyBuYXZpZ2F0ZVRvIH0gPSB1c2VDb250ZW50RW50cmllc0xpc3QoKTtcbiAgICBjb25zdCB7IHNob3dDb25maXJtYXRpb246IHNob3dGb3JjZVVubG9ja0NvbmZpcm1hdGlvbiB9ID0gdXNlQ29uZmlybWF0aW9uRGlhbG9nKHtcbiAgICAgICAgdGl0bGU6IFwiRm9yY2UgdW5sb2NrIHRoZSBlbnRyeVwiLFxuICAgICAgICBtZXNzYWdlOiA8RXJyb3JNZXNzYWdlIHsuLi5wcm9wc30gLz5cbiAgICB9KTtcbiAgICBjb25zdCB7IHNob3dTbmFja2JhciB9ID0gdXNlU25hY2tiYXIoKTtcblxuICAgIGNvbnN0IHsgaGlzdG9yeSB9ID0gdXNlUm91dGVyKCk7XG5cbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPElSZWNvcmRMb2NraW5nRXJyb3I+KCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVycm9yPy5tZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHNob3dTbmFja2JhcihlcnJvci5tZXNzYWdlKTtcbiAgICB9LCBbZXJyb3I/Lm1lc3NhZ2VdKTtcblxuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNob3dGb3JjZVVubG9ja0NvbmZpcm1hdGlvbihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB1bmxvY2tFbnRyeUZvcmNlKHtcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMuaWQsXG4gICAgICAgICAgICAgICAgJGxvY2tpbmdUeXBlOiBwcm9wcy50eXBlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghcmVzdWx0LmVycm9yKSB7XG4gICAgICAgICAgICAgICAgbmF2aWdhdGVUbygpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldEVycm9yKHJlc3VsdC5lcnJvcik7XG4gICAgICAgIH0pO1xuICAgIH0sIFtwcm9wcy5pZCwgaGlzdG9yeSwgbmF2aWdhdGVUb10pO1xuXG4gICAgY29uc3QgeyBjYW5Gb3JjZVVubG9jayB9ID0gdXNlUGVybWlzc2lvbigpO1xuICAgIGlmICghY2FuRm9yY2VVbmxvY2spIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFdyYXBwZXI+XG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICBCZWNhdXNlIHlvdSBoYXZlIGEgZnVsbCBhY2Nlc3MgdG8gdGhlIHN5c3RlbSwgeW91IGNhbiBmb3JjZSB1bmxvY2sgdGhlIHJlY29yZC5cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPEJ1dHRvblByaW1hcnkgb25DbGljaz17b25DbGlja30+VW5sb2NrIGFuZCBnbyBiYWNrPC9CdXR0b25QcmltYXJ5PlxuICAgICAgICA8L1dyYXBwZXI+XG4gICAgKTtcbn07XG4iXX0= */",
|
|
31
31
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
32
32
|
});
|
|
33
33
|
var Text = /*#__PURE__*/(0, _base.default)("p", process.env.NODE_ENV === "production" ? {
|
|
@@ -41,7 +41,7 @@ var Text = /*#__PURE__*/(0, _base.default)("p", process.env.NODE_ENV === "produc
|
|
|
41
41
|
} : {
|
|
42
42
|
name: "sqtwzz",
|
|
43
43
|
styles: "line-height:125%",
|
|
44
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxvY2tlZFJlY29yZEZvcmNlVW5sb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlYSIsImZpbGUiOiJMb2NrZWRSZWNvcmRGb3JjZVVubG9jay50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgSVJlY29yZExvY2tpbmdFcnJvciwgSVJlY29yZExvY2tpbmdJZGVudGl0eSB9IGZyb20gXCJ+L3R5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb25maXJtYXRpb25EaWFsb2csIHVzZVNuYWNrYmFyIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRMb2NraW5nLCB1c2VQZXJtaXNzaW9uIH0gZnJvbSBcIn4vaG9va3NcIjtcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gXCJAd2ViaW55L3JlYWN0LXJvdXRlclwiO1xuaW1wb3J0IHsgdXNlQ29udGVudEVudHJpZXNMaXN0IH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWhlYWRsZXNzLWNtc1wiO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tIFwiQHdlYmlueS91aS9BbGVydFwiO1xuaW1wb3J0IHsgQnV0dG9uUHJpbWFyeSB9IGZyb20gXCJAd2ViaW55L3VpL0J1dHRvblwiO1xuXG5jb25zdCBXcmFwcGVyID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgICBwYWRkaW5nOiBcIjBcIixcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IFwid2hpdGVcIlxufSk7XG5cbmNvbnN0IFRleHQgPSBzdHlsZWQoXCJwXCIpKHtcbiAgICBsaW5lSGVpZ2h0OiBcIjEyNSVcIlxufSk7XG5cbmNvbnN0IEJvbGQgPSBzdHlsZWQoXCJzcGFuXCIpKHtcbiAgICBmb250V2VpZ2h0OiA2MDBcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElMb2NrZWRSZWNvcmRGb3JjZVVubG9ja1Byb3BzIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGxvY2tlZEJ5PzogSVJlY29yZExvY2tpbmdJZGVudGl0eTtcbn1cblxuY29uc3QgRXJyb3JNZXNzYWdlID0gKHByb3BzOiBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdGl0bGUsIGxvY2tlZEJ5IH0gPSBwcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPEFsZXJ0IHR5cGU9XCJ3YXJuaW5nXCIgdGl0bGU9XCJXYXJuaW5nXCI+XG4gICAgICAgICAgICAgICAgPEJvbGQ+e2xvY2tlZEJ5Py5kaXNwbGF5TmFtZSB8fCBcIlVua25vd24gdXNlclwifTwvQm9sZD4gaXMgY3VycmVudGx5IGVkaXRpbmcgdGhpc1xuICAgICAgICAgICAgICAgIHJlY29yZC5cbiAgICAgICAgICAgICAgICA8YnIgLz4gSWYgeW91IGZvcmNlIHVubG9jayBpdCwgdGhleSBjb3VsZCBwb3RlbnRpYWxseSBsb3NlIHRoZWlyIGNoYW5nZXMuXG4gICAgICAgICAgICA8L0FsZXJ0PlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICBZb3UgYXJlIGFib3V0IHRvIGZvcmNlZnVsbHkgdW5sb2NrIHRoZSA8Qm9sZD57dGl0bGV9PC9Cb2xkPiBlbnRyeS5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT88L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2sgPSAocHJvcHM6IElMb2NrZWRSZWNvcmRGb3JjZVVubG9ja1Byb3BzKSA9PiB7XG4gICAgY29uc3QgeyB1bmxvY2tFbnRyeUZvcmNlIH0gPSB1c2VSZWNvcmRMb2NraW5nKCk7XG5cbiAgICBjb25zdCB7IG5hdmlnYXRlVG8gfSA9IHVzZUNvbnRlbnRFbnRyaWVzTGlzdCgpO1xuICAgIGNvbnN0IHsgc2hvd0NvbmZpcm1hdGlvbjogc2hvd0ZvcmNlVW5sb2NrQ29uZmlybWF0aW9uIH0gPSB1c2VDb25maXJtYXRpb25EaWFsb2coe1xuICAgICAgICB0aXRsZTogXCJGb3JjZSB1bmxvY2sgdGhlIGVudHJ5XCIsXG4gICAgICAgIG1lc3NhZ2U6IDxFcnJvck1lc3NhZ2Ugey4uLnByb3BzfSAvPlxuICAgIH0pO1xuICAgIGNvbnN0IHsgc2hvd1NuYWNrYmFyIH0gPSB1c2VTbmFja2JhcigpO1xuXG4gICAgY29uc3QgeyBoaXN0b3J5IH0gPSB1c2VSb3V0ZXIoKTtcblxuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8SVJlY29yZExvY2tpbmdFcnJvcj4oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghZXJyb3I/Lm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgc2hvd1NuYWNrYmFyKGVycm9yLm1lc3NhZ2UpO1xuICAgIH0sIFtlcnJvcj8ubWVzc2FnZV0pO1xuXG4gICAgY29uc3Qgb25DbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2hvd0ZvcmNlVW5sb2NrQ29uZmlybWF0aW9uKGFzeW5jICgpID0+
|
|
44
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxvY2tlZFJlY29yZEZvcmNlVW5sb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlYSIsImZpbGUiOiJMb2NrZWRSZWNvcmRGb3JjZVVubG9jay50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgSVJlY29yZExvY2tpbmdFcnJvciwgSVJlY29yZExvY2tpbmdJZGVudGl0eSB9IGZyb20gXCJ+L3R5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb25maXJtYXRpb25EaWFsb2csIHVzZVNuYWNrYmFyIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRMb2NraW5nLCB1c2VQZXJtaXNzaW9uIH0gZnJvbSBcIn4vaG9va3NcIjtcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gXCJAd2ViaW55L3JlYWN0LXJvdXRlclwiO1xuaW1wb3J0IHsgdXNlQ29udGVudEVudHJpZXNMaXN0IH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWhlYWRsZXNzLWNtc1wiO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tIFwiQHdlYmlueS91aS9BbGVydFwiO1xuaW1wb3J0IHsgQnV0dG9uUHJpbWFyeSB9IGZyb20gXCJAd2ViaW55L3VpL0J1dHRvblwiO1xuXG5jb25zdCBXcmFwcGVyID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgICBwYWRkaW5nOiBcIjBcIixcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IFwid2hpdGVcIlxufSk7XG5cbmNvbnN0IFRleHQgPSBzdHlsZWQoXCJwXCIpKHtcbiAgICBsaW5lSGVpZ2h0OiBcIjEyNSVcIlxufSk7XG5cbmNvbnN0IEJvbGQgPSBzdHlsZWQoXCJzcGFuXCIpKHtcbiAgICBmb250V2VpZ2h0OiA2MDBcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElMb2NrZWRSZWNvcmRGb3JjZVVubG9ja1Byb3BzIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGxvY2tlZEJ5PzogSVJlY29yZExvY2tpbmdJZGVudGl0eTtcbn1cblxuY29uc3QgRXJyb3JNZXNzYWdlID0gKHByb3BzOiBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdGl0bGUsIGxvY2tlZEJ5IH0gPSBwcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPEFsZXJ0IHR5cGU9XCJ3YXJuaW5nXCIgdGl0bGU9XCJXYXJuaW5nXCI+XG4gICAgICAgICAgICAgICAgPEJvbGQ+e2xvY2tlZEJ5Py5kaXNwbGF5TmFtZSB8fCBcIlVua25vd24gdXNlclwifTwvQm9sZD4gaXMgY3VycmVudGx5IGVkaXRpbmcgdGhpc1xuICAgICAgICAgICAgICAgIHJlY29yZC5cbiAgICAgICAgICAgICAgICA8YnIgLz4gSWYgeW91IGZvcmNlIHVubG9jayBpdCwgdGhleSBjb3VsZCBwb3RlbnRpYWxseSBsb3NlIHRoZWlyIGNoYW5nZXMuXG4gICAgICAgICAgICA8L0FsZXJ0PlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICBZb3UgYXJlIGFib3V0IHRvIGZvcmNlZnVsbHkgdW5sb2NrIHRoZSA8Qm9sZD57dGl0bGV9PC9Cb2xkPiBlbnRyeS5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT88L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2sgPSAocHJvcHM6IElMb2NrZWRSZWNvcmRGb3JjZVVubG9ja1Byb3BzKSA9PiB7XG4gICAgY29uc3QgeyB1bmxvY2tFbnRyeUZvcmNlIH0gPSB1c2VSZWNvcmRMb2NraW5nKCk7XG5cbiAgICBjb25zdCB7IG5hdmlnYXRlVG8gfSA9IHVzZUNvbnRlbnRFbnRyaWVzTGlzdCgpO1xuICAgIGNvbnN0IHsgc2hvd0NvbmZpcm1hdGlvbjogc2hvd0ZvcmNlVW5sb2NrQ29uZmlybWF0aW9uIH0gPSB1c2VDb25maXJtYXRpb25EaWFsb2coe1xuICAgICAgICB0aXRsZTogXCJGb3JjZSB1bmxvY2sgdGhlIGVudHJ5XCIsXG4gICAgICAgIG1lc3NhZ2U6IDxFcnJvck1lc3NhZ2Ugey4uLnByb3BzfSAvPlxuICAgIH0pO1xuICAgIGNvbnN0IHsgc2hvd1NuYWNrYmFyIH0gPSB1c2VTbmFja2JhcigpO1xuXG4gICAgY29uc3QgeyBoaXN0b3J5IH0gPSB1c2VSb3V0ZXIoKTtcblxuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8SVJlY29yZExvY2tpbmdFcnJvcj4oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghZXJyb3I/Lm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgc2hvd1NuYWNrYmFyKGVycm9yLm1lc3NhZ2UpO1xuICAgIH0sIFtlcnJvcj8ubWVzc2FnZV0pO1xuXG4gICAgY29uc3Qgb25DbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2hvd0ZvcmNlVW5sb2NrQ29uZmlybWF0aW9uKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVubG9ja0VudHJ5Rm9yY2Uoe1xuICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5pZCxcbiAgICAgICAgICAgICAgICAkbG9ja2luZ1R5cGU6IHByb3BzLnR5cGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBuYXZpZ2F0ZVRvKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0RXJyb3IocmVzdWx0LmVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfSwgW3Byb3BzLmlkLCBoaXN0b3J5LCBuYXZpZ2F0ZVRvXSk7XG5cbiAgICBjb25zdCB7IGNhbkZvcmNlVW5sb2NrIH0gPSB1c2VQZXJtaXNzaW9uKCk7XG4gICAgaWYgKCFjYW5Gb3JjZVVubG9jaykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8V3JhcHBlcj5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgIEJlY2F1c2UgeW91IGhhdmUgYSBmdWxsIGFjY2VzcyB0byB0aGUgc3lzdGVtLCB5b3UgY2FuIGZvcmNlIHVubG9jayB0aGUgcmVjb3JkLlxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8QnV0dG9uUHJpbWFyeSBvbkNsaWNrPXtvbkNsaWNrfT5VbmxvY2sgYW5kIGdvIGJhY2s8L0J1dHRvblByaW1hcnk+XG4gICAgICAgIDwvV3JhcHBlcj5cbiAgICApO1xufTtcbiJdfQ== */",
|
|
45
45
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
46
46
|
});
|
|
47
47
|
var Bold = /*#__PURE__*/(0, _base.default)("span", process.env.NODE_ENV === "production" ? {
|
|
@@ -55,7 +55,7 @@ var Bold = /*#__PURE__*/(0, _base.default)("span", process.env.NODE_ENV === "pro
|
|
|
55
55
|
} : {
|
|
56
56
|
name: "16ceglb",
|
|
57
57
|
styles: "font-weight:600",
|
|
58
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxvY2tlZFJlY29yZEZvcmNlVW5sb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQmEiLCJmaWxlIjoiTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2sudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IElSZWNvcmRMb2NraW5nRXJyb3IsIElSZWNvcmRMb2NraW5nSWRlbnRpdHkgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlybWF0aW9uRGlhbG9nLCB1c2VTbmFja2JhciB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pblwiO1xuaW1wb3J0IHsgdXNlUmVjb3JkTG9ja2luZywgdXNlUGVybWlzc2lvbiB9IGZyb20gXCJ+L2hvb2tzXCI7XG5pbXBvcnQgeyB1c2VSb3V0ZXIgfSBmcm9tIFwiQHdlYmlueS9yZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCB7IHVzZUNvbnRlbnRFbnRyaWVzTGlzdCB9IGZyb20gXCJAd2ViaW55L2FwcC1oZWFkbGVzcy1jbXNcIjtcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSBcIkB3ZWJpbnkvdWkvQWxlcnRcIjtcbmltcG9ydCB7IEJ1dHRvblByaW1hcnkgfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcblxuY29uc3QgV3JhcHBlciA9IHN0eWxlZChcImRpdlwiKSh7XG4gICAgcGFkZGluZzogXCIwXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBcIndoaXRlXCJcbn0pO1xuXG5jb25zdCBUZXh0ID0gc3R5bGVkKFwicFwiKSh7XG4gICAgbGluZUhlaWdodDogXCIxMjUlXCJcbn0pO1xuXG5jb25zdCBCb2xkID0gc3R5bGVkKFwic3BhblwiKSh7XG4gICAgZm9udFdlaWdodDogNjAwXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBsb2NrZWRCeT86IElSZWNvcmRMb2NraW5nSWRlbnRpdHk7XG59XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IChwcm9wczogSUxvY2tlZFJlY29yZEZvcmNlVW5sb2NrUHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRpdGxlLCBsb2NrZWRCeSB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxBbGVydCB0eXBlPVwid2FybmluZ1wiIHRpdGxlPVwiV2FybmluZ1wiPlxuICAgICAgICAgICAgICAgIDxCb2xkPntsb2NrZWRCeT8uZGlzcGxheU5hbWUgfHwgXCJVbmtub3duIHVzZXJcIn08L0JvbGQ+IGlzIGN1cnJlbnRseSBlZGl0aW5nIHRoaXNcbiAgICAgICAgICAgICAgICByZWNvcmQuXG4gICAgICAgICAgICAgICAgPGJyIC8+IElmIHlvdSBmb3JjZSB1bmxvY2sgaXQsIHRoZXkgY291bGQgcG90ZW50aWFsbHkgbG9zZSB0aGVpciBjaGFuZ2VzLlxuICAgICAgICAgICAgPC9BbGVydD5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgWW91IGFyZSBhYm91dCB0byBmb3JjZWZ1bGx5IHVubG9jayB0aGUgPEJvbGQ+e3RpdGxlfTwvQm9sZD4gZW50cnkuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IExvY2tlZFJlY29yZEZvcmNlVW5sb2NrID0gKHByb3BzOiBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrRW50cnlGb3JjZSB9ID0gdXNlUmVjb3JkTG9ja2luZygpO1xuXG4gICAgY29uc3QgeyBuYXZpZ2F0ZVRvIH0gPSB1c2VDb250ZW50RW50cmllc0xpc3QoKTtcbiAgICBjb25zdCB7IHNob3dDb25maXJtYXRpb246IHNob3dGb3JjZVVubG9ja0NvbmZpcm1hdGlvbiB9ID0gdXNlQ29uZmlybWF0aW9uRGlhbG9nKHtcbiAgICAgICAgdGl0bGU6IFwiRm9yY2UgdW5sb2NrIHRoZSBlbnRyeVwiLFxuICAgICAgICBtZXNzYWdlOiA8RXJyb3JNZXNzYWdlIHsuLi5wcm9wc30gLz5cbiAgICB9KTtcbiAgICBjb25zdCB7IHNob3dTbmFja2JhciB9ID0gdXNlU25hY2tiYXIoKTtcblxuICAgIGNvbnN0IHsgaGlzdG9yeSB9ID0gdXNlUm91dGVyKCk7XG5cbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPElSZWNvcmRMb2NraW5nRXJyb3I+KCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVycm9yPy5tZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHNob3dTbmFja2JhcihlcnJvci5tZXNzYWdlKTtcbiAgICB9LCBbZXJyb3I/
|
|
58
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxvY2tlZFJlY29yZEZvcmNlVW5sb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQmEiLCJmaWxlIjoiTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2sudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IElSZWNvcmRMb2NraW5nRXJyb3IsIElSZWNvcmRMb2NraW5nSWRlbnRpdHkgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlybWF0aW9uRGlhbG9nLCB1c2VTbmFja2JhciB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pblwiO1xuaW1wb3J0IHsgdXNlUmVjb3JkTG9ja2luZywgdXNlUGVybWlzc2lvbiB9IGZyb20gXCJ+L2hvb2tzXCI7XG5pbXBvcnQgeyB1c2VSb3V0ZXIgfSBmcm9tIFwiQHdlYmlueS9yZWFjdC1yb3V0ZXJcIjtcbmltcG9ydCB7IHVzZUNvbnRlbnRFbnRyaWVzTGlzdCB9IGZyb20gXCJAd2ViaW55L2FwcC1oZWFkbGVzcy1jbXNcIjtcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSBcIkB3ZWJpbnkvdWkvQWxlcnRcIjtcbmltcG9ydCB7IEJ1dHRvblByaW1hcnkgfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcblxuY29uc3QgV3JhcHBlciA9IHN0eWxlZChcImRpdlwiKSh7XG4gICAgcGFkZGluZzogXCIwXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBcIndoaXRlXCJcbn0pO1xuXG5jb25zdCBUZXh0ID0gc3R5bGVkKFwicFwiKSh7XG4gICAgbGluZUhlaWdodDogXCIxMjUlXCJcbn0pO1xuXG5jb25zdCBCb2xkID0gc3R5bGVkKFwic3BhblwiKSh7XG4gICAgZm9udFdlaWdodDogNjAwXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBsb2NrZWRCeT86IElSZWNvcmRMb2NraW5nSWRlbnRpdHk7XG59XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IChwcm9wczogSUxvY2tlZFJlY29yZEZvcmNlVW5sb2NrUHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRpdGxlLCBsb2NrZWRCeSB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxBbGVydCB0eXBlPVwid2FybmluZ1wiIHRpdGxlPVwiV2FybmluZ1wiPlxuICAgICAgICAgICAgICAgIDxCb2xkPntsb2NrZWRCeT8uZGlzcGxheU5hbWUgfHwgXCJVbmtub3duIHVzZXJcIn08L0JvbGQ+IGlzIGN1cnJlbnRseSBlZGl0aW5nIHRoaXNcbiAgICAgICAgICAgICAgICByZWNvcmQuXG4gICAgICAgICAgICAgICAgPGJyIC8+IElmIHlvdSBmb3JjZSB1bmxvY2sgaXQsIHRoZXkgY291bGQgcG90ZW50aWFsbHkgbG9zZSB0aGVpciBjaGFuZ2VzLlxuICAgICAgICAgICAgPC9BbGVydD5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgWW91IGFyZSBhYm91dCB0byBmb3JjZWZ1bGx5IHVubG9jayB0aGUgPEJvbGQ+e3RpdGxlfTwvQm9sZD4gZW50cnkuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IExvY2tlZFJlY29yZEZvcmNlVW5sb2NrID0gKHByb3BzOiBJTG9ja2VkUmVjb3JkRm9yY2VVbmxvY2tQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrRW50cnlGb3JjZSB9ID0gdXNlUmVjb3JkTG9ja2luZygpO1xuXG4gICAgY29uc3QgeyBuYXZpZ2F0ZVRvIH0gPSB1c2VDb250ZW50RW50cmllc0xpc3QoKTtcbiAgICBjb25zdCB7IHNob3dDb25maXJtYXRpb246IHNob3dGb3JjZVVubG9ja0NvbmZpcm1hdGlvbiB9ID0gdXNlQ29uZmlybWF0aW9uRGlhbG9nKHtcbiAgICAgICAgdGl0bGU6IFwiRm9yY2UgdW5sb2NrIHRoZSBlbnRyeVwiLFxuICAgICAgICBtZXNzYWdlOiA8RXJyb3JNZXNzYWdlIHsuLi5wcm9wc30gLz5cbiAgICB9KTtcbiAgICBjb25zdCB7IHNob3dTbmFja2JhciB9ID0gdXNlU25hY2tiYXIoKTtcblxuICAgIGNvbnN0IHsgaGlzdG9yeSB9ID0gdXNlUm91dGVyKCk7XG5cbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPElSZWNvcmRMb2NraW5nRXJyb3I+KCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVycm9yPy5tZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHNob3dTbmFja2JhcihlcnJvci5tZXNzYWdlKTtcbiAgICB9LCBbZXJyb3I/Lm1lc3NhZ2VdKTtcblxuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNob3dGb3JjZVVubG9ja0NvbmZpcm1hdGlvbihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB1bmxvY2tFbnRyeUZvcmNlKHtcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMuaWQsXG4gICAgICAgICAgICAgICAgJGxvY2tpbmdUeXBlOiBwcm9wcy50eXBlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghcmVzdWx0LmVycm9yKSB7XG4gICAgICAgICAgICAgICAgbmF2aWdhdGVUbygpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldEVycm9yKHJlc3VsdC5lcnJvcik7XG4gICAgICAgIH0pO1xuICAgIH0sIFtwcm9wcy5pZCwgaGlzdG9yeSwgbmF2aWdhdGVUb10pO1xuXG4gICAgY29uc3QgeyBjYW5Gb3JjZVVubG9jayB9ID0gdXNlUGVybWlzc2lvbigpO1xuICAgIGlmICghY2FuRm9yY2VVbmxvY2spIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFdyYXBwZXI+XG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICBCZWNhdXNlIHlvdSBoYXZlIGEgZnVsbCBhY2Nlc3MgdG8gdGhlIHN5c3RlbSwgeW91IGNhbiBmb3JjZSB1bmxvY2sgdGhlIHJlY29yZC5cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPEJ1dHRvblByaW1hcnkgb25DbGljaz17b25DbGlja30+VW5sb2NrIGFuZCBnbyBiYWNrPC9CdXR0b25QcmltYXJ5PlxuICAgICAgICA8L1dyYXBwZXI+XG4gICAgKTtcbn07XG4iXX0= */",
|
|
59
59
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
60
60
|
});
|
|
61
61
|
var ErrorMessage = function ErrorMessage(props) {
|
|
@@ -105,8 +105,8 @@ var LockedRecordForceUnlock = exports.LockedRecordForceUnlock = function LockedR
|
|
|
105
105
|
});
|
|
106
106
|
}, [props.id, history, navigateTo]);
|
|
107
107
|
var _usePermission = (0, _hooks.usePermission)(),
|
|
108
|
-
|
|
109
|
-
if (!
|
|
108
|
+
canForceUnlock = _usePermission.canForceUnlock;
|
|
109
|
+
if (!canForceUnlock) {
|
|
110
110
|
return null;
|
|
111
111
|
}
|
|
112
112
|
return /*#__PURE__*/_react.default.createElement(Wrapper, null, /*#__PURE__*/_react.default.createElement(Text, null, "Because you have a full access to the system, you can force unlock the record."), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_hooks","_reactRouter","_appHeadlessCms","_Alert","_Button","_EMOTION_STRINGIFIED_CSS_ERROR__","Wrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","Text","Bold","ErrorMessage","props","title","lockedBy","createElement","Alert","type","displayName","LockedRecordForceUnlock","exports","_useRecordLocking","useRecordLocking","unlockEntryForce","_useContentEntriesLis","useContentEntriesList","navigateTo","_useConfirmationDialo","useConfirmationDialog","message","showForceUnlockConfirmation","showConfirmation","_useSnackbar","useSnackbar","showSnackbar","_useRouter","useRouter","history","_useState","useState","_useState2","_slicedToArray2","error","setError","useEffect","console","onClick","useCallback","result","id","$lockingType","_usePermission","usePermission","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_hooks","_reactRouter","_appHeadlessCms","_Alert","_Button","_EMOTION_STRINGIFIED_CSS_ERROR__","Wrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","Text","Bold","ErrorMessage","props","title","lockedBy","createElement","Alert","type","displayName","LockedRecordForceUnlock","exports","_useRecordLocking","useRecordLocking","unlockEntryForce","_useContentEntriesLis","useContentEntriesList","navigateTo","_useConfirmationDialo","useConfirmationDialog","message","showForceUnlockConfirmation","showConfirmation","_useSnackbar","useSnackbar","showSnackbar","_useRouter","useRouter","history","_useState","useState","_useState2","_slicedToArray2","error","setError","useEffect","console","onClick","useCallback","result","id","$lockingType","_usePermission","usePermission","canForceUnlock","ButtonPrimary"],"sources":["LockedRecordForceUnlock.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { IRecordLockingError, IRecordLockingIdentity } from \"~/types\";\nimport { useConfirmationDialog, useSnackbar } from \"@webiny/app-admin\";\nimport { useRecordLocking, usePermission } from \"~/hooks\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useContentEntriesList } from \"@webiny/app-headless-cms\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\n\nconst Wrapper = styled(\"div\")({\n padding: \"0\",\n backgroundColor: \"white\"\n});\n\nconst Text = styled(\"p\")({\n lineHeight: \"125%\"\n});\n\nconst Bold = styled(\"span\")({\n fontWeight: 600\n});\n\nexport interface ILockedRecordForceUnlockProps {\n id: string;\n type: string;\n title: string;\n lockedBy?: IRecordLockingIdentity;\n}\n\nconst ErrorMessage = (props: ILockedRecordForceUnlockProps) => {\n const { title, lockedBy } = props;\n return (\n <div>\n <Alert type=\"warning\" title=\"Warning\">\n <Bold>{lockedBy?.displayName || \"Unknown user\"}</Bold> is currently editing this\n record.\n <br /> If you force unlock it, they could potentially lose their changes.\n </Alert>\n <br />\n <p>\n You are about to forcefully unlock the <Bold>{title}</Bold> entry.\n </p>\n <p>Are you sure you want to continue?</p>\n </div>\n );\n};\n\nexport const LockedRecordForceUnlock = (props: ILockedRecordForceUnlockProps) => {\n const { unlockEntryForce } = useRecordLocking();\n\n const { navigateTo } = useContentEntriesList();\n const { showConfirmation: showForceUnlockConfirmation } = useConfirmationDialog({\n title: \"Force unlock the entry\",\n message: <ErrorMessage {...props} />\n });\n const { showSnackbar } = useSnackbar();\n\n const { history } = useRouter();\n\n const [error, setError] = useState<IRecordLockingError>();\n\n useEffect(() => {\n if (!error?.message) {\n return;\n }\n console.error(error);\n showSnackbar(error.message);\n }, [error?.message]);\n\n const onClick = useCallback(() => {\n showForceUnlockConfirmation(async () => {\n const result = await unlockEntryForce({\n id: props.id,\n $lockingType: props.type\n });\n if (!result.error) {\n navigateTo();\n return;\n }\n setError(result.error);\n });\n }, [props.id, history, navigateTo]);\n\n const { canForceUnlock } = usePermission();\n if (!canForceUnlock) {\n return null;\n }\n\n return (\n <Wrapper>\n <Text>\n Because you have a full access to the system, you can force unlock the record.\n </Text>\n <br />\n <ButtonPrimary onClick={onClick}>Unlock and go back</ButtonPrimary>\n </Wrapper>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<polygon opacity="0.87" points="0 0 24 0 24 24 0 24"/>
|
|
8
8
|
</g>
|
|
9
9
|
<path d="M18,8 L17,8 L17,6 C17,3.24 14.76,1 12,1 C9.24,1 7,3.24 7,6 L7,8 L6,8 C4.9,8 4,8.9 4,10 L4,20 C4,21.1 4.9,22 6,22 L18,22 C19.1,22 20,21.1 20,20 L20,10 C20,8.9 19.1,8 18,8 Z M12,17 C10.9,17 10,16.1 10,15 C10,13.9 10.9,13 12,13 C13.1,13 14,13.9 14,15 C14,16.1 13.1,17 12,17 Z M9,8 L9,6 C9,4.34 10.34,3 12,3 C13.66,3 15,4.34 15,6 L15,8 L9,8 Z"
|
|
10
|
-
fill="
|
|
10
|
+
fill="rgba(0, 0, 0, 0.54)" fill-rule="nonzero"/>
|
|
11
11
|
</g>
|
|
12
12
|
</g>
|
|
13
13
|
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { RecordLockingSecurityPermission } from "../../types";
|
|
3
|
+
export interface RecordLockingPermissionsProps {
|
|
4
|
+
value: RecordLockingSecurityPermission[];
|
|
5
|
+
onChange: (value: RecordLockingSecurityPermission[]) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const RecordLockingPermissions: ({ value, onChange }: RecordLockingPermissionsProps) => React.JSX.Element;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.RecordLockingPermissions = void 0;
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _Grid = require("@webiny/ui/Grid");
|
|
13
|
+
var _Select = require("@webiny/ui/Select");
|
|
14
|
+
var _i18n = require("@webiny/app/i18n");
|
|
15
|
+
var _Permissions = require("@webiny/app-admin/components/Permissions");
|
|
16
|
+
var _form = require("@webiny/form");
|
|
17
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
18
|
+
var t = _i18n.i18n.ns("app-record-locking/components/permissionRenderer");
|
|
19
|
+
var RECORD_LOCKING_PERMISSION = "recordLocking";
|
|
20
|
+
var RecordLockingPermissions = exports.RecordLockingPermissions = function RecordLockingPermissions(_ref) {
|
|
21
|
+
var value = _ref.value,
|
|
22
|
+
onChange = _ref.onChange;
|
|
23
|
+
var onFormChange = (0, _react.useCallback)(function (data) {
|
|
24
|
+
var newValue = value.filter(function (p) {
|
|
25
|
+
return p.name.startsWith(RECORD_LOCKING_PERMISSION) === false;
|
|
26
|
+
});
|
|
27
|
+
if (!data.canForceUnlock || data.canForceUnlock === "no") {
|
|
28
|
+
onChange(newValue);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
onChange([].concat((0, _toConsumableArray2.default)(newValue), [{
|
|
32
|
+
name: "recordLocking",
|
|
33
|
+
canForceUnlock: "yes"
|
|
34
|
+
}]));
|
|
35
|
+
}, [value]);
|
|
36
|
+
var formData = (0, _react.useMemo)(function () {
|
|
37
|
+
if (!Array.isArray(value)) {
|
|
38
|
+
return {};
|
|
39
|
+
}
|
|
40
|
+
var hasFullAccess = value.some(function (item) {
|
|
41
|
+
return item.name === "*";
|
|
42
|
+
});
|
|
43
|
+
if (hasFullAccess) {
|
|
44
|
+
return {
|
|
45
|
+
canForceUnlock: "yes"
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
var permissions = value.filter(function (item) {
|
|
49
|
+
return item.name.startsWith(RECORD_LOCKING_PERMISSION);
|
|
50
|
+
});
|
|
51
|
+
if (!permissions.length || !permissions.some(function (item) {
|
|
52
|
+
return !!item.canForceUnlock;
|
|
53
|
+
})) {
|
|
54
|
+
return {};
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
canForceUnlock: "yes"
|
|
58
|
+
};
|
|
59
|
+
}, []);
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_form.Form, {
|
|
61
|
+
data: formData,
|
|
62
|
+
onChange: onFormChange
|
|
63
|
+
}, function (_ref2) {
|
|
64
|
+
var Bind = _ref2.Bind;
|
|
65
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
|
|
66
|
+
className: _Permissions.gridNoPaddingClass
|
|
67
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
68
|
+
span: 6
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_Permissions.PermissionInfo, {
|
|
70
|
+
title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Advanced Record Locking"])))
|
|
71
|
+
})), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
72
|
+
span: 6
|
|
73
|
+
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
74
|
+
name: "canForceUnlock"
|
|
75
|
+
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
76
|
+
label: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Advanced Record Locking"])))
|
|
77
|
+
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
78
|
+
value: ""
|
|
79
|
+
}, t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["No Access"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
80
|
+
value: "yes"
|
|
81
|
+
}, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Full Access"])))))))));
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=RecordLockingPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_Grid","_Select","_i18n","_Permissions","_form","_templateObject","_templateObject2","_templateObject3","_templateObject4","t","i18n","ns","RECORD_LOCKING_PERMISSION","RecordLockingPermissions","exports","_ref","value","onChange","onFormChange","useCallback","data","newValue","filter","p","name","startsWith","canForceUnlock","concat","_toConsumableArray2","default","formData","useMemo","Array","isArray","hasFullAccess","some","item","permissions","length","createElement","Form","_ref2","Bind","Fragment","Grid","className","gridNoPaddingClass","Cell","span","PermissionInfo","title","_taggedTemplateLiteral2","Select","label"],"sources":["RecordLockingPermissions.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useMemo } from \"react\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { gridNoPaddingClass, PermissionInfo } from \"@webiny/app-admin/components/Permissions\";\nimport { Form } from \"@webiny/form\";\nimport { RecordLockingSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-record-locking/components/permissionRenderer\");\n\nconst RECORD_LOCKING_PERMISSION = \"recordLocking\";\n\nexport interface RecordLockingPermissionsProps {\n value: RecordLockingSecurityPermission[];\n onChange: (value: RecordLockingSecurityPermission[]) => void;\n}\n\nexport const RecordLockingPermissions = ({ value, onChange }: RecordLockingPermissionsProps) => {\n const onFormChange = useCallback(\n (data: RecordLockingSecurityPermission) => {\n const newValue = value.filter(p => {\n return p.name.startsWith(RECORD_LOCKING_PERMISSION) === false;\n });\n\n if (!data.canForceUnlock || data.canForceUnlock === \"no\") {\n onChange(newValue);\n return;\n }\n\n onChange([\n ...newValue,\n {\n name: \"recordLocking\",\n canForceUnlock: \"yes\"\n }\n ]);\n },\n [value]\n );\n\n const formData = useMemo(() => {\n if (!Array.isArray(value)) {\n return {};\n }\n\n const hasFullAccess = value.some(item => item.name === \"*\");\n\n if (hasFullAccess) {\n return {\n canForceUnlock: \"yes\"\n };\n }\n\n const permissions = value.filter(item => item.name.startsWith(RECORD_LOCKING_PERMISSION));\n\n if (!permissions.length || !permissions.some(item => !!item.canForceUnlock)) {\n return {};\n }\n\n return {\n canForceUnlock: \"yes\"\n };\n }, []);\n\n return (\n <Form<RecordLockingSecurityPermission> data={formData} onChange={onFormChange}>\n {({ Bind }) => {\n return (\n <Fragment>\n <Grid className={gridNoPaddingClass}>\n <Cell span={6}>\n <PermissionInfo title={t`Advanced Record Locking`} />\n </Cell>\n <Cell span={6}>\n <Bind name={\"canForceUnlock\"}>\n <Select label={t`Advanced Record Locking`}>\n <option value={\"\"}>{t`No Access`}</option>\n <option value={\"yes\"}>{t`Full Access`}</option>\n </Select>\n </Bind>\n </Cell>\n </Grid>\n </Fragment>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.recordLockingPermissionRenderer = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _Accordion = require("@webiny/ui/Accordion");
|
|
10
|
+
var _lock = require("../assets/lock.svg");
|
|
11
|
+
var _RecordLockingPermissions = require("./RecordLockingPermissions");
|
|
12
|
+
var recordLockingPermissionRenderer = exports.recordLockingPermissionRenderer = {
|
|
13
|
+
type: "admin-app-permissions-renderer",
|
|
14
|
+
name: "admin-app-permissions-renderer-record-locking",
|
|
15
|
+
render: function render(props) {
|
|
16
|
+
return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
|
|
17
|
+
icon: /*#__PURE__*/_react.default.createElement(_lock.ReactComponent, null),
|
|
18
|
+
title: "Record Locking",
|
|
19
|
+
description: "Manage Record Locking Permissions.",
|
|
20
|
+
"data-testid": "permission.recordLocking"
|
|
21
|
+
}, /*#__PURE__*/_react.default.createElement(_RecordLockingPermissions.RecordLockingPermissions, props));
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Accordion","_lock","_RecordLockingPermissions","recordLockingPermissionRenderer","exports","type","name","render","props","default","createElement","AccordionItem","icon","ReactComponent","title","description","RecordLockingPermissions"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { AccordionItem } from \"@webiny/ui/Accordion\";\nimport { AdminAppPermissionRendererPlugin } from \"@webiny/app-admin/types\";\nimport { ReactComponent as Icon } from \"../assets/lock.svg\";\nimport { RecordLockingPermissions } from \"./RecordLockingPermissions\";\n\nexport const recordLockingPermissionRenderer: AdminAppPermissionRendererPlugin = {\n type: \"admin-app-permissions-renderer\",\n name: \"admin-app-permissions-renderer-record-locking\",\n render(props) {\n return (\n <AccordionItem\n icon={<Icon />}\n title={\"Record Locking\"}\n description={\"Manage Record Locking Permissions.\"}\n data-testid={\"permission.recordLocking\"}\n >\n <RecordLockingPermissions {...props} />\n </AccordionItem>\n );\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,yBAAA,GAAAH,OAAA;AAEO,IAAMI,+BAAiE,GAAAC,OAAA,CAAAD,+BAAA,GAAG;EAC7EE,IAAI,EAAE,gCAAgC;EACtCC,IAAI,EAAE,+CAA+C;EACrDC,MAAM,WAANA,MAAMA,CAACC,KAAK,EAAE;IACV,oBACIX,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAW,aAAa;MACVC,IAAI,eAAEf,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,KAAA,CAAAY,cAAI,MAAE,CAAE;MACfC,KAAK,EAAE,gBAAiB;MACxBC,WAAW,EAAE,oCAAqC;MAClD,eAAa;IAA2B,gBAExClB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,yBAAA,CAAAc,wBAAwB,EAAKR,KAAQ,CAC3B,CAAC;EAExB;AACJ,CAAC","ignoreList":[]}
|
package/hooks/usePermission.d.ts
CHANGED
package/hooks/usePermission.js
CHANGED
|
@@ -10,11 +10,16 @@ var usePermission = exports.usePermission = function usePermission() {
|
|
|
10
10
|
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
11
11
|
identity = _useSecurity.identity,
|
|
12
12
|
getPermission = _useSecurity.getPermission;
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
var canForceUnlock = (0, _react.useMemo)(function () {
|
|
14
|
+
var hasFullAccess = !!getPermission("recordLocking.*");
|
|
15
|
+
if (hasFullAccess) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
var permission = getPermission("recordLocking");
|
|
19
|
+
return permission?.canForceUnlock === "yes";
|
|
20
|
+
}, [identity?.permissions]);
|
|
16
21
|
return {
|
|
17
|
-
|
|
22
|
+
canForceUnlock: canForceUnlock
|
|
18
23
|
};
|
|
19
24
|
};
|
|
20
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_appSecurity","usePermission","exports","_useSecurity","useSecurity","identity","getPermission","
|
|
1
|
+
{"version":3,"names":["_react","require","_appSecurity","usePermission","exports","_useSecurity","useSecurity","identity","getPermission","canForceUnlock","useMemo","hasFullAccess","permission","permissions"],"sources":["usePermission.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\n\nexport const usePermission = () => {\n const { identity, getPermission } = useSecurity();\n\n const canForceUnlock = useMemo(() => {\n const hasFullAccess = !!getPermission(\"recordLocking.*\");\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission(\"recordLocking\");\n return permission?.canForceUnlock === \"yes\";\n }, [identity?.permissions]);\n\n return {\n canForceUnlock\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,IAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EAC/B,IAAAE,YAAA,GAAoC,IAAAC,wBAAW,EAAC,CAAC;IAAzCC,QAAQ,GAAAF,YAAA,CAARE,QAAQ;IAAEC,aAAa,GAAAH,YAAA,CAAbG,aAAa;EAE/B,IAAMC,cAAc,GAAG,IAAAC,cAAO,EAAC,YAAM;IACjC,IAAMC,aAAa,GAAG,CAAC,CAACH,aAAa,CAAC,iBAAiB,CAAC;IACxD,IAAIG,aAAa,EAAE;MACf,OAAO,IAAI;IACf;IACA,IAAMC,UAAU,GAAGJ,aAAa,CAAC,eAAe,CAAC;IACjD,OAAOI,UAAU,EAAEH,cAAc,KAAK,KAAK;EAC/C,CAAC,EAAE,CAACF,QAAQ,EAAEM,WAAW,CAAC,CAAC;EAE3B,OAAO;IACHJ,cAAc,EAAdA;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
package/index.js
CHANGED
|
@@ -25,6 +25,8 @@ Object.keys(_RecordLockingProvider).forEach(function (key) {
|
|
|
25
25
|
var _HeadlessCmsActionsAcoCell = require("./components/HeadlessCmsActionsAcoCell");
|
|
26
26
|
var _HeadlessCmsContentEntry = require("./components/HeadlessCmsContentEntry");
|
|
27
27
|
var _appWcp = require("@webiny/app-wcp");
|
|
28
|
+
var _plugins = require("@webiny/plugins");
|
|
29
|
+
var _permissionRenderer = require("./components/permissionRenderer");
|
|
28
30
|
var _hooks = require("./hooks");
|
|
29
31
|
Object.keys(_hooks).forEach(function (key) {
|
|
30
32
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -48,6 +50,7 @@ var RecordLocking = exports.RecordLocking = function RecordLocking() {
|
|
|
48
50
|
if (!wcp.canUseRecordLocking()) {
|
|
49
51
|
return null;
|
|
50
52
|
}
|
|
53
|
+
_plugins.plugins.register(_permissionRenderer.recordLockingPermissionRenderer);
|
|
51
54
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_app.Provider, {
|
|
52
55
|
hoc: RecordLockingHoc
|
|
53
56
|
}), /*#__PURE__*/_react.default.createElement(_HeadlessCmsActionsAcoCell.HeadlessCmsActionsAcoCell, null), /*#__PURE__*/_react.default.createElement(_HeadlessCmsContentEntry.HeadlessCmsContentEntry, null));
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_app","_RecordLockingProvider","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_HeadlessCmsActionsAcoCell","_HeadlessCmsContentEntry","_appWcp","_hooks","RecordLockingHoc","Component","RecordLockingProvider","_ref","children","default","createElement","RecordLocking","wcp","useWcp","canUseRecordLocking","Fragment","Provider","hoc","HeadlessCmsActionsAcoCell","HeadlessCmsContentEntry"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Provider } from \"@webiny/app\";\nimport { RecordLockingProvider as RecordLockingProviderComponent } from \"~/components/RecordLockingProvider\";\nimport { HeadlessCmsActionsAcoCell } from \"~/components/HeadlessCmsActionsAcoCell\";\nimport { HeadlessCmsContentEntry } from \"~/components/HeadlessCmsContentEntry\";\nimport { useWcp } from \"@webiny/app-wcp\";\n\nexport * from \"~/components/RecordLockingProvider\";\nexport * from \"~/hooks\";\n\nexport interface RecordLockingProviderProps {\n children: React.ReactNode;\n}\n\nconst RecordLockingHoc = (Component: React.ComponentType<RecordLockingProviderProps>) => {\n return function RecordLockingProvider({ children }: RecordLockingProviderProps) {\n return (\n <Component>\n <RecordLockingProviderComponent>{children}</RecordLockingProviderComponent>\n </Component>\n );\n };\n};\n\nexport const RecordLocking = () => {\n const wcp = useWcp();\n\n if (!wcp.canUseRecordLocking()) {\n return null;\n }\n\n return (\n <>\n <Provider hoc={RecordLockingHoc} />\n <HeadlessCmsActionsAcoCell />\n <HeadlessCmsContentEntry />\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_app","_RecordLockingProvider","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_HeadlessCmsActionsAcoCell","_HeadlessCmsContentEntry","_appWcp","_plugins","_permissionRenderer","_hooks","RecordLockingHoc","Component","RecordLockingProvider","_ref","children","default","createElement","RecordLocking","wcp","useWcp","canUseRecordLocking","plugins","register","recordLockingPermissionRenderer","Fragment","Provider","hoc","HeadlessCmsActionsAcoCell","HeadlessCmsContentEntry"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Provider } from \"@webiny/app\";\nimport { RecordLockingProvider as RecordLockingProviderComponent } from \"~/components/RecordLockingProvider\";\nimport { HeadlessCmsActionsAcoCell } from \"~/components/HeadlessCmsActionsAcoCell\";\nimport { HeadlessCmsContentEntry } from \"~/components/HeadlessCmsContentEntry\";\nimport { useWcp } from \"@webiny/app-wcp\";\nimport { plugins } from \"@webiny/plugins\";\nimport { recordLockingPermissionRenderer } from \"~/components/permissionRenderer\";\n\nexport * from \"~/components/RecordLockingProvider\";\nexport * from \"~/hooks\";\n\nexport interface RecordLockingProviderProps {\n children: React.ReactNode;\n}\n\nconst RecordLockingHoc = (Component: React.ComponentType<RecordLockingProviderProps>) => {\n return function RecordLockingProvider({ children }: RecordLockingProviderProps) {\n return (\n <Component>\n <RecordLockingProviderComponent>{children}</RecordLockingProviderComponent>\n </Component>\n );\n };\n};\n\nexport const RecordLocking = () => {\n const wcp = useWcp();\n\n if (!wcp.canUseRecordLocking()) {\n return null;\n }\n plugins.register(recordLockingPermissionRenderer);\n\n return (\n <>\n <Provider hoc={RecordLockingHoc} />\n <HeadlessCmsActionsAcoCell />\n <HeadlessCmsContentEntry />\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAOAG,MAAA,CAAAC,IAAA,CAAAF,sBAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,sBAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAZ,sBAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AANA,IAAAS,0BAAA,GAAAf,OAAA;AACA,IAAAgB,wBAAA,GAAAhB,OAAA;AACA,IAAAiB,OAAA,GAAAjB,OAAA;AACA,IAAAkB,QAAA,GAAAlB,OAAA;AACA,IAAAmB,mBAAA,GAAAnB,OAAA;AAGA,IAAAoB,MAAA,GAAApB,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAgB,MAAA,EAAAf,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAc,MAAA,CAAAd,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAM,MAAA,CAAAd,GAAA;IAAA;EAAA;AAAA;AAMA,IAAMe,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,SAA0D,EAAK;EACrF,OAAO,SAASC,qBAAqBA,CAAAC,IAAA,EAA2C;IAAA,IAAxCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAC5C,oBACI3B,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACL,SAAS,qBACNxB,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACzB,sBAAA,CAAAqB,qBAA8B,QAAEE,QAAyC,CACnE,CAAC;EAEpB,CAAC;AACL,CAAC;AAEM,IAAMG,aAAa,GAAAjB,OAAA,CAAAiB,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EAC/B,IAAMC,GAAG,GAAG,IAAAC,cAAM,EAAC,CAAC;EAEpB,IAAI,CAACD,GAAG,CAACE,mBAAmB,CAAC,CAAC,EAAE;IAC5B,OAAO,IAAI;EACf;EACAC,gBAAO,CAACC,QAAQ,CAACC,mDAA+B,CAAC;EAEjD,oBACIpC,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAAA7B,MAAA,CAAA4B,OAAA,CAAAS,QAAA,qBACIrC,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAAC1B,IAAA,CAAAmC,QAAQ;IAACC,GAAG,EAAEhB;EAAiB,CAAE,CAAC,eACnCvB,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACZ,0BAAA,CAAAuB,yBAAyB,MAAE,CAAC,eAC7BxC,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACX,wBAAA,CAAAuB,uBAAuB,MAAE,CAC5B,CAAC;AAEX,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-record-locking",
|
|
3
|
-
"version": "5.42.1-beta.
|
|
3
|
+
"version": "5.42.1-beta.2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -16,17 +16,19 @@
|
|
|
16
16
|
"@apollo/react-hooks": "3.1.5",
|
|
17
17
|
"@emotion/styled": "11.10.6",
|
|
18
18
|
"@material-design-icons/svg": "0.14.13",
|
|
19
|
-
"@webiny/app": "5.42.1-beta.
|
|
20
|
-
"@webiny/app-aco": "5.42.1-beta.
|
|
21
|
-
"@webiny/app-admin": "5.42.1-beta.
|
|
22
|
-
"@webiny/app-headless-cms": "5.42.1-beta.
|
|
23
|
-
"@webiny/app-security": "5.42.1-beta.
|
|
24
|
-
"@webiny/app-wcp": "5.42.1-beta.
|
|
25
|
-
"@webiny/app-websockets": "5.42.1-beta.
|
|
26
|
-
"@webiny/error": "5.42.1-beta.
|
|
27
|
-
"@webiny/
|
|
28
|
-
"@webiny/
|
|
29
|
-
"@webiny/
|
|
19
|
+
"@webiny/app": "5.42.1-beta.2",
|
|
20
|
+
"@webiny/app-aco": "5.42.1-beta.2",
|
|
21
|
+
"@webiny/app-admin": "5.42.1-beta.2",
|
|
22
|
+
"@webiny/app-headless-cms": "5.42.1-beta.2",
|
|
23
|
+
"@webiny/app-security": "5.42.1-beta.2",
|
|
24
|
+
"@webiny/app-wcp": "5.42.1-beta.2",
|
|
25
|
+
"@webiny/app-websockets": "5.42.1-beta.2",
|
|
26
|
+
"@webiny/error": "5.42.1-beta.2",
|
|
27
|
+
"@webiny/form": "5.42.1-beta.2",
|
|
28
|
+
"@webiny/plugins": "5.42.1-beta.2",
|
|
29
|
+
"@webiny/react-router": "5.42.1-beta.2",
|
|
30
|
+
"@webiny/ui": "5.42.1-beta.2",
|
|
31
|
+
"@webiny/utils": "5.42.1-beta.2",
|
|
30
32
|
"apollo-client": "2.6.10",
|
|
31
33
|
"apollo-link": "1.2.14",
|
|
32
34
|
"crypto-hash": "3.0.0",
|
|
@@ -35,8 +37,8 @@
|
|
|
35
37
|
"react-dom": "18.2.0"
|
|
36
38
|
},
|
|
37
39
|
"devDependencies": {
|
|
38
|
-
"@webiny/cli": "5.42.1-beta.
|
|
39
|
-
"@webiny/project-utils": "5.42.1-beta.
|
|
40
|
+
"@webiny/cli": "5.42.1-beta.2",
|
|
41
|
+
"@webiny/project-utils": "5.42.1-beta.2",
|
|
40
42
|
"rimraf": "6.0.1",
|
|
41
43
|
"ttypescript": "1.5.15",
|
|
42
44
|
"typescript": "4.9.5"
|
|
@@ -49,5 +51,5 @@
|
|
|
49
51
|
"build": "yarn webiny run build",
|
|
50
52
|
"watch": "yarn webiny run watch"
|
|
51
53
|
},
|
|
52
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "86931bade22e9407f297bb69e3a898e2b7e2450a"
|
|
53
55
|
}
|
package/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EntryTableItem } from "@webiny/app-headless-cms/types";
|
|
2
2
|
import { GenericRecord } from "@webiny/app/types";
|
|
3
3
|
import { IRecordLockingUnlockEntryResult } from "./domain/abstractions/IRecordLockingUnlockEntry";
|
|
4
|
+
import { SecurityPermission } from "@webiny/app-security/types";
|
|
4
5
|
export interface IRecordLockingIdentity {
|
|
5
6
|
id: string;
|
|
6
7
|
displayName: string;
|
|
@@ -70,3 +71,6 @@ export interface IRecordLockingError<T = GenericRecord> {
|
|
|
70
71
|
code: string;
|
|
71
72
|
data?: T;
|
|
72
73
|
}
|
|
74
|
+
export interface RecordLockingSecurityPermission extends SecurityPermission {
|
|
75
|
+
canForceUnlock?: string;
|
|
76
|
+
}
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { EntryTableItem } from \"@webiny/app-headless-cms/types\";\nimport { GenericRecord } from \"@webiny/app/types\";\nimport { IRecordLockingUnlockEntryResult } from \"~/domain/abstractions/IRecordLockingUnlockEntry\";\n\nexport interface IRecordLockingIdentity {\n id: string;\n displayName: string;\n type: string;\n}\n\nexport interface IRecordLockingRecordLocked {\n lockedBy: IRecordLockingIdentity;\n lockedOn: string;\n expiresOn: string;\n actions: IRecordLockingLockRecordAction[];\n}\n\nexport interface IPossiblyRecordLockingRecord extends EntryTableItem {\n $lockingType?: string;\n entryId: string;\n $locked?: IRecordLockingRecordLocked | null;\n}\n\nexport interface IRecordLockingRecord extends IPossiblyRecordLockingRecord {\n entryId: string;\n $lockingType: string;\n}\n\nexport type IIsRecordLockedParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IUpdateEntryLockParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IUnlockEntryParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IFetchLockRecordParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IFetchLockedEntryLockRecordParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport interface IFetchLockRecordResult {\n data: IRecordLockingLockRecord | null;\n error: IRecordLockingError | null;\n}\n\nexport interface IRecordLockingContext<\n T extends IPossiblyRecordLockingRecord = IPossiblyRecordLockingRecord\n> {\n readonly loading: boolean;\n readonly records: IPossiblyRecordLockingRecord[];\n readonly error?: IRecordLockingError | null;\n setRecords(folderId: string, type: string, records: T[]): Promise<void>;\n updateEntryLock(params: IUpdateEntryLockParams): Promise<void>;\n isRecordLocked(params?: IIsRecordLockedParams): boolean;\n getLockRecordEntry(id: string): IRecordLockingRecord | undefined;\n fetchLockRecord(params: IFetchLockRecordParams): Promise<IFetchLockRecordResult>;\n fetchLockedEntryLockRecord(\n params: IFetchLockedEntryLockRecordParams\n ): Promise<IRecordLockingLockRecord | null>;\n unlockEntry(params: IUnlockEntryParams): Promise<IRecordLockingUnlockEntryResult>;\n removeEntryLock(params: IUnlockEntryParams): void;\n unlockEntryForce(params: IUnlockEntryParams): Promise<IRecordLockingUnlockEntryResult>;\n isLockExpired(input: Date | string): boolean;\n}\n\nexport interface IRecordLockingLockRecordAction {\n type: string;\n message: string;\n createdBy: IRecordLockingIdentity;\n createdOn: string;\n}\n\nexport interface IRecordLockingLockRecord {\n id: string;\n lockedOn: string;\n expiresOn: string;\n lockedBy: IRecordLockingIdentity;\n targetId: string;\n type: string;\n actions: IRecordLockingLockRecordAction[];\n}\n\nexport interface IRecordLockingMeta {\n totalCount: number;\n cursor: string | null;\n hasMoreItems: boolean;\n}\n\nexport interface IRecordLockingError<T = GenericRecord> {\n message: string;\n code: string;\n data?: T;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { EntryTableItem } from \"@webiny/app-headless-cms/types\";\nimport { GenericRecord } from \"@webiny/app/types\";\nimport { IRecordLockingUnlockEntryResult } from \"~/domain/abstractions/IRecordLockingUnlockEntry\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\n\nexport interface IRecordLockingIdentity {\n id: string;\n displayName: string;\n type: string;\n}\n\nexport interface IRecordLockingRecordLocked {\n lockedBy: IRecordLockingIdentity;\n lockedOn: string;\n expiresOn: string;\n actions: IRecordLockingLockRecordAction[];\n}\n\nexport interface IPossiblyRecordLockingRecord extends EntryTableItem {\n $lockingType?: string;\n entryId: string;\n $locked?: IRecordLockingRecordLocked | null;\n}\n\nexport interface IRecordLockingRecord extends IPossiblyRecordLockingRecord {\n entryId: string;\n $lockingType: string;\n}\n\nexport type IIsRecordLockedParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IUpdateEntryLockParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IUnlockEntryParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IFetchLockRecordParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IFetchLockedEntryLockRecordParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport interface IFetchLockRecordResult {\n data: IRecordLockingLockRecord | null;\n error: IRecordLockingError | null;\n}\n\nexport interface IRecordLockingContext<\n T extends IPossiblyRecordLockingRecord = IPossiblyRecordLockingRecord\n> {\n readonly loading: boolean;\n readonly records: IPossiblyRecordLockingRecord[];\n readonly error?: IRecordLockingError | null;\n setRecords(folderId: string, type: string, records: T[]): Promise<void>;\n updateEntryLock(params: IUpdateEntryLockParams): Promise<void>;\n isRecordLocked(params?: IIsRecordLockedParams): boolean;\n getLockRecordEntry(id: string): IRecordLockingRecord | undefined;\n fetchLockRecord(params: IFetchLockRecordParams): Promise<IFetchLockRecordResult>;\n fetchLockedEntryLockRecord(\n params: IFetchLockedEntryLockRecordParams\n ): Promise<IRecordLockingLockRecord | null>;\n unlockEntry(params: IUnlockEntryParams): Promise<IRecordLockingUnlockEntryResult>;\n removeEntryLock(params: IUnlockEntryParams): void;\n unlockEntryForce(params: IUnlockEntryParams): Promise<IRecordLockingUnlockEntryResult>;\n isLockExpired(input: Date | string): boolean;\n}\n\nexport interface IRecordLockingLockRecordAction {\n type: string;\n message: string;\n createdBy: IRecordLockingIdentity;\n createdOn: string;\n}\n\nexport interface IRecordLockingLockRecord {\n id: string;\n lockedOn: string;\n expiresOn: string;\n lockedBy: IRecordLockingIdentity;\n targetId: string;\n type: string;\n actions: IRecordLockingLockRecordAction[];\n}\n\nexport interface IRecordLockingMeta {\n totalCount: number;\n cursor: string | null;\n hasMoreItems: boolean;\n}\n\nexport interface IRecordLockingError<T = GenericRecord> {\n message: string;\n code: string;\n data?: T;\n}\n\nexport interface RecordLockingSecurityPermission extends SecurityPermission {\n canForceUnlock?: string;\n}\n"],"mappings":"","ignoreList":[]}
|