@hmcts/media-viewer 4.1.3-redactions-rc1 → 4.1.3-redactions-rc3

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.
@@ -83,15 +83,11 @@ export function docReducer(state = initialDocumentState, action) {
83
83
  let hasDifferentPageSize = state.hasDifferentPageSize;
84
84
  // we store the first page, as this has been rendered we can use this to get the rounding value
85
85
  const pageNumberInput = document.getElementById('pageNumber');
86
- const pageIndex = pageNumberInput ? parseInt(pageNumberInput.value, 10) : 0;
86
+ const pageIndex = pageNumberInput?.value ? parseInt(pageNumberInput.value, 10) - 1 : 0;
87
87
  console.log('pageIndex', pageIndex);
88
- const loadedPage = payload[pageIndex] && payload[pageIndex].div && payload[pageIndex].div['attributes'] && payload[pageIndex].div['attributes'].style
89
- ? payload[pageIndex].div['attributes'].style.value
90
- : '';
88
+ const loadedPage = payload[pageIndex]?.div['attributes']?.style?.value ?? '';
91
89
  payload.forEach(page => {
92
- const sizingValue = page.div && page.div['attributes'] && page.div['attributes'].style
93
- ? page.div['attributes'].style.value
94
- : '';
90
+ const sizingValue = page.div?.['attributes']?.style?.value ?? '';
95
91
  const widthMatch = sizingValue.match(/width:\s*round\(down,\s*var\(--scale-factor\)\s*\*\s*([\d.]+)px,.*var\(--scale-round-x, ([\d.]+)px\)\)/);
96
92
  const heightMatch = sizingValue.match(/height:\s*round\(down,\s*var\(--scale-factor\)\s*\*\s*([\d.]+)px,.*var\(--scale-round-y, ([\d.]+)px\)\)/);
97
93
  const scaleRoundXMatch = loadedPage.match(/--scale-round-x:\s*([\d.]+)px/);
@@ -161,4 +157,4 @@ export const getHasDifferentPageSizes = (state) => state.hasDifferentPageSize;
161
157
  export const getRotation = (state) => state.rotation;
162
158
  export const rotationLoaded = (state) => state.rotationLoaded;
163
159
  export const getConvertedDocument = (state) => state.convertedDocument;
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQWdDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCO0lBQ2pELGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLEtBQUs7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLFVBQVUsQ0FBRSxLQUFLLEdBQUcsb0JBQW9CLEVBQzVCLE1BQW1DO0lBRTdELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXBCLEtBQUssV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDakMsTUFBTSxpQkFBaUIsR0FBRztnQkFDeEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUNuQixLQUFLLEVBQUUsU0FBUzthQUNqQixDQUFDO1lBQ0YsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsaUJBQWlCO2FBQ2xCLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLGlCQUFpQixHQUFHO2dCQUN4QixHQUFHLEVBQUUsU0FBUztnQkFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU87YUFDdEIsQ0FBQztZQUNGLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLGlCQUFpQjthQUNs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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcm9tQWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50U3RhdGUge1xuICBjb252ZXJ0ZWREb2N1bWVudDoge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGVycm9yOiBzdHJpbmc7XG4gIH07XG4gIGRvY3VtZW50SWQ6IHN0cmluZztcbiAgcGRmUG9zaXRpb246IFBkZlBvc2l0aW9uO1xuICBwYWdlczoge1tpZDogc3RyaW5nXTogRG9jdW1lbnRQYWdlc307XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplOiBib29sZWFuO1xuICByb3RhdGlvbjogbnVtYmVyO1xuICByb3RhdGlvbkxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGVkOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50UGFnZXMge1xuIG51bWJlck9mUGFnZXM6IG51bWJlcjtcbiBzdHlsZXM6IHsgbGVmdDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgd2lkdGg6IG51bWJlciB9O1xuIHNjYWxlUm90YXRpb246IHsgc2NhbGU6IHN0cmluZzsgcm90YXRpb246IHN0cmluZyB9O1xuIHZpZXdwb3J0U2NhbGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZGZQb3NpdGlvbiB7XG4gIHBhZ2VOdW1iZXI6IG51bWJlcjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgcm90YXRpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxEb2N1bWVudFN0YXRlOiBEb2N1bWVudFN0YXRlID0ge1xuICBjb252ZXJ0ZWREb2N1bWVudDogdW5kZWZpbmVkLFxuICBkb2N1bWVudElkOiB1bmRlZmluZWQsXG4gIHBkZlBvc2l0aW9uOiB1bmRlZmluZWQsXG4gIHBhZ2VzOiB7fSxcbiAgaGFzRGlmZmVyZW50UGFnZVNpemU6IGZhbHNlLFxuICByb3RhdGlvbjogdW5kZWZpbmVkLFxuICByb3RhdGlvbkxvYWRlZDogZmFsc2UsXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBsb2FkZWQ6IGZhbHNlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZG9jUmVkdWNlciAoc3RhdGUgPSBpbml0aWFsRG9jdW1lbnRTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGZyb21BY3Rpb25zLkRvY3VtZW50QWN0aW9ucyk6IERvY3VtZW50U3RhdGUge1xuXG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuQ09OVkVSVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWREb2N1bWVudCA9IHtcbiAgICAgICAgdXJsOiBhY3Rpb24ucGF5bG9hZCxcbiAgICAgICAgZXJyb3I6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb252ZXJ0ZWREb2N1bWVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkNPTlZFUlRfRkFJTDoge1xuICAgICAgY29uc3QgY29udmVydGVkRG9jdW1lbnQgPSB7XG4gICAgICAgIHVybDogdW5kZWZpbmVkLFxuICAgICAgICBlcnJvcjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgY29udmVydGVkRG9jdW1lbnRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5DTEVBUl9DT05WRVJUX0RPQ19VUkw6IHtcbiAgICAgIGNvbnN0IGNvbnZlcnRlZERvY3VtZW50ID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbnZlcnRlZERvY3VtZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuTE9BRF9ST1RBVElPTjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJvdGF0aW9uTG9hZGVkOiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkxPQURfUk9UQVRJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IHJvdGF0aW9uID0gbWV0YWRhdGEgPyBtZXRhZGF0YS5yb3RhdGlvbkFuZ2xlIDogMDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbixcbiAgICAgICAgcm90YXRpb25Mb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5MT0FEX1JPVEFUSU9OX0ZBSUw6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbjogMCxcbiAgICAgICAgcm90YXRpb25Mb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5TQVZFX1JPVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCByb3RhdGlvbiA9IG1ldGFkYXRhLnJvdGF0aW9uQW5nbGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcm90YXRpb25cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5TRVRfRE9DVU1FTlRfSUQgOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZG9jdW1lbnRJZDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5BRERfUEFHRVM6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGxldCBwYWdlcyA9IHt9O1xuICAgICAgbGV0IHBhZ2VIZWlnaHQ7XG4gICAgICBsZXQgcGFnZVdpZHRoO1xuICAgICAgbGV0IGhhc0RpZmZlcmVudFBhZ2VTaXplID0gc3RhdGUuaGFzRGlmZmVyZW50UGFnZVNpemU7XG4gICAgICAvLyB3ZSBzdG9yZSB0aGUgZmlyc3QgcGFnZSwgYXMgdGhpcyBoYXMgYmVlbiByZW5kZXJlZCB3ZSBjYW4gdXNlIHRoaXMgdG8gZ2V0IHRoZSByb3VuZGluZyB2YWx1ZVxuICAgICAgY29uc3QgcGFnZU51bWJlcklucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhZ2VOdW1iZXInKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgY29uc3QgcGFnZUluZGV4ID0gcGFnZU51bWJlcklucHV0ID8gcGFyc2VJbnQocGFnZU51bWJlcklucHV0LnZhbHVlLCAxMCkgOiAwO1xuICAgICAgY29uc29sZS5sb2coJ3BhZ2VJbmRleCcsIHBhZ2VJbmRleCk7XG4gICAgICBjb25zdCBsb2FkZWRQYWdlID0gcGF5bG9hZFtwYWdlSW5kZXhdICYmIHBheWxvYWRbcGFnZUluZGV4XS5kaXYgJiYgcGF5bG9hZFtwYWdlSW5kZXhdLmRpdlsnYXR0cmlidXRlcyddICYmIHBheWxvYWRbcGFnZUluZGV4XS5kaXZbJ2F0dHJpYnV0ZXMnXS5zdHlsZVxuICAgICAgICA/IHBheWxvYWRbcGFnZUluZGV4XS5kaXZbJ2F0dHJpYnV0ZXMnXS5zdHlsZS52YWx1ZVxuICAgICAgICA6ICcnO1xuICAgICAgcGF5bG9hZC5mb3JFYWNoKHBhZ2UgPT4ge1xuICAgICAgICBjb25zdCBzaXppbmdWYWx1ZSA9IHBhZ2UuZGl2ICYmIHBhZ2UuZGl2WydhdHRyaWJ1dGVzJ10gJiYgcGFnZS5kaXZbJ2F0dHJpYnV0ZXMnXS5zdHlsZVxuICAgICAgICAgID8gcGFnZS5kaXZbJ2F0dHJpYnV0ZXMnXS5zdHlsZS52YWx1ZVxuICAgICAgICAgIDogJyc7XG4gICAgICAgIGNvbnN0IHdpZHRoTWF0Y2ggPSBzaXppbmdWYWx1ZS5tYXRjaCgvd2lkdGg6XFxzKnJvdW5kXFwoZG93bixcXHMqdmFyXFwoLS1zY2FsZS1mYWN0b3JcXClcXHMqXFwqXFxzKihbXFxkLl0rKXB4LC4qdmFyXFwoLS1zY2FsZS1yb3VuZC14LCAoW1xcZC5dKylweFxcKVxcKS8pO1xuICAgICAgICBjb25zdCBoZWlnaHRNYXRjaCA9IHNpemluZ1ZhbHVlLm1hdGNoKC9oZWlnaHQ6XFxzKnJvdW5kXFwoZG93bixcXHMqdmFyXFwoLS1zY2FsZS1mYWN0b3JcXClcXHMqXFwqXFxzKihbXFxkLl0rKXB4LC4qdmFyXFwoLS1zY2FsZS1yb3VuZC15LCAoW1xcZC5dKylweFxcKVxcKS8pO1xuICAgICAgICBjb25zdCBzY2FsZVJvdW5kWE1hdGNoID0gbG9hZGVkUGFnZS5tYXRjaCgvLS1zY2FsZS1yb3VuZC14OlxccyooW1xcZC5dKylweC8pO1xuICAgICAgICBjb25zdCBzY2FsZVJvdW5kWU1hdGNoID0gbG9hZGVkUGFnZS5tYXRjaCgvLS1zY2FsZS1yb3VuZC15OlxccyooW1xcZC5dKylweC8pO1xuICAgICAgICBjb25zdCBzY2FsZUZhY3RvciA9IHBhZ2Uudmlld3BvcnRTY2FsZSA/PyAxO1xuICAgICAgICBjb25zdCBzY2FsZVJvdW5kWCA9IHNjYWxlUm91bmRYTWF0Y2ggPyBwYXJzZUZsb2F0KHNjYWxlUm91bmRYTWF0Y2hbMV0pIDogMTtcbiAgICAgICAgY29uc3Qgc2NhbGVSb3VuZFkgPSBzY2FsZVJvdW5kWU1hdGNoID8gcGFyc2VGbG9hdChzY2FsZVJvdW5kWU1hdGNoWzFdKSA6IDE7XG4gICAgICAgIGNvbnN0IGJhc2VXaWR0aCA9IHdpZHRoTWF0Y2ggPyBwYXJzZUZsb2F0KHdpZHRoTWF0Y2hbMV0pIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBiYXNlSGVpZ2h0ID0gaGVpZ2h0TWF0Y2ggPyBwYXJzZUZsb2F0KGhlaWdodE1hdGNoWzFdKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgZnVuY3Rpb24gcm91bmREb3duKHZhbHVlOiBudW1iZXIsIHN0ZXA6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IodmFsdWUgLyBzdGVwKSAqIHN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcHV0ZWRXaWR0aCA9IGJhc2VXaWR0aCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyByb3VuZERvd24oc2NhbGVGYWN0b3IgKiBiYXNlV2lkdGgsIHNjYWxlUm91bmRYKVxuICAgICAgICAgIDogcGFnZS5kaXZbJ2NsaWVudFdpZHRoJ107XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkSGVpZ2h0ID0gYmFzZUhlaWdodCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyByb3VuZERvd24oc2NhbGVGYWN0b3IgKiBiYXNlSGVpZ2h0LCBzY2FsZVJvdW5kWSlcbiAgICAgICAgICA6IHBhZ2UuZGl2WydjbGllbnRIZWlnaHQnXTtcbiAgICAgICAgY29uc29sZS5sb2coY29tcHV0ZWRIZWlnaHQsIGNvbXB1dGVkV2lkdGgpXG5cbiAgICAgICAgaWYgKCFoYXNEaWZmZXJlbnRQYWdlU2l6ZSAmJiBwYWdlSGVpZ2h0ICYmIHBhZ2VXaWR0aCAmJlxuICAgICAgICAgIChwYWdlSGVpZ2h0ICE9PSBjb21wdXRlZEhlaWdodCB8fCBwYWdlV2lkdGggIT09IGNvbXB1dGVkV2lkdGgpKSB7XG4gICAgICAgICAgaGFzRGlmZmVyZW50UGFnZVNpemUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhZ2VIZWlnaHQgPSBjb21wdXRlZEhlaWdodDtcbiAgICAgICAgICBwYWdlV2lkdGggPSBjb21wdXRlZFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0eWxlcyA9IHtcbiAgICAgICAgICBsZWZ0OiBwYWdlLmRpdlsnb2Zmc2V0TGVmdCddLFxuICAgICAgICAgIGhlaWdodDogY29tcHV0ZWRIZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IGNvbXB1dGVkV2lkdGhcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzY2FsZVJvdGF0aW9uID0ge1xuICAgICAgICAgIHNjYWxlOiBwYWdlLnNjYWxlLFxuICAgICAgICAgIHJvdGF0aW9uOiBwYWdlLnJvdGF0aW9uXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcCA9IHtcbiAgICAgICAgICBzdHlsZXMsXG4gICAgICAgICAgc2NhbGVSb3RhdGlvbixcbiAgICAgICAgICB2aWV3cG9ydFNjYWxlOiBwYWdlLnZpZXdwb3J0U2NhbGVcbiAgICAgICAgfTtcblxuICAgICAgICBwYWdlcyA9IHtcbiAgICAgICAgICAuLi5wYWdlcyxcbiAgICAgICAgICBbcGFnZS5pZF06IHBcbiAgICAgICAgfTtcblxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGFnZXMsXG4gICAgICAgIGhhc0RpZmZlcmVudFBhZ2VTaXplXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuUE9TSVRJT05fVVBEQVRFRDoge1xuICAgICAgY29uc3QgcGRmUG9zaXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwZGZQb3NpdGlvblxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0YXRlO1xufVxuZXhwb3J0IGNvbnN0IGdldERvY1BhZ2VzID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5wYWdlcztcbmV4cG9ydCBjb25zdCBnZXREb2NJZCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuZG9jdW1lbnRJZDtcbmV4cG9ydCBjb25zdCBnZXRQZGZQb3MgPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLnBkZlBvc2l0aW9uO1xuZXhwb3J0IGNvbnN0IGdldEhhc0RpZmZlcmVudFBhZ2VTaXplcyA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuaGFzRGlmZmVyZW50UGFnZVNpemU7XG5leHBvcnQgY29uc3QgZ2V0Um90YXRpb24gPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLnJvdGF0aW9uO1xuZXhwb3J0IGNvbnN0IHJvdGF0aW9uTG9hZGVkID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5yb3RhdGlvbkxvYWRlZDtcbmV4cG9ydCBjb25zdCBnZXRDb252ZXJ0ZWREb2N1bWVudCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuY29udmVydGVkRG9jdW1lbnQ7XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQWdDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCO0lBQ2pELGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLEtBQUs7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLFVBQVUsQ0FBRSxLQUFLLEdBQUcsb0JBQW9CLEVBQzVCLE1BQW1DO0lBRTdELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXBCLEtBQUssV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDakMsTUFBTSxpQkFBaUIsR0FBRztnQkFDeEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUNuQixLQUFLLEVBQUUsU0FBUzthQUNqQixDQUFDO1lBQ0YsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsaUJBQWlCO2FBQ2xCLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLGlCQUFpQixHQUFHO2dCQUN4QixHQUFHLEVBQUUsU0FBUztnQkFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU87YUFDdEIsQ0FBQztZQUNGLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLGlCQUFpQjthQUNs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QUNSLFdBQVc7YUFDWixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFDRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQztBQUM3RixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcm9tQWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50U3RhdGUge1xuICBjb252ZXJ0ZWREb2N1bWVudDoge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGVycm9yOiBzdHJpbmc7XG4gIH07XG4gIGRvY3VtZW50SWQ6IHN0cmluZztcbiAgcGRmUG9zaXRpb246IFBkZlBvc2l0aW9uO1xuICBwYWdlczoge1tpZDogc3RyaW5nXTogRG9jdW1lbnRQYWdlc307XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplOiBib29sZWFuO1xuICByb3RhdGlvbjogbnVtYmVyO1xuICByb3RhdGlvbkxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGVkOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50UGFnZXMge1xuIG51bWJlck9mUGFnZXM6IG51bWJlcjtcbiBzdHlsZXM6IHsgbGVmdDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgd2lkdGg6IG51bWJlciB9O1xuIHNjYWxlUm90YXRpb246IHsgc2NhbGU6IHN0cmluZzsgcm90YXRpb246IHN0cmluZyB9O1xuIHZpZXdwb3J0U2NhbGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZGZQb3NpdGlvbiB7XG4gIHBhZ2VOdW1iZXI6IG51bWJlcjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgcm90YXRpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxEb2N1bWVudFN0YXRlOiBEb2N1bWVudFN0YXRlID0ge1xuICBjb252ZXJ0ZWREb2N1bWVudDogdW5kZWZpbmVkLFxuICBkb2N1bWVudElkOiB1bmRlZmluZWQsXG4gIHBkZlBvc2l0aW9uOiB1bmRlZmluZWQsXG4gIHBhZ2VzOiB7fSxcbiAgaGFzRGlmZmVyZW50UGFnZVNpemU6IGZhbHNlLFxuICByb3RhdGlvbjogdW5kZWZpbmVkLFxuICByb3RhdGlvbkxvYWRlZDogZmFsc2UsXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBsb2FkZWQ6IGZhbHNlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZG9jUmVkdWNlciAoc3RhdGUgPSBpbml0aWFsRG9jdW1lbnRTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGZyb21BY3Rpb25zLkRvY3VtZW50QWN0aW9ucyk6IERvY3VtZW50U3RhdGUge1xuXG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuQ09OVkVSVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWREb2N1bWVudCA9IHtcbiAgICAgICAgdXJsOiBhY3Rpb24ucGF5bG9hZCxcbiAgICAgICAgZXJyb3I6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb252ZXJ0ZWREb2N1bWVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkNPTlZFUlRfRkFJTDoge1xuICAgICAgY29uc3QgY29udmVydGVkRG9jdW1lbnQgPSB7XG4gICAgICAgIHVybDogdW5kZWZpbmVkLFxuICAgICAgICBlcnJvcjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgY29udmVydGVkRG9jdW1lbnRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5DTEVBUl9DT05WRVJUX0RPQ19VUkw6IHtcbiAgICAgIGNvbnN0IGNvbnZlcnRlZERvY3VtZW50ID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbnZlcnRlZERvY3VtZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuTE9BRF9ST1RBVElPTjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJvdGF0aW9uTG9hZGVkOiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkxPQURfUk9UQVRJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IHJvdGF0aW9uID0gbWV0YWRhdGEgPyBtZXRhZGF0YS5yb3RhdGlvbkFuZ2xlIDogMDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbixcbiAgICAgICAgcm90YXRpb25Mb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5MT0FEX1JPVEFUSU9OX0ZBSUw6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbjogMCxcbiAgICAgICAgcm90YXRpb25Mb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5TQVZFX1JPVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCByb3RhdGlvbiA9IG1ldGFkYXRhLnJvdGF0aW9uQW5nbGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcm90YXRpb25cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5TRVRfRE9DVU1FTlRfSUQgOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZG9jdW1lbnRJZDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5BRERfUEFHRVM6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGxldCBwYWdlcyA9IHt9O1xuICAgICAgbGV0IHBhZ2VIZWlnaHQ7XG4gICAgICBsZXQgcGFnZVdpZHRoO1xuICAgICAgbGV0IGhhc0RpZmZlcmVudFBhZ2VTaXplID0gc3RhdGUuaGFzRGlmZmVyZW50UGFnZVNpemU7XG4gICAgICAvLyB3ZSBzdG9yZSB0aGUgZmlyc3QgcGFnZSwgYXMgdGhpcyBoYXMgYmVlbiByZW5kZXJlZCB3ZSBjYW4gdXNlIHRoaXMgdG8gZ2V0IHRoZSByb3VuZGluZyB2YWx1ZVxuICAgICAgY29uc3QgcGFnZU51bWJlcklucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhZ2VOdW1iZXInKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgY29uc3QgcGFnZUluZGV4ID0gcGFnZU51bWJlcklucHV0Py52YWx1ZSA/IHBhcnNlSW50KHBhZ2VOdW1iZXJJbnB1dC52YWx1ZSwgMTApIC0gMSA6IDA7XG4gICAgICBjb25zb2xlLmxvZygncGFnZUluZGV4JywgcGFnZUluZGV4KTtcbiAgICAgIGNvbnN0IGxvYWRlZFBhZ2UgPSBwYXlsb2FkW3BhZ2VJbmRleF0/LmRpdlsnYXR0cmlidXRlcyddPy5zdHlsZT8udmFsdWUgPz8gJyc7XG4gICAgICBwYXlsb2FkLmZvckVhY2gocGFnZSA9PiB7XG4gICAgICAgIGNvbnN0IHNpemluZ1ZhbHVlID0gcGFnZS5kaXY/LlsnYXR0cmlidXRlcyddPy5zdHlsZT8udmFsdWUgPz8gJyc7XG4gICAgICAgIGNvbnN0IHdpZHRoTWF0Y2ggPSBzaXppbmdWYWx1ZS5tYXRjaCgvd2lkdGg6XFxzKnJvdW5kXFwoZG93bixcXHMqdmFyXFwoLS1zY2FsZS1mYWN0b3JcXClcXHMqXFwqXFxzKihbXFxkLl0rKXB4LC4qdmFyXFwoLS1zY2FsZS1yb3VuZC14LCAoW1xcZC5dKylweFxcKVxcKS8pO1xuICAgICAgICBjb25zdCBoZWlnaHRNYXRjaCA9IHNpemluZ1ZhbHVlLm1hdGNoKC9oZWlnaHQ6XFxzKnJvdW5kXFwoZG93bixcXHMqdmFyXFwoLS1zY2FsZS1mYWN0b3JcXClcXHMqXFwqXFxzKihbXFxkLl0rKXB4LC4qdmFyXFwoLS1zY2FsZS1yb3VuZC15LCAoW1xcZC5dKylweFxcKVxcKS8pO1xuICAgICAgICBjb25zdCBzY2FsZVJvdW5kWE1hdGNoID0gbG9hZGVkUGFnZS5tYXRjaCgvLS1zY2FsZS1yb3VuZC14OlxccyooW1xcZC5dKylweC8pO1xuICAgICAgICBjb25zdCBzY2FsZVJvdW5kWU1hdGNoID0gbG9hZGVkUGFnZS5tYXRjaCgvLS1zY2FsZS1yb3VuZC15OlxccyooW1xcZC5dKylweC8pO1xuICAgICAgICBjb25zdCBzY2FsZUZhY3RvciA9IHBhZ2Uudmlld3BvcnRTY2FsZSA/PyAxO1xuICAgICAgICBjb25zdCBzY2FsZVJvdW5kWCA9IHNjYWxlUm91bmRYTWF0Y2ggPyBwYXJzZUZsb2F0KHNjYWxlUm91bmRYTWF0Y2hbMV0pIDogMTtcbiAgICAgICAgY29uc3Qgc2NhbGVSb3VuZFkgPSBzY2FsZVJvdW5kWU1hdGNoID8gcGFyc2VGbG9hdChzY2FsZVJvdW5kWU1hdGNoWzFdKSA6IDE7XG4gICAgICAgIGNvbnN0IGJhc2VXaWR0aCA9IHdpZHRoTWF0Y2ggPyBwYXJzZUZsb2F0KHdpZHRoTWF0Y2hbMV0pIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBiYXNlSGVpZ2h0ID0gaGVpZ2h0TWF0Y2ggPyBwYXJzZUZsb2F0KGhlaWdodE1hdGNoWzFdKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgZnVuY3Rpb24gcm91bmREb3duKHZhbHVlOiBudW1iZXIsIHN0ZXA6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IodmFsdWUgLyBzdGVwKSAqIHN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcHV0ZWRXaWR0aCA9IGJhc2VXaWR0aCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyByb3VuZERvd24oc2NhbGVGYWN0b3IgKiBiYXNlV2lkdGgsIHNjYWxlUm91bmRYKVxuICAgICAgICAgIDogcGFnZS5kaXZbJ2NsaWVudFdpZHRoJ107XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkSGVpZ2h0ID0gYmFzZUhlaWdodCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyByb3VuZERvd24oc2NhbGVGYWN0b3IgKiBiYXNlSGVpZ2h0LCBzY2FsZVJvdW5kWSlcbiAgICAgICAgICA6IHBhZ2UuZGl2WydjbGllbnRIZWlnaHQnXTtcbiAgICAgICAgY29uc29sZS5sb2coY29tcHV0ZWRIZWlnaHQsIGNvbXB1dGVkV2lkdGgpXG5cbiAgICAgICAgaWYgKCFoYXNEaWZmZXJlbnRQYWdlU2l6ZSAmJiBwYWdlSGVpZ2h0ICYmIHBhZ2VXaWR0aCAmJlxuICAgICAgICAgIChwYWdlSGVpZ2h0ICE9PSBjb21wdXRlZEhlaWdodCB8fCBwYWdlV2lkdGggIT09IGNvbXB1dGVkV2lkdGgpKSB7XG4gICAgICAgICAgaGFzRGlmZmVyZW50UGFnZVNpemUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhZ2VIZWlnaHQgPSBjb21wdXRlZEhlaWdodDtcbiAgICAgICAgICBwYWdlV2lkdGggPSBjb21wdXRlZFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0eWxlcyA9IHtcbiAgICAgICAgICBsZWZ0OiBwYWdlLmRpdlsnb2Zmc2V0TGVmdCddLFxuICAgICAgICAgIGhlaWdodDogY29tcHV0ZWRIZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IGNvbXB1dGVkV2lkdGhcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzY2FsZVJvdGF0aW9uID0ge1xuICAgICAgICAgIHNjYWxlOiBwYWdlLnNjYWxlLFxuICAgICAgICAgIHJvdGF0aW9uOiBwYWdlLnJvdGF0aW9uXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcCA9IHtcbiAgICAgICAgICBzdHlsZXMsXG4gICAgICAgICAgc2NhbGVSb3RhdGlvbixcbiAgICAgICAgICB2aWV3cG9ydFNjYWxlOiBwYWdlLnZpZXdwb3J0U2NhbGVcbiAgICAgICAgfTtcblxuICAgICAgICBwYWdlcyA9IHtcbiAgICAgICAgICAuLi5wYWdlcyxcbiAgICAgICAgICBbcGFnZS5pZF06IHBcbiAgICAgICAgfTtcblxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGFnZXMsXG4gICAgICAgIGhhc0RpZmZlcmVudFBhZ2VTaXplXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuUE9TSVRJT05fVVBEQVRFRDoge1xuICAgICAgY29uc3QgcGRmUG9zaXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwZGZQb3NpdGlvblxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0YXRlO1xufVxuZXhwb3J0IGNvbnN0IGdldERvY1BhZ2VzID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5wYWdlcztcbmV4cG9ydCBjb25zdCBnZXREb2NJZCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuZG9jdW1lbnRJZDtcbmV4cG9ydCBjb25zdCBnZXRQZGZQb3MgPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLnBkZlBvc2l0aW9uO1xuZXhwb3J0IGNvbnN0IGdldEhhc0RpZmZlcmVudFBhZ2VTaXplcyA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuaGFzRGlmZmVyZW50UGFnZVNpemU7XG5leHBvcnQgY29uc3QgZ2V0Um90YXRpb24gPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLnJvdGF0aW9uO1xuZXhwb3J0IGNvbnN0IHJvdGF0aW9uTG9hZGVkID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5yb3RhdGlvbkxvYWRlZDtcbmV4cG9ydCBjb25zdCBnZXRDb252ZXJ0ZWREb2N1bWVudCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuY29udmVydGVkRG9jdW1lbnQ7XG4iXX0=
@@ -306,15 +306,11 @@ function docReducer(state = initialDocumentState, action) {
306
306
  let hasDifferentPageSize = state.hasDifferentPageSize;
307
307
  // we store the first page, as this has been rendered we can use this to get the rounding value
308
308
  const pageNumberInput = document.getElementById('pageNumber');
309
- const pageIndex = pageNumberInput ? parseInt(pageNumberInput.value, 10) : 0;
309
+ const pageIndex = pageNumberInput?.value ? parseInt(pageNumberInput.value, 10) - 1 : 0;
310
310
  console.log('pageIndex', pageIndex);
311
- const loadedPage = payload[pageIndex] && payload[pageIndex].div && payload[pageIndex].div['attributes'] && payload[pageIndex].div['attributes'].style
312
- ? payload[pageIndex].div['attributes'].style.value
313
- : '';
311
+ const loadedPage = payload[pageIndex]?.div['attributes']?.style?.value ?? '';
314
312
  payload.forEach(page => {
315
- const sizingValue = page.div && page.div['attributes'] && page.div['attributes'].style
316
- ? page.div['attributes'].style.value
317
- : '';
313
+ const sizingValue = page.div?.['attributes']?.style?.value ?? '';
318
314
  const widthMatch = sizingValue.match(/width:\s*round\(down,\s*var\(--scale-factor\)\s*\*\s*([\d.]+)px,.*var\(--scale-round-x, ([\d.]+)px\)\)/);
319
315
  const heightMatch = sizingValue.match(/height:\s*round\(down,\s*var\(--scale-factor\)\s*\*\s*([\d.]+)px,.*var\(--scale-round-y, ([\d.]+)px\)\)/);
320
316
  const scaleRoundXMatch = loadedPage.match(/--scale-round-x:\s*([\d.]+)px/);