@venite/components 0.16.13 → 0.16.17

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 (39) hide show
  1. package/dist/cjs/ion-segment_16.cjs.entry.js +14 -11
  2. package/dist/cjs/ldf-day-name_5.cjs.entry.js +3 -3
  3. package/dist/cjs/ldf-editable-add-block-menu.cjs.entry.js +2 -2
  4. package/dist/cjs/ldf-editable-filter-documents.cjs.entry.js +1 -1
  5. package/dist/cjs/ldf-editable-lookup_2.cjs.entry.js +3 -3
  6. package/dist/cjs/ldf-editable-metadata.cjs.entry.js +3 -3
  7. package/dist/cjs/{option-24f3d13a.js → option-a078d432.js} +4 -1
  8. package/dist/cjs/{rubric-5b467a6a.js → rubric-9cc04cb0.js} +428 -0
  9. package/dist/cjs/{specific-class-a1112e78.js → specific-class-36a74859.js} +2 -2
  10. package/dist/collection/components/bible-reading/bible-reading.js +9 -6
  11. package/dist/collection/components/bible-reading/dist/bible-reading.js +2 -1
  12. package/dist/collection/components/psalm/dist/psalm.js +3 -3
  13. package/dist/collection/components/psalm/psalm.js +3 -3
  14. package/dist/collection/components/string/dist/string.js +2 -2
  15. package/dist/collection/components/string/string.js +3 -3
  16. package/dist/esm/ion-segment_16.entry.js +14 -11
  17. package/dist/esm/ldf-day-name_5.entry.js +3 -3
  18. package/dist/esm/ldf-editable-add-block-menu.entry.js +2 -2
  19. package/dist/esm/ldf-editable-filter-documents.entry.js +1 -1
  20. package/dist/esm/ldf-editable-lookup_2.entry.js +3 -3
  21. package/dist/esm/ldf-editable-metadata.entry.js +3 -3
  22. package/dist/esm/{option-da8390ad.js → option-c16af13a.js} +4 -1
  23. package/dist/esm/{rubric-91bf7fed.js → rubric-09337f3c.js} +428 -0
  24. package/dist/esm/{specific-class-ef83cfb6.js → specific-class-e890ce29.js} +2 -2
  25. package/dist/ldf/ldf.esm.js +1 -1
  26. package/dist/ldf/{p-1ff665a7.entry.js → p-304a2bdb.entry.js} +1 -1
  27. package/dist/ldf/{p-c60a875b.js → p-30b07706.js} +1 -1
  28. package/dist/ldf/{p-5ea6de28.entry.js → p-8d1a3849.entry.js} +1 -1
  29. package/dist/ldf/p-935cb02a.entry.js +1 -0
  30. package/dist/ldf/p-9d09f906.js +3 -0
  31. package/dist/ldf/{p-1902f41e.entry.js → p-cc383802.entry.js} +1 -1
  32. package/dist/ldf/p-e7a449d7.js +1 -0
  33. package/dist/ldf/p-f184d804.entry.js +1 -0
  34. package/dist/ldf/{p-bdcf2b02.entry.js → p-f529ee3c.entry.js} +1 -1
  35. package/package.json +2 -2
  36. package/dist/ldf/p-1c8cc5bf.entry.js +0 -1
  37. package/dist/ldf/p-3f8ef67b.entry.js +0 -1
  38. package/dist/ldf/p-8f67abb8.js +0 -3
  39. package/dist/ldf/p-9155f066.js +0 -1
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- const rubric = require('./rubric-5b467a6a.js');
3
+ const rubric = require('./rubric-9cc04cb0.js');
4
4
  const heading = require('./heading-5afc2b24.js');
5
- const option = require('./option-24f3d13a.js');
5
+ const option = require('./option-a078d432.js');
6
6
  const refrain = require('./refrain-91fb446b.js');
7
7
  const text = require('./text-5edb80f3.js');
8
8
 
