decap-cms-core
Version:
Decap CMS core application, see decap-cms package for the main distribution.
263 lines (260 loc) • 34.9 kB
JavaScript
import _styled from "@emotion/styled/base";
import React from 'react';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
import { translate } from 'react-polyglot';
import partial from 'lodash/partial';
import { Cursor } from 'decap-cms-lib-util';
import { colors } from 'decap-cms-ui-default';
import { loadEntries as actionLoadEntries, traverseCollectionCursor as actionTraverseCollectionCursor } from '../../../actions/entries';
import { loadUnpublishedEntries } from '../../../actions/editorialWorkflow';
import { selectEntries, selectEntriesLoaded, selectIsFetching, selectGroups, selectEntriesSortFields } from '../../../reducers/entries';
import { selectUnpublishedEntry, selectUnpublishedEntriesByStatus } from '../../../reducers';
import { selectCollectionEntriesCursor } from '../../../reducers/cursors';
import Entries from './Entries';
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
const GroupHeading = /*#__PURE__*/_styled("h2", {
target: "eucqz2q1",
label: "GroupHeading"
})("font-size:22px;font-weight:600;line-height:37px;color:", colors.textLead, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRW50cmllcy9FbnRyaWVzQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQjhCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRW50cmllcy9FbnRyaWVzQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgcGFydGlhbCBmcm9tICdsb2Rhc2gvcGFydGlhbCc7XG5pbXBvcnQgeyBDdXJzb3IgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQge1xuICBsb2FkRW50cmllcyBhcyBhY3Rpb25Mb2FkRW50cmllcyxcbiAgdHJhdmVyc2VDb2xsZWN0aW9uQ3Vyc29yIGFzIGFjdGlvblRyYXZlcnNlQ29sbGVjdGlvbkN1cnNvcixcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9lbnRyaWVzJztcbmltcG9ydCB7IGxvYWRVbnB1Ymxpc2hlZEVudHJpZXMgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VkaXRvcmlhbFdvcmtmbG93JztcbmltcG9ydCB7XG4gIHNlbGVjdEVudHJpZXMsXG4gIHNlbGVjdEVudHJpZXNMb2FkZWQsXG4gIHNlbGVjdElzRmV0Y2hpbmcsXG4gIHNlbGVjdEdyb3VwcyxcbiAgc2VsZWN0RW50cmllc1NvcnRGaWVsZHMsXG59IGZyb20gJy4uLy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0VW5wdWJsaXNoZWRFbnRyeSwgc2VsZWN0VW5wdWJsaXNoZWRFbnRyaWVzQnlTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBzZWxlY3RDb2xsZWN0aW9uRW50cmllc0N1cnNvciB9IGZyb20gJy4uLy4uLy4uL3JlZHVjZXJzL2N1cnNvcnMnO1xuaW1wb3J0IEVudHJpZXMgZnJvbSAnLi9FbnRyaWVzJztcblxuY29uc3QgR3JvdXBIZWFkaW5nID0gc3R5bGVkLmgyYFxuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAzN3B4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuYDtcblxuY29uc3QgR3JvdXBDb250YWluZXIgPSBzdHlsZWQuZGl2YGA7XG5cbmZ1bmN0aW9uIGdldEdyb3VwRW50cmllcyhlbnRyaWVzLCBwYXRocykge1xuICByZXR1cm4gZW50cmllcy5maWx0ZXIoZW50cnkgPT4gcGF0aHMuaGFzKGVudHJ5LmdldCgncGF0aCcpKSk7XG59XG5cbmZ1bmN0aW9uIGdldEdyb3VwVGl0bGUoZ3JvdXAsIHQpIHtcbiAgY29uc3QgeyBsYWJlbCwgdmFsdWUgfSA9IGdyb3VwO1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCdjb2xsZWN0aW9uLmdyb3Vwcy5vdGhlcicpO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiB2YWx1ZSA/IGxhYmVsIDogdCgnY29sbGVjdGlvbi5ncm91cHMubmVnYXRlTGFiZWwnLCB7IGxhYmVsIH0pO1xuICB9XG4gIHJldHVybiBgJHtsYWJlbH0gJHt2YWx1ZX1gLnRyaW0oKTtcbn1cblxuZnVuY3Rpb24gd2l0aEdyb3Vwcyhncm91cHMsIGVudHJpZXMsIEVudHJpZXNUb1JlbmRlciwgdCkge1xuICByZXR1cm4gZ3JvdXBzLm1hcChncm91cCA9PiB7XG4gICAgY29uc3QgdGl0bGUgPSBnZXRHcm91cFRpdGxlKGdyb3VwLCB0KTtcbiAgICByZXR1cm4gKFxuICAgICAgPEdyb3VwQ29udGFpbmVyIGtleT17Z3JvdXAuaWR9IGlkPXtncm91cC5pZH0+XG4gICAgICAgIDxHcm91cEhlYWRpbmc+e3RpdGxlfTwvR3JvdXBIZWFkaW5nPlxuICAgICAgICA8RW50cmllc1RvUmVuZGVyXG4gICAgICAgICAgZW50cmllcz17Z2V0R3JvdXBFbnRyaWVzKGVudHJpZXMsIGdyb3VwLnBhdGhzKX1cbiAgICAgICAgICBzaG93VW5wdWJsaXNoZWRFbnRyaWVzPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvR3JvdXBDb250YWluZXI+XG4gICAgKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjbGFzcyBFbnRyaWVzQ29sbGVjdGlvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY29sbGVjdGlvbjogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb25zOiBJbW11dGFibGVQcm9wVHlwZXMuaXRlcmFibGUsXG4gICAgcGFnZTogUHJvcFR5cGVzLm51bWJlcixcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdCxcbiAgICBncm91cHM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIHZpZXdTdHlsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJzb3I6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cmllczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0cmF2ZXJzZUNvbGxlY3Rpb25DdXJzb3I6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZW50cmllc0xvYWRlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgbG9hZFVucHVibGlzaGVkRW50cmllczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB1bnB1Ymxpc2hlZEVudHJpZXNMb2FkZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRWRpdG9yaWFsV29ya2Zsb3dFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBnZXRXb3JrZmxvd1N0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBnZXRVbnB1Ymxpc2hlZEVudHJpZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEVudHJpZXNDb2xsZWN0aW9uLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRW50cmllc0NvbGxlY3Rpb24nKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb2xsZWN0aW9ucyxcbiAgICAgIGVudHJpZXNMb2FkZWQsXG4gICAgICBsb2FkRW50cmllcyxcbiAgICAgIHVucHVibGlzaGVkRW50cmllc0xvYWRlZCxcbiAgICAgIGxvYWRVbnB1Ymxpc2hlZEVudHJpZXMsXG4gICAgICBpc0VkaXRvcmlhbFdvcmtmbG93RW5hYmxlZCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjb2xsZWN0aW9uICYmICFlbnRyaWVzTG9hZGVkKSB7XG4gICAgICBsb2FkRW50cmllcyhjb2xsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAoaXNFZGl0b3JpYWxXb3JrZmxvd0VuYWJsZWQgJiYgIXVucHVibGlzaGVkRW50cmllc0xvYWRlZCkge1xuICAgICAgbG9hZFVucHVibGlzaGVkRW50cmllcyhjb2xsZWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb2xsZWN0aW9ucyxcbiAgICAgIGVudHJpZXNMb2FkZWQsXG4gICAgICBsb2FkRW50cmllcyxcbiAgICAgIHVucHVibGlzaGVkRW50cmllc0xvYWRlZCxcbiAgICAgIGxvYWRVbnB1Ymxpc2hlZEVudHJpZXMsXG4gICAgICBpc0VkaXRvcmlhbFdvcmtmbG93RW5hYmxlZCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjb2xsZWN0aW9uICE9PSBwcmV2UHJvcHMuY29sbGVjdGlvbiAmJiAhZW50cmllc0xvYWRlZCkge1xuICAgICAgbG9hZEVudHJpZXMoY29sbGVjdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaXNFZGl0b3JpYWxXb3JrZmxvd0VuYWJsZWQgJiZcbiAgICAgICghdW5wdWJsaXNoZWRFbnRyaWVzTG9hZGVkIHx8IGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uKVxuICAgICkge1xuICAgICAgbG9hZFVucHVibGlzaGVkRW50cmllcyhjb2xsZWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ3Vyc29yQWN0aW9ucyA9IChjdXJzb3IsIGFjdGlvbikgPT4ge1xuICAgIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJhdmVyc2VDb2xsZWN0aW9uQ3Vyc29yIH0gPSB0aGlzLnByb3BzO1xuICAgIHRyYXZlcnNlQ29sbGVjdGlvbkN1cnNvcihjb2xsZWN0aW9uLCBhY3Rpb24pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZW50cmllcyxcbiAgICAgIGdyb3VwcyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICB2aWV3U3R5bGUsXG4gICAgICBjdXJzb3IsXG4gICAgICBwYWdlLFxuICAgICAgdCxcbiAgICAgIGdldFdvcmtmbG93U3RhdHVzLFxuICAgICAgZ2V0VW5wdWJsaXNoZWRFbnRyaWVzLFxuICAgICAgZmlsdGVyVGVybSxcbiAgICAgIHNvcnRGaWVsZHMsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBFbnRyaWVzVG9SZW5kZXIgPSAoeyBlbnRyaWVzLCBzaG93UHVibGlzaGVkRW50cmllcywgc2hvd1VucHVibGlzaGVkRW50cmllcyB9KSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmlsaXR5UHJvcHMgPSB7fTtcbiAgICAgIGlmIChzaG93UHVibGlzaGVkRW50cmllcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZpc2liaWxpdHlQcm9wcy5zaG93UHVibGlzaGVkRW50cmllcyA9IHNob3dQdWJsaXNoZWRFbnRyaWVzO1xuICAgICAgfVxuICAgICAgaWYgKHNob3dVbnB1Ymxpc2hlZEVudHJpZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2aXNpYmlsaXR5UHJvcHMuc2hvd1VucHVibGlzaGVkRW50cmllcyA9IHNob3dVbnB1Ymxpc2hlZEVudHJpZXM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxFbnRyaWVzXG4gICAgICAgICAgY29sbGVjdGlvbnM9e2NvbGxlY3Rpb259XG4gICAgICAgICAgZW50cmllcz17ZW50cmllc31cbiAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgIGNvbGxlY3Rpb25OYW1lPXtjb2xsZWN0aW9uLmdldCgnbGFiZWwnKX1cbiAgICAgICAgICB2aWV3U3R5bGU9e3ZpZXdTdHlsZX1cbiAgICAgICAgICBjdXJzb3I9e2N1cnNvcn1cbiAgICAgICAgICBoYW5kbGVDdXJzb3JBY3Rpb25zPXtwYXJ0aWFsKHRoaXMuaGFuZGxlQ3Vyc29yQWN0aW9ucywgY3Vyc29yKX1cbiAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgIGdldFdvcmtmbG93U3RhdHVzPXtnZXRXb3JrZmxvd1N0YXR1c31cbiAgICAgICAgICBnZXRVbnB1Ymxpc2hlZEVudHJpZXM9e2dldFVucHVibGlzaGVkRW50cmllc31cbiAgICAgICAgICBmaWx0ZXJUZXJtPXtmaWx0ZXJUZXJtfVxuICAgICAgICAgIHNvcnRGaWVsZHM9e3NvcnRGaWVsZHN9XG4gICAgICAgICAgey4uLnZpc2liaWxpdHlQcm9wc31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGlmIChncm91cHMgJiYgZ3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICB7d2l0aEdyb3Vwcyhncm91cHMsIGVudHJpZXMsIEVudHJpZXNUb1JlbmRlciwgdCl9XG4gICAgICAgICAgPEVudHJpZXNUb1JlbmRlciBlbnRyaWVzPXtlbnRyaWVzfSBzaG93UHVibGlzaGVkRW50cmllcz17ZmFsc2V9IC8+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiA8RW50cmllc1RvUmVuZGVyIGVudHJpZXM9e2VudHJpZXN9IC8+O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJOZXN0ZWRFbnRyaWVzKHBhdGgsIGNvbGxlY3Rpb25Gb2xkZXIsIGVudHJpZXMsIHN1YmZvbGRlcnMpIHtcbiAgY29uc3QgZmlsdGVyZWQgPSBlbnRyaWVzLmZpbHRlcihlID0+IHtcbiAgICBsZXQgZW50cnlQYXRoID0gZS5nZXQoJ3BhdGgnKS5zbGljZShjb2xsZWN0aW9uRm9sZGVyLmxlbmd0aCArIDEpO1xuICAgIGlmICghZW50cnlQYXRoLnN0YXJ0c1dpdGgocGF0aCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBmb3Igc3ViZGlyZWN0b3JpZXMsIHRyaW0gb2ZmIHRoZSBwYXJlbnQgZm9sZGVyIGNvcnJlc3BvbmRpbmcgdG9cbiAgICAvLyB0aGlzIG5lc3RlZCBjb2xsZWN0aW9uIGVudHJ5XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIGVudHJ5UGF0aCA9IGVudHJ5UGF0aC5zbGljZShwYXRoLmxlbmd0aCArIDEpO1xuICAgIH1cblxuICAgIC8vIGlmIHN1YmZvbGRlcnMgbGVnYWN5IG1vZGUgaXMgZW5hYmxlZCwgc2hvdyBvbmx5IGltbWVkaWF0ZSBzdWJmb2xkZXJzXG4gICAgLy8gYWxzbyBzaG93IGluZGV4IGZpbGUgaW4gcm9vdCBmb2xkZXJcbiAgICBpZiAoc3ViZm9sZGVycykge1xuICAgICAgY29uc3QgZGVwdGggPSBlbnRyeVBhdGguc3BsaXQoJy8nKS5sZW5ndGg7XG4gICAgICByZXR1cm4gcGF0aCA/IGRlcHRoID09PSAyIDogZGVwdGggPD0gMjtcbiAgICB9XG5cbiAgICAvLyBvbmx5IHNob3cgaW1tZWRpYXRlIGNoaWxkcmVuXG4gICAgcmV0dXJuICFlbnRyeVBhdGguaW5jbHVkZXMoJy8nKTtcbiAgfSk7XG4gIHJldHVybiBmaWx0ZXJlZDtcbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlLCBvd25Qcm9wcykge1xuICBjb25zdCB7IGNvbGxlY3Rpb24sIHZpZXdTdHlsZSwgZmlsdGVyVGVybSB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IHBhZ2UgPSBzdGF0ZS5lbnRyaWVzLmdldEluKFsncGFnZXMnLCBjb2xsZWN0aW9uLmdldCgnbmFtZScpLCAncGFnZSddKTtcblxuICBjb25zdCBjb2xsZWN0aW9ucyA9IHN0YXRlLmNvbGxlY3Rpb25zO1xuXG4gIGxldCBlbnRyaWVzID0gc2VsZWN0RW50cmllcyhzdGF0ZS5lbnRyaWVzLCBjb2xsZWN0aW9uKTtcbiAgY29uc3QgZ3JvdXBzID0gc2VsZWN0R3JvdXBzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pO1xuICBjb25zdCBzb3J0RmllbGRzID0gc2VsZWN0RW50cmllc1NvcnRGaWVsZHMoc3RhdGUuZW50cmllcywgY29sbGVjdGlvbi5nZXQoJ25hbWUnKSk7XG5cbiAgaWYgKGNvbGxlY3Rpb24uaGFzKCduZXN0ZWQnKSkge1xuICAgIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gICAgZW50cmllcyA9IGZpbHRlck5lc3RlZEVudHJpZXMoXG4gICAgICBmaWx0ZXJUZXJtIHx8ICcnLFxuICAgICAgY29sbGVjdGlvbkZvbGRlcixcbiAgICAgIGVudHJpZXMsXG4gICAgICBjb2xsZWN0aW9uLmdldCgnbmVzdGVkJykuZ2V0KCdzdWJmb2xkZXJzJykgIT09IGZhbHNlLFxuICAgICk7XG4gIH1cbiAgY29uc3QgZW50cmllc0xvYWRlZCA9IHNlbGVjdEVudHJpZXNMb2FkZWQoc3RhdGUuZW50cmllcywgY29sbGVjdGlvbi5nZXQoJ25hbWUnKSk7XG4gIGNvbnN0IGlzRmV0Y2hpbmcgPSBzZWxlY3RJc0ZldGNoaW5nKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24uZ2V0KCduYW1lJykpO1xuXG4gIGNvbnN0IHJhd0N1cnNvciA9IHNlbGVjdENvbGxlY3Rpb25FbnRyaWVzQ3Vyc29yKHN0YXRlLmN1cnNvcnMsIGNvbGxlY3Rpb24uZ2V0KCduYW1lJykpO1xuICBjb25zdCBjdXJzb3IgPSBDdXJzb3IuY3JlYXRlKHJhd0N1cnNvcikuY2xlYXJEYXRhKCk7XG5cbiAgY29uc3QgaXNFZGl0b3JpYWxXb3JrZmxvd0VuYWJsZWQgPSBzdGF0ZS5jb25maWc/LnB1Ymxpc2hfbW9kZSA9PT0gJ2VkaXRvcmlhbF93b3JrZmxvdyc7XG4gIGNvbnN0IHVucHVibGlzaGVkRW50cmllc0xvYWRlZCA9IGlzRWRpdG9yaWFsV29ya2Zsb3dFbmFibGVkXG4gICAgPyAhIXN0YXRlLmVkaXRvcmlhbFdvcmtmbG93Py5nZXRJbihbJ3BhZ2VzJywgJ2lkcyddLCBmYWxzZSlcbiAgICA6IHRydWU7XG5cbiAgcmV0dXJuIHtcbiAgICBjb2xsZWN0aW9uLFxuICAgIGNvbGxlY3Rpb25zLFxuICAgIHBhZ2UsXG4gICAgZW50cmllcyxcbiAgICBncm91cHMsXG4gICAgc29ydEZpZWxkcyxcbiAgICBlbnRyaWVzTG9hZGVkLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgdmlld1N0eWxlLFxuICAgIGN1cnNvcixcbiAgICB1bnB1Ymxpc2hlZEVudHJpZXNMb2FkZWQsXG4gICAgaXNFZGl0b3JpYWxXb3JrZmxvd0VuYWJsZWQsXG4gICAgZ2V0V29ya2Zsb3dTdGF0dXM6IChjb2xsZWN0aW9uTmFtZSwgc2x1ZykgPT4ge1xuICAgICAgY29uc3QgdW5wdWJsaXNoZWRFbnRyeSA9IHNlbGVjdFVucHVibGlzaGVkRW50cnkoc3RhdGUsIGNvbGxlY3Rpb25OYW1lLCBzbHVnKTtcbiAgICAgIHJldHVybiB1bnB1Ymxpc2hlZEVudHJ5ID8gdW5wdWJsaXNoZWRFbnRyeS5nZXQoJ3N0YXR1cycpIDogbnVsbDtcbiAgICB9LFxuICAgIGdldFVucHVibGlzaGVkRW50cmllczogY29sbGVjdGlvbk5hbWUgPT4ge1xuICAgICAgaWYgKCFpc0VkaXRvcmlhbFdvcmtmbG93RW5hYmxlZCkgcmV0dXJuIFtdO1xuXG4gICAgICBjb25zdCBhbGxTdGF0dXNlcyA9IFsnZHJhZnQnLCAncGVuZGluZ19yZXZpZXcnLCAncGVuZGluZ19wdWJsaXNoJ107XG4gICAgICBjb25zdCB1bnB1Ymxpc2hlZEVudHJpZXMgPSBbXTtcblxuICAgICAgYWxsU3RhdHVzZXMuZm9yRWFjaChzdGF0dXNLZXkgPT4ge1xuICAgICAgICBjb25zdCBlbnRyaWVzRm9yU3RhdHVzID0gc2VsZWN0VW5wdWJsaXNoZWRFbnRyaWVzQnlTdGF0dXMoc3RhdGUsIHN0YXR1c0tleSk7XG4gICAgICAgIGlmIChlbnRyaWVzRm9yU3RhdHVzKSB7XG4gICAgICAgICAgZW50cmllc0ZvclN0YXR1cy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChlbnRyeS5nZXQoJ2NvbGxlY3Rpb24nKSA9PT0gY29sbGVjdGlvbk5hbWUpIHtcbiAgICAgICAgICAgICAgY29uc3QgZW50cnlXaXRoQ29sbGVjdGlvbiA9IGVudHJ5LnNldCgnY29sbGVjdGlvbicsIGNvbGxlY3Rpb25OYW1lKTtcbiAgICAgICAgICAgICAgdW5wdWJsaXNoZWRFbnRyaWVzLnB1c2goZW50cnlXaXRoQ29sbGVjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdW5wdWJsaXNoZWRFbnRyaWVzO1xuICAgIH0sXG4gIH07XG59XG5cbmNvbnN0IG1hcERpc3BhdGNoVG9Qcm9wcyA9IHtcbiAgbG9hZEVudHJpZXM6IGFjdGlvbkxvYWRFbnRyaWVzLFxuICB0cmF2ZXJzZUNvbGxlY3Rpb25DdXJzb3I6IGFjdGlvblRyYXZlcnNlQ29sbGVjdGlvbkN1cnNvcixcbiAgbG9hZFVucHVibGlzaGVkRW50cmllczogY29sbGVjdGlvbnMgPT4gbG9hZFVucHVibGlzaGVkRW50cmllcyhjb2xsZWN0aW9ucyksXG59O1xuXG5jb25zdCBDb25uZWN0ZWRFbnRyaWVzQ29sbGVjdGlvbiA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzLCBtYXBEaXNwYXRjaFRvUHJvcHMpKEVudHJpZXNDb2xsZWN0aW9uKTtcblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoQ29ubmVjdGVkRW50cmllc0NvbGxlY3Rpb24pO1xuIl19 */"));
const GroupContainer = /*#__PURE__*/_styled("div", {
target: "eucqz2q0",
label: "GroupContainer"
})(process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRW50cmllcy9FbnRyaWVzQ29sbGVjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ2lDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRW50cmllcy9FbnRyaWVzQ29sbGVjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgcGFydGlhbCBmcm9tICdsb2Rhc2gvcGFydGlhbCc7XG5pbXBvcnQgeyBDdXJzb3IgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQge1xuICBsb2FkRW50cmllcyBhcyBhY3Rpb25Mb2FkRW50cmllcyxcbiAgdHJhdmVyc2VDb2xsZWN0aW9uQ3Vyc29yIGFzIGFjdGlvblRyYXZlcnNlQ29sbGVjdGlvbkN1cnNvcixcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9lbnRyaWVzJztcbmltcG9ydCB7IGxvYWRVbnB1Ymxpc2hlZEVudHJpZXMgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VkaXRvcmlhbFdvcmtmbG93JztcbmltcG9ydCB7XG4gIHNlbGVjdEVudHJpZXMsXG4gIHNlbGVjdEVudHJpZXNMb2FkZWQsXG4gIHNlbGVjdElzRmV0Y2hpbmcsXG4gIHNlbGVjdEdyb3VwcyxcbiAgc2VsZWN0RW50cmllc1NvcnRGaWVsZHMsXG59IGZyb20gJy4uLy4uLy4uL3JlZHVjZXJzL2VudHJpZXMnO1xuaW1wb3J0IHsgc2VsZWN0VW5wdWJsaXNoZWRFbnRyeSwgc2VsZWN0VW5wdWJsaXNoZWRFbnRyaWVzQnlTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBzZWxlY3RDb2xsZWN0aW9uRW50cmllc0N1cnNvciB9IGZyb20gJy4uLy4uLy4uL3JlZHVjZXJzL2N1cnNvcnMnO1xuaW1wb3J0IEVudHJpZXMgZnJvbSAnLi9FbnRyaWVzJztcblxuY29uc3QgR3JvdXBIZWFkaW5nID0gc3R5bGVkLmgyYFxuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAzN3B4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuYDtcblxuY29uc3QgR3JvdXBDb250YWluZXIgPSBzdHlsZWQuZGl2YGA7XG5cbmZ1bmN0aW9uIGdldEdyb3VwRW50cmllcyhlbnRyaWVzLCBwYXRocykge1xuICByZXR1cm4gZW50cmllcy5maWx0ZXIoZW50cnkgPT4gcGF0aHMuaGFzKGVudHJ5LmdldCgncGF0aCcpKSk7XG59XG5cbmZ1bmN0aW9uIGdldEdyb3VwVGl0bGUoZ3JvdXAsIHQpIHtcbiAgY29uc3QgeyBsYWJlbCwgdmFsdWUgfSA9IGdyb3VwO1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCdjb2xsZWN0aW9uLmdyb3Vwcy5vdGhlcicpO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiB2YWx1ZSA/IGxhYmVsIDogdCgnY29sbGVjdGlvbi5ncm91cHMubmVnYXRlTGFiZWwnLCB7IGxhYmVsIH0pO1xuICB9XG4gIHJldHVybiBgJHtsYWJlbH0gJHt2YWx1ZX1gLnRyaW0oKTtcbn1cblxuZnVuY3Rpb24gd2l0aEdyb3Vwcyhncm91cHMsIGVudHJpZXMsIEVudHJpZXNUb1JlbmRlciwgdCkge1xuICByZXR1cm4gZ3JvdXBzLm1hcChncm91cCA9PiB7XG4gICAgY29uc3QgdGl0bGUgPSBnZXRHcm91cFRpdGxlKGdyb3VwLCB0KTtcbiAgICByZXR1cm4gKFxuICAgICAgPEdyb3VwQ29udGFpbmVyIGtleT17Z3JvdXAuaWR9IGlkPXtncm91cC5pZH0+XG4gICAgICAgIDxHcm91cEhlYWRpbmc+e3RpdGxlfTwvR3JvdXBIZWFkaW5nPlxuICAgICAgICA8RW50cmllc1RvUmVuZGVyXG4gICAgICAgICAgZW50cmllcz17Z2V0R3JvdXBFbnRyaWVzKGVudHJpZXMsIGdyb3VwLnBhdGhzKX1cbiAgICAgICAgICBzaG93VW5wdWJsaXNoZWRFbnRyaWVzPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvR3JvdXBDb250YWluZXI+XG4gICAgKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjbGFzcyBFbnRyaWVzQ29sbGVjdGlvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY29sbGVjdGlvbjogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb25zOiBJbW11dGFibGVQcm9wVHlwZXMuaXRlcmFibGUsXG4gICAgcGFnZTogUHJvcFR5cGVzLm51bWJlcixcbiAgICBlbnRyaWVzOiBJbW11dGFibGVQcm9wVHlwZXMubGlzdCxcbiAgICBncm91cHM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIHZpZXdTdHlsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJzb3I6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cmllczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0cmF2ZXJzZUNvbGxlY3Rpb25DdXJzb3I6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZW50cmllc0xvYWRlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgbG9hZFVucHVibGlzaGVkRW50cmllczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB1bnB1Ymxpc2hlZEVudHJpZXNMb2FkZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRWRpdG9yaWFsV29ya2Zsb3dFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBnZXRXb3JrZmxvd1N0YXR1czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBnZXRVbnB1Ymxpc2hlZEVudHJpZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEVudHJpZXNDb2xsZWN0aW9uLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRW50cmllc0NvbGxlY3Rpb24nKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb2xsZWN0aW9ucyxcbiAgICAgIGVudHJpZXNMb2FkZWQsXG4gICAgICBsb2FkRW50cmllcyxcbiAgICAgIHVucHVibGlzaGVkRW50cmllc0xvYWRlZCxcbiAgICAgIGxvYWRVbnB1Ymxpc2hlZEVudHJpZXMsXG4gICAgICBpc0VkaXRvcmlhbFdvcmtmbG93RW5hYmxlZCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjb2xsZWN0aW9uICYmICFlbnRyaWVzTG9hZGVkKSB7XG4gICAgICBsb2FkRW50cmllcyhjb2xsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAoaXNFZGl0b3JpYWxXb3JrZmxvd0VuYWJsZWQgJiYgIXVucHVibGlzaGVkRW50cmllc0xvYWRlZCkge1xuICAgICAgbG9hZFVucHVibGlzaGVkRW50cmllcyhjb2xsZWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb2xsZWN0aW9ucyxcbiAgICAgIGVudHJpZXNMb2FkZWQsXG4gICAgICBsb2FkRW50cmllcyxcbiAgICAgIHVucHVibGlzaGVkRW50cmllc0xvYWRlZCxcbiAgICAgIGxvYWRVbnB1Ymxpc2hlZEVudHJpZXMsXG4gICAgICBpc0VkaXRvcmlhbFdvcmtmbG93RW5hYmxlZCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjb2xsZWN0aW9uICE9PSBwcmV2UHJvcHMuY29sbGVjdGlvbiAmJiAhZW50cmllc0xvYWRlZCkge1xuICAgICAgbG9hZEVudHJpZXMoY29sbGVjdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaXNFZGl0b3JpYWxXb3JrZmxvd0VuYWJsZWQgJiZcbiAgICAgICghdW5wdWJsaXNoZWRFbnRyaWVzTG9hZGVkIHx8IGNvbGxlY3Rpb24gIT09IHByZXZQcm9wcy5jb2xsZWN0aW9uKVxuICAgICkge1xuICAgICAgbG9hZFVucHVibGlzaGVkRW50cmllcyhjb2xsZWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ3Vyc29yQWN0aW9ucyA9IChjdXJzb3IsIGFjdGlvbikgPT4ge1xuICAgIGNvbnN0IHsgY29sbGVjdGlvbiwgdHJhdmVyc2VDb2xsZWN0aW9uQ3Vyc29yIH0gPSB0aGlzLnByb3BzO1xuICAgIHRyYXZlcnNlQ29sbGVjdGlvbkN1cnNvcihjb2xsZWN0aW9uLCBhY3Rpb24pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZW50cmllcyxcbiAgICAgIGdyb3VwcyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICB2aWV3U3R5bGUsXG4gICAgICBjdXJzb3IsXG4gICAgICBwYWdlLFxuICAgICAgdCxcbiAgICAgIGdldFdvcmtmbG93U3RhdHVzLFxuICAgICAgZ2V0VW5wdWJsaXNoZWRFbnRyaWVzLFxuICAgICAgZmlsdGVyVGVybSxcbiAgICAgIHNvcnRGaWVsZHMsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBFbnRyaWVzVG9SZW5kZXIgPSAoeyBlbnRyaWVzLCBzaG93UHVibGlzaGVkRW50cmllcywgc2hvd1VucHVibGlzaGVkRW50cmllcyB9KSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmlsaXR5UHJvcHMgPSB7fTtcbiAgICAgIGlmIChzaG93UHVibGlzaGVkRW50cmllcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZpc2liaWxpdHlQcm9wcy5zaG93UHVibGlzaGVkRW50cmllcyA9IHNob3dQdWJsaXNoZWRFbnRyaWVzO1xuICAgICAgfVxuICAgICAgaWYgKHNob3dVbnB1Ymxpc2hlZEVudHJpZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2aXNpYmlsaXR5UHJvcHMuc2hvd1VucHVibGlzaGVkRW50cmllcyA9IHNob3dVbnB1Ymxpc2hlZEVudHJpZXM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxFbnRyaWVzXG4gICAgICAgICAgY29sbGVjdGlvbnM9e2NvbGxlY3Rpb259XG4gICAgICAgICAgZW50cmllcz17ZW50cmllc31cbiAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgIGNvbGxlY3Rpb25OYW1lPXtjb2xsZWN0aW9uLmdldCgnbGFiZWwnKX1cbiAgICAgICAgICB2aWV3U3R5bGU9e3ZpZXdTdHlsZX1cbiAgICAgICAgICBjdXJzb3I9e2N1cnNvcn1cbiAgICAgICAgICBoYW5kbGVDdXJzb3JBY3Rpb25zPXtwYXJ0aWFsKHRoaXMuaGFuZGxlQ3Vyc29yQWN0aW9ucywgY3Vyc29yKX1cbiAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgIGdldFdvcmtmbG93U3RhdHVzPXtnZXRXb3JrZmxvd1N0YXR1c31cbiAgICAgICAgICBnZXRVbnB1Ymxpc2hlZEVudHJpZXM9e2dldFVucHVibGlzaGVkRW50cmllc31cbiAgICAgICAgICBmaWx0ZXJUZXJtPXtmaWx0ZXJUZXJtfVxuICAgICAgICAgIHNvcnRGaWVsZHM9e3NvcnRGaWVsZHN9XG4gICAgICAgICAgey4uLnZpc2liaWxpdHlQcm9wc31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGlmIChncm91cHMgJiYgZ3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICB7d2l0aEdyb3Vwcyhncm91cHMsIGVudHJpZXMsIEVudHJpZXNUb1JlbmRlciwgdCl9XG4gICAgICAgICAgPEVudHJpZXNUb1JlbmRlciBlbnRyaWVzPXtlbnRyaWVzfSBzaG93UHVibGlzaGVkRW50cmllcz17ZmFsc2V9IC8+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiA8RW50cmllc1RvUmVuZGVyIGVudHJpZXM9e2VudHJpZXN9IC8+O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJOZXN0ZWRFbnRyaWVzKHBhdGgsIGNvbGxlY3Rpb25Gb2xkZXIsIGVudHJpZXMsIHN1YmZvbGRlcnMpIHtcbiAgY29uc3QgZmlsdGVyZWQgPSBlbnRyaWVzLmZpbHRlcihlID0+IHtcbiAgICBsZXQgZW50cnlQYXRoID0gZS5nZXQoJ3BhdGgnKS5zbGljZShjb2xsZWN0aW9uRm9sZGVyLmxlbmd0aCArIDEpO1xuICAgIGlmICghZW50cnlQYXRoLnN0YXJ0c1dpdGgocGF0aCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBmb3Igc3ViZGlyZWN0b3JpZXMsIHRyaW0gb2ZmIHRoZSBwYXJlbnQgZm9sZGVyIGNvcnJlc3BvbmRpbmcgdG9cbiAgICAvLyB0aGlzIG5lc3RlZCBjb2xsZWN0aW9uIGVudHJ5XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIGVudHJ5UGF0aCA9IGVudHJ5UGF0aC5zbGljZShwYXRoLmxlbmd0aCArIDEpO1xuICAgIH1cblxuICAgIC8vIGlmIHN1YmZvbGRlcnMgbGVnYWN5IG1vZGUgaXMgZW5hYmxlZCwgc2hvdyBvbmx5IGltbWVkaWF0ZSBzdWJmb2xkZXJzXG4gICAgLy8gYWxzbyBzaG93IGluZGV4IGZpbGUgaW4gcm9vdCBmb2xkZXJcbiAgICBpZiAoc3ViZm9sZGVycykge1xuICAgICAgY29uc3QgZGVwdGggPSBlbnRyeVBhdGguc3BsaXQoJy8nKS5sZW5ndGg7XG4gICAgICByZXR1cm4gcGF0aCA/IGRlcHRoID09PSAyIDogZGVwdGggPD0gMjtcbiAgICB9XG5cbiAgICAvLyBvbmx5IHNob3cgaW1tZWRpYXRlIGNoaWxkcmVuXG4gICAgcmV0dXJuICFlbnRyeVBhdGguaW5jbHVkZXMoJy8nKTtcbiAgfSk7XG4gIHJldHVybiBmaWx0ZXJlZDtcbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlLCBvd25Qcm9wcykge1xuICBjb25zdCB7IGNvbGxlY3Rpb24sIHZpZXdTdHlsZSwgZmlsdGVyVGVybSB9ID0gb3duUHJvcHM7XG4gIGNvbnN0IHBhZ2UgPSBzdGF0ZS5lbnRyaWVzLmdldEluKFsncGFnZXMnLCBjb2xsZWN0aW9uLmdldCgnbmFtZScpLCAncGFnZSddKTtcblxuICBjb25zdCBjb2xsZWN0aW9ucyA9IHN0YXRlLmNvbGxlY3Rpb25zO1xuXG4gIGxldCBlbnRyaWVzID0gc2VsZWN0RW50cmllcyhzdGF0ZS5lbnRyaWVzLCBjb2xsZWN0aW9uKTtcbiAgY29uc3QgZ3JvdXBzID0gc2VsZWN0R3JvdXBzKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24pO1xuICBjb25zdCBzb3J0RmllbGRzID0gc2VsZWN0RW50cmllc1NvcnRGaWVsZHMoc3RhdGUuZW50cmllcywgY29sbGVjdGlvbi5nZXQoJ25hbWUnKSk7XG5cbiAgaWYgKGNvbGxlY3Rpb24uaGFzKCduZXN0ZWQnKSkge1xuICAgIGNvbnN0IGNvbGxlY3Rpb25Gb2xkZXIgPSBjb2xsZWN0aW9uLmdldCgnZm9sZGVyJyk7XG4gICAgZW50cmllcyA9IGZpbHRlck5lc3RlZEVudHJpZXMoXG4gICAgICBmaWx0ZXJUZXJtIHx8ICcnLFxuICAgICAgY29sbGVjdGlvbkZvbGRlcixcbiAgICAgIGVudHJpZXMsXG4gICAgICBjb2xsZWN0aW9uLmdldCgnbmVzdGVkJykuZ2V0KCdzdWJmb2xkZXJzJykgIT09IGZhbHNlLFxuICAgICk7XG4gIH1cbiAgY29uc3QgZW50cmllc0xvYWRlZCA9IHNlbGVjdEVudHJpZXNMb2FkZWQoc3RhdGUuZW50cmllcywgY29sbGVjdGlvbi5nZXQoJ25hbWUnKSk7XG4gIGNvbnN0IGlzRmV0Y2hpbmcgPSBzZWxlY3RJc0ZldGNoaW5nKHN0YXRlLmVudHJpZXMsIGNvbGxlY3Rpb24uZ2V0KCduYW1lJykpO1xuXG4gIGNvbnN0IHJhd0N1cnNvciA9IHNlbGVjdENvbGxlY3Rpb25FbnRyaWVzQ3Vyc29yKHN0YXRlLmN1cnNvcnMsIGNvbGxlY3Rpb24uZ2V0KCduYW1lJykpO1xuICBjb25zdCBjdXJzb3IgPSBDdXJzb3IuY3JlYXRlKHJhd0N1cnNvcikuY2xlYXJEYXRhKCk7XG5cbiAgY29uc3QgaXNFZGl0b3JpYWxXb3JrZmxvd0VuYWJsZWQgPSBzdGF0ZS5jb25maWc/LnB1Ymxpc2hfbW9kZSA9PT0gJ2VkaXRvcmlhbF93b3JrZmxvdyc7XG4gIGNvbnN0IHVucHVibGlzaGVkRW50cmllc0xvYWRlZCA9IGlzRWRpdG9yaWFsV29ya2Zsb3dFbmFibGVkXG4gICAgPyAhIXN0YXRlLmVkaXRvcmlhbFdvcmtmbG93Py5nZXRJbihbJ3BhZ2VzJywgJ2lkcyddLCBmYWxzZSlcbiAgICA6IHRydWU7XG5cbiAgcmV0dXJuIHtcbiAgICBjb2xsZWN0aW9uLFxuICAgIGNvbGxlY3Rpb25zLFxuICAgIHBhZ2UsXG4gICAgZW50cmllcyxcbiAgICBncm91cHMsXG4gICAgc29ydEZpZWxkcyxcbiAgICBlbnRyaWVzTG9hZGVkLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgdmlld1N0eWxlLFxuICAgIGN1cnNvcixcbiAgICB1bnB1Ymxpc2hlZEVudHJpZXNMb2FkZWQsXG4gICAgaXNFZGl0b3JpYWxXb3JrZmxvd0VuYWJsZWQsXG4gICAgZ2V0V29ya2Zsb3dTdGF0dXM6IChjb2xsZWN0aW9uTmFtZSwgc2x1ZykgPT4ge1xuICAgICAgY29uc3QgdW5wdWJsaXNoZWRFbnRyeSA9IHNlbGVjdFVucHVibGlzaGVkRW50cnkoc3RhdGUsIGNvbGxlY3Rpb25OYW1lLCBzbHVnKTtcbiAgICAgIHJldHVybiB1bnB1Ymxpc2hlZEVudHJ5ID8gdW5wdWJsaXNoZWRFbnRyeS5nZXQoJ3N0YXR1cycpIDogbnVsbDtcbiAgICB9LFxuICAgIGdldFVucHVibGlzaGVkRW50cmllczogY29sbGVjdGlvbk5hbWUgPT4ge1xuICAgICAgaWYgKCFpc0VkaXRvcmlhbFdvcmtmbG93RW5hYmxlZCkgcmV0dXJuIFtdO1xuXG4gICAgICBjb25zdCBhbGxTdGF0dXNlcyA9IFsnZHJhZnQnLCAncGVuZGluZ19yZXZpZXcnLCAncGVuZGluZ19wdWJsaXNoJ107XG4gICAgICBjb25zdCB1bnB1Ymxpc2hlZEVudHJpZXMgPSBbXTtcblxuICAgICAgYWxsU3RhdHVzZXMuZm9yRWFjaChzdGF0dXNLZXkgPT4ge1xuICAgICAgICBjb25zdCBlbnRyaWVzRm9yU3RhdHVzID0gc2VsZWN0VW5wdWJsaXNoZWRFbnRyaWVzQnlTdGF0dXMoc3RhdGUsIHN0YXR1c0tleSk7XG4gICAgICAgIGlmIChlbnRyaWVzRm9yU3RhdHVzKSB7XG4gICAgICAgICAgZW50cmllc0ZvclN0YXR1cy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChlbnRyeS5nZXQoJ2NvbGxlY3Rpb24nKSA9PT0gY29sbGVjdGlvbk5hbWUpIHtcbiAgICAgICAgICAgICAgY29uc3QgZW50cnlXaXRoQ29sbGVjdGlvbiA9IGVudHJ5LnNldCgnY29sbGVjdGlvbicsIGNvbGxlY3Rpb25OYW1lKTtcbiAgICAgICAgICAgICAgdW5wdWJsaXNoZWRFbnRyaWVzLnB1c2goZW50cnlXaXRoQ29sbGVjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdW5wdWJsaXNoZWRFbnRyaWVzO1xuICAgIH0sXG4gIH07XG59XG5cbmNvbnN0IG1hcERpc3BhdGNoVG9Qcm9wcyA9IHtcbiAgbG9hZEVudHJpZXM6IGFjdGlvbkxvYWRFbnRyaWVzLFxuICB0cmF2ZXJzZUNvbGxlY3Rpb25DdXJzb3I6IGFjdGlvblRyYXZlcnNlQ29sbGVjdGlvbkN1cnNvcixcbiAgbG9hZFVucHVibGlzaGVkRW50cmllczogY29sbGVjdGlvbnMgPT4gbG9hZFVucHVibGlzaGVkRW50cmllcyhjb2xsZWN0aW9ucyksXG59O1xuXG5jb25zdCBDb25uZWN0ZWRFbnRyaWVzQ29sbGVjdGlvbiA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzLCBtYXBEaXNwYXRjaFRvUHJvcHMpKEVudHJpZXNDb2xsZWN0aW9uKTtcblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoQ29ubmVjdGVkRW50cmllc0NvbGxlY3Rpb24pO1xuIl19 */");
function getGroupEntries(entries, paths) {
return entries.filter(entry => paths.has(entry.get('path')));
}
function getGroupTitle(group, t) {
const {
label,
value
} = group;
if (value === undefined) {
return t('collection.groups.other');
}
if (typeof value === 'boolean') {
return value ? label : t('collection.groups.negateLabel', {
label
});
}
return `${label} ${value}`.trim();
}
function withGroups(groups, entries, EntriesToRender, t) {
return groups.map(group => {
const title = getGroupTitle(group, t);
return _jsxs(GroupContainer, {
id: group.id,
children: [_jsx(GroupHeading, {
children: title
}), _jsx(EntriesToRender, {
entries: getGroupEntries(entries, group.paths),
showUnpublishedEntries: false
})]
}, group.id);
});
}
export class EntriesCollection extends React.Component {
static propTypes = {
collection: ImmutablePropTypes.map.isRequired,
collections: ImmutablePropTypes.iterable,
page: PropTypes.number,
entries: ImmutablePropTypes.list,
groups: PropTypes.array,
isFetching: PropTypes.bool.isRequired,
viewStyle: PropTypes.string,
cursor: PropTypes.object.isRequired,
loadEntries: PropTypes.func.isRequired,
traverseCollectionCursor: PropTypes.func.isRequired,
entriesLoaded: PropTypes.bool,
loadUnpublishedEntries: PropTypes.func.isRequired,
unpublishedEntriesLoaded: PropTypes.bool,
isEditorialWorkflowEnabled: PropTypes.bool,
getWorkflowStatus: PropTypes.func.isRequired,
getUnpublishedEntries: PropTypes.func.isRequired
};
componentDidMount() {
// Manually validate PropTypes - React 19 breaking change
PropTypes.checkPropTypes(EntriesCollection.propTypes, this.props, 'prop', 'EntriesCollection');
const {
collection,
collections,
entriesLoaded,
loadEntries,
unpublishedEntriesLoaded,
loadUnpublishedEntries,
isEditorialWorkflowEnabled
} = this.props;
if (collection && !entriesLoaded) {
loadEntries(collection);
}
if (isEditorialWorkflowEnabled && !unpublishedEntriesLoaded) {
loadUnpublishedEntries(collections);
}
}
componentDidUpdate(prevProps) {
const {
collection,
collections,
entriesLoaded,
loadEntries,
unpublishedEntriesLoaded,
loadUnpublishedEntries,
isEditorialWorkflowEnabled
} = this.props;
if (collection !== prevProps.collection && !entriesLoaded) {
loadEntries(collection);
}
if (isEditorialWorkflowEnabled && (!unpublishedEntriesLoaded || collection !== prevProps.collection)) {
loadUnpublishedEntries(collections);
}
}
handleCursorActions = (cursor, action) => {
const {
collection,
traverseCollectionCursor
} = this.props;
traverseCollectionCursor(collection, action);
};
render() {
const {
collection,
entries,
groups,
isFetching,
viewStyle,
cursor,
page,
t,
getWorkflowStatus,
getUnpublishedEntries,
filterTerm,
sortFields
} = this.props;
const EntriesToRender = ({
entries,
showPublishedEntries,
showUnpublishedEntries
}) => {
const visibilityProps = {};
if (showPublishedEntries !== undefined) {
visibilityProps.showPublishedEntries = showPublishedEntries;
}
if (showUnpublishedEntries !== undefined) {
visibilityProps.showUnpublishedEntries = showUnpublishedEntries;
}
return _jsx(Entries, {
collections: collection,
entries: entries,
isFetching: isFetching,
collectionName: collection.get('label'),
viewStyle: viewStyle,
cursor: cursor,
handleCursorActions: partial(this.handleCursorActions, cursor),
page: page,
getWorkflowStatus: getWorkflowStatus,
getUnpublishedEntries: getUnpublishedEntries,
filterTerm: filterTerm,
sortFields: sortFields,
...visibilityProps
});
};
if (groups && groups.length > 0) {
return _jsxs(React.Fragment, {
children: [withGroups(groups, entries, EntriesToRender, t), _jsx(EntriesToRender, {
entries: entries,
showPublishedEntries: false
})]
});
}
return _jsx(EntriesToRender, {
entries: entries
});
}
}
export function filterNestedEntries(path, collectionFolder, entries, subfolders) {
const filtered = entries.filter(e => {
let entryPath = e.get('path').slice(collectionFolder.length + 1);
if (!entryPath.startsWith(path)) {
return false;
}
// for subdirectories, trim off the parent folder corresponding to
// this nested collection entry
if (path) {
entryPath = entryPath.slice(path.length + 1);
}
// if subfolders legacy mode is enabled, show only immediate subfolders
// also show index file in root folder
if (subfolders) {
const depth = entryPath.split('/').length;
return path ? depth === 2 : depth <= 2;
}
// only show immediate children
return !entryPath.includes('/');
});
return filtered;
}
function mapStateToProps(state, ownProps) {
const {
collection,
viewStyle,
filterTerm
} = ownProps;
const page = state.entries.getIn(['pages', collection.get('name'), 'page']);
const collections = state.collections;
let entries = selectEntries(state.entries, collection);
const groups = selectGroups(state.entries, collection);
const sortFields = selectEntriesSortFields(state.entries, collection.get('name'));
if (collection.has('nested')) {
const collectionFolder = collection.get('folder');
entries = filterNestedEntries(filterTerm || '', collectionFolder, entries, collection.get('nested').get('subfolders') !== false);
}
const entriesLoaded = selectEntriesLoaded(state.entries, collection.get('name'));
const isFetching = selectIsFetching(state.entries, collection.get('name'));
const rawCursor = selectCollectionEntriesCursor(state.cursors, collection.get('name'));
const cursor = Cursor.create(rawCursor).clearData();
const isEditorialWorkflowEnabled = state.config?.publish_mode === 'editorial_workflow';
const unpublishedEntriesLoaded = isEditorialWorkflowEnabled ? !!state.editorialWorkflow?.getIn(['pages', 'ids'], false) : true;
return {
collection,
collections,
page,
entries,
groups,
sortFields,
entriesLoaded,
isFetching,
viewStyle,
cursor,
unpublishedEntriesLoaded,
isEditorialWorkflowEnabled,
getWorkflowStatus: (collectionName, slug) => {
const unpublishedEntry = selectUnpublishedEntry(state, collectionName, slug);
return unpublishedEntry ? unpublishedEntry.get('status') : null;
},
getUnpublishedEntries: collectionName => {
if (!isEditorialWorkflowEnabled) return [];
const allStatuses = ['draft', 'pending_review', 'pending_publish'];
const unpublishedEntries = [];
allStatuses.forEach(statusKey => {
const entriesForStatus = selectUnpublishedEntriesByStatus(state, statusKey);
if (entriesForStatus) {
entriesForStatus.forEach(entry => {
if (entry.get('collection') === collectionName) {
const entryWithCollection = entry.set('collection', collectionName);
unpublishedEntries.push(entryWithCollection);
}
});
}
});
return unpublishedEntries;
}
};
}
const mapDispatchToProps = {
loadEntries: actionLoadEntries,
traverseCollectionCursor: actionTraverseCollectionCursor,
loadUnpublishedEntries: collections => loadUnpublishedEntries(collections)
};
const ConnectedEntriesCollection = connect(mapStateToProps, mapDispatchToProps)(EntriesCollection);
export default translate()(ConnectedEntriesCollection);