@cu-mkp/editioncrafter 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/cjs/src/action/CommentActions.js +20 -0
  2. package/dist/cjs/src/action/DiplomaticActions.js +19 -0
  3. package/dist/cjs/src/action/DocumentActions.js +188 -0
  4. package/dist/cjs/src/action/GlossaryActions.js +20 -0
  5. package/dist/cjs/src/action/initialState/commentInitialState.js +13 -0
  6. package/dist/cjs/src/action/initialState/diplomaticInitialState.js +10 -0
  7. package/dist/cjs/src/action/initialState/documentInitialState.js +17 -0
  8. package/dist/cjs/src/action/initialState/glossaryInitialState.js +13 -0
  9. package/dist/cjs/src/action/rootReducer.js +30 -0
  10. package/dist/cjs/src/component/AlphabetLinks.js +76 -0
  11. package/dist/cjs/src/component/CustomizedTooltops.js +173 -0
  12. package/dist/cjs/src/component/DiploMatic.js +90 -0
  13. package/dist/cjs/src/component/DocumentView.js +427 -0
  14. package/dist/cjs/src/component/EditorComment.js +124 -0
  15. package/dist/cjs/src/component/ErrorBoundary.js +71 -0
  16. package/dist/cjs/src/component/FigureImage.js +82 -0
  17. package/dist/cjs/src/component/GlossaryView.js +166 -0
  18. package/dist/cjs/src/component/HelpPopper.js +83 -0
  19. package/dist/cjs/src/component/ImageGridView.js +193 -0
  20. package/dist/cjs/src/component/ImageView.js +125 -0
  21. package/dist/cjs/src/component/ImageZoomControl.js +67 -0
  22. package/dist/cjs/src/component/JumpToFolio.js +103 -0
  23. package/dist/cjs/src/component/Navigation.js +266 -0
  24. package/dist/cjs/src/component/Pagination.js +81 -0
  25. package/dist/cjs/src/component/RouteListener.js +66 -0
  26. package/dist/cjs/src/component/SeaDragonComponent.js +51 -0
  27. package/dist/cjs/src/component/SinglePaneView.js +46 -0
  28. package/dist/cjs/src/component/SplitPaneView.js +164 -0
  29. package/dist/cjs/src/component/TranscriptionView.js +147 -0
  30. package/dist/cjs/src/component/XMLView.js +154 -0
  31. package/dist/cjs/src/globals.d.ts +1 -0
  32. package/dist/cjs/src/hocs/withRouter.js +29 -0
  33. package/dist/cjs/src/icons/ByIcon.js +27 -0
  34. package/dist/cjs/src/icons/CcIcon.js +27 -0
  35. package/dist/cjs/src/icons/NcIcon.js +27 -0
  36. package/dist/cjs/src/icons/SaIcon.js +27 -0
  37. package/dist/cjs/src/icons/SideMenuIconLeft.js +49 -0
  38. package/dist/cjs/src/icons/SideMenuIconRight.js +49 -0
  39. package/dist/cjs/src/index.js +34 -0
  40. package/dist/cjs/src/lib/copyObject.js +11 -0
  41. package/dist/cjs/src/lib/registerServiceWorker.js +95 -0
  42. package/dist/cjs/src/model/DocumentHelper.js +17 -0
  43. package/dist/cjs/src/model/Folio.js +92 -0
  44. package/dist/cjs/src/model/ReduxStore.js +110 -0
  45. package/dist/cjs/src/model/folioLayout.js +416 -0
  46. package/dist/cjs/src/polyfills.js +212 -0
  47. package/dist/cjs/src/saga/RouteListenerSaga.js +198 -0
  48. package/dist/cjs/src/saga/rootSaga.js +23 -0
  49. package/dist/cjs/src/scss/_CETEIcean.scss +914 -0
  50. package/dist/cjs/src/scss/_base.scss +187 -0
  51. package/dist/cjs/src/scss/_diplomatic.scss +332 -0
  52. package/dist/cjs/src/scss/_globalNavigation.scss +34 -0
  53. package/dist/cjs/src/scss/_glossary.scss +105 -0
  54. package/dist/cjs/src/scss/_imageGridView.scss +60 -0
  55. package/dist/cjs/src/scss/_imageView.scss +16 -0
  56. package/dist/cjs/src/scss/_imageZoomControl.scss +51 -0
  57. package/dist/cjs/src/scss/_jumpbox.scss +42 -0
  58. package/dist/cjs/src/scss/_navigation.scss +135 -0
  59. package/dist/cjs/src/scss/_pagination.scss +36 -0
  60. package/dist/cjs/src/scss/_spinner.scss +60 -0
  61. package/dist/cjs/src/scss/_splitPaneView.scss +35 -0
  62. package/dist/cjs/src/scss/_thumbnails.scss +17 -0
  63. package/dist/cjs/src/scss/_transcriptView.scss +178 -0
  64. package/dist/cjs/src/scss/_watermark.scss +19 -0
  65. package/dist/cjs/src/scss/_xmlView.scss +25 -0
  66. package/dist/cjs/src/scss/editioncrafter.scss +109 -0
  67. package/dist/editioncrafter.css +2462 -0
  68. package/dist/editioncrafter.css.map +1 -0
  69. package/dist/editioncrafter.min.js +3 -0
  70. package/dist/editioncrafter.min.js.LICENSE.txt +125 -0
  71. package/dist/editioncrafter.min.js.map +1 -0
  72. package/dist/es/src/action/CommentActions.js +13 -0
  73. package/dist/es/src/action/DiplomaticActions.js +12 -0
  74. package/dist/es/src/action/DocumentActions.js +181 -0
  75. package/dist/es/src/action/GlossaryActions.js +13 -0
  76. package/dist/es/src/action/initialState/commentInitialState.js +7 -0
  77. package/dist/es/src/action/initialState/diplomaticInitialState.js +3 -0
  78. package/dist/es/src/action/initialState/documentInitialState.js +11 -0
  79. package/dist/es/src/action/initialState/glossaryInitialState.js +7 -0
  80. package/dist/es/src/action/rootReducer.js +23 -0
  81. package/dist/es/src/component/AlphabetLinks.js +67 -0
  82. package/dist/es/src/component/CustomizedTooltops.js +165 -0
  83. package/dist/es/src/component/DiploMatic.js +80 -0
  84. package/dist/es/src/component/DocumentView.js +417 -0
  85. package/dist/es/src/component/EditorComment.js +114 -0
  86. package/dist/es/src/component/ErrorBoundary.js +63 -0
  87. package/dist/es/src/component/FigureImage.js +74 -0
  88. package/dist/es/src/component/GlossaryView.js +156 -0
  89. package/dist/es/src/component/HelpPopper.js +75 -0
  90. package/dist/es/src/component/ImageGridView.js +185 -0
  91. package/dist/es/src/component/ImageView.js +115 -0
  92. package/dist/es/src/component/ImageZoomControl.js +60 -0
  93. package/dist/es/src/component/JumpToFolio.js +95 -0
  94. package/dist/es/src/component/Navigation.js +256 -0
  95. package/dist/es/src/component/Pagination.js +73 -0
  96. package/dist/es/src/component/RouteListener.js +58 -0
  97. package/dist/es/src/component/SeaDragonComponent.js +42 -0
  98. package/dist/es/src/component/SinglePaneView.js +37 -0
  99. package/dist/es/src/component/SplitPaneView.js +155 -0
  100. package/dist/es/src/component/TranscriptionView.js +137 -0
  101. package/dist/es/src/component/XMLView.js +144 -0
  102. package/dist/es/src/globals.d.ts +1 -0
  103. package/dist/es/src/hocs/withRouter.js +22 -0
  104. package/dist/es/src/icons/ByIcon.js +18 -0
  105. package/dist/es/src/icons/CcIcon.js +18 -0
  106. package/dist/es/src/icons/NcIcon.js +18 -0
  107. package/dist/es/src/icons/SaIcon.js +18 -0
  108. package/dist/es/src/icons/SideMenuIconLeft.js +40 -0
  109. package/dist/es/src/icons/SideMenuIconRight.js +40 -0
  110. package/dist/es/src/index.js +27 -0
  111. package/dist/es/src/lib/copyObject.js +4 -0
  112. package/dist/es/src/lib/registerServiceWorker.js +88 -0
  113. package/dist/es/src/model/DocumentHelper.js +10 -0
  114. package/dist/es/src/model/Folio.js +85 -0
  115. package/dist/es/src/model/ReduxStore.js +101 -0
  116. package/dist/es/src/model/folioLayout.js +407 -0
  117. package/dist/es/src/polyfills.js +216 -0
  118. package/dist/es/src/saga/RouteListenerSaga.js +191 -0
  119. package/dist/es/src/saga/rootSaga.js +16 -0
  120. package/dist/es/src/scss/_CETEIcean.scss +914 -0
  121. package/dist/es/src/scss/_base.scss +187 -0
  122. package/dist/es/src/scss/_diplomatic.scss +332 -0
  123. package/dist/es/src/scss/_globalNavigation.scss +34 -0
  124. package/dist/es/src/scss/_glossary.scss +105 -0
  125. package/dist/es/src/scss/_imageGridView.scss +60 -0
  126. package/dist/es/src/scss/_imageView.scss +16 -0
  127. package/dist/es/src/scss/_imageZoomControl.scss +51 -0
  128. package/dist/es/src/scss/_jumpbox.scss +42 -0
  129. package/dist/es/src/scss/_navigation.scss +135 -0
  130. package/dist/es/src/scss/_pagination.scss +36 -0
  131. package/dist/es/src/scss/_spinner.scss +60 -0
  132. package/dist/es/src/scss/_splitPaneView.scss +35 -0
  133. package/dist/es/src/scss/_thumbnails.scss +17 -0
  134. package/dist/es/src/scss/_transcriptView.scss +178 -0
  135. package/dist/es/src/scss/_watermark.scss +19 -0
  136. package/dist/es/src/scss/_xmlView.scss +25 -0
  137. package/dist/es/src/scss/editioncrafter.scss +109 -0
  138. package/package.json +119 -0
