@sanity/hierarchical-document-list 1.0.0 → 1.1.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 (81) hide show
  1. package/.husky/commit-msg +4 -0
  2. package/.husky/pre-commit +4 -0
  3. package/.idea/hierarchical-document-list.iml +11 -0
  4. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  5. package/.idea/misc.xml +6 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/prettier.xml +7 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/CHANGELOG.md +15 -0
  10. package/README.md +329 -297
  11. package/commitlint.config.js +3 -0
  12. package/lib/TreeDeskStructure.d.ts +8 -8
  13. package/lib/TreeDeskStructure.js +96 -96
  14. package/lib/TreeInputComponent.d.ts +19 -19
  15. package/lib/TreeInputComponent.js +50 -52
  16. package/lib/components/DeskWarning.d.ts +6 -6
  17. package/lib/components/DeskWarning.js +46 -46
  18. package/lib/components/DocumentInNode.d.ts +11 -11
  19. package/lib/components/DocumentInNode.js +81 -82
  20. package/lib/components/DocumentPreviewStatus.d.ts +7 -7
  21. package/lib/components/DocumentPreviewStatus.js +39 -39
  22. package/lib/components/NodeActions.d.ts +10 -10
  23. package/lib/components/NodeActions.js +61 -61
  24. package/lib/components/NodeContentRenderer.d.ts +8 -8
  25. package/lib/components/NodeContentRenderer.js +105 -105
  26. package/lib/components/PlaceholderDropzone.d.ts +9 -9
  27. package/lib/components/PlaceholderDropzone.js +30 -30
  28. package/lib/components/SuppressedDnDManager.d.ts +2 -0
  29. package/lib/components/SuppressedDnDManager.js +59 -0
  30. package/lib/components/TreeEditor.d.ts +12 -12
  31. package/lib/components/TreeEditor.js +74 -59
  32. package/lib/components/TreeEditorErrorBoundary.d.ts +16 -3
  33. package/lib/components/TreeEditorErrorBoundary.js +74 -59
  34. package/lib/components/TreeNodeRenderer.d.ts +3 -3
  35. package/lib/components/TreeNodeRenderer.js +59 -59
  36. package/lib/components/TreeNodeRendererScaffold.d.ts +4 -4
  37. package/lib/components/TreeNodeRendererScaffold.js +44 -44
  38. package/lib/createDeskHierarchy.d.ts +14 -14
  39. package/lib/createDeskHierarchy.js +84 -85
  40. package/lib/createHierarchicalSchemas.d.ts +98 -78
  41. package/lib/createHierarchicalSchemas.js +138 -138
  42. package/lib/hooks/useAllItems.d.ts +7 -7
  43. package/lib/hooks/useAllItems.js +119 -119
  44. package/lib/hooks/useLocalTree.d.ts +17 -17
  45. package/lib/hooks/useLocalTree.js +59 -59
  46. package/lib/hooks/useTreeOperations.d.ts +9 -9
  47. package/lib/hooks/useTreeOperations.js +39 -39
  48. package/lib/hooks/useTreeOperationsProvider.d.ts +14 -14
  49. package/lib/hooks/useTreeOperationsProvider.js +85 -85
  50. package/lib/index.d.ts +3 -3
  51. package/lib/index.js +12 -12
  52. package/lib/schemas/hierarchy.tree.d.ts +13 -13
  53. package/lib/schemas/hierarchy.tree.js +19 -19
  54. package/lib/types.d.ts +128 -0
  55. package/lib/types.js +2 -0
  56. package/lib/utils/flatDataToTree.d.ts +6 -6
  57. package/lib/utils/flatDataToTree.js +26 -26
  58. package/lib/utils/getAdjescentNodes.d.ts +12 -12
  59. package/lib/utils/getAdjescentNodes.js +19 -19
  60. package/lib/utils/getCommonTreeProps.d.ts +7 -7
  61. package/lib/utils/getCommonTreeProps.js +33 -33
  62. package/lib/utils/getTreeHeight.d.ts +3 -3
  63. package/lib/utils/getTreeHeight.js +11 -11
  64. package/lib/utils/gradientPatchAdapter.d.ts +4 -4
  65. package/lib/utils/gradientPatchAdapter.js +40 -42
  66. package/lib/utils/idUtils.d.ts +2 -2
  67. package/lib/utils/idUtils.js +13 -13
  68. package/lib/utils/injectNodeTypeInPatches.d.ts +12 -12
  69. package/lib/utils/injectNodeTypeInPatches.js +59 -58
  70. package/lib/utils/moveItemInArray.d.ts +5 -5
  71. package/lib/utils/moveItemInArray.js +26 -26
  72. package/lib/utils/throwError.d.ts +7 -7
  73. package/lib/utils/throwError.js +12 -12
  74. package/lib/utils/treeData.d.ts +18 -18
  75. package/lib/utils/treeData.js +118 -118
  76. package/lib/utils/treePatches.d.ts +15 -15
  77. package/lib/utils/treePatches.js +171 -171
  78. package/lint-staged.config.js +4 -0
  79. package/package.json +65 -55
  80. package/sanity.json +12 -12
  81. package/tsconfig.json +20 -20
@@ -1,96 +1,96 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
32
- var __rest = (this && this.__rest) || function (s, e) {
33
- var t = {};
34
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
- t[p] = s[p];
36
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
- t[p[i]] = s[p[i]];
40
- }
41
- return t;
42
- };
43
- var __importDefault = (this && this.__importDefault) || function (mod) {
44
- return (mod && mod.__esModule) ? mod : { "default": mod };
45
- };
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.DEFAULT_FIELD_KEY = void 0;
48
- var jsx_runtime_1 = require("react/jsx-runtime");
49
- var icons_1 = require("@sanity/icons");
50
- var react_hooks_1 = require("@sanity/react-hooks");
51
- var ui_1 = require("@sanity/ui");
52
- var React = __importStar(require("react"));
53
- var DeskWarning_1 = __importDefault(require("./components/DeskWarning"));
54
- var TreeEditor_1 = __importDefault(require("./components/TreeEditor"));
55
- var gradientPatchAdapter_1 = require("./utils/gradientPatchAdapter");
56
- var injectNodeTypeInPatches_1 = __importStar(require("./utils/injectNodeTypeInPatches"));
57
- exports.DEFAULT_FIELD_KEY = 'tree';
58
- var TreeDeskStructure = function (props) {
59
- var treeDocType = props.options.documentType || injectNodeTypeInPatches_1.DEFAULT_DOC_TYPE;
60
- var treeFieldKey = props.options.fieldKeyInDocument || exports.DEFAULT_FIELD_KEY;
61
- var _a = (0, react_hooks_1.useEditState)(props.options.documentId, treeDocType), published = _a.published, draft = _a.draft, liveEdit = _a.liveEdit;
62
- var _b = (0, react_hooks_1.useDocumentOperation)(props.options.documentId, treeDocType), patch = _b.patch, ops = __rest(_b, ["patch"]);
63
- var push = (0, ui_1.useToast)().push;
64
- var treeValue = ((published === null || published === void 0 ? void 0 : published[treeFieldKey]) || []);
65
- var handleChange = React.useCallback(function (patchEvent) {
66
- if (!(patch === null || patch === void 0 ? void 0 : patch.execute)) {
67
- return;
68
- }
69
- patch.execute((0, gradientPatchAdapter_1.toGradient)((0, injectNodeTypeInPatches_1.default)(patchEvent.patches, treeDocType)));
70
- }, [patch]);
71
- React.useEffect(function () {
72
- var _a;
73
- if (!(published === null || published === void 0 ? void 0 : published._id) && (patch === null || patch === void 0 ? void 0 : patch.execute) && !(patch === null || patch === void 0 ? void 0 : patch.disabled)) {
74
- // If no published document, create it
75
- patch.execute([{ setIfMissing: (_a = {}, _a[treeFieldKey] = [], _a) }]);
76
- }
77
- }, [published === null || published === void 0 ? void 0 : published._id, patch]);
78
- if (!liveEdit) {
79
- return ((0, jsx_runtime_1.jsx)(DeskWarning_1.default, { title: "Invalid configuration", subtitle: "The `documentType` passed to `createDeskHiearchy` isn't live editable. \\nTo continue using this plugin, add `liveEdit: true` to your custom schema type or unset `documentType` in your hierarchy configuration." }, void 0));
80
- }
81
- if (draft === null || draft === void 0 ? void 0 : draft._id) {
82
- return ((0, jsx_runtime_1.jsx)(DeskWarning_1.default, __assign({ title: "This hierarchy tree contains a draft", subtitle: "Click on the button below to publish your draft in order to continue editing the live\n published document." }, { children: (0, jsx_runtime_1.jsx)(ui_1.Button, { fontSize: 1, tone: "positive", text: "Publish draft", icon: icons_1.PublishIcon, onClick: function () {
83
- var _a, _b;
84
- (_b = (_a = ops.publish) === null || _a === void 0 ? void 0 : _a.execute) === null || _b === void 0 ? void 0 : _b.call(_a);
85
- push({
86
- status: 'info',
87
- title: 'Publishing draft...'
88
- });
89
- } }, void 0) }), void 0));
90
- }
91
- if (!(published === null || published === void 0 ? void 0 : published._id)) {
92
- return ((0, jsx_runtime_1.jsx)(ui_1.Flex, __assign({ padding: 5, align: 'center', justify: 'center', height: 'fill' }, { children: (0, jsx_runtime_1.jsx)(ui_1.Spinner, { width: 4, muted: true }, void 0) }), void 0));
93
- }
94
- return ((0, jsx_runtime_1.jsx)(ui_1.Box, __assign({ paddingBottom: 5, paddingRight: 2 }, { children: (0, jsx_runtime_1.jsx)(TreeEditor_1.default, { options: props.options, tree: treeValue, onChange: handleChange, patchPrefix: treeFieldKey }, void 0) }), void 0));
95
- };
96
- exports.default = TreeDeskStructure;
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.DEFAULT_FIELD_KEY = void 0;
48
+ var jsx_runtime_1 = require("react/jsx-runtime");
49
+ var icons_1 = require("@sanity/icons");
50
+ var react_hooks_1 = require("@sanity/react-hooks");
51
+ var ui_1 = require("@sanity/ui");
52
+ var React = __importStar(require("react"));
53
+ var DeskWarning_1 = __importDefault(require("./components/DeskWarning"));
54
+ var TreeEditor_1 = __importDefault(require("./components/TreeEditor"));
55
+ var gradientPatchAdapter_1 = require("./utils/gradientPatchAdapter");
56
+ var injectNodeTypeInPatches_1 = __importStar(require("./utils/injectNodeTypeInPatches"));
57
+ exports.DEFAULT_FIELD_KEY = 'tree';
58
+ var TreeDeskStructure = function (props) {
59
+ var treeDocType = props.options.documentType || injectNodeTypeInPatches_1.DEFAULT_DOC_TYPE;
60
+ var treeFieldKey = props.options.fieldKeyInDocument || exports.DEFAULT_FIELD_KEY;
61
+ var _a = (0, react_hooks_1.useEditState)(props.options.documentId, treeDocType), published = _a.published, draft = _a.draft, liveEdit = _a.liveEdit;
62
+ var _b = (0, react_hooks_1.useDocumentOperation)(props.options.documentId, treeDocType), patch = _b.patch, ops = __rest(_b, ["patch"]);
63
+ var push = (0, ui_1.useToast)().push;
64
+ var treeValue = ((published === null || published === void 0 ? void 0 : published[treeFieldKey]) || []);
65
+ var handleChange = React.useCallback(function (patchEvent) {
66
+ if (!(patch === null || patch === void 0 ? void 0 : patch.execute)) {
67
+ return;
68
+ }
69
+ patch.execute((0, gradientPatchAdapter_1.toGradient)((0, injectNodeTypeInPatches_1.default)(patchEvent.patches, treeDocType)));
70
+ }, [patch]);
71
+ React.useEffect(function () {
72
+ var _a;
73
+ if (!(published === null || published === void 0 ? void 0 : published._id) && (patch === null || patch === void 0 ? void 0 : patch.execute) && !(patch === null || patch === void 0 ? void 0 : patch.disabled)) {
74
+ // If no published document, create it
75
+ patch.execute([{ setIfMissing: (_a = {}, _a[treeFieldKey] = [], _a) }]);
76
+ }
77
+ }, [published === null || published === void 0 ? void 0 : published._id, patch]);
78
+ if (!liveEdit) {
79
+ return ((0, jsx_runtime_1.jsx)(DeskWarning_1.default, { title: "Invalid configuration", subtitle: "The `documentType` passed to `createDeskHiearchy` isn't live editable. \\nTo continue using this plugin, add `liveEdit: true` to your custom schema type or unset `documentType` in your hierarchy configuration." }, void 0));
80
+ }
81
+ if (draft === null || draft === void 0 ? void 0 : draft._id) {
82
+ return ((0, jsx_runtime_1.jsx)(DeskWarning_1.default, __assign({ title: "This hierarchy tree contains a draft", subtitle: "Click on the button below to publish your draft in order to continue editing the live\n published document." }, { children: (0, jsx_runtime_1.jsx)(ui_1.Button, { fontSize: 1, tone: "positive", text: "Publish draft", icon: icons_1.PublishIcon, onClick: function () {
83
+ var _a, _b;
84
+ (_b = (_a = ops.publish) === null || _a === void 0 ? void 0 : _a.execute) === null || _b === void 0 ? void 0 : _b.call(_a);
85
+ push({
86
+ status: 'info',
87
+ title: 'Publishing draft...'
88
+ });
89
+ } }, void 0) }), void 0));
90
+ }
91
+ if (!(published === null || published === void 0 ? void 0 : published._id)) {
92
+ return ((0, jsx_runtime_1.jsx)(ui_1.Flex, __assign({ padding: 5, align: 'center', justify: 'center', height: 'fill' }, { children: (0, jsx_runtime_1.jsx)(ui_1.Spinner, { width: 4, muted: true }, void 0) }), void 0));
93
+ }
94
+ return ((0, jsx_runtime_1.jsx)(ui_1.Box, __assign({ paddingBottom: 5, paddingRight: 2 }, { children: (0, jsx_runtime_1.jsx)(TreeEditor_1.default, { options: props.options, tree: treeValue, onChange: handleChange, patchPrefix: treeFieldKey }, void 0) }), void 0));
95
+ };
96
+ exports.default = TreeDeskStructure;
@@ -1,19 +1,19 @@
1
- import { FormFieldPresence } from '@sanity/base/presence';
2
- import { Marker, Path } from '@sanity/types';
3
- import * as React from 'react';
4
- import { StoredTreeItem, TreeFieldSchema } from './types';
5
- export interface TreeInputComponentProps {
6
- type: TreeFieldSchema;
7
- value: StoredTreeItem[];
8
- compareValue: StoredTreeItem[];
9
- markers: Marker[];
10
- level: number;
11
- onChange: (event: unknown) => void;
12
- onFocus: (path: Path) => void;
13
- onBlur: () => void;
14
- focusPath: Path;
15
- readOnly: boolean;
16
- presence: FormFieldPresence[];
17
- }
18
- declare const TreeInputComponent: React.FC<TreeInputComponentProps>;
19
- export default TreeInputComponent;
1
+ import { FormFieldPresence } from '@sanity/base/presence';
2
+ import { Marker, Path } from '@sanity/types';
3
+ import * as React from 'react';
4
+ import { StoredTreeItem, TreeFieldSchema } from './types';
5
+ export interface TreeInputComponentProps {
6
+ type: TreeFieldSchema;
7
+ value: StoredTreeItem[];
8
+ compareValue: StoredTreeItem[];
9
+ markers: Marker[];
10
+ level: number;
11
+ onChange: (event: unknown) => void;
12
+ onFocus: (path: Path) => void;
13
+ onBlur: () => void;
14
+ focusPath: Path;
15
+ readOnly: boolean;
16
+ presence: FormFieldPresence[];
17
+ }
18
+ declare const TreeInputComponent: React.FC<TreeInputComponentProps>;
19
+ export default TreeInputComponent;
@@ -1,52 +1,50 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
32
- var __importDefault = (this && this.__importDefault) || function (mod) {
33
- return (mod && mod.__esModule) ? mod : { "default": mod };
34
- };
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- var jsx_runtime_1 = require("react/jsx-runtime");
37
- var components_1 = require("@sanity/base/components");
38
- var PatchEvent_1 = __importDefault(require("@sanity/form-builder/PatchEvent"));
39
- var React = __importStar(require("react"));
40
- var TreeEditor_1 = __importDefault(require("./components/TreeEditor"));
41
- var injectNodeTypeInPatches_1 = __importStar(require("./utils/injectNodeTypeInPatches"));
42
- var TreeInputComponent = React.forwardRef(function (props) {
43
- var documentType = props.type.options.documentType || injectNodeTypeInPatches_1.DEFAULT_DOC_TYPE;
44
- var onChange = React.useCallback(function (patch) {
45
- var patches = (0, injectNodeTypeInPatches_1.default)(patch === null || patch === void 0 ? void 0 : patch.patches, documentType);
46
- props.onChange(new PatchEvent_1.default(patches));
47
- }, [props.onChange]);
48
- return ((0, jsx_runtime_1.jsx)(components_1.FormField, __assign({ description: props.type.description, title: props.type.title, __unstable_markers: props.markers, __unstable_presence: props.presence,
49
- // @ts-expect-error FormField's TS definitions are off - it doesn't include compareValue
50
- compareValue: props.compareValue }, { children: (0, jsx_runtime_1.jsx)(TreeEditor_1.default, { options: props.type.options, tree: props.value || [], onChange: onChange }, void 0) }), void 0));
51
- });
52
- exports.default = TreeInputComponent;
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __importDefault = (this && this.__importDefault) || function (mod) {
33
+ return (mod && mod.__esModule) ? mod : { "default": mod };
34
+ };
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ var jsx_runtime_1 = require("react/jsx-runtime");
37
+ var components_1 = require("@sanity/base/components");
38
+ var PatchEvent_1 = __importDefault(require("@sanity/form-builder/PatchEvent"));
39
+ var React = __importStar(require("react"));
40
+ var TreeEditor_1 = __importDefault(require("./components/TreeEditor"));
41
+ var injectNodeTypeInPatches_1 = __importStar(require("./utils/injectNodeTypeInPatches"));
42
+ var TreeInputComponent = React.forwardRef(function (props) {
43
+ var documentType = props.type.options.documentType || injectNodeTypeInPatches_1.DEFAULT_DOC_TYPE;
44
+ var onChange = React.useCallback(function (patch) {
45
+ var patches = (0, injectNodeTypeInPatches_1.default)(patch === null || patch === void 0 ? void 0 : patch.patches, documentType);
46
+ props.onChange(new PatchEvent_1.default(patches));
47
+ }, [props.onChange]);
48
+ return ((0, jsx_runtime_1.jsx)(components_1.FormField, __assign({ description: props.type.description, title: props.type.title, __unstable_markers: props.markers, __unstable_presence: props.presence, compareValue: props.compareValue }, { children: (0, jsx_runtime_1.jsx)(TreeEditor_1.default, { options: props.type.options, tree: props.value || [], onChange: onChange }, void 0) }), void 0));
49
+ });
50
+ exports.default = TreeInputComponent;
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
- declare const DeskWarning: React.FC<{
3
- title: string;
4
- subtitle?: string;
5
- }>;
6
- export default DeskWarning;
1
+ import * as React from 'react';
2
+ declare const DeskWarning: React.FC<{
3
+ title: string;
4
+ subtitle?: string;
5
+ }>;
6
+ export default DeskWarning;
@@ -1,46 +1,46 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
32
- Object.defineProperty(exports, "__esModule", { value: true });
33
- var jsx_runtime_1 = require("react/jsx-runtime");
34
- var ui_1 = require("@sanity/ui");
35
- var React = __importStar(require("react"));
36
- // React component that wraps text between two delimiters in a <pre> tag
37
- var WrapCodeBlocks = function (_a) {
38
- var text = _a.text;
39
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: text.split('`').map(function (part, i) { return ((0, jsx_runtime_1.jsx)(React.Fragment, { children: i % 2 === 0 ? part : (0, jsx_runtime_1.jsx)("code", { children: part }, void 0) }, i)); }) }, void 0));
40
- };
41
- var DeskWarning = function (_a) {
42
- var subtitle = _a.subtitle, title = _a.title, children = _a.children;
43
- return ((0, jsx_runtime_1.jsx)(ui_1.Container, __assign({ padding: 5, style: { maxWidth: '25rem' }, sizing: 'content' }, { children: (0, jsx_runtime_1.jsx)(ui_1.Card, __assign({ padding: 4, border: true, radius: 2, width: 0, tone: "caution" }, { children: (0, jsx_runtime_1.jsxs)(ui_1.Stack, __assign({ space: 3 }, { children: [(0, jsx_runtime_1.jsx)(ui_1.Heading, __assign({ size: 1 }, { children: title }), void 0), subtitle &&
44
- subtitle.split('\\n').map(function (line) { return ((0, jsx_runtime_1.jsx)(ui_1.Text, __assign({ size: 1 }, { children: (0, jsx_runtime_1.jsx)(WrapCodeBlocks, { text: line }, void 0) }), void 0)); }), children && (0, jsx_runtime_1.jsx)(ui_1.Box, __assign({ marginTop: 2 }, { children: children }), void 0)] }), void 0) }), void 0) }), void 0));
45
- };
46
- exports.default = DeskWarning;
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ var jsx_runtime_1 = require("react/jsx-runtime");
34
+ var ui_1 = require("@sanity/ui");
35
+ var React = __importStar(require("react"));
36
+ // React component that wraps text between two delimiters in a <pre> tag
37
+ var WrapCodeBlocks = function (_a) {
38
+ var text = _a.text;
39
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: text.split('`').map(function (part, i) { return ((0, jsx_runtime_1.jsx)(React.Fragment, { children: i % 2 === 0 ? part : (0, jsx_runtime_1.jsx)("code", { children: part }, void 0) }, i)); }) }, void 0));
40
+ };
41
+ var DeskWarning = function (_a) {
42
+ var subtitle = _a.subtitle, title = _a.title, children = _a.children;
43
+ return ((0, jsx_runtime_1.jsx)(ui_1.Container, __assign({ padding: 5, style: { maxWidth: '25rem' }, sizing: 'content' }, { children: (0, jsx_runtime_1.jsx)(ui_1.Card, __assign({ padding: 4, border: true, radius: 2, width: 0, tone: "caution" }, { children: (0, jsx_runtime_1.jsxs)(ui_1.Stack, __assign({ space: 3 }, { children: [(0, jsx_runtime_1.jsx)(ui_1.Heading, __assign({ size: 1 }, { children: title }), void 0), subtitle &&
44
+ subtitle.split('\\n').map(function (line) { return ((0, jsx_runtime_1.jsx)(ui_1.Text, __assign({ size: 1 }, { children: (0, jsx_runtime_1.jsx)(WrapCodeBlocks, { text: line }, void 0) }), void 0)); }), children && (0, jsx_runtime_1.jsx)(ui_1.Box, __assign({ marginTop: 2 }, { children: children }), void 0)] }), void 0) }), void 0) }), void 0));
45
+ };
46
+ exports.default = DeskWarning;
@@ -1,11 +1,11 @@
1
- import * as React from 'react';
2
- import { LocalTreeItem } from '../types';
3
- /**
4
- * Renders a preview for each referenced document.
5
- * Nested inside TreeNode.tsx
6
- */
7
- declare const DocumentInNode: React.FC<{
8
- item: LocalTreeItem;
9
- action?: React.ReactNode;
10
- }>;
11
- export default DocumentInNode;
1
+ import * as React from 'react';
2
+ import { LocalTreeItem } from '../types';
3
+ /**
4
+ * Renders a preview for each referenced document.
5
+ * Nested inside TreeNode.tsx
6
+ */
7
+ declare const DocumentInNode: React.FC<{
8
+ item: LocalTreeItem;
9
+ action?: React.ReactNode;
10
+ }>;
11
+ export default DocumentInNode;