@@ -197,12 +197,15 @@ export class BibleReadingComponent {
197
197
  return (h("div", { lang: (_t = this.obj) === null || _t === void 0 ? void 0 : _t.language, class: `bible-reading ${((_u = this.obj) === null || _u === void 0 ? void 0 : _u.display_format) || 'default'}` },
198
198
  h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation }) }),
199
199
  ((_w = (_v = this.obj) === null || _v === void 0 ? void 0 : _v.metadata) === null || _w === void 0 ? void 0 : _w.compiled_intro) && h("ldf-liturgical-document", { doc: this.obj.metadata.compiled_intro }),
200
- paragraphs.map((paragraph, paragraphIndex) => h("p", { lang: this.obj.language }, paragraph.map((verse, verseIndex) => verse.hasOwnProperty('type') && verse.type === 'heading'
201
- ? h("ldf-heading", { doc: new Heading(verse) })
202
- : [
203
- h("sup", null, verse.verse),
204
- h("ldf-string", { citation: verse, dropcap: paragraphIndex == 0 && verseIndex == 0 ? 'force' : 'disabled', id: `${verse.chapter}-${verse.book}-${verse.verse}`, text: verse.text, index: verseIndex, fragment: this.path })
205
- ])))));
200
+ paragraphs.map((paragraph, paragraphIndex) => h("p", { lang: this.obj.language }, paragraph.map((verse, verseIndex) => {
201
+ var _a;
202
+ return verse.hasOwnProperty('type') && verse.type === 'heading'
203
+ ? h("ldf-heading", { doc: new Heading(verse) })
204
+ : [
205
+ h("sup", null, verse.verse),
206
+ h("ldf-string", { citation: verse, dropcap: paragraphIndex == 0 && verseIndex == 0 && ((_a = this.obj) === null || _a === void 0 ? void 0 : _a.language) !== 'iu' ? 'force' : 'disabled', id: `${verse.chapter}-${verse.book}-${verse.verse}`, text: verse.text, index: verseIndex, fragment: this.path })
207
+ ];
208
+ })))));
206
209
  }
207
210
  }
208
211
  else {
@@ -296,11 +296,12 @@ var BibleReadingComponent = /** @class */ (function () {
296
296
  React.createElement("ldf-heading", { doc: new ldf_1.Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation }) }),
297
297
  ((_w = (_v = this.obj) === null || _v === void 0 ? void 0 : _v.metadata) === null || _w === void 0 ? void 0 : _w.compiled_intro) && React.createElement("ldf-liturgical-document", { doc: this.obj.metadata.compiled_intro }),
298
298
  paragraphs.map(function (paragraph, paragraphIndex) { return React.createElement("p", { lang: _this.obj.language }, paragraph.map(function (verse, verseIndex) {
299
+ var _a;
299
300
  return verse.hasOwnProperty('type') && verse.type === 'heading'
300
301
  ? React.createElement("ldf-heading", { doc: new ldf_1.Heading(verse) })
301
302
  : [
302
303
  React.createElement("sup", null, verse.verse),
303
- React.createElement("ldf-string", { citation: verse, dropcap: paragraphIndex == 0 && verseIndex == 0 ? 'force' : 'disabled', id: verse.chapter + "-" + verse.book + "-" + verse.verse, text: verse.text, index: verseIndex, fragment: _this.path })
304
+ React.createElement("ldf-string", { citation: verse, dropcap: paragraphIndex == 0 && verseIndex == 0 && ((_a = _this.obj) === null || _a === void 0 ? void 0 : _a.language) !== 'iu' ? 'force' : 'disabled', id: verse.chapter + "-" + verse.book + "-" + verse.verse, text: verse.text, index: verseIndex, fragment: _this.path })
304
305
  ];
305
306
  })); })));
306
307
  }
@@ -296,7 +296,7 @@ var PsalmComponent = /** @class */ (function () {
296
296
  // build a set of verses
297
297
  React.createElement("div", { "class": 'psalm-set' },
298
298
  section.value.map(function (verse, verseIndex) {
299
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
299
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
300
300
  // build each verse
301
301
  if (verse instanceof ldf_1.Heading) {
302
302
  // for e.g., the Benedicite, Heading passed at head of section
@@ -308,12 +308,12 @@ var PsalmComponent = /** @class */ (function () {
308
308
  // 1st half of verse
309
309
  nodes.push(React.createElement("div", { "class": 'verse' }, _this.editable ?
310
310
  React.createElement("ldf-editable-text", { id: (_this.obj.uid || _this.obj.slug) + "-" + sectionIndex + "-" + verseIndex + "-verse", text: verse.verse, path: _this.path + "/value/" + sectionIndex + "/value/" + verseIndex + "/verse", placeholder: 'Lorem ipsum sit dolor amet, *', template: pattern, templateMaker: templateMaker }) :
311
- React.createElement("ldf-string", { text: verse.verse, citation: { label: (_a = _this.obj) === null || _a === void 0 ? void 0 : _a.label, book: ((_b = _this.obj) === null || _b === void 0 ? void 0 : _b.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_d = (_c = _this.obj) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.number, verse: verse.number }, dropcap: (verseIndex == 0 && ((_e = _this.obj) === null || _e === void 0 ? void 0 : _e.language) !== "he") ? 'force' : 'disabled', index: verseIndex, fragment: _this.path })));
311
+ React.createElement("ldf-string", { text: verse.verse, citation: { label: (_a = _this.obj) === null || _a === void 0 ? void 0 : _a.label, book: ((_b = _this.obj) === null || _b === void 0 ? void 0 : _b.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_d = (_c = _this.obj) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.number, verse: verse.number }, dropcap: (verseIndex == 0 && ((_e = _this.obj) === null || _e === void 0 ? void 0 : _e.language) !== "he" && ((_f = _this.obj) === null || _f === void 0 ? void 0 : _f.language) !== "iu") ? 'force' : 'disabled', index: verseIndex, fragment: _this.path })));
312
312
  nodes.push(React.createElement("br", null));
313
313
  // 2nd half of verse
314
314
  nodes.push(React.createElement("div", { "class": 'halfverse' }, _this.editable ?
315
315
  React.createElement("ldf-editable-text", { id: (_this.obj.uid || _this.obj.slug) + "-" + sectionIndex + "-" + verseIndex + "-halfverse", text: verse.halfverse, path: _this.path + "/value/" + sectionIndex + "/value/" + verseIndex + "/halfverse", placeholder: 'consectetur adipiscing elit.', template: pattern }) :
316
- React.createElement("ldf-string", { text: verse.halfverse, citation: { label: (_f = _this.obj) === null || _f === void 0 ? void 0 : _f.label, book: ((_g = _this.obj) === null || _g === void 0 ? void 0 : _g.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_j = (_h = _this.obj) === null || _h === void 0 ? void 0 : _h.metadata) === null || _j === void 0 ? void 0 : _j.number, verse: verse.number }, dropcap: 'disabled', fragment: _this.path })));
316
+ React.createElement("ldf-string", { text: verse.halfverse, citation: { label: (_g = _this.obj) === null || _g === void 0 ? void 0 : _g.label, book: ((_h = _this.obj) === null || _h === void 0 ? void 0 : _h.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_k = (_j = _this.obj) === null || _j === void 0 ? void 0 : _j.metadata) === null || _k === void 0 ? void 0 : _k.number, verse: verse.number }, dropcap: 'disabled', fragment: _this.path })));
317
317
  // render the verse
318
318
  return (React.createElement("p", { "class": _this.editable ? 'psalm editable' : 'psalm', onClick: function () {
319
319
  _this.focusedVerse = verseIndex;
@@ -205,7 +205,7 @@ export class PsalmComponent {
205
205
  // build a set of verses
206
206
  h("div", { class: 'psalm-set' },
207
207
  section.value.map((verse, verseIndex) => {
208
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
208
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
209
209
  // build each verse
210
210
  if (verse instanceof Heading) {
211
211
  // for e.g., the Benedicite, Heading passed at head of section
@@ -217,12 +217,12 @@ export class PsalmComponent {
217
217
  // 1st half of verse
218
218
  nodes.push(h("div", { class: 'verse' }, this.editable ?
219
219
  h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-${sectionIndex}-${verseIndex}-verse`, text: verse.verse, path: `${this.path}/value/${sectionIndex}/value/${verseIndex}/verse`, placeholder: 'Lorem ipsum sit dolor amet, *', template: pattern, templateMaker: templateMaker }) :
220
- h("ldf-string", { text: verse.verse, citation: { label: (_a = this.obj) === null || _a === void 0 ? void 0 : _a.label, book: ((_b = this.obj) === null || _b === void 0 ? void 0 : _b.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_d = (_c = this.obj) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.number, verse: verse.number }, dropcap: (verseIndex == 0 && ((_e = this.obj) === null || _e === void 0 ? void 0 : _e.language) !== "he") ? 'force' : 'disabled', index: verseIndex, fragment: this.path })));
220
+ h("ldf-string", { text: verse.verse, citation: { label: (_a = this.obj) === null || _a === void 0 ? void 0 : _a.label, book: ((_b = this.obj) === null || _b === void 0 ? void 0 : _b.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_d = (_c = this.obj) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.number, verse: verse.number }, dropcap: (verseIndex == 0 && ((_e = this.obj) === null || _e === void 0 ? void 0 : _e.language) !== "he" && ((_f = this.obj) === null || _f === void 0 ? void 0 : _f.language) !== "iu") ? 'force' : 'disabled', index: verseIndex, fragment: this.path })));
221
221
  nodes.push(h("br", null));
222
222
  // 2nd half of verse
223
223
  nodes.push(h("div", { class: 'halfverse' }, this.editable ?
224
224
  h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-${sectionIndex}-${verseIndex}-halfverse`, text: verse.halfverse, path: `${this.path}/value/${sectionIndex}/value/${verseIndex}/halfverse`, placeholder: 'consectetur adipiscing elit.', template: pattern }) :
225
- h("ldf-string", { text: verse.halfverse, citation: { label: (_f = this.obj) === null || _f === void 0 ? void 0 : _f.label, book: ((_g = this.obj) === null || _g === void 0 ? void 0 : _g.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_j = (_h = this.obj) === null || _h === void 0 ? void 0 : _h.metadata) === null || _j === void 0 ? void 0 : _j.number, verse: verse.number }, dropcap: 'disabled', fragment: this.path })));
225
+ h("ldf-string", { text: verse.halfverse, citation: { label: (_g = this.obj) === null || _g === void 0 ? void 0 : _g.label, book: ((_h = this.obj) === null || _h === void 0 ? void 0 : _h.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_k = (_j = this.obj) === null || _j === void 0 ? void 0 : _j.metadata) === null || _k === void 0 ? void 0 : _k.number, verse: verse.number }, dropcap: 'disabled', fragment: this.path })));
226
226
  // render the verse
227
227
  return (h("p", { class: this.editable ? 'psalm editable' : 'psalm', onClick: () => {
228
228
  this.focusedVerse = verseIndex;
@@ -128,8 +128,8 @@ var StringComponent = /** @class */ (function () {
128
128
  if (firstChunk) {
129
129
  var splitTest = (firstChunk || '').split(/[\s.!?\\]/);
130
130
  var firstWord = splitTest ? splitTest[0] : '', re = firstWord.length > 2
131
- ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff])([\w\u0590-\u05ff\u0370-\u03ff\,]*)/
132
- : /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff])([\w\u0590-\u05ff\u0370-\u03ff\,]*[\s.!?]*[\w\u0590-\u05ff\u0370-\u03ff]*)/, reIncludingPunctuation = ((_a = firstWord[0]) === null || _a === void 0 ? void 0 : _a.match(/[\"\'“”‘’\!\?\[\]\(\)]/)) ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff]{2})\s*([\w\u0590-\u05ff\u0370-\u03ff]*)/
131
+ ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff])([\wñáéíóú\u0590-\u05ff\u0370-\u03ff\,]*)/
132
+ : /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff])([\wñáéíóú\u0590-\u05ff\u0370-\u03ff\,]*[\s.!?]*[\wñáéíóú\u0590-\u05ff\u0370-\u03ff]*)/, reIncludingPunctuation = ((_a = firstWord[0]) === null || _a === void 0 ? void 0 : _a.match(/[\"\'“”‘’\!\?\[\]\(\)]/)) ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff]{2})\s*([\wñáéíóú\u0590-\u05ff\u0370-\u03ff]*)/
133
133
  : re, buffer = firstWord.length == 1, split = firstChunk.split(reIncludingPunctuation).filter(function (s) { return s !== ''; }), match1 = split[0], match2 = split[1], nextWord = split[2];
134
134
  final = new Array(React.createElement("span", { "class": 'firstword' },
135
135
  React.createElement("span", { "class": buffer ? "drop buffered-drop drop-" + match1 : "drop drop-" + match1 }, match1),
@@ -117,9 +117,9 @@ export class StringComponent {
117
117
  if (firstChunk) {
118
118
  const splitTest = (firstChunk || '').split(/[\s.!?\\]/);
119
119
  const firstWord = splitTest ? splitTest[0] : '', re = firstWord.length > 2
120
- ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff])([\w\u0590-\u05ff\u0370-\u03ff\,]*)/
121
- : /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff])([\w\u0590-\u05ff\u0370-\u03ff\,]*[\s.!?]*[\w\u0590-\u05ff\u0370-\u03ff]*)/, reIncludingPunctuation = ((_a = firstWord[0]) === null || _a === void 0 ? void 0 : _a.match(/[\"\'“”‘’\!\?\[\]\(\)]/))
122
- ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff]{2})\s*([\w\u0590-\u05ff\u0370-\u03ff]*)/
120
+ ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff])([\wñáéíóú\u0590-\u05ff\u0370-\u03ff\,]*)/
121
+ : /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff])([\wñáéíóú\u0590-\u05ff\u0370-\u03ff\,]*[\s.!?]*[\wñáéíóú\u0590-\u05ff\u0370-\u03ff]*)/, reIncludingPunctuation = ((_a = firstWord[0]) === null || _a === void 0 ? void 0 : _a.match(/[\"\'“”‘’\!\?\[\]\(\)]/))
122
+ ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff]{2})\s*([\wñáéíóú\u0590-\u05ff\u0370-\u03ff]*)/
123
123
  : re, buffer = firstWord.length == 1, split = firstChunk.split(reIncludingPunctuation).filter(s => s !== ''), [match1, match2, nextWord] = split;
124
124
  final = new Array(h("span", { class: 'firstword' },
125
125
  h("span", { class: buffer ? `drop buffered-drop drop-${match1}` : `drop drop-${match1}` }, match1),
@@ -4,9 +4,9 @@ import { p as pointerCoord } from './helpers-8c93393b.js';
4
4
  import { c as createColorClasses, h as hostContext } from './theme-74c22054.js';
5
5
  import { f as alertController, l as loadingController, m as modalController, t as toastController } from './overlays-06b43b65.js';
6
6
  import { R as Responsive, L as LiturgicalDocument, d as dateFromYMDString } from './book-31b8cdde.js';
7
- import { B as BibleReading, L as Liturgy, M as Meditation, P as Psalm, R as ResponsivePrayer, a as Rubric } from './rubric-91bf7fed.js';
7
+ import { B as BibleReading, L as Liturgy, M as Meditation, P as Psalm, R as ResponsivePrayer, a as Rubric } from './rubric-09337f3c.js';
8
8
  import { H as Heading } from './heading-cc5ffa8a.js';
9
- import { v as versionToString, O as Option } from './option-da8390ad.js';
9
+ import { v as versionToString, O as Option } from './option-c16af13a.js';
10
10
  import { C as Change } from './change-ea574d32.js';
11
11
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
12
12
  import { I as Image } from './image-c6a3f0c5.js';
@@ -628,12 +628,15 @@ const BibleReadingComponent = class {
628
628
  /* `long` render a typical Bible reading in the liturgy */
629
629
  else {
630
630
  const paragraphs = this.paragraphs();
631
- return (h("div", { lang: (_t = this.obj) === null || _t === void 0 ? void 0 : _t.language, class: `bible-reading ${((_u = this.obj) === null || _u === void 0 ? void 0 : _u.display_format) || 'default'}` }, h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation }) }), ((_w = (_v = this.obj) === null || _v === void 0 ? void 0 : _v.metadata) === null || _w === void 0 ? void 0 : _w.compiled_intro) && h("ldf-liturgical-document", { doc: this.obj.metadata.compiled_intro }), paragraphs.map((paragraph, paragraphIndex) => h("p", { lang: this.obj.language }, paragraph.map((verse, verseIndex) => verse.hasOwnProperty('type') && verse.type === 'heading'
632
- ? h("ldf-heading", { doc: new Heading(verse) })
633
- : [
634
- h("sup", null, verse.verse),
635
- h("ldf-string", { citation: verse, dropcap: paragraphIndex == 0 && verseIndex == 0 ? 'force' : 'disabled', id: `${verse.chapter}-${verse.book}-${verse.verse}`, text: verse.text, index: verseIndex, fragment: this.path })
636
- ])))));
631
+ return (h("div", { lang: (_t = this.obj) === null || _t === void 0 ? void 0 : _t.language, class: `bible-reading ${((_u = this.obj) === null || _u === void 0 ? void 0 : _u.display_format) || 'default'}` }, h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation }) }), ((_w = (_v = this.obj) === null || _v === void 0 ? void 0 : _v.metadata) === null || _w === void 0 ? void 0 : _w.compiled_intro) && h("ldf-liturgical-document", { doc: this.obj.metadata.compiled_intro }), paragraphs.map((paragraph, paragraphIndex) => h("p", { lang: this.obj.language }, paragraph.map((verse, verseIndex) => {
632
+ var _a;
633
+ return verse.hasOwnProperty('type') && verse.type === 'heading'
634
+ ? h("ldf-heading", { doc: new Heading(verse) })
635
+ : [
636
+ h("sup", null, verse.verse),
637
+ h("ldf-string", { citation: verse, dropcap: paragraphIndex == 0 && verseIndex == 0 && ((_a = this.obj) === null || _a === void 0 ? void 0 : _a.language) !== 'iu' ? 'force' : 'disabled', id: `${verse.chapter}-${verse.book}-${verse.verse}`, text: verse.text, index: verseIndex, fragment: this.path })
638
+ ];
639
+ })))));
637
640
  }
638
641
  }
639
642
  else {
@@ -2243,7 +2246,7 @@ const PsalmComponent = class {
2243
2246
  section.label && ((_a = section.value) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.headingNode(section.label, 4, false, true, true),
2244
2247
  // build a set of verses
2245
2248
  h("div", { class: 'psalm-set' }, section.value.map((verse, verseIndex) => {
2246
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
2249
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
2247
2250
  // build each verse
2248
2251
  if (verse instanceof Heading) {
2249
2252
  // for e.g., the Benedicite, Heading passed at head of section
@@ -2255,12 +2258,12 @@ const PsalmComponent = class {
2255
2258
  // 1st half of verse
2256
2259
  nodes.push(h("div", { class: 'verse' }, this.editable ?
2257
2260
  h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-${sectionIndex}-${verseIndex}-verse`, text: verse.verse, path: `${this.path}/value/${sectionIndex}/value/${verseIndex}/verse`, placeholder: 'Lorem ipsum sit dolor amet, *', template: pattern, templateMaker: templateMaker }) :
2258
- h("ldf-string", { text: verse.verse, citation: { label: (_a = this.obj) === null || _a === void 0 ? void 0 : _a.label, book: ((_b = this.obj) === null || _b === void 0 ? void 0 : _b.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_d = (_c = this.obj) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.number, verse: verse.number }, dropcap: (verseIndex == 0 && ((_e = this.obj) === null || _e === void 0 ? void 0 : _e.language) !== "he") ? 'force' : 'disabled', index: verseIndex, fragment: this.path })));
2261
+ h("ldf-string", { text: verse.verse, citation: { label: (_a = this.obj) === null || _a === void 0 ? void 0 : _a.label, book: ((_b = this.obj) === null || _b === void 0 ? void 0 : _b.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_d = (_c = this.obj) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.number, verse: verse.number }, dropcap: (verseIndex == 0 && ((_e = this.obj) === null || _e === void 0 ? void 0 : _e.language) !== "he" && ((_f = this.obj) === null || _f === void 0 ? void 0 : _f.language) !== "iu") ? 'force' : 'disabled', index: verseIndex, fragment: this.path })));
2259
2262
  nodes.push(h("br", null));
2260
2263
  // 2nd half of verse
2261
2264
  nodes.push(h("div", { class: 'halfverse' }, this.editable ?
2262
2265
  h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-${sectionIndex}-${verseIndex}-halfverse`, text: verse.halfverse, path: `${this.path}/value/${sectionIndex}/value/${verseIndex}/halfverse`, placeholder: 'consectetur adipiscing elit.', template: pattern }) :
2263
- h("ldf-string", { text: verse.halfverse, citation: { label: (_f = this.obj) === null || _f === void 0 ? void 0 : _f.label, book: ((_g = this.obj) === null || _g === void 0 ? void 0 : _g.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_j = (_h = this.obj) === null || _h === void 0 ? void 0 : _h.metadata) === null || _j === void 0 ? void 0 : _j.number, verse: verse.number }, dropcap: 'disabled', fragment: this.path })));
2266
+ h("ldf-string", { text: verse.halfverse, citation: { label: (_g = this.obj) === null || _g === void 0 ? void 0 : _g.label, book: ((_h = this.obj) === null || _h === void 0 ? void 0 : _h.style) === 'psalm' ? 'Psalm' : undefined, chapter: (_k = (_j = this.obj) === null || _j === void 0 ? void 0 : _j.metadata) === null || _k === void 0 ? void 0 : _k.number, verse: verse.number }, dropcap: 'disabled', fragment: this.path })));
2264
2267
  // render the verse
2265
2268
  return (h("p", { class: this.editable ? 'psalm editable' : 'psalm', onClick: () => {
2266
2269
  this.focusedVerse = verseIndex;
@@ -476,9 +476,9 @@ const StringComponent = class {
476
476
  if (firstChunk) {
477
477
  const splitTest = (firstChunk || '').split(/[\s.!?\\]/);
478
478
  const firstWord = splitTest ? splitTest[0] : '', re = firstWord.length > 2
479
- ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff])([\w\u0590-\u05ff\u0370-\u03ff\,]*)/
480
- : /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff])([\w\u0590-\u05ff\u0370-\u03ff\,]*[\s.!?]*[\w\u0590-\u05ff\u0370-\u03ff]*)/, reIncludingPunctuation = ((_a = firstWord[0]) === null || _a === void 0 ? void 0 : _a.match(/[\"\'“”‘’\!\?\[\]\(\)]/))
481
- ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff]{2})\s*([\w\u0590-\u05ff\u0370-\u03ff]*)/
479
+ ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff])([\wñáéíóú\u0590-\u05ff\u0370-\u03ff\,]*)/
480
+ : /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff])([\wñáéíóú\u0590-\u05ff\u0370-\u03ff\,]*[\s.!?]*[\wñáéíóú\u0590-\u05ff\u0370-\u03ff]*)/, reIncludingPunctuation = ((_a = firstWord[0]) === null || _a === void 0 ? void 0 : _a.match(/[\"\'“”‘’\!\?\[\]\(\)]/))
481
+ ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff]{2})\s*([\wñáéíóú\u0590-\u05ff\u0370-\u03ff]*)/
482
482
  : re, buffer = firstWord.length == 1, split = firstChunk.split(reIncludingPunctuation).filter(s => s !== ''), [match1, match2, nextWord] = split;
483
483
  final = new Array(h("span", { class: 'firstword' }, h("span", { class: buffer ? `drop buffered-drop drop-${match1}` : `drop drop-${match1}` }, match1), this.maintainCasing(match2) ? match2 : match2 === null || match2 === void 0 ? void 0 : match2.toLowerCase()))
484
484
  .concat(nextWord)
@@ -1,9 +1,9 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, a as getElement } from './index-f0f6a379.js';
2
2
  import { L as LiturgicalDocument } from './book-31b8cdde.js';
3
- import { B as BibleReading, P as Psalm, L as Liturgy$1, M as Meditation, R as ResponsivePrayer, a as Rubric } from './rubric-91bf7fed.js';
3
+ import { B as BibleReading, P as Psalm, L as Liturgy$1, M as Meditation, R as ResponsivePrayer, a as Rubric } from './rubric-09337f3c.js';
4
4
  import { H as Heading } from './heading-cc5ffa8a.js';
5
5
  import { I as Image } from './image-c6a3f0c5.js';
6
- import { O as Option } from './option-da8390ad.js';
6
+ import { O as Option } from './option-c16af13a.js';
7
7
  import { R as Refrain } from './refrain-75a412cb.js';
8
8
  import { T as Text } from './text-ed75fbd4.js';
9
9
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-f0f6a379.js';
2
2
  import { L as LiturgicalDocument } from './book-31b8cdde.js';
3
- import { v as versionToString, O as Option } from './option-da8390ad.js';
3
+ import { v as versionToString, O as Option } from './option-c16af13a.js';
4
4
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
5
5
 
6
6
  /* Converts a list of documents into a single document showing options in parallel */
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-f0f6a379.js';
2
2
  import { L as LiturgicalDocument } from './book-31b8cdde.js';
3
3
  import { C as Change } from './change-ea574d32.js';
4
- import { v as versionToString } from './option-da8390ad.js';
5
- import { s as specificClass } from './specific-class-ef83cfb6.js';
4
+ import { v as versionToString } from './option-c16af13a.js';
5
+ import { s as specificClass } from './specific-class-e890ce29.js';
6
6
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
7
- import './rubric-91bf7fed.js';
7
+ import './rubric-09337f3c.js';
8
8
  import './heading-cc5ffa8a.js';
9
9
  import './refrain-75a412cb.js';
10
10
  import './text-ed75fbd4.js';
@@ -1,11 +1,11 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-f0f6a379.js';
2
2
  import { L as LiturgicalDocument } from './book-31b8cdde.js';
3
3
  import { C as Change } from './change-ea574d32.js';
4
- import { s as specificClass } from './specific-class-ef83cfb6.js';
4
+ import { s as specificClass } from './specific-class-e890ce29.js';
5
5
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
6
- import './rubric-91bf7fed.js';
6
+ import './rubric-09337f3c.js';
7
7
  import './heading-cc5ffa8a.js';
8
- import './option-da8390ad.js';
8
+ import './option-c16af13a.js';
9
9
  import './refrain-75a412cb.js';
10
10
  import './text-ed75fbd4.js';
11
11
 
@@ -56,7 +56,10 @@ class Option extends LiturgicalDocument {
56
56
  var _a, _b, _c;
57
57
  const uniqueVersions = this.uniqueVersions(), uniqueLabels = this.uniqueLabels(), uniqueCitations = this.uniqueCitations(), uniqueCanticleNumbers = this.uniqueCanticleNumbers();
58
58
  let label = '';
59
- if (option.type == 'liturgy') {
59
+ if (option.version_label) {
60
+ label = option.version_label;
61
+ }
62
+ else if (option.type == 'liturgy') {
60
63
  label = option.label || option.version_label || 'Option';
61
64
  }
62
65
  // Psalm 119 parts => Psalm 119: Aleph