@@ -0,0 +1,407 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
5
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
6
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
+ import copyObject from '../lib/copyObject';
9
+ var ROW_CODES = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
10
+ var emptyMarginFrame = {
11
+ middle: false,
12
+ top: false,
13
+ 'left-middle': false,
14
+ 'right-middle': false,
15
+ bottom: false,
16
+ 'left-top': false,
17
+ 'right-top': false,
18
+ 'left-bottom': false,
19
+ 'right-bottom': false
20
+ };
21
+ var hintCodes = ['tall', 'extra-tall', 'wide', 'full'];
22
+ export function layoutMargin4(html) {
23
+ var emptyZoneFrame = [['.', '.', '.', '.'], ['.', '.', '.', '.'], ['.', '.', '.', '.']];
24
+ return layoutMargin(html, emptyZoneFrame, layoutDecoder4);
25
+ }
26
+ export function layoutMargin3(html) {
27
+ var emptyZoneFrame = [['.', '.', '.'], ['.', '.', '.'], ['.', '.', '.']];
28
+ return layoutMargin(html, emptyZoneFrame, layoutDecoder3);
29
+ }
30
+ function layoutDecoder4(layoutCode, zoneFrame, hint, block) {
31
+ switch (layoutCode) {
32
+ case 'top':
33
+ zoneFrame[0][1] = block.id;
34
+ if (hint === 'wide') {
35
+ zoneFrame[0][2] = block.id;
36
+ }
37
+ if (hint === 'full') {
38
+ zoneFrame[0][0] = block.id;
39
+ zoneFrame[0][2] = block.id;
40
+ zoneFrame[0][3] = block.id;
41
+ }
42
+ break;
43
+ case 'left-middle':
44
+ zoneFrame[1][0] = block.id;
45
+ if (hint === 'tall') zoneFrame[2][0] = block.id;else if (hint === 'wide') {
46
+ zoneFrame[1][1] = block.id;
47
+ zoneFrame[1][2] = block.id;
48
+ }
49
+ break;
50
+ case 'right-middle':
51
+ zoneFrame[1][3] = block.id;
52
+ if (hint === 'tall') zoneFrame[2][3] = block.id;
53
+ break;
54
+ case 'bottom':
55
+ zoneFrame[2][1] = block.id;
56
+ zoneFrame[2][2] = block.id;
57
+ if (hint === 'wide') {
58
+ zoneFrame[2][3] = block.id;
59
+ }
60
+ if (hint === 'full') {
61
+ zoneFrame[2][0] = block.id;
62
+ zoneFrame[2][3] = block.id;
63
+ }
64
+ break;
65
+ case 'left-top':
66
+ zoneFrame[0][0] = block.id;
67
+ if (hint === 'tall') zoneFrame[1][0] = block.id;else if (hint === 'wide') {
68
+ zoneFrame[0][1] = block.id;
69
+ zoneFrame[0][2] = block.id;
70
+ }
71
+ break;
72
+ case 'right-top':
73
+ zoneFrame[0][3] = block.id;
74
+ if (hint === 'tall') zoneFrame[1][3] = block.id;
75
+ break;
76
+ case 'left-bottom':
77
+ zoneFrame[2][0] = block.id;
78
+ if (hint === 'wide') {
79
+ zoneFrame[2][1] = block.id;
80
+ zoneFrame[2][2] = block.id;
81
+ }
82
+ break;
83
+ case 'right-bottom':
84
+ zoneFrame[2][3] = block.id;
85
+ break;
86
+ default:
87
+ zoneFrame[1][1] = block.id;
88
+ zoneFrame[1][2] = block.id;
89
+ if (hint === 'wide') {
90
+ zoneFrame[1][3] = block.id;
91
+ }
92
+ if (hint === 'full') {
93
+ zoneFrame[1][0] = block.id;
94
+ zoneFrame[1][3] = block.id;
95
+ }
96
+ }
97
+ }
98
+ function layoutDecoder3(layoutCode, zoneFrame, hint, block) {
99
+ switch (layoutCode) {
100
+ case 'top':
101
+ zoneFrame[0][1] = block.id;
102
+ if (hint === 'wide') {
103
+ zoneFrame[0][2] = block.id;
104
+ }
105
+ if (hint === 'full') {
106
+ zoneFrame[0][0] = block.id;
107
+ zoneFrame[0][2] = block.id;
108
+ }
109
+ break;
110
+ case 'left-middle':
111
+ zoneFrame[1][0] = block.id;
112
+ if (hint === 'tall') zoneFrame[2][0] = block.id;else if (hint === 'wide') {
113
+ zoneFrame[1][1] = block.id;
114
+ zoneFrame[1][2] = block.id;
115
+ }
116
+ break;
117
+ case 'right-middle':
118
+ zoneFrame[1][2] = block.id;
119
+ if (hint === 'tall') zoneFrame[2][2] = block.id;
120
+ break;
121
+ case 'bottom':
122
+ zoneFrame[2][1] = block.id;
123
+ if (hint === 'wide') {
124
+ zoneFrame[2][2] = block.id;
125
+ }
126
+ if (hint === 'full') {
127
+ zoneFrame[2][0] = block.id;
128
+ zoneFrame[2][2] = block.id;
129
+ }
130
+ break;
131
+ case 'left-top':
132
+ zoneFrame[0][0] = block.id;
133
+ if (hint === 'tall') zoneFrame[1][0] = block.id;else if (hint === 'wide') {
134
+ zoneFrame[0][1] = block.id;
135
+ zoneFrame[0][2] = block.id;
136
+ }
137
+ break;
138
+ case 'right-top':
139
+ zoneFrame[0][2] = block.id;
140
+ if (hint === 'tall') zoneFrame[1][2] = block.id;
141
+ break;
142
+ case 'left-bottom':
143
+ zoneFrame[2][0] = block.id;
144
+ if (hint === 'wide') {
145
+ zoneFrame[2][1] = block.id;
146
+ zoneFrame[2][2] = block.id;
147
+ }
148
+ break;
149
+ case 'right-bottom':
150
+ zoneFrame[2][2] = block.id;
151
+ break;
152
+ default:
153
+ zoneFrame[1][1] = block.id;
154
+ zoneFrame[1][2] = block.id;
155
+ if (hint === 'full') {
156
+ zoneFrame[1][0] = block.id;
157
+ }
158
+ }
159
+ }
160
+ function layoutMargin(html, emptyZoneFrame, layoutDecoder) {
161
+ // load the surface into a DOM element to retrieve the grid data
162
+ var folioDiv = document.createElement('div');
163
+ folioDiv.innerHTML = html;
164
+ var zones = folioDiv.getElementsByTagName('tei-body')[0].children;
165
+ var validLayoutCode = function validLayoutCode(block) {
166
+ var layoutCode = block.getAttribute("rend");
167
+ if (Object.keys(emptyMarginFrame).includes(layoutCode)) {
168
+ return layoutCode;
169
+ }
170
+ return 'middle';
171
+ };
172
+ function validLayoutHint(block) {
173
+ var layoutHint = block.getAttribute('style');
174
+ if (hintCodes.includes(layoutHint)) {
175
+ return layoutHint;
176
+ }
177
+ return null;
178
+ }
179
+ var zoneGrid = [];
180
+ var gridContent = '';
181
+ var zoneIndex = 0;
182
+ var rowIndex = 0;
183
+ // for each zone, take its margin data and populate the grid
184
+ try {
185
+ var _iterator = _createForOfIteratorHelper(zones),
186
+ _step;
187
+ try {
188
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
189
+ var zone = _step.value;
190
+ // create a rolling frame that is ORed on to grid with each step
191
+ var zoneFrame = copyObject(emptyZoneFrame);
192
+ var marginFrame = copyObject(emptyMarginFrame);
193
+ var entryID = zone.id;
194
+ var blocks = zone.children;
195
+ var _iterator2 = _createForOfIteratorHelper(blocks),
196
+ _step2;
197
+ try {
198
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
199
+ var block = _step2.value;
200
+ var layoutCode = validLayoutCode(block);
201
+ var hint = validLayoutHint(block);
202
+ block.setAttribute('data-entry-id', entryID);
203
+
204
+ // group all the blocks together that share a layout code
205
+ if (marginFrame[layoutCode]) {
206
+ block.id = marginFrame[layoutCode][0].id;
207
+ marginFrame[layoutCode].push(block);
208
+ } else {
209
+ zoneIndex++;
210
+ block.id = "z".concat(zoneIndex);
211
+ marginFrame[layoutCode] = [block];
212
+ }
213
+
214
+ // decode the layout
215
+ layoutDecoder(layoutCode, zoneFrame, hint, block);
216
+ }
217
+ } catch (err) {
218
+ _iterator2.e(err);
219
+ } finally {
220
+ _iterator2.f();
221
+ }
222
+ for (var _i = 0, _Object$values = Object.values(marginFrame); _i < _Object$values.length; _i++) {
223
+ var blockSet = _Object$values[_i];
224
+ if (blockSet) {
225
+ gridContent = gridContent.concat(renderBlockSet(blockSet));
226
+ }
227
+ }
228
+
229
+ // integrate frame into grid
230
+ zoneGrid[rowIndex] = mergeRow(zoneFrame[0], zoneGrid[rowIndex]);
231
+ zoneGrid[rowIndex + 1] = mergeRow(zoneFrame[1], zoneGrid[rowIndex + 1]);
232
+ zoneGrid[rowIndex + 2] = mergeRow(zoneFrame[2], zoneGrid[rowIndex + 2]);
233
+ rowIndex += 1;
234
+ }
235
+ } catch (err) {
236
+ _iterator.e(err);
237
+ } finally {
238
+ _iterator.f();
239
+ }
240
+ } catch (error) {
241
+ console.log(error);
242
+ }
243
+ var gridLayout = zoneGridToLayout(zoneGrid);
244
+
245
+ // set the grid-template-areas
246
+ return {
247
+ html: gridContent,
248
+ layout: gridLayout
249
+ };
250
+ }
251
+
252
+ // transform zone grid into the grid layout string
253
+ function zoneGridToLayout(zoneGrid) {
254
+ var zoneGridFinal = _toConsumableArray(zoneGrid);
255
+
256
+ // ignore the first row if there are no block sets in it
257
+ if (zoneGrid[0] && zoneGrid[0][0] === '.' && zoneGrid[0][1] === '.') {
258
+ zoneGridFinal.shift();
259
+ }
260
+ var gridLayout = '';
261
+ var _iterator3 = _createForOfIteratorHelper(zoneGridFinal),
262
+ _step3;
263
+ try {
264
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
265
+ var row = _step3.value;
266
+ var rowString = row.join(' ');
267
+ gridLayout += " '".concat(rowString, "'");
268
+ }
269
+ } catch (err) {
270
+ _iterator3.e(err);
271
+ } finally {
272
+ _iterator3.f();
273
+ }
274
+ return gridLayout;
275
+ }
276
+ function renderBlockSet(blockSet) {
277
+ // use ID and class from the first block in the set
278
+ var firstBlock = blockSet[0];
279
+ var elementID = firstBlock.id;
280
+ var entryID = firstBlock.attributes['data-entry-id'].value;
281
+ var classStr = '';
282
+ for (var i = 0; i < firstBlock.classList.length; i++) {
283
+ classStr = "".concat(classStr, " ").concat(firstBlock.classList.item(i));
284
+ }
285
+
286
+ // combine the blocks in the block set. divs are all merged into a single div
287
+ // other element types become children of the single div.
288
+ var el = "<div id=\"".concat(elementID, "\" className=\"").concat(classStr, "\" data-entry-id=\"").concat(entryID, "\">");
289
+ var _iterator4 = _createForOfIteratorHelper(blockSet),
290
+ _step4;
291
+ try {
292
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
293
+ var block = _step4.value;
294
+ block.setAttribute('className', 'block');
295
+ if (block.name === 'div') {
296
+ el = el.concat("".concat(block.innerHTML, " <br/>"));
297
+ } else {
298
+ el = el.concat("".concat(block.outerHTML));
299
+ }
300
+ }
301
+ } catch (err) {
302
+ _iterator4.e(err);
303
+ } finally {
304
+ _iterator4.f();
305
+ }
306
+ return el.concat('</div>');
307
+ }
308
+ function mergeRow(sourceRow, targetRow) {
309
+ if (targetRow) {
310
+ var result = [];
311
+ for (var i = 0; i < 4; i++) {
312
+ // if the source isn't blank, copy it, otherwise use existing
313
+ if (sourceRow[i] !== '.') {
314
+ result[i] = sourceRow[i];
315
+ } else {
316
+ result[i] = targetRow[i];
317
+ }
318
+ }
319
+ return result;
320
+ }
321
+ return sourceRow;
322
+ }
323
+
324
+ /// //////////
325
+ // WARNING: This code needs to be refactored, it hasn't been used in the project since early days
326
+ export function layoutGrid(html) {
327
+ // load the surface into a DOM element to retrieve the grid data
328
+ var zoneDiv = document.createElement('div');
329
+ zoneDiv.innerHTML = html;
330
+ var zones = zoneDiv.children;
331
+
332
+ // move blocks into the gridContent as they are identified.
333
+ var gridContent = '';
334
+ var zoneGrid = [];
335
+ var index = 0;
336
+ // for each zone, take its grid data and populate the grid, throw an error on any dupes
337
+ try {
338
+ var _iterator5 = _createForOfIteratorHelper(zones),
339
+ _step5;
340
+ try {
341
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
342
+ var zone = _step5.value;
343
+ var blocks = zone.children;
344
+ var _iterator6 = _createForOfIteratorHelper(blocks),
345
+ _step6;
346
+ try {
347
+ for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
348
+ var block = _step6.value;
349
+ var blockID = "z".concat(index++);
350
+ // TODO renderBlock() definition missing, needs refactoring
351
+ // gridContent = gridContent.concat( renderBlock(blockID, block) );
352
+ var gridData = block.dataset.layout;
353
+ if (typeof gridData !== 'string') throw new Error("Grid data not found for zone: ".concat(block));
354
+ var gridDataList = gridData.split(' ');
355
+ var _iterator7 = _createForOfIteratorHelper(gridDataList),
356
+ _step7;
357
+ try {
358
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
359
+ var gridDatum = _step7.value;
360
+ var rowIndex = rowCodeToIndex(gridDatum[0]);
361
+ var columnIndex = columnCodeToIndex(gridDatum[1]);
362
+ if (zoneGrid[rowIndex] === undefined) zoneGrid[rowIndex] = ['.', '.', '.'];
363
+ if (zoneGrid[rowIndex][columnIndex] === '.') {
364
+ zoneGrid[rowIndex][columnIndex] = blockID;
365
+ } else {
366
+ throw new Error("Grid location ".concat(gridDatum, " already assigned to ").concat(zoneGrid[rowIndex][columnIndex], "."));
367
+ }
368
+ }
369
+ } catch (err) {
370
+ _iterator7.e(err);
371
+ } finally {
372
+ _iterator7.f();
373
+ }
374
+ }
375
+ } catch (err) {
376
+ _iterator6.e(err);
377
+ } finally {
378
+ _iterator6.f();
379
+ }
380
+ }
381
+ } catch (err) {
382
+ _iterator5.e(err);
383
+ } finally {
384
+ _iterator5.f();
385
+ }
386
+ } catch (error) {
387
+ console.log(error);
388
+ }
389
+ var gridLayout = zoneGridToLayout(zoneGrid);
390
+
391
+ // set the grid-template-areas
392
+ return {
393
+ content: gridContent,
394
+ layout: gridLayout
395
+ };
396
+ }
397
+ function rowCodeToIndex(rowCode) {
398
+ if (typeof rowCode !== 'string' || rowCode.length > 1) throw new Error('Invalid row code, must be a single letter.');
399
+ var index = ROW_CODES.indexOf(rowCode.toLowerCase());
400
+ if (index === -1) throw new Error('Invalid row code must be a letter a-j.');
401
+ return index;
402
+ }
403
+ function columnCodeToIndex(columnCode) {
404
+ if (typeof columnCode !== 'string') throw new Error('Invalid column code, must be a single digit.');
405
+ var index = parseInt(columnCode, 10) - 1;
406
+ return index;
407
+ }
@@ -0,0 +1,216 @@
1
+ import "core-js/modules/es.symbol.js";
2
+ import "core-js/modules/es.symbol.description.js";
3
+ import "core-js/modules/es.symbol.async-iterator.js";
4
+ import "core-js/modules/es.symbol.has-instance.js";
5
+ import "core-js/modules/es.symbol.is-concat-spreadable.js";
6
+ import "core-js/modules/es.symbol.iterator.js";
7
+ import "core-js/modules/es.symbol.match.js";
8
+ import "core-js/modules/es.symbol.replace.js";
9
+ import "core-js/modules/es.symbol.search.js";
10
+ import "core-js/modules/es.symbol.species.js";
11
+ import "core-js/modules/es.symbol.split.js";
12
+ import "core-js/modules/es.symbol.to-primitive.js";
13
+ import "core-js/modules/es.symbol.to-string-tag.js";
14
+ import "core-js/modules/es.symbol.unscopables.js";
15
+ import "core-js/modules/es.array.concat.js";
16
+ import "core-js/modules/es.array.copy-within.js";
17
+ import "core-js/modules/es.array.every.js";
18
+ import "core-js/modules/es.array.fill.js";
19
+ import "core-js/modules/es.array.filter.js";
20
+ import "core-js/modules/es.array.find.js";
21
+ import "core-js/modules/es.array.find-index.js";
22
+ import "core-js/modules/es.array.flat.js";
23
+ import "core-js/modules/es.array.flat-map.js";
24
+ import "core-js/modules/es.array.for-each.js";
25
+ import "core-js/modules/es.array.from.js";
26
+ import "core-js/modules/es.array.includes.js";
27
+ import "core-js/modules/es.array.index-of.js";
28
+ import "core-js/modules/es.array.is-array.js";
29
+ import "core-js/modules/es.array.iterator.js";
30
+ import "core-js/modules/es.array.join.js";
31
+ import "core-js/modules/es.array.last-index-of.js";
32
+ import "core-js/modules/es.array.map.js";
33
+ import "core-js/modules/es.array.of.js";
34
+ import "core-js/modules/es.array.reduce.js";
35
+ import "core-js/modules/es.array.reduce-right.js";
36
+ import "core-js/modules/es.array.reverse.js";
37
+ import "core-js/modules/es.array.slice.js";
38
+ import "core-js/modules/es.array.some.js";
39
+ import "core-js/modules/es.array.sort.js";
40
+ import "core-js/modules/es.array.species.js";
41
+ import "core-js/modules/es.array.splice.js";
42
+ import "core-js/modules/es.array.unscopables.flat.js";
43
+ import "core-js/modules/es.array.unscopables.flat-map.js";
44
+ import "core-js/modules/es.array-buffer.constructor.js";
45
+ import "core-js/modules/es.array-buffer.is-view.js";
46
+ import "core-js/modules/es.array-buffer.slice.js";
47
+ import "core-js/modules/es.data-view.js";
48
+ import "core-js/modules/es.date.now.js";
49
+ import "core-js/modules/es.date.to-iso-string.js";
50
+ import "core-js/modules/es.date.to-json.js";
51
+ import "core-js/modules/es.date.to-primitive.js";
52
+ import "core-js/modules/es.date.to-string.js";
53
+ import "core-js/modules/es.function.bind.js";
54
+ import "core-js/modules/es.function.has-instance.js";
55
+ import "core-js/modules/es.function.name.js";
56
+ import "core-js/modules/es.json.to-string-tag.js";
57
+ import "core-js/modules/es.map.js";
58
+ import "core-js/modules/es.math.acosh.js";
59
+ import "core-js/modules/es.math.asinh.js";
60
+ import "core-js/modules/es.math.atanh.js";
61
+ import "core-js/modules/es.math.cbrt.js";
62
+ import "core-js/modules/es.math.clz32.js";
63
+ import "core-js/modules/es.math.cosh.js";
64
+ import "core-js/modules/es.math.expm1.js";
65
+ import "core-js/modules/es.math.fround.js";
66
+ import "core-js/modules/es.math.hypot.js";
67
+ import "core-js/modules/es.math.imul.js";
68
+ import "core-js/modules/es.math.log10.js";
69
+ import "core-js/modules/es.math.log1p.js";
70
+ import "core-js/modules/es.math.log2.js";
71
+ import "core-js/modules/es.math.sign.js";
72
+ import "core-js/modules/es.math.sinh.js";
73
+ import "core-js/modules/es.math.tanh.js";
74
+ import "core-js/modules/es.math.to-string-tag.js";
75
+ import "core-js/modules/es.math.trunc.js";
76
+ import "core-js/modules/es.number.constructor.js";
77
+ import "core-js/modules/es.number.epsilon.js";
78
+ import "core-js/modules/es.number.is-finite.js";
79
+ import "core-js/modules/es.number.is-integer.js";
80
+ import "core-js/modules/es.number.is-nan.js";
81
+ import "core-js/modules/es.number.is-safe-integer.js";
82
+ import "core-js/modules/es.number.max-safe-integer.js";
83
+ import "core-js/modules/es.number.min-safe-integer.js";
84
+ import "core-js/modules/es.number.parse-float.js";
85
+ import "core-js/modules/es.number.parse-int.js";
86
+ import "core-js/modules/es.number.to-fixed.js";
87
+ import "core-js/modules/es.number.to-precision.js";
88
+ import "core-js/modules/es.object.assign.js";
89
+ import "core-js/modules/es.object.create.js";
90
+ import "core-js/modules/es.object.define-getter.js";
91
+ import "core-js/modules/es.object.define-properties.js";
92
+ import "core-js/modules/es.object.define-property.js";
93
+ import "core-js/modules/es.object.define-setter.js";
94
+ import "core-js/modules/es.object.entries.js";
95
+ import "core-js/modules/es.object.freeze.js";
96
+ import "core-js/modules/es.object.from-entries.js";
97
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
98
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
99
+ import "core-js/modules/es.object.get-own-property-names.js";
100
+ import "core-js/modules/es.object.get-prototype-of.js";
101
+ import "core-js/modules/es.object.is.js";
102
+ import "core-js/modules/es.object.is-extensible.js";
103
+ import "core-js/modules/es.object.is-frozen.js";
104
+ import "core-js/modules/es.object.is-sealed.js";
105
+ import "core-js/modules/es.object.keys.js";
106
+ import "core-js/modules/es.object.lookup-getter.js";
107
+ import "core-js/modules/es.object.lookup-setter.js";
108
+ import "core-js/modules/es.object.prevent-extensions.js";
109
+ import "core-js/modules/es.object.seal.js";
110
+ import "core-js/modules/es.object.set-prototype-of.js";
111
+ import "core-js/modules/es.object.to-string.js";
112
+ import "core-js/modules/es.object.values.js";
113
+ import "core-js/modules/es.parse-float.js";
114
+ import "core-js/modules/es.parse-int.js";
115
+ import "core-js/modules/es.promise.js";
116
+ import "core-js/modules/es.promise.finally.js";
117
+ import "core-js/modules/es.reflect.apply.js";
118
+ import "core-js/modules/es.reflect.construct.js";
119
+ import "core-js/modules/es.reflect.define-property.js";
120
+ import "core-js/modules/es.reflect.delete-property.js";
121
+ import "core-js/modules/es.reflect.get.js";
122
+ import "core-js/modules/es.reflect.get-own-property-descriptor.js";
123
+ import "core-js/modules/es.reflect.get-prototype-of.js";
124
+ import "core-js/modules/es.reflect.has.js";
125
+ import "core-js/modules/es.reflect.is-extensible.js";
126
+ import "core-js/modules/es.reflect.own-keys.js";
127
+ import "core-js/modules/es.reflect.prevent-extensions.js";
128
+ import "core-js/modules/es.reflect.set.js";
129
+ import "core-js/modules/es.reflect.set-prototype-of.js";
130
+ import "core-js/modules/es.regexp.constructor.js";
131
+ import "core-js/modules/es.regexp.exec.js";
132
+ import "core-js/modules/es.regexp.flags.js";
133
+ import "core-js/modules/es.regexp.to-string.js";
134
+ import "core-js/modules/es.set.js";
135
+ import "core-js/modules/es.string.code-point-at.js";
136
+ import "core-js/modules/es.string.ends-with.js";
137
+ import "core-js/modules/es.string.from-code-point.js";
138
+ import "core-js/modules/es.string.includes.js";
139
+ import "core-js/modules/es.string.iterator.js";
140
+ import "core-js/modules/es.string.match.js";
141
+ import "core-js/modules/es.string.pad-end.js";
142
+ import "core-js/modules/es.string.pad-start.js";
143
+ import "core-js/modules/es.string.raw.js";
144
+ import "core-js/modules/es.string.repeat.js";
145
+ import "core-js/modules/es.string.replace.js";
146
+ import "core-js/modules/es.string.search.js";
147
+ import "core-js/modules/es.string.split.js";
148
+ import "core-js/modules/es.string.starts-with.js";
149
+ import "core-js/modules/es.string.trim.js";
150
+ import "core-js/modules/es.string.trim-end.js";
151
+ import "core-js/modules/es.string.trim-start.js";
152
+ import "core-js/modules/es.string.anchor.js";
153
+ import "core-js/modules/es.string.big.js";
154
+ import "core-js/modules/es.string.blink.js";
155
+ import "core-js/modules/es.string.bold.js";
156
+ import "core-js/modules/es.string.fixed.js";
157
+ import "core-js/modules/es.string.fontcolor.js";
158
+ import "core-js/modules/es.string.fontsize.js";
159
+ import "core-js/modules/es.string.italics.js";
160
+ import "core-js/modules/es.string.link.js";
161
+ import "core-js/modules/es.string.small.js";
162
+ import "core-js/modules/es.string.strike.js";
163
+ import "core-js/modules/es.string.sub.js";
164
+ import "core-js/modules/es.string.sup.js";
165
+ import "core-js/modules/es.typed-array.float32-array.js";
166
+ import "core-js/modules/es.typed-array.float64-array.js";
167
+ import "core-js/modules/es.typed-array.int8-array.js";
168
+ import "core-js/modules/es.typed-array.int16-array.js";
169
+ import "core-js/modules/es.typed-array.int32-array.js";
170
+ import "core-js/modules/es.typed-array.uint8-array.js";
171
+ import "core-js/modules/es.typed-array.uint8-clamped-array.js";
172
+ import "core-js/modules/es.typed-array.uint16-array.js";
173
+ import "core-js/modules/es.typed-array.uint32-array.js";
174
+ import "core-js/modules/es.typed-array.copy-within.js";
175
+ import "core-js/modules/es.typed-array.every.js";
176
+ import "core-js/modules/es.typed-array.fill.js";
177
+ import "core-js/modules/es.typed-array.filter.js";
178
+ import "core-js/modules/es.typed-array.find.js";
179
+ import "core-js/modules/es.typed-array.find-index.js";
180
+ import "core-js/modules/es.typed-array.for-each.js";
181
+ import "core-js/modules/es.typed-array.from.js";
182
+ import "core-js/modules/es.typed-array.includes.js";
183
+ import "core-js/modules/es.typed-array.index-of.js";
184
+ import "core-js/modules/es.typed-array.iterator.js";
185
+ import "core-js/modules/es.typed-array.join.js";
186
+ import "core-js/modules/es.typed-array.last-index-of.js";
187
+ import "core-js/modules/es.typed-array.map.js";
188
+ import "core-js/modules/es.typed-array.of.js";
189
+ import "core-js/modules/es.typed-array.reduce.js";
190
+ import "core-js/modules/es.typed-array.reduce-right.js";
191
+ import "core-js/modules/es.typed-array.reverse.js";
192
+ import "core-js/modules/es.typed-array.set.js";
193
+ import "core-js/modules/es.typed-array.slice.js";
194
+ import "core-js/modules/es.typed-array.some.js";
195
+ import "core-js/modules/es.typed-array.sort.js";
196
+ import "core-js/modules/es.typed-array.subarray.js";
197
+ import "core-js/modules/es.typed-array.to-locale-string.js";
198
+ import "core-js/modules/es.typed-array.to-string.js";
199
+ import "core-js/modules/es.weak-map.js";
200
+ import "core-js/modules/es.weak-set.js";
201
+ import "core-js/modules/web.dom-collections.for-each.js";
202
+ import "core-js/modules/web.dom-collections.iterator.js";
203
+ import "core-js/modules/web.immediate.js";
204
+ import "core-js/modules/web.queue-microtask.js";
205
+ import "core-js/modules/web.timers.js";
206
+ import "core-js/modules/web.url.js";
207
+ import "core-js/modules/web.url.to-json.js";
208
+ import "core-js/modules/web.url-search-params.js";
209
+ /**
210
+ * Polyfill file used to build Webpack UMD build. These polyfills are needed to
211
+ * support both IE and Edge. If you are using Mirador ES imports these will not
212
+ * get bundled up.
213
+ */
214
+ // eslint-disable-line import/no-extraneous-dependencies
215
+ import 'url-polyfill/url-polyfill'; // eslint-disable-line import/no-extraneous-dependencies
216
+ import 'unfetch/polyfill'; // eslint-disable-line import/no-extraneous-dependencies