roamjs-components 0.62.8 → 0.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/backend/putRoamJSUser.d.ts +1 -1
  2. package/backend/putRoamJSUser.js +5 -8
  3. package/backend/putRoamJSUser.js.map +1 -1
  4. package/components/ConfigPage.d.ts +2 -1
  5. package/components/ConfigPage.js +11 -330
  6. package/components/ConfigPage.js.map +1 -1
  7. package/components/ConfigPanels/BlockPanel.d.ts +3 -0
  8. package/components/ConfigPanels/BlockPanel.js +43 -0
  9. package/components/ConfigPanels/BlockPanel.js.map +1 -0
  10. package/components/ConfigPanels/BlocksPanel.d.ts +3 -0
  11. package/components/ConfigPanels/BlocksPanel.js +61 -0
  12. package/components/ConfigPanels/BlocksPanel.js.map +1 -0
  13. package/components/ConfigPanels/CustomPanel.d.ts +3 -0
  14. package/components/ConfigPanels/CustomPanel.js +25 -0
  15. package/components/ConfigPanels/CustomPanel.js.map +1 -0
  16. package/components/ConfigPanels/FlagPanel.d.ts +3 -0
  17. package/components/ConfigPanels/FlagPanel.js +32 -0
  18. package/components/ConfigPanels/FlagPanel.js.map +1 -0
  19. package/components/ConfigPanels/MultiChildPanel.d.ts +13 -0
  20. package/components/ConfigPanels/MultiChildPanel.js +58 -0
  21. package/components/ConfigPanels/MultiChildPanel.js.map +1 -0
  22. package/components/ConfigPanels/MultiTextPanel.d.ts +3 -0
  23. package/components/ConfigPanels/MultiTextPanel.js +12 -0
  24. package/components/ConfigPanels/MultiTextPanel.js.map +1 -0
  25. package/components/ConfigPanels/NumberPanel.d.ts +3 -0
  26. package/components/ConfigPanels/NumberPanel.js +26 -0
  27. package/components/ConfigPanels/NumberPanel.js.map +1 -0
  28. package/components/ConfigPanels/OauthPanel.js +1 -0
  29. package/components/ConfigPanels/OauthPanel.js.map +1 -1
  30. package/components/ConfigPanels/PagesPanel.d.ts +3 -0
  31. package/components/ConfigPanels/PagesPanel.js +12 -0
  32. package/components/ConfigPanels/PagesPanel.js.map +1 -0
  33. package/components/ConfigPanels/SelectPanel.d.ts +3 -0
  34. package/components/ConfigPanels/SelectPanel.js +28 -0
  35. package/components/ConfigPanels/SelectPanel.js.map +1 -0
  36. package/components/ConfigPanels/TextPanel.d.ts +3 -0
  37. package/components/ConfigPanels/TextPanel.js +26 -0
  38. package/components/ConfigPanels/TextPanel.js.map +1 -0
  39. package/components/ConfigPanels/TimePanel.d.ts +3 -0
  40. package/components/ConfigPanels/TimePanel.js +35 -0
  41. package/components/ConfigPanels/TimePanel.js.map +1 -0
  42. package/components/ConfigPanels/getBrandColors.d.ts +7 -0
  43. package/components/ConfigPanels/getBrandColors.js +29 -0
  44. package/components/ConfigPanels/getBrandColors.js.map +1 -0
  45. package/components/ConfigPanels/types.d.ts +6 -3
  46. package/components/ConfigPanels/useSingleChildValue.d.ts +13 -0
  47. package/components/ConfigPanels/useSingleChildValue.js +44 -0
  48. package/components/ConfigPanels/useSingleChildValue.js.map +1 -0
  49. package/package.json +6 -4
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const getFirstChildUidByBlockUid_1 = tslib_1.__importDefault(require("../../queries/getFirstChildUidByBlockUid"));
7
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
8
+ const createBlock_1 = tslib_1.__importDefault(require("../../writes/createBlock"));
9
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
10
+ const BlocksPanel = ({ uid: initialUid, parentUid, title, defaultValue, description, }) => {
11
+ const containerRef = (0, react_1.useRef)(null);
12
+ (0, react_1.useEffect)(() => {
13
+ if (containerRef.current) {
14
+ const el = containerRef.current;
15
+ (initialUid
16
+ ? Promise.resolve(initialUid)
17
+ : (0, createBlock_1.default)({ node: { text: title, children: [] }, parentUid }))
18
+ .then((formatUid) => (0, getFirstChildUidByBlockUid_1.default)(formatUid)
19
+ ? formatUid
20
+ : ((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.length)
21
+ ? Promise.all(defaultValue.map((node, order) => (0, createBlock_1.default)({
22
+ node,
23
+ parentUid: formatUid,
24
+ order,
25
+ })))
26
+ : (0, createBlock_1.default)({
27
+ node: { text: " " },
28
+ parentUid: formatUid,
29
+ })).then(() => formatUid))
30
+ .then((uid) => {
31
+ window.roamAlphaAPI.ui.components.renderBlock({
32
+ uid,
33
+ el,
34
+ });
35
+ });
36
+ }
37
+ }, [containerRef, defaultValue]);
38
+ return (react_1.default.createElement(react_1.default.Fragment, null,
39
+ react_1.default.createElement(core_1.Label, null,
40
+ (0, idToTitle_1.default)(title),
41
+ react_1.default.createElement(Description_1.default, { description: description })),
42
+ react_1.default.createElement("style", null, `.roamjs-config-blocks > div > .rm-block-main {
43
+ display: none;
44
+ }
45
+
46
+ .roamjs-config-blocks > div > .rm-block-children > .rm-multibar {
47
+ display: none;
48
+ }
49
+
50
+ .roamjs-config-blocks > div > .rm-block-children {
51
+ margin-left: -4px;
52
+ }`),
53
+ react_1.default.createElement("div", { ref: containerRef, style: {
54
+ border: "1px solid #33333333",
55
+ padding: "8px 0",
56
+ borderRadius: 4,
57
+ }, className: "roamjs-config-blocks" })));
58
+ };
59
+ BlocksPanel.type = "blocks";
60
+ exports.default = BlocksPanel;
61
+ //# sourceMappingURL=BlocksPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlocksPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/BlocksPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,uDAAiD;AACjD,kHAAkF;AAClF,6EAA6C;AAC7C,mFAAmD;AACnD,yEAAyC;AAGzC,MAAM,WAAW,GAA4B,CAAC,EAC5C,GAAG,EAAE,UAAU,EACf,SAAS,EACT,KAAK,EACL,YAAY,EACZ,WAAW,GACZ,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAClC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,EAAE;YACxB,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;YAChC,CAAC,UAAU;gBACT,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC7B,CAAC,CAAC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAClE;iBACE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAClB,IAAA,oCAA0B,EAAC,SAAS,CAAC;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM;oBACnB,CAAC,CAAC,OAAO,CAAC,GAAG,CACT,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC/B,IAAA,qBAAW,EAAC;wBACV,IAAI;wBACJ,SAAS,EAAE,SAAS;wBACpB,KAAK;qBACN,CAAC,CACH,CACF;oBACH,CAAC,CAAC,IAAA,qBAAW,EAAC;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;wBACnB,SAAS,EAAE,SAAS;qBACrB,CAAC,CACL,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAC5B;iBACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;oBAC5C,GAAG;oBACH,EAAE;iBACH,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IACjC,OAAO,CACL;QACE,8BAAC,YAAK;YACH,IAAA,mBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACnC;QACR,6CAAQ;;;;;;;;;;IAUV,CAAS;QACP,uCACE,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;gBACL,MAAM,EAAE,qBAAqB;gBAC7B,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,CAAC;aAChB,EACD,SAAS,EAAE,sBAAsB,GAC5B,CACN,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAE5B,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { FieldPanel, CustomField } from "./types";
2
+ declare const CustomPanel: FieldPanel<CustomField>;
3
+ export default CustomPanel;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const util_1 = require("../../util");
7
+ const writes_1 = require("../../writes");
8
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
9
+ const CustomPanel = ({ description, title, uid: inputUid, options: { component: Component }, parentUid, defaultValue = [], order, }) => {
10
+ const uid = (0, react_1.useMemo)(() => {
11
+ if (inputUid)
12
+ return inputUid;
13
+ const newUid = window.roamAlphaAPI.util.generateUID();
14
+ (0, writes_1.createBlock)({ node: { text: title, uid: newUid }, parentUid, order });
15
+ return newUid;
16
+ }, [inputUid]);
17
+ return (react_1.default.createElement(react_1.default.Fragment, null,
18
+ react_1.default.createElement(core_1.Label, null,
19
+ (0, util_1.idToTitle)(title),
20
+ react_1.default.createElement(Description_1.default, { description: description })),
21
+ react_1.default.createElement(Component, { uid: uid, parentUid: parentUid, title: title, defaultValue: defaultValue })));
22
+ };
23
+ CustomPanel.type = "custom";
24
+ exports.default = CustomPanel;
25
+ //# sourceMappingURL=CustomPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/CustomPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,uDAAuC;AACvC,qCAAuC;AACvC,yCAA2C;AAC3C,yEAAyC;AAGzC,MAAM,WAAW,GAA4B,CAAC,EAC5C,WAAW,EACX,KAAK,EACL,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EACjC,SAAS,EACT,YAAY,GAAG,EAAE,EACjB,KAAK,GACN,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvB,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtD,IAAA,oBAAW,EAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,OAAO,CACL;QACE,8BAAC,YAAK;YACH,IAAA,gBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACnC;QACR,8BAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,GAC1B,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAE5B,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, FlagField } from "./types";
2
+ declare const FlagPanel: FieldPanel<FlagField>;
3
+ export default FlagPanel;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
7
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
8
+ const FlagPanel = ({ title, uid: initialUid, parentUid, order, description, options = {}, }) => {
9
+ const [uid, setUid] = (0, react_1.useState)(initialUid);
10
+ return (react_1.default.createElement(core_1.Checkbox, { checked: !!uid, onChange: (e) => {
11
+ var _a;
12
+ const { checked } = e.target;
13
+ if (checked) {
14
+ const newUid = window.roamAlphaAPI.util.generateUID();
15
+ window.roamAlphaAPI.createBlock({
16
+ block: { string: title, uid: newUid },
17
+ location: { order, "parent-uid": parentUid },
18
+ });
19
+ setTimeout(() => setUid(newUid), 1);
20
+ }
21
+ else {
22
+ window.roamAlphaAPI.deleteBlock({ block: { uid } });
23
+ setUid("");
24
+ }
25
+ (_a = options.onChange) === null || _a === void 0 ? void 0 : _a.call(options, checked);
26
+ }, labelElement: react_1.default.createElement(react_1.default.Fragment, null,
27
+ (0, idToTitle_1.default)(title),
28
+ react_1.default.createElement(Description_1.default, { description: description })) }));
29
+ };
30
+ FlagPanel.type = "flag";
31
+ exports.default = FlagPanel;
32
+ //# sourceMappingURL=FlagPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlagPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/FlagPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA6C;AAC7C,uDAAwC;AACxC,6EAA6C;AAC7C,yEAAyC;AAGzC,MAAM,SAAS,GAA0B,CAAC,EACxC,KAAK,EACL,GAAG,EAAE,UAAU,EACf,SAAS,EACT,KAAK,EACL,WAAW,EACX,OAAO,GAAG,EAAE,GACb,EAAE,EAAE;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,CACL,8BAAC,eAAQ,IACP,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;;YACd,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAA0B,CAAC;YACjD,IAAI,OAAO,EAAE;gBACX,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE;oBACrC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE;iBAC7C,CAAC,CAAC;gBACH,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;aACrC;iBAAM;gBACL,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpD,MAAM,CAAC,EAAE,CAAC,CAAC;aACZ;YACD,MAAA,OAAO,CAAC,QAAQ,wDAAG,OAAO,CAAC,CAAC;QAC9B,CAAC,EACD,YAAY,EACV;YACG,IAAA,mBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACxC,GAEL,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;AAExB,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import type { FieldPanel, ArrayField } from "./types";
3
+ declare const MultiChildPanel: ({ uid: initialUid, title, description, order, parentUid, InputComponent, }: {
4
+ order: number;
5
+ uid?: string | undefined;
6
+ parentUid: string;
7
+ } & Omit<import("./types").Field<ArrayField>, "Panel"> & {
8
+ InputComponent: (props: {
9
+ value: string;
10
+ setValue: (s: string) => void;
11
+ }) => React.ReactElement;
12
+ }) => JSX.Element;
13
+ export default MultiChildPanel;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const getShallowTreeByParentUid_1 = tslib_1.__importDefault(require("../../queries/getShallowTreeByParentUid"));
7
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
8
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
9
+ const MultiChildPanel = ({ uid: initialUid, title, description, order, parentUid, InputComponent, }) => {
10
+ const [uid, setUid] = (0, react_1.useState)(initialUid);
11
+ const [texts, setTexts] = (0, react_1.useState)(() => uid ? (0, getShallowTreeByParentUid_1.default)(uid) : []);
12
+ const [value, setValue] = (0, react_1.useState)("");
13
+ return (react_1.default.createElement(react_1.default.Fragment, null,
14
+ react_1.default.createElement(core_1.Label, null,
15
+ (0, idToTitle_1.default)(title),
16
+ react_1.default.createElement(Description_1.default, { description: description }),
17
+ react_1.default.createElement("div", { style: { display: "flex" } },
18
+ react_1.default.createElement(InputComponent, { value: value, setValue: setValue }),
19
+ react_1.default.createElement(core_1.Button, { icon: "plus", minimal: true, disabled: !value, onClick: () => {
20
+ const valueUid = window.roamAlphaAPI.util.generateUID();
21
+ if (uid) {
22
+ window.roamAlphaAPI.createBlock({
23
+ location: { "parent-uid": uid, order: texts.length },
24
+ block: { string: value, uid: valueUid },
25
+ });
26
+ }
27
+ else {
28
+ const newUid = window.roamAlphaAPI.util.generateUID();
29
+ window.roamAlphaAPI.createBlock({
30
+ block: { string: title, uid: newUid },
31
+ location: { order, "parent-uid": parentUid },
32
+ });
33
+ setTimeout(() => setUid(newUid));
34
+ window.roamAlphaAPI.createBlock({
35
+ block: { string: value, uid: valueUid },
36
+ location: { order: 0, "parent-uid": newUid },
37
+ });
38
+ }
39
+ setTexts([...texts, { text: value, uid: valueUid }]);
40
+ setValue("");
41
+ } }))),
42
+ texts.map((p) => (react_1.default.createElement("div", { key: p.uid, style: {
43
+ display: "flex",
44
+ alignItems: "center",
45
+ justifyContent: "space-between",
46
+ } },
47
+ react_1.default.createElement("span", { style: {
48
+ textOverflow: "ellipsis",
49
+ whiteSpace: "nowrap",
50
+ overflow: "hidden",
51
+ } }, p.text),
52
+ react_1.default.createElement(core_1.Button, { icon: "trash", minimal: true, onClick: () => {
53
+ window.roamAlphaAPI.deleteBlock({ block: { uid: p.uid } });
54
+ setTexts(texts.filter((f) => f.uid !== p.uid));
55
+ } }))))));
56
+ };
57
+ exports.default = MultiChildPanel;
58
+ //# sourceMappingURL=MultiChildPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiChildPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/MultiChildPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, MultiTextField } from "./types";
2
+ declare const MultiTextPanel: FieldPanel<MultiTextField>;
3
+ export default MultiTextPanel;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const MultiChildPanel_1 = tslib_1.__importDefault(require("./MultiChildPanel"));
7
+ const MultiTextPanel = (props) => {
8
+ return (react_1.default.createElement(MultiChildPanel_1.default, Object.assign({}, props, { InputComponent: ({ value, setValue }) => (react_1.default.createElement(core_1.InputGroup, { value: value, onChange: (e) => setValue(e.target.value) })) })));
9
+ };
10
+ MultiTextPanel.type = "multitext";
11
+ exports.default = MultiTextPanel;
12
+ //# sourceMappingURL=MultiTextPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiTextPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/MultiTextPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA+C;AAC/C,0DAA0B;AAC1B,gFAAgD;AAGhD,MAAM,cAAc,GAA+B,CAAC,KAAK,EAAE,EAAE;IAC3D,OAAO,CACL,8BAAC,yBAAe,oBACV,KAAK,IACT,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACvC,8BAAC,iBAAU,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,CACxE,IACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC;AAElC,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { FieldPanel, NumberField } from "./types";
2
+ declare const NumberPanel: FieldPanel<NumberField>;
3
+ export default NumberPanel;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
7
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
8
+ const useSingleChildValue_1 = tslib_1.__importDefault(require("./useSingleChildValue"));
9
+ const NumberPanel = ({ title, uid, parentUid, order, description, defaultValue = 0, }) => {
10
+ const { value, onChange } = (0, useSingleChildValue_1.default)({
11
+ defaultValue,
12
+ title,
13
+ uid,
14
+ parentUid,
15
+ order,
16
+ transform: parseInt,
17
+ toStr: (v) => `${v}`,
18
+ });
19
+ return (react_1.default.createElement(core_1.Label, null,
20
+ (0, idToTitle_1.default)(title),
21
+ react_1.default.createElement(Description_1.default, { description: description }),
22
+ react_1.default.createElement(core_1.NumericInput, { value: value, onValueChange: onChange })));
23
+ };
24
+ NumberPanel.type = "number";
25
+ exports.default = NumberPanel;
26
+ //# sourceMappingURL=NumberPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/NumberPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAAwD;AACxD,0DAA0B;AAC1B,6EAA6C;AAC7C,yEAAyC;AAEzC,wFAAwD;AAExD,MAAM,WAAW,GAA4B,CAAC,EAC5C,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,GAAG,CAAC,GACjB,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAmB,EAAC;QAC9C,YAAY;QACZ,KAAK;QACL,GAAG;QACH,SAAS;QACT,KAAK;QACL,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;KACrB,CAAC,CAAC;IACH,OAAO,CACL,8BAAC,YAAK;QACH,IAAA,mBAAS,EAAC,KAAK,CAAC;QACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI;QACzC,8BAAC,mBAAY,IAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,GAAI,CACjD,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAE5B,kBAAe,WAAW,CAAC"}
@@ -77,5 +77,6 @@ const OauthPanel = ({ uid, parentUid, options }) => {
77
77
  setAccounts(accounts.filter((a) => act.uid !== a.uid));
78
78
  } })))))))));
79
79
  };
80
+ OauthPanel.type = "oauth";
80
81
  exports.default = OauthPanel;
81
82
  //# sourceMappingURL=OauthPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OauthPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/OauthPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OauthPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/OauthPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, PagesField } from "./types";
2
+ declare const PagesPanel: FieldPanel<PagesField>;
3
+ export default PagesPanel;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ const PageInput_1 = tslib_1.__importDefault(require("../PageInput"));
6
+ const MultiChildPanel_1 = tslib_1.__importDefault(require("./MultiChildPanel"));
7
+ const PagesPanel = (props) => {
8
+ return (react_1.default.createElement(MultiChildPanel_1.default, Object.assign({}, props, { InputComponent: (inputProps) => (react_1.default.createElement(PageInput_1.default, Object.assign({ extra: ["{all}"] }, inputProps))) })));
9
+ };
10
+ PagesPanel.type = "pages";
11
+ exports.default = PagesPanel;
12
+ //# sourceMappingURL=PagesPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PagesPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/PagesPanel.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,qEAAqC;AACrC,gFAAgD;AAGhD,MAAM,UAAU,GAA2B,CAAC,KAAK,EAAE,EAAE;IACnD,OAAO,CACL,8BAAC,yBAAe,oBACV,KAAK,IACT,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAC9B,8BAAC,mBAAS,kBAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAM,UAAU,EAAI,CAChD,IACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;AAE1B,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, SelectField } from "./types";
2
+ declare const SelectPanel: FieldPanel<SelectField>;
3
+ export default SelectPanel;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
7
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
8
+ const MenuItemSelect_1 = tslib_1.__importDefault(require("../MenuItemSelect"));
9
+ const useSingleChildValue_1 = tslib_1.__importDefault(require("./useSingleChildValue"));
10
+ const SelectPanel = ({ title, uid, parentUid, order, description, defaultValue = "", options: { items }, }) => {
11
+ const optionItems = (0, react_1.useMemo)(() => (typeof items === "function" ? items() : items), [items]);
12
+ const { value, onChange } = (0, useSingleChildValue_1.default)({
13
+ defaultValue: defaultValue || optionItems[0],
14
+ title,
15
+ uid,
16
+ parentUid,
17
+ order,
18
+ transform: (s) => s,
19
+ toStr: (s) => s,
20
+ });
21
+ return (react_1.default.createElement(core_1.Label, null,
22
+ (0, idToTitle_1.default)(title),
23
+ react_1.default.createElement(Description_1.default, { description: description }),
24
+ react_1.default.createElement(MenuItemSelect_1.default, { activeItem: value, onItemSelect: (e) => onChange(e), items: optionItems })));
25
+ };
26
+ SelectPanel.type = "select";
27
+ exports.default = SelectPanel;
28
+ //# sourceMappingURL=SelectPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/SelectPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,uDAAuC;AACvC,6EAA6C;AAC7C,yEAAyC;AACzC,+EAA+C;AAE/C,wFAAwD;AAExD,MAAM,WAAW,GAA4B,CAAC,EAC5C,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,GAAG,EAAE,EACjB,OAAO,EAAE,EAAE,KAAK,EAAE,GACnB,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,IAAA,eAAO,EACzB,GAAG,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EACrD,CAAC,KAAK,CAAC,CACR,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAmB,EAAC;QAC9C,YAAY,EAAE,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC;QAC5C,KAAK;QACL,GAAG;QACH,SAAS;QACT,KAAK;QACL,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAChB,CAAC,CAAC;IACH,OAAO,CACL,8BAAC,YAAK;QACH,IAAA,mBAAS,EAAC,KAAK,CAAC;QACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI;QACzC,8BAAC,wBAAc,IACb,UAAU,EAAE,KAAK,EACjB,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAChC,KAAK,EAAE,WAAW,GAClB,CACI,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAE5B,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, TextField } from "./types";
2
+ declare const TextPanel: FieldPanel<TextField>;
3
+ export default TextPanel;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
7
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
8
+ const useSingleChildValue_1 = tslib_1.__importDefault(require("./useSingleChildValue"));
9
+ const TextPanel = ({ title, uid, parentUid, order, description, defaultValue = "", }) => {
10
+ const { value, onChange } = (0, useSingleChildValue_1.default)({
11
+ defaultValue,
12
+ title,
13
+ uid,
14
+ parentUid,
15
+ order,
16
+ transform: (s) => s,
17
+ toStr: (s) => s,
18
+ });
19
+ return (react_1.default.createElement(core_1.Label, null,
20
+ (0, idToTitle_1.default)(title),
21
+ react_1.default.createElement(Description_1.default, { description: description }),
22
+ react_1.default.createElement(core_1.InputGroup, { value: value, onChange: (e) => onChange(e.target.value) })));
23
+ };
24
+ TextPanel.type = "text";
25
+ exports.default = TextPanel;
26
+ //# sourceMappingURL=TextPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextPanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/TextPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAAsD;AACtD,0DAA0B;AAC1B,6EAA6C;AAC7C,yEAAyC;AAEzC,wFAAwD;AAExD,MAAM,SAAS,GAA0B,CAAC,EACxC,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,GAAG,EAAE,GAClB,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAmB,EAAC;QAC9C,YAAY;QACZ,KAAK;QACL,GAAG;QACH,SAAS;QACT,KAAK;QACL,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAChB,CAAC,CAAC;IACH,OAAO,CACL,8BAAC,YAAK;QACH,IAAA,mBAAS,EAAC,KAAK,CAAC;QACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI;QACzC,8BAAC,iBAAU,IACT,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAsC,EAAE,EAAE,CACnD,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAE1B,CACI,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;AAExB,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, TimeField } from "./types";
2
+ declare const TimePanel: FieldPanel<TimeField>;
3
+ export default TimePanel;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@blueprintjs/core");
5
+ const datetime_1 = require("@blueprintjs/datetime");
6
+ const format_1 = tslib_1.__importDefault(require("date-fns/format"));
7
+ const startOfDay_1 = tslib_1.__importDefault(require("date-fns/startOfDay"));
8
+ const react_1 = tslib_1.__importDefault(require("react"));
9
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
10
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
11
+ const useSingleChildValue_1 = tslib_1.__importDefault(require("./useSingleChildValue"));
12
+ const TimePanel = ({ title, uid, parentUid, order, description, defaultValue = (0, startOfDay_1.default)(new Date()), }) => {
13
+ const { value, onChange } = (0, useSingleChildValue_1.default)({
14
+ defaultValue,
15
+ title,
16
+ uid,
17
+ parentUid,
18
+ order,
19
+ transform: (s) => {
20
+ const d = new Date();
21
+ const [hours, minutes] = s.split(":");
22
+ d.setHours(Number(hours));
23
+ d.setMinutes(Number(minutes));
24
+ return d;
25
+ },
26
+ toStr: (v) => (0, format_1.default)(v, "HH:mm"),
27
+ });
28
+ return (react_1.default.createElement(core_1.Label, null,
29
+ (0, idToTitle_1.default)(title),
30
+ react_1.default.createElement(Description_1.default, { description: description }),
31
+ react_1.default.createElement(datetime_1.TimePicker, { value: value, onChange: onChange, showArrowButtons: true })));
32
+ };
33
+ TimePanel.type = "time";
34
+ exports.default = TimePanel;
35
+ //# sourceMappingURL=TimePanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePanel.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/TimePanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,oDAAmD;AACnD,qEAAqC;AACrC,6EAA6C;AAC7C,0DAA0B;AAC1B,6EAA6C;AAC7C,yEAAyC;AAEzC,wFAAwD;AAExD,MAAM,SAAS,GAA0B,CAAC,EACxC,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,GAAG,IAAA,oBAAU,EAAC,IAAI,IAAI,EAAE,CAAC,GACtC,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAmB,EAAC;QAC9C,YAAY;QACZ,KAAK;QACL,GAAG;QACH,SAAS;QACT,KAAK;QACL,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACf,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAM,EAAC,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC,CAAC;IACH,OAAO,CACL,8BAAC,YAAK;QACH,IAAA,mBAAS,EAAC,KAAK,CAAC;QACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI;QACzC,8BAAC,qBAAU,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,SAAG,CAC3D,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;AAExB,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare type Brand = {
2
+ base: string;
3
+ bright: string;
4
+ faded: string;
5
+ };
6
+ declare const getBrandColors: (base?: string | undefined) => Brand | undefined;
7
+ export default getBrandColors;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const color_1 = tslib_1.__importDefault(require("color"));
5
+ const tryColor = (s) => {
6
+ if (!s)
7
+ return undefined;
8
+ try {
9
+ return (0, color_1.default)(s);
10
+ }
11
+ catch (e) {
12
+ return undefined;
13
+ }
14
+ };
15
+ const getBrandColors = (base) => {
16
+ const brandColor = tryColor(base);
17
+ if (!brandColor)
18
+ return undefined;
19
+ return {
20
+ base: brandColor.toString(),
21
+ faded: brandColor
22
+ .alpha(0.2)
23
+ .lightness(brandColor.lightness() + 5)
24
+ .toString(),
25
+ bright: brandColor.lightness(brandColor.lightness() + 5).toString(),
26
+ };
27
+ };
28
+ exports.default = getBrandColors;
29
+ //# sourceMappingURL=getBrandColors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBrandColors.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/getBrandColors.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAQ1B,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,EAAE;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,IAAI;QACF,OAAO,IAAA,eAAK,EAAC,CAAC,CAAC,CAAC;KACjB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAa,EAAqB,EAAE;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;QAC3B,KAAK,EAAE,UAAU;aACd,KAAK,CAAC,GAAG,CAAC;aACV,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;aACrC,QAAQ,EAAE;QACb,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;KACpE,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
@@ -6,11 +6,13 @@ export declare type OauthField = {
6
6
  defaultValue?: [];
7
7
  options: ExternalLoginOptions;
8
8
  };
9
- export declare type FieldPanel<T extends UnionField, U = Record<string, unknown>> = (props: {
9
+ export declare type FieldPanel<T extends UnionField, U = Record<string, unknown>> = ((props: {
10
10
  order: number;
11
11
  uid?: string;
12
12
  parentUid: string;
13
- } & Omit<Field<T>, "type"> & U) => React.ReactElement;
13
+ } & Omit<Field<T>, "Panel"> & U) => React.ReactElement) & {
14
+ type: T["type"];
15
+ };
14
16
  export declare type TextField = {
15
17
  type: "text";
16
18
  defaultValue?: string;
@@ -67,7 +69,8 @@ export declare type CustomField = {
67
69
  };
68
70
  export declare type ArrayField = PagesField | MultiTextField | CustomField | BlocksField;
69
71
  export declare type UnionField = ArrayField | TextField | TimeField | NumberField | OauthField | FlagField | SelectField | BlockField;
70
- export declare type Field<T extends UnionField> = T & {
72
+ export declare type Field<T extends UnionField> = Omit<T, 'type'> & {
71
73
  title: string;
72
74
  description: string;
75
+ Panel: FieldPanel<T>;
73
76
  };
@@ -0,0 +1,13 @@
1
+ declare const useSingleChildValue: <T extends string | number | Date>({ defaultValue, uid: initialUid, title, parentUid, order, transform, toStr, }: {
2
+ title: string;
3
+ parentUid: string;
4
+ order: number;
5
+ uid?: string | undefined;
6
+ defaultValue: T;
7
+ transform: (s: string) => T;
8
+ toStr: (t: T) => string;
9
+ }) => {
10
+ value: T;
11
+ onChange: (v: T) => void;
12
+ };
13
+ export default useSingleChildValue;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = require("react");
5
+ const getFirstChildUidByBlockUid_1 = tslib_1.__importDefault(require("../../queries/getFirstChildUidByBlockUid"));
6
+ const getTextByBlockUid_1 = tslib_1.__importDefault(require("../../queries/getTextByBlockUid"));
7
+ const useSingleChildValue = ({ defaultValue, uid: initialUid, title, parentUid, order, transform, toStr, }) => {
8
+ const [uid, setUid] = (0, react_1.useState)(initialUid);
9
+ const [valueUid, setValueUid] = (0, react_1.useState)(uid && (0, getFirstChildUidByBlockUid_1.default)(uid));
10
+ const [value, setValue] = (0, react_1.useState)((valueUid && transform((0, getTextByBlockUid_1.default)(valueUid))) || defaultValue);
11
+ const onChange = (0, react_1.useCallback)((v) => {
12
+ setValue(v);
13
+ if (valueUid) {
14
+ window.roamAlphaAPI.updateBlock({
15
+ block: { string: toStr(v), uid: valueUid },
16
+ });
17
+ }
18
+ else if (uid) {
19
+ const newValueUid = window.roamAlphaAPI.util.generateUID();
20
+ window.roamAlphaAPI.createBlock({
21
+ block: { string: toStr(v), uid: newValueUid },
22
+ location: { order: 0, "parent-uid": uid },
23
+ });
24
+ setValueUid(newValueUid);
25
+ }
26
+ else {
27
+ const newUid = window.roamAlphaAPI.util.generateUID();
28
+ window.roamAlphaAPI.createBlock({
29
+ block: { string: title, uid: newUid },
30
+ location: { order, "parent-uid": parentUid },
31
+ });
32
+ setTimeout(() => setUid(newUid));
33
+ const newValueUid = window.roamAlphaAPI.util.generateUID();
34
+ window.roamAlphaAPI.createBlock({
35
+ block: { string: toStr(v), uid: newValueUid },
36
+ location: { order: 0, "parent-uid": newUid },
37
+ });
38
+ setValueUid(newValueUid);
39
+ }
40
+ }, [setValue, setValueUid, title, parentUid, order, uid, valueUid, setUid]);
41
+ return { value, onChange };
42
+ };
43
+ exports.default = useSingleChildValue;
44
+ //# sourceMappingURL=useSingleChildValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSingleChildValue.js","sourceRoot":"","sources":["../../src/components/ConfigPanels/useSingleChildValue.tsx"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,kHAAkF;AAClF,gGAAgE;AAEhE,MAAM,mBAAmB,GAAG,CAAmC,EAC7D,YAAY,EACZ,GAAG,EAAE,UAAU,EACf,KAAK,EACL,SAAS,EACT,KAAK,EACL,SAAS,EACT,KAAK,GASN,EAA0C,EAAE;IAC3C,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EACtC,GAAG,IAAI,IAAA,oCAA0B,EAAC,GAAG,CAAC,CACvC,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAChC,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAA,2BAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CACrE,CAAC;IACF,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAC1B,CAAC,CAAI,EAAE,EAAE;QACP,QAAQ,CAAC,CAAC,CAAC,CAAC;QACZ,IAAI,QAAQ,EAAE;YACZ,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;gBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE;aAC3C,CAAC,CAAC;SACJ;aAAM,IAAI,GAAG,EAAE;YACd,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;gBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE;gBAC7C,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE;aAC1C,CAAC,CAAC;YACH,WAAW,CAAC,WAAW,CAAC,CAAC;SAC1B;aAAM;YACL,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;gBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE;gBACrC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE;aAC7C,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;gBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE;gBAC7C,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE;aAC7C,CAAC,CAAC;YACH,WAAW,CAAC,WAAW,CAAC,CAAC;SAC1B;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CACxE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}