UNPKG

decap-cms-core

Version:

Decap CMS core application, see decap-cms package for the main distribution.

263 lines (260 loc) 34.9 kB
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);