@sanity/orderable-document-list 0.0.10 → 0.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 (37) hide show
  1. package/.prettierrc.js +6 -0
  2. package/.releaserc.json +4 -0
  3. package/.semantic-release/sanity-orderable-document-list-0.1.0.tgz +0 -0
  4. package/CHANGELOG.md +16 -0
  5. package/LICENSE +1 -1
  6. package/README.md +12 -1
  7. package/lib/Document.js +8 -21
  8. package/lib/Document.js.map +1 -1
  9. package/lib/DocumentListQuery.js +15 -47
  10. package/lib/DocumentListQuery.js.map +1 -1
  11. package/lib/DocumentListWrapper.js +11 -32
  12. package/lib/DocumentListWrapper.js.map +1 -1
  13. package/lib/DraggableList.js +56 -90
  14. package/lib/DraggableList.js.map +1 -1
  15. package/lib/Feedback.js +0 -6
  16. package/lib/Feedback.js.map +1 -1
  17. package/lib/OrderableContext.js +0 -4
  18. package/lib/OrderableContext.js.map +1 -1
  19. package/lib/OrderableDocumentList.js +0 -24
  20. package/lib/OrderableDocumentList.js.map +1 -1
  21. package/lib/desk-structure/orderableDocumentListDeskItem.js +5 -14
  22. package/lib/desk-structure/orderableDocumentListDeskItem.js.map +1 -1
  23. package/lib/fields/orderRankField.js +0 -16
  24. package/lib/fields/orderRankField.js.map +1 -1
  25. package/lib/fields/orderRankOrdering.js +0 -2
  26. package/lib/fields/orderRankOrdering.js.map +1 -1
  27. package/lib/helpers/constants.js.map +1 -1
  28. package/lib/helpers/initialRank.js +0 -2
  29. package/lib/helpers/initialRank.js.map +1 -1
  30. package/lib/helpers/reorderDocuments.js +51 -64
  31. package/lib/helpers/reorderDocuments.js.map +1 -1
  32. package/lib/helpers/resetOrder.js +3 -16
  33. package/lib/helpers/resetOrder.js.map +1 -1
  34. package/lib/index.js +0 -3
  35. package/lib/index.js.map +1 -1
  36. package/package.json +25 -20
  37. package/src/DocumentListWrapper.js +2 -3
package/.prettierrc.js ADDED
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ semi: false,
3
+ printWidth: 100,
4
+ bracketSpacing: false,
5
+ singleQuote: true,
6
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "@sanity/semantic-release-preset",
3
+ "branches": ["main", {"name": "studio-v2", "channel": "studio-v2", "range": "0.1.x"}]
4
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ <!-- markdownlint-disable --><!-- textlint-disable -->
2
+
3
+ # 📓 Changelog
4
+
5
+ All notable changes to this project will be documented in this file. See
6
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
+
8
+ ## [0.1.0](https://github.com/sanity-io/sanity-plugin-orderable-document-list/compare/v0.0.10...v0.1.0) (2022-11-25)
9
+
10
+ ### Features
11
+
12
+ - use semantic-release to publish ([d441f8d](https://github.com/sanity-io/sanity-plugin-orderable-document-list/commit/d441f8d1ef4b41a090689ae10ee0c913cd5895d0))
13
+
14
+ ### Bug Fixes
15
+
16
+ - dependencies ([3dd828c](https://github.com/sanity-io/sanity-plugin-orderable-document-list/commit/3dd828c13b622b24d5a90dd9c2d6656a0a6592ba))
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 Simeon Griggs
3
+ Copyright (c) 2022 Simeon Griggs
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # @sanity/orderable-document-list
2
2
 
3
+ >This is a **Sanity Studio v2** plugin.
4
+ > For the v3 version, please refer to the [v3-branch](https://github.com/sanity-io/orderable-document-list).
5
+
3
6
  Drag-and-drop Document Ordering without leaving the Editing surface.
4
7
 
5
8
  ![2022-04-26 12 23 39](https://user-images.githubusercontent.com/9684022/165289621-dbd9d841-028e-40c7-be14-7398fcdb1210.gif)
@@ -12,8 +15,15 @@ A Sanity Studio with [Desk Structure](https://www.sanity.io/docs/structure-build
12
15
 
13
16
  ## Installation
14
17
 
18
+ ```sh
19
+ yarn add @sanity/orderable-document-list@studio-v2
15
20
  ```
16
- sanity install @sanity/orderable-document-list
21
+
22
+ Next, add `"@sanity/orderable-document-list"` to `sanity.json` plugins array:
23
+ ```json
24
+ "plugins": [
25
+ "@sanity/orderable-document-list"
26
+ ]
17
27
  ```
18
28
 
19
29
  ### 1. Import the Document List into your Desk Structure
@@ -79,6 +89,7 @@ export default {
79
89
  title: 'Category',
80
90
  type: 'document',
81
91
  // Optional: The plugin also exports a set of 'orderings' for use in other Document Lists
92
+ // https://www.sanity.io/docs/sort-orders
82
93
  orderings: [orderRankOrdering],
83
94
  fields: [
84
95
  // Minimum required configuration
package/lib/Document.js CHANGED
@@ -4,40 +4,28 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Document;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _icons = require("@sanity/icons");
13
-
14
10
  var _ui = require("@sanity/ui");
15
-
16
11
  var _preview = _interopRequireDefault(require("part:@sanity/base/preview"));
17
-
18
12
  var _schema = _interopRequireDefault(require("part:@sanity/base/schema"));
19
-
20
13
  var _OrderableContext = require("./OrderableContext");
21
-
22
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
17
  // eslint-disable-next-line no-unused-vars
18
+
29
19
  function Document(_ref) {
30
20
  var doc = _ref.doc,
31
- increment = _ref.increment,
32
- entities = _ref.entities,
33
- handleSelect = _ref.handleSelect,
34
- index = _ref.index,
35
- isFirst = _ref.isFirst,
36
- isLast = _ref.isLast;
37
-
21
+ increment = _ref.increment,
22
+ entities = _ref.entities,
23
+ handleSelect = _ref.handleSelect,
24
+ index = _ref.index,
25
+ isFirst = _ref.isFirst,
26
+ isLast = _ref.isLast;
38
27
  var _useContext = (0, _react.useContext)(_OrderableContext.OrderableContext),
39
- showIncrements = _useContext.showIncrements;
40
-
28
+ showIncrements = _useContext.showIncrements;
41
29
  return /*#__PURE__*/_react.default.createElement(_ui.Flex, {
42
30
  align: "center"
43
31
  }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
@@ -83,7 +71,6 @@ function Document(_ref) {
83
71
  type: _schema.default.get(doc._type)
84
72
  })))));
85
73
  }
86
-
87
74
  Document.propTypes = {
88
75
  doc: _propTypes.default.shape({
89
76
  _id: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"file":"Document.js","names":["Document","doc","increment","entities","handleSelect","index","isFirst","isLast","useContext","OrderableContext","showIncrements","flexShrink","_id","ChevronUpIcon","ChevronDownIcon","width","e","nativeEvent","schema","get","_type","propTypes","PropTypes","shape","string","isRequired","arrayOf","func","number","bool"],"sources":["../src/Document.js"],"sourcesContent":["import PropTypes from 'prop-types'\n// eslint-disable-next-line no-unused-vars\nimport React, {useContext} from 'react'\nimport {DragHandleIcon, ChevronUpIcon, ChevronDownIcon} from '@sanity/icons'\nimport {Text, Flex, Box, Button} from '@sanity/ui'\nimport Preview from 'part:@sanity/base/preview'\nimport schema from 'part:@sanity/base/schema'\n\nimport {OrderableContext} from './OrderableContext'\n\nexport default function Document({doc, increment, entities, handleSelect, index, isFirst, isLast}) {\n const {showIncrements} = useContext(OrderableContext)\n\n return (\n <Flex align=\"center\">\n <Box paddingX={3} style={{flexShrink: 0}}>\n <Text fontSize={4}>\n <DragHandleIcon />\n </Text>\n </Box>\n {showIncrements && (\n <Flex style={{flexShrink: 0}} align=\"center\" gap={1} paddingRight={1}>\n <Button\n padding={2}\n mode=\"ghost\"\n onClick={() => increment(index, index + -1, doc._id, entities)}\n disabled={isFirst}\n icon={ChevronUpIcon}\n />\n <Button\n padding={2}\n mode=\"ghost\"\n disabled={isLast}\n onClick={() => increment(index, index + 1, doc._id, entities)}\n icon={ChevronDownIcon}\n />\n </Flex>\n )}\n <Button\n style={{width: `100%`}}\n padding={2}\n mode=\"bleed\"\n onClick={(e) => handleSelect(doc._id, index, e.nativeEvent)}\n >\n <Flex flex={1} align=\"center\">\n <Box flex={1}>\n <Preview value={doc} type={schema.get(doc._type)} />\n </Box>\n </Flex>\n </Button>\n </Flex>\n )\n}\n\nDocument.propTypes = {\n doc: PropTypes.shape({\n _id: PropTypes.string,\n _type: PropTypes.string,\n }).isRequired,\n entities: PropTypes.arrayOf(\n PropTypes.shape({\n _id: PropTypes.string,\n }).isRequired\n ).isRequired,\n handleSelect: PropTypes.func.isRequired,\n increment: PropTypes.func.isRequired,\n index: PropTypes.number.isRequired,\n isFirst: PropTypes.bool.isRequired,\n isLast: PropTypes.bool.isRequired,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Document.js","names":["Document","doc","increment","entities","handleSelect","index","isFirst","isLast","useContext","OrderableContext","showIncrements","flexShrink","_id","ChevronUpIcon","ChevronDownIcon","width","e","nativeEvent","schema","get","_type","propTypes","PropTypes","shape","string","isRequired","arrayOf","func","number","bool"],"sources":["../src/Document.js"],"sourcesContent":["import PropTypes from 'prop-types'\n// eslint-disable-next-line no-unused-vars\nimport React, {useContext} from 'react'\nimport {DragHandleIcon, ChevronUpIcon, ChevronDownIcon} from '@sanity/icons'\nimport {Text, Flex, Box, Button} from '@sanity/ui'\nimport Preview from 'part:@sanity/base/preview'\nimport schema from 'part:@sanity/base/schema'\n\nimport {OrderableContext} from './OrderableContext'\n\nexport default function Document({doc, increment, entities, handleSelect, index, isFirst, isLast}) {\n const {showIncrements} = useContext(OrderableContext)\n\n return (\n <Flex align=\"center\">\n <Box paddingX={3} style={{flexShrink: 0}}>\n <Text fontSize={4}>\n <DragHandleIcon />\n </Text>\n </Box>\n {showIncrements && (\n <Flex style={{flexShrink: 0}} align=\"center\" gap={1} paddingRight={1}>\n <Button\n padding={2}\n mode=\"ghost\"\n onClick={() => increment(index, index + -1, doc._id, entities)}\n disabled={isFirst}\n icon={ChevronUpIcon}\n />\n <Button\n padding={2}\n mode=\"ghost\"\n disabled={isLast}\n onClick={() => increment(index, index + 1, doc._id, entities)}\n icon={ChevronDownIcon}\n />\n </Flex>\n )}\n <Button\n style={{width: `100%`}}\n padding={2}\n mode=\"bleed\"\n onClick={(e) => handleSelect(doc._id, index, e.nativeEvent)}\n >\n <Flex flex={1} align=\"center\">\n <Box flex={1}>\n <Preview value={doc} type={schema.get(doc._type)} />\n </Box>\n </Flex>\n </Button>\n </Flex>\n )\n}\n\nDocument.propTypes = {\n doc: PropTypes.shape({\n _id: PropTypes.string,\n _type: PropTypes.string,\n }).isRequired,\n entities: PropTypes.arrayOf(\n PropTypes.shape({\n _id: PropTypes.string,\n }).isRequired\n ).isRequired,\n handleSelect: PropTypes.func.isRequired,\n increment: PropTypes.func.isRequired,\n index: PropTypes.number.isRequired,\n isFirst: PropTypes.bool.isRequired,\n isLast: PropTypes.bool.isRequired,\n}\n"],"mappings":"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"}
@@ -4,75 +4,52 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = DocumentListQuery;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _client = _interopRequireDefault(require("part:@sanity/base/client"));
13
-
14
10
  var _ui = require("@sanity/ui");
15
-
16
11
  var _DraggableList = _interopRequireDefault(require("./DraggableList"));
17
-
18
12
  var _constants = require("./helpers/constants");
19
-
20
13
  var _Feedback = _interopRequireDefault(require("./Feedback"));
21
-
22
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
17
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
29
-
30
18
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
31
-
32
19
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
33
-
34
20
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
35
-
36
21
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
37
-
38
22
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
-
40
23
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
41
-
42
24
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
43
-
44
25
  var client = _client.default.withConfig({
45
26
  apiVersion: '2021-09-01'
46
27
  });
47
-
48
28
  function DocumentListQuery(_ref) {
49
29
  var type = _ref.type,
50
- filter = _ref.filter,
51
- params = _ref.params;
52
-
30
+ filter = _ref.filter,
31
+ params = _ref.params;
53
32
  var _useState = (0, _react.useState)(true),
54
- _useState2 = _slicedToArray(_useState, 2),
55
- isLoading = _useState2[0],
56
- setIsLoading = _useState2[1];
57
-
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ isLoading = _useState2[0],
35
+ setIsLoading = _useState2[1];
58
36
  var _useState3 = (0, _react.useState)(false),
59
- _useState4 = _slicedToArray(_useState3, 2),
60
- listIsUpdating = _useState4[0],
61
- setListIsUpdating = _useState4[1];
62
-
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ listIsUpdating = _useState4[0],
39
+ setListIsUpdating = _useState4[1];
63
40
  var _useState5 = (0, _react.useState)([]),
64
- _useState6 = _slicedToArray(_useState5, 2),
65
- data = _useState6[0],
66
- setData = _useState6[1];
67
-
41
+ _useState6 = _slicedToArray(_useState5, 2),
42
+ data = _useState6[0],
43
+ setData = _useState6[1];
68
44
  (0, _react.useEffect)(() => {
69
45
  var query = "*[_type == $type ".concat(filter ? "&& ".concat(filter) : '', "]|order(@[$order] asc){\n _id, _type, ").concat(_constants.ORDER_FIELD_NAME, "\n }");
70
46
  var queryParams = Object.assign(params, {
71
47
  type,
72
48
  order: _constants.ORDER_FIELD_NAME
73
49
  });
74
- var subscription = null; // eslint-disable-next-line require-await
50
+ var subscription = null;
75
51
 
52
+ // eslint-disable-next-line require-await
76
53
  var fetchData = /*#__PURE__*/function () {
77
54
  var _ref2 = _asyncToGenerator(function* () {
78
55
  client.fetch(query, queryParams).then(documents => {
@@ -83,45 +60,37 @@ function DocumentListQuery(_ref) {
83
60
  var alsoHasDraft = documents.some(doc => doc._id === "drafts.".concat(cur._id));
84
61
  return alsoHasDraft ? acc : [...acc, cur];
85
62
  }
86
-
87
63
  return [...acc, cur];
88
64
  }, []);
89
65
  setData(filteredDocuments);
90
-
91
66
  if (isLoading) {
92
67
  setIsLoading(false);
93
68
  }
94
69
  });
95
70
  });
96
-
97
71
  return function fetchData() {
98
72
  return _ref2.apply(this, arguments);
99
73
  };
100
74
  }();
101
-
102
75
  var prepareData = /*#__PURE__*/function () {
103
76
  var _ref3 = _asyncToGenerator(function* () {
104
77
  setIsLoading(true);
105
78
  yield fetchData();
106
-
107
79
  if (!subscription) {
108
80
  subscription = client.listen(query, queryParams).subscribe(() => fetchData());
109
81
  }
110
82
  });
111
-
112
83
  return function prepareData() {
113
84
  return _ref3.apply(this, arguments);
114
85
  };
115
- }(); // Get data but only if a document isn't being patched or we don't yet have data
116
-
86
+ }();
117
87
 
88
+ // Get data but only if a document isn't being patched or we don't yet have data
118
89
  if (!listIsUpdating && !data.length) {
119
90
  prepareData();
120
91
  }
121
-
122
92
  return () => {
123
93
  var _subscription;
124
-
125
94
  return (_subscription = subscription) === null || _subscription === void 0 ? void 0 : _subscription.unsubscribe();
126
95
  };
127
96
  /* eslint-disable-next-line react-hooks/exhaustive-deps */
@@ -150,7 +119,6 @@ function DocumentListQuery(_ref) {
150
119
  setListIsUpdating: setListIsUpdating
151
120
  })));
152
121
  }
153
-
154
122
  DocumentListQuery.propTypes = {
155
123
  type: _propTypes.default.string.isRequired,
156
124
  filter: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentListQuery.js","names":["client","sanityClient","withConfig","apiVersion","DocumentListQuery","type","filter","params","useState","isLoading","setIsLoading","listIsUpdating","setListIsUpdating","data","setData","useEffect","query","ORDER_FIELD_NAME","queryParams","Object","assign","order","subscription","fetchData","fetch","then","documents","filteredDocuments","reduce","acc","cur","_id","startsWith","alsoHasDraft","some","doc","prepareData","listen","subscribe","length","unsubscribe","unorderedDataCount","useMemo","width","height","overflow","propTypes","PropTypes","string","isRequired","object","defaultProps"],"sources":["../src/DocumentListQuery.js"],"sourcesContent":["import PropTypes from 'prop-types'\nimport React, {useEffect, useState, useMemo} from 'react'\nimport sanityClient from 'part:@sanity/base/client'\nimport {Stack, Box, Flex, Spinner} from '@sanity/ui'\n\nimport DraggableList from './DraggableList'\nimport {ORDER_FIELD_NAME} from './helpers/constants'\nimport Feedback from './Feedback'\n\nconst client = sanityClient.withConfig({\n apiVersion: '2021-09-01',\n})\n\nexport default function DocumentListQuery({type, filter, params}) {\n const [isLoading, setIsLoading] = useState(true)\n const [listIsUpdating, setListIsUpdating] = useState(false)\n const [data, setData] = useState([])\n\n useEffect(() => {\n const query = `*[_type == $type ${filter ? `&& ${filter}` : ''}]|order(@[$order] asc){\n _id, _type, ${ORDER_FIELD_NAME}\n }`\n const queryParams = Object.assign(params, {type, order: ORDER_FIELD_NAME})\n let subscription = null\n\n // eslint-disable-next-line require-await\n const fetchData = async () => {\n client.fetch(query, queryParams).then((documents) => {\n // Remove published document from list if draft also exists\n const filteredDocuments = documents.reduce((acc, cur) => {\n if (!cur._id.startsWith(`drafts.`)) {\n // eslint-disable-next-line max-nested-callbacks\n const alsoHasDraft = documents.some((doc) => doc._id === `drafts.${cur._id}`)\n\n return alsoHasDraft ? acc : [...acc, cur]\n }\n\n return [...acc, cur]\n }, [])\n\n setData(filteredDocuments)\n\n if (isLoading) {\n setIsLoading(false)\n }\n })\n }\n\n const prepareData = async () => {\n setIsLoading(true)\n\n await fetchData()\n\n if (!subscription) {\n subscription = client.listen(query, queryParams).subscribe(() => fetchData())\n }\n }\n\n // Get data but only if a document isn't being patched or we don't yet have data\n if (!listIsUpdating && !data.length) {\n prepareData()\n }\n\n return () => subscription?.unsubscribe()\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [type])\n\n const unorderedDataCount = useMemo(\n () => (data.length ? data.filter((doc) => !doc[ORDER_FIELD_NAME]).length : 0),\n [data]\n )\n\n if (isLoading)\n return (\n <Flex style={{width: `100%`, height: `100%`}} align=\"center\" justify=\"center\">\n <Spinner />\n </Flex>\n )\n\n return (\n <Stack space={1} style={{overflow: `scroll`, height: `100%`}}>\n {unorderedDataCount > 0 && (\n <Feedback>\n {unorderedDataCount}/{data.length} Documents have no Order. Select{' '}\n <strong>Reset Order</strong> from the Menu above to fix.\n </Feedback>\n )}\n <Box padding={1}>\n <DraggableList\n data={data}\n type={type}\n listIsUpdating={listIsUpdating}\n setListIsUpdating={setListIsUpdating}\n />\n </Box>\n </Stack>\n )\n}\n\nDocumentListQuery.propTypes = {\n type: PropTypes.string.isRequired,\n filter: PropTypes.string,\n params: PropTypes.object,\n}\n\nDocumentListQuery.defaultProps = {\n filter: ``,\n params: {},\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DocumentListQuery.js","names":["client","sanityClient","withConfig","apiVersion","DocumentListQuery","type","filter","params","useState","isLoading","setIsLoading","listIsUpdating","setListIsUpdating","data","setData","useEffect","query","ORDER_FIELD_NAME","queryParams","Object","assign","order","subscription","fetchData","fetch","then","documents","filteredDocuments","reduce","acc","cur","_id","startsWith","alsoHasDraft","some","doc","prepareData","listen","subscribe","length","unsubscribe","unorderedDataCount","useMemo","width","height","overflow","propTypes","PropTypes","string","isRequired","object","defaultProps"],"sources":["../src/DocumentListQuery.js"],"sourcesContent":["import PropTypes from 'prop-types'\nimport React, {useEffect, useState, useMemo} from 'react'\nimport sanityClient from 'part:@sanity/base/client'\nimport {Stack, Box, Flex, Spinner} from '@sanity/ui'\n\nimport DraggableList from './DraggableList'\nimport {ORDER_FIELD_NAME} from './helpers/constants'\nimport Feedback from './Feedback'\n\nconst client = sanityClient.withConfig({\n apiVersion: '2021-09-01',\n})\n\nexport default function DocumentListQuery({type, filter, params}) {\n const [isLoading, setIsLoading] = useState(true)\n const [listIsUpdating, setListIsUpdating] = useState(false)\n const [data, setData] = useState([])\n\n useEffect(() => {\n const query = `*[_type == $type ${filter ? `&& ${filter}` : ''}]|order(@[$order] asc){\n _id, _type, ${ORDER_FIELD_NAME}\n }`\n const queryParams = Object.assign(params, {type, order: ORDER_FIELD_NAME})\n let subscription = null\n\n // eslint-disable-next-line require-await\n const fetchData = async () => {\n client.fetch(query, queryParams).then((documents) => {\n // Remove published document from list if draft also exists\n const filteredDocuments = documents.reduce((acc, cur) => {\n if (!cur._id.startsWith(`drafts.`)) {\n // eslint-disable-next-line max-nested-callbacks\n const alsoHasDraft = documents.some((doc) => doc._id === `drafts.${cur._id}`)\n\n return alsoHasDraft ? acc : [...acc, cur]\n }\n\n return [...acc, cur]\n }, [])\n\n setData(filteredDocuments)\n\n if (isLoading) {\n setIsLoading(false)\n }\n })\n }\n\n const prepareData = async () => {\n setIsLoading(true)\n\n await fetchData()\n\n if (!subscription) {\n subscription = client.listen(query, queryParams).subscribe(() => fetchData())\n }\n }\n\n // Get data but only if a document isn't being patched or we don't yet have data\n if (!listIsUpdating && !data.length) {\n prepareData()\n }\n\n return () => subscription?.unsubscribe()\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [type])\n\n const unorderedDataCount = useMemo(\n () => (data.length ? data.filter((doc) => !doc[ORDER_FIELD_NAME]).length : 0),\n [data]\n )\n\n if (isLoading)\n return (\n <Flex style={{width: `100%`, height: `100%`}} align=\"center\" justify=\"center\">\n <Spinner />\n </Flex>\n )\n\n return (\n <Stack space={1} style={{overflow: `scroll`, height: `100%`}}>\n {unorderedDataCount > 0 && (\n <Feedback>\n {unorderedDataCount}/{data.length} Documents have no Order. Select{' '}\n <strong>Reset Order</strong> from the Menu above to fix.\n </Feedback>\n )}\n <Box padding={1}>\n <DraggableList\n data={data}\n type={type}\n listIsUpdating={listIsUpdating}\n setListIsUpdating={setListIsUpdating}\n />\n </Box>\n </Stack>\n )\n}\n\nDocumentListQuery.propTypes = {\n type: PropTypes.string.isRequired,\n filter: PropTypes.string,\n params: PropTypes.object,\n}\n\nDocumentListQuery.defaultProps = {\n filter: ``,\n params: {},\n}\n"],"mappings":"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"}
@@ -4,81 +4,61 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = DocumentListWrapper;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _schema = _interopRequireDefault(require("part:@sanity/base/schema"));
13
-
14
10
  var _ui = require("@sanity/ui");
15
-
16
- var _deskTool = require("@sanity/desk-tool");
17
-
18
11
  var _DocumentListQuery = _interopRequireDefault(require("./DocumentListQuery"));
19
-
20
12
  var _OrderableContext = require("./OrderableContext");
21
-
22
13
  var _constants = require("./helpers/constants");
23
-
24
14
  var _Feedback = _interopRequireDefault(require("./Feedback"));
25
-
26
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
30
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
18
  // 1. Validate first that the schema has been configured for ordering
33
19
  // 2. Setup context for showIncrements
34
20
  function DocumentListWrapper(_ref) {
35
21
  var type = _ref.type,
36
- filter = _ref.filter,
37
- params = _ref.params,
38
- showIncrements = _ref.showIncrements,
39
- resetOrderTransaction = _ref.resetOrderTransaction;
22
+ filter = _ref.filter,
23
+ params = _ref.params,
24
+ showIncrements = _ref.showIncrements,
25
+ resetOrderTransaction = _ref.resetOrderTransaction;
40
26
  var toast = (0, _ui.useToast)();
41
27
  (0, _react.useEffect)(() => {
42
28
  if (resetOrderTransaction !== null && resetOrderTransaction !== void 0 && resetOrderTransaction.title && resetOrderTransaction !== null && resetOrderTransaction !== void 0 && resetOrderTransaction.status) {
43
29
  toast.push(resetOrderTransaction);
44
30
  }
45
31
  /* eslint-disable-next-line react-hooks/exhaustive-deps */
46
-
47
32
  }, [resetOrderTransaction]);
48
33
  var schemaIsInvalid = (0, _react.useMemo)(() => {
49
34
  // Option not passed
50
35
  if (!type) {
51
36
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "No ", /*#__PURE__*/_react.default.createElement("code", null, "type"), " was configured");
52
37
  }
38
+ var typeSchema = _schema.default.get(type);
53
39
 
54
- var typeSchema = _schema.default.get(type); // Schema not found
55
-
56
-
40
+ // Schema not found
57
41
  if (!typeSchema) {
58
42
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "Schema ", /*#__PURE__*/_react.default.createElement("code", null, type), " not found");
59
- } // Schema lacks an order field
60
-
43
+ }
61
44
 
45
+ // Schema lacks an order field
62
46
  if (!typeSchema.fields.some(field => (field === null || field === void 0 ? void 0 : field.name) === _constants.ORDER_FIELD_NAME)) {
63
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "Schema ", /*#__PURE__*/_react.default.createElement("code", null, type), " must have an ", /*#__PURE__*/_react.default.createElement("code", null, "order"), " field of type", ' ', /*#__PURE__*/_react.default.createElement("code", null, "string"));
64
- } // Schema's order field is not a string
65
-
47
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "Schema ", /*#__PURE__*/_react.default.createElement("code", null, type), " must have an ", /*#__PURE__*/_react.default.createElement("code", null, _constants.ORDER_FIELD_NAME), " field of type", ' ', /*#__PURE__*/_react.default.createElement("code", null, "string"));
48
+ }
66
49
 
50
+ // Schema's order field is not a string
67
51
  if (typeSchema.fields.some(field => {
68
52
  var _field$type;
69
-
70
53
  return (field === null || field === void 0 ? void 0 : field.name) === _constants.ORDER_FIELD_NAME && (field === null || field === void 0 ? void 0 : (_field$type = field.type) === null || _field$type === void 0 ? void 0 : _field$type.name) !== 'string';
71
54
  })) {
72
55
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("code", null, _constants.ORDER_FIELD_NAME), " field on Schema ", /*#__PURE__*/_react.default.createElement("code", null, type), " must be", ' ', /*#__PURE__*/_react.default.createElement("code", null, "string"), " type");
73
56
  }
74
-
75
57
  return "";
76
58
  }, [type]);
77
-
78
59
  if (schemaIsInvalid) {
79
60
  return /*#__PURE__*/_react.default.createElement(_Feedback.default, null, schemaIsInvalid);
80
61
  }
81
-
82
62
  return /*#__PURE__*/_react.default.createElement(_OrderableContext.OrderableContext.Provider, {
83
63
  value: {
84
64
  showIncrements
@@ -89,7 +69,6 @@ function DocumentListWrapper(_ref) {
89
69
  params: params
90
70
  }));
91
71
  }
92
-
93
72
  DocumentListWrapper.propTypes = {
94
73
  showIncrements: _propTypes.default.bool.isRequired,
95
74
  type: _propTypes.default.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentListWrapper.js","names":["DocumentListWrapper","type","filter","params","showIncrements","resetOrderTransaction","toast","useToast","useEffect","title","status","push","schemaIsInvalid","useMemo","typeSchema","schema","get","fields","some","field","name","ORDER_FIELD_NAME","propTypes","PropTypes","bool","isRequired","string","object","shape","defaultProps"],"sources":["../src/DocumentListWrapper.js"],"sourcesContent":["import PropTypes from 'prop-types'\nimport React, {useMemo, useEffect} from 'react'\nimport schema from 'part:@sanity/base/schema'\nimport {useToast} from '@sanity/ui'\nimport {PaneRouterContext} from '@sanity/desk-tool'\n\nimport DocumentListQuery from './DocumentListQuery'\nimport {OrderableContext} from './OrderableContext'\n\nimport {ORDER_FIELD_NAME} from './helpers/constants'\nimport Feedback from './Feedback'\n\n// 1. Validate first that the schema has been configured for ordering\n// 2. Setup context for showIncrements\nexport default function DocumentListWrapper({\n type,\n filter,\n params,\n showIncrements,\n resetOrderTransaction,\n}) {\n const toast = useToast()\n\n useEffect(() => {\n if (resetOrderTransaction?.title && resetOrderTransaction?.status) {\n toast.push(resetOrderTransaction)\n }\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [resetOrderTransaction])\n\n const schemaIsInvalid = useMemo(() => {\n // Option not passed\n if (!type) {\n return (\n <>\n No <code>type</code> was configured\n </>\n )\n }\n\n const typeSchema = schema.get(type)\n\n // Schema not found\n if (!typeSchema) {\n return (\n <>\n Schema <code>{type}</code> not found\n </>\n )\n }\n\n // Schema lacks an order field\n if (!typeSchema.fields.some((field) => field?.name === ORDER_FIELD_NAME)) {\n return (\n <>\n Schema <code>{type}</code> must have an <code>order</code> field of type{' '}\n <code>string</code>\n </>\n )\n }\n\n // Schema's order field is not a string\n if (\n typeSchema.fields.some(\n (field) => field?.name === ORDER_FIELD_NAME && field?.type?.name !== 'string'\n )\n ) {\n return (\n <>\n <code>{ORDER_FIELD_NAME}</code> field on Schema <code>{type}</code> must be{' '}\n <code>string</code> type\n </>\n )\n }\n\n return ``\n }, [type])\n\n if (schemaIsInvalid) {\n return <Feedback>{schemaIsInvalid}</Feedback>\n }\n\n return (\n <OrderableContext.Provider value={{showIncrements}}>\n <DocumentListQuery type={type} filter={filter} params={params} />\n </OrderableContext.Provider>\n )\n}\n\nDocumentListWrapper.propTypes = {\n showIncrements: PropTypes.bool.isRequired,\n type: PropTypes.string.isRequired,\n filter: PropTypes.string,\n params: PropTypes.object,\n resetOrderTransaction: PropTypes.shape({\n title: PropTypes.string,\n status: PropTypes.string,\n }).isRequired,\n}\n\nDocumentListWrapper.defaultProps = {\n filter: ``,\n params: {},\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DocumentListWrapper.js","names":["DocumentListWrapper","type","filter","params","showIncrements","resetOrderTransaction","toast","useToast","useEffect","title","status","push","schemaIsInvalid","useMemo","typeSchema","schema","get","fields","some","field","name","ORDER_FIELD_NAME","propTypes","PropTypes","bool","isRequired","string","object","shape","defaultProps"],"sources":["../src/DocumentListWrapper.js"],"sourcesContent":["import PropTypes from 'prop-types'\nimport React, {useEffect, useMemo} from 'react'\nimport schema from 'part:@sanity/base/schema'\nimport {useToast} from '@sanity/ui'\n\nimport DocumentListQuery from './DocumentListQuery'\nimport {OrderableContext} from './OrderableContext'\n\nimport {ORDER_FIELD_NAME} from './helpers/constants'\nimport Feedback from './Feedback'\n\n// 1. Validate first that the schema has been configured for ordering\n// 2. Setup context for showIncrements\nexport default function DocumentListWrapper({\n type,\n filter,\n params,\n showIncrements,\n resetOrderTransaction,\n}) {\n const toast = useToast()\n\n useEffect(() => {\n if (resetOrderTransaction?.title && resetOrderTransaction?.status) {\n toast.push(resetOrderTransaction)\n }\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [resetOrderTransaction])\n\n const schemaIsInvalid = useMemo(() => {\n // Option not passed\n if (!type) {\n return (\n <>\n No <code>type</code> was configured\n </>\n )\n }\n\n const typeSchema = schema.get(type)\n\n // Schema not found\n if (!typeSchema) {\n return (\n <>\n Schema <code>{type}</code> not found\n </>\n )\n }\n\n // Schema lacks an order field\n if (!typeSchema.fields.some((field) => field?.name === ORDER_FIELD_NAME)) {\n return (\n <>\n Schema <code>{type}</code> must have an <code>{ORDER_FIELD_NAME}</code> field of type{' '}\n <code>string</code>\n </>\n )\n }\n\n // Schema's order field is not a string\n if (\n typeSchema.fields.some(\n (field) => field?.name === ORDER_FIELD_NAME && field?.type?.name !== 'string'\n )\n ) {\n return (\n <>\n <code>{ORDER_FIELD_NAME}</code> field on Schema <code>{type}</code> must be{' '}\n <code>string</code> type\n </>\n )\n }\n\n return ``\n }, [type])\n\n if (schemaIsInvalid) {\n return <Feedback>{schemaIsInvalid}</Feedback>\n }\n\n return (\n <OrderableContext.Provider value={{showIncrements}}>\n <DocumentListQuery type={type} filter={filter} params={params} />\n </OrderableContext.Provider>\n )\n}\n\nDocumentListWrapper.propTypes = {\n showIncrements: PropTypes.bool.isRequired,\n type: PropTypes.string.isRequired,\n filter: PropTypes.string,\n params: PropTypes.object,\n resetOrderTransaction: PropTypes.shape({\n title: PropTypes.string,\n status: PropTypes.string,\n }).isRequired,\n}\n\nDocumentListWrapper.defaultProps = {\n filter: ``,\n params: {},\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAAiC;AAAA;AAAA;AAEjC;AACA;AACe,SAASA,mBAAmB,OAMxC;EAAA,IALDC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNC,MAAM,QAANA,MAAM;IACNC,cAAc,QAAdA,cAAc;IACdC,qBAAqB,QAArBA,qBAAqB;EAErB,IAAMC,KAAK,GAAG,IAAAC,YAAQ,GAAE;EAExB,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIH,qBAAqB,aAArBA,qBAAqB,eAArBA,qBAAqB,CAAEI,KAAK,IAAIJ,qBAAqB,aAArBA,qBAAqB,eAArBA,qBAAqB,CAAEK,MAAM,EAAE;MACjEJ,KAAK,CAACK,IAAI,CAACN,qBAAqB,CAAC;IACnC;IACA;EACF,CAAC,EAAE,CAACA,qBAAqB,CAAC,CAAC;EAE3B,IAAMO,eAAe,GAAG,IAAAC,cAAO,EAAC,MAAM;IACpC;IACA,IAAI,CAACZ,IAAI,EAAE;MACT,oBACE,gFACK,kDAAiB,oBACnB;IAEP;IAEA,IAAMa,UAAU,GAAGC,eAAM,CAACC,GAAG,CAACf,IAAI,CAAC;;IAEnC;IACA,IAAI,CAACa,UAAU,EAAE;MACf,oBACE,oFACS,2CAAOb,IAAI,CAAQ,eACzB;IAEP;;IAEA;IACA,IAAI,CAACa,UAAU,CAACG,MAAM,CAACC,IAAI,CAAEC,KAAK,IAAK,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,IAAI,MAAKC,2BAAgB,CAAC,EAAE;MACxE,oBACE,oFACS,2CAAOpB,IAAI,CAAQ,iCAAc,2CAAOoB,2BAAgB,CAAQ,oBAAe,GAAG,eACzF,oDAAmB,CAClB;IAEP;;IAEA;IACA,IACEP,UAAU,CAACG,MAAM,CAACC,IAAI,CACnBC,KAAK;MAAA;MAAA,OAAK,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,IAAI,MAAKC,2BAAgB,IAAI,CAAAF,KAAK,aAALA,KAAK,sCAALA,KAAK,CAAElB,IAAI,gDAAX,YAAamB,IAAI,MAAK,QAAQ;IAAA,EAC9E,EACD;MACA,oBACE,yEACE,2CAAOC,2BAAgB,CAAQ,oCAAiB,2CAAOpB,IAAI,CAAQ,cAAS,GAAG,eAC/E,oDAAmB,UAClB;IAEP;IAEA;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAIW,eAAe,EAAE;IACnB,oBAAO,6BAAC,iBAAQ,QAAEA,eAAe,CAAY;EAC/C;EAEA,oBACE,6BAAC,kCAAgB,CAAC,QAAQ;IAAC,KAAK,EAAE;MAACR;IAAc;EAAE,gBACjD,6BAAC,0BAAiB;IAAC,IAAI,EAAEH,IAAK;IAAC,MAAM,EAAEC,MAAO;IAAC,MAAM,EAAEC;EAAO,EAAG,CACvC;AAEhC;AAEAH,mBAAmB,CAACsB,SAAS,GAAG;EAC9BlB,cAAc,EAAEmB,kBAAS,CAACC,IAAI,CAACC,UAAU;EACzCxB,IAAI,EAAEsB,kBAAS,CAACG,MAAM,CAACD,UAAU;EACjCvB,MAAM,EAAEqB,kBAAS,CAACG,MAAM;EACxBvB,MAAM,EAAEoB,kBAAS,CAACI,MAAM;EACxBtB,qBAAqB,EAAEkB,kBAAS,CAACK,KAAK,CAAC;IACrCnB,KAAK,EAAEc,kBAAS,CAACG,MAAM;IACvBhB,MAAM,EAAEa,kBAAS,CAACG;EACpB,CAAC,CAAC,CAACD;AACL,CAAC;AAEDzB,mBAAmB,CAAC6B,YAAY,GAAG;EACjC3B,MAAM,IAAI;EACVC,MAAM,EAAE,CAAC;AACX,CAAC